From 9c461c74d1134bb56e2374bd0f5ded478a0c03f3 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 18 Jul 2024 17:28:21 +0100 Subject: [PATCH] Added search/find form Added update-icon form Changed build script Removed unused offline references --- BookmarkManager.csproj | 9 +-- FindForm.cs | 111 ++++++++++++++++++++++-------- MainForm.cs | 44 ++++-------- References/HtmlAgilityPack.dll | Bin 163840 -> 0 bytes UpdateIconsForm.cs | 110 ++++++++++++++++++++++++++--- Windows/Forms/BookmarkTreeView.cs | 29 +++++--- build-installer.iss | 7 +- build.bat | 18 +++-- skye.sln | 12 ---- 9 files changed, 241 insertions(+), 99 deletions(-) delete mode 100644 References/HtmlAgilityPack.dll diff --git a/BookmarkManager.csproj b/BookmarkManager.csproj index e441803..e0ad90d 100644 --- a/BookmarkManager.csproj +++ b/BookmarkManager.csproj @@ -14,7 +14,7 @@ Ray Lam 1.0.0.0 1.0.0.0 - 0.6.0.607 + 0.6.0.716 bookmarkmanager True 8.0 @@ -115,11 +115,8 @@ - - - - - + + \ No newline at end of file diff --git a/FindForm.cs b/FindForm.cs index ad21a9f..ff00d2b 100644 --- a/FindForm.cs +++ b/FindForm.cs @@ -1,6 +1,8 @@ using System; -using System.ComponentModel; +using System.Collections.Generic; +using System.Linq; using System.Windows.Forms; +using bzit.bomg.Models; using RyzStudio.Windows.Forms; using RyzStudio.Windows.ThemedForms; using RyzStudio.Windows.ThemedForms.ButtonTextBox; @@ -17,13 +19,18 @@ namespace FizzyLauncher private BookmarkTreeView treeView1 = null; - private bool findNextNew = false; + private int findPosition = -1; public FindForm(BookmarkTreeView treeView) { InitializeComponent(); + this.MinimizeBox = false; + this.MaximizeBox = false; + this.ShowIcon = false; + this.ShowInTaskbar = true; + treeView1 = treeView; textBox1.PreviewKeyDown += textBox1_PreviewKeyDown; @@ -139,16 +146,12 @@ namespace FizzyLauncher } - [Browsable(false)] - public string Password => textBox1.Text; - - private void textBox1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) { switch (e.KeyCode) { case Keys.Enter: - if (findNextNew) + if (findPosition < 0) { button1_MouseClick(sender, new MouseEventArgs(MouseButtons.Left, 1, 0, 0, 0)); } @@ -161,39 +164,93 @@ namespace FizzyLauncher case Keys.Escape: this.Close(); break; - default: break; + default: + break; } } + /// + /// Find first. + /// + /// + /// private void button1_MouseClick(object sender, MouseEventArgs e) { - //if (e.Button == MouseButtons.Left) - //{ - // if (string.IsNullOrWhiteSpace(textBox1.Text)) return; - // if (treeView1.Nodes.Count <= 0) return; + if (e.Button == MouseButtons.Left) + { + if (string.IsNullOrWhiteSpace(textBox1.Text)) + { + return; + } - // findNextNew = false; - // treeView1.FindTextNode(treeView1.Nodes[0], textBox1.Text?.Trim()); - //} + if (treeView1.Nodes.Count <= 0) + { + return; + } + + findPosition = -1; + + var nodeList = treeView1.ToNodeList(); + + var node = nodeList.Where(x => x.Value.Title.Contains(textBox1.Text?.Trim())).Select(x => x.Key).FirstOrDefault(); + if (node != null) + { + findPosition = 0; + + treeView1.SelectedNode = node; + treeView1.SelectedNode.EnsureVisible(); + } + } } + /// + /// Find next. + /// + /// + /// private void button2_MouseClick(object sender, MouseEventArgs e) { - //if (e.Button == MouseButtons.Left) - //{ - // if (string.IsNullOrWhiteSpace(textBox1.Text)) return; - // if (treeView1.Nodes.Count <= 0) return; + if (e.Button == MouseButtons.Left) + { + if (string.IsNullOrWhiteSpace(textBox1.Text)) + { + return; + } - // if (treeView1.SelectedNode == null) treeView1.SelectedNode = treeView1.Nodes[0]; + if (treeView1.Nodes.Count <= 0) + { + return; + } - // findNextNew = false; + if (treeView1.SelectedNode == null) + { + treeView1.SelectedNode = treeView1.Nodes[0]; + } - // bool rv = treeView1.FindTextNode(treeView1.SelectedNode, textBox1.Text?.Trim()); - // if (!rv) - // { - // findNextNew = true; - // } - //} + var nodeList = treeView1.ToNodeList(); + + var node = nodeList.Where(x => x.Value.Title.Contains(textBox1.Text?.Trim())).Select(x => x.Key)?.ToList() ?? new List(); + if (node != null) + { + //var pos = nodeList.FindIndex(x => x.Key == treeView1.SelectedNode); + //if (pos < 0) + //{ + // findPosition = -1; + //} else { + // findPosition = pos; + //} + + findPosition++; + + if (findPosition >= node.Count) + { + findPosition = 0; + } + + treeView1.SelectedNode = node[findPosition]; + treeView1.SelectedNode.EnsureVisible(); + } + } } } diff --git a/MainForm.cs b/MainForm.cs index 7fa855a..0df1786 100644 --- a/MainForm.cs +++ b/MainForm.cs @@ -6,7 +6,6 @@ using System.Drawing.Imaging; using System.IO; using System.IO.Compression; using System.Linq; -using System.Text.Json; using System.Threading.Tasks; using System.Windows.Forms; using BookmarkManager; @@ -15,9 +14,6 @@ using bzit.bomg.Models; using FizzyLauncher.Models; using RyzStudio; using RyzStudio.Windows.Forms; -using RyzStudio.Windows.TileForms; -using static System.Collections.Specialized.BitVector32; -using static System.Windows.Forms.VisualStyles.VisualStyleElement; namespace FizzyLauncher { @@ -50,7 +46,6 @@ namespace FizzyLauncher treeView1.FolderContextMenu = folderContextMenu; treeView1.PageContextMenu = pageContextMenu; treeView1.NodeMouseDoubleClick += treeView1_NodeMouseDoubleClick; - treeView1.OnChanged += treeView1_OnChanged; treeView1.PreviewKeyDown += treeView1_PreviewKeyDown; } @@ -82,11 +77,6 @@ namespace FizzyLauncher { base.OnClosing(e); - //if (this.CurrentSession == null) - //{ - // this.CurrentSession = new AppOptions(); - //} - await _fileSessionManager.CloseSession(); } @@ -111,7 +101,7 @@ namespace FizzyLauncher { closeToolStripMenuItem.Enabled = (_fileSessionManager.SessionState != FileSessionManager.SessionStateEnum.Close); - saveToolStripMenuItem.Enabled = (_fileSessionManager.SessionState == FileSessionManager.SessionStateEnum.Open); + saveToolStripMenuItem.Enabled = (_fileSessionManager.SessionState == FileSessionManager.SessionStateEnum.Open) && treeView1.HasChanged; saveAsToolStripMenuItem.Enabled = (_fileSessionManager.SessionState != FileSessionManager.SessionStateEnum.Close); findToolStripMenuItem.Enabled = (_fileSessionManager.SessionState != FileSessionManager.SessionStateEnum.Close); @@ -224,13 +214,13 @@ namespace FizzyLauncher /// private void findToolStripMenuItem_Click(object sender, EventArgs e) { - //if (this.IsBusy) - //{ - // return; - //} + if (this.IsBusy) + { + return; + } - //var form = new FindForm(treeView1); - //form.Show(); + var form = new FindForm(treeView1); + form.ShowDialog(); } @@ -836,6 +826,8 @@ namespace FizzyLauncher default: break; } + + treeView1.HasChanged = false; }); } @@ -866,14 +858,6 @@ namespace FizzyLauncher await OpenBookmark(e.Node); } - private void treeView1_OnChanged(object sender, EventArgs e) - { - if (treeView1.HasChanged) - { - _fileSessionManager.HasChanged = treeView1.HasChanged; - } - } - private AppOptions LoadR4SaveFile(string filename) { @@ -999,11 +983,6 @@ namespace FizzyLauncher { foreach (var item in items) { - if (item.Icon == null) - { - continue; - } - var key = "icon\\" + item.Id.ToString() + ".png"; var zipEntry = archive.GetEntry(key); if (zipEntry != null) @@ -1011,6 +990,11 @@ namespace FizzyLauncher zipEntry.Delete(); } + if (item.Icon == null) + { + continue; + } + zipEntry = archive.CreateEntry(key, CompressionLevel.SmallestSize); using (Stream entryStream = zipEntry.Open()) diff --git a/References/HtmlAgilityPack.dll b/References/HtmlAgilityPack.dll deleted file mode 100644 index d817f949b7989e7b022d9476a2c2da1cef39775b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163840 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 TMGa5*p29x;|Ni&?KMMRmg6?8+ diff --git a/UpdateIconsForm.cs b/UpdateIconsForm.cs index fce88a1..bda9729 100644 --- a/UpdateIconsForm.cs +++ b/UpdateIconsForm.cs @@ -23,14 +23,14 @@ namespace FizzyLauncher private ThYesNoPickerBox pickerBox1; private ThButton button2; private RyzStudio.Windows.ThemedForms.ThProgressBar progressBar1; - private Label label3; - private ThProgressBar thProgressBar1; - private System.ComponentModel.IContainer components; private readonly WebProvider _webProvider; private BookmarkTreeView _treeView; private bool _isBusy = false; + private Label label4; + private THorizontalSeparator tHorizontalSeparator3; + private ThButton button3; private bool _requestCancel = false; @@ -56,7 +56,10 @@ namespace FizzyLauncher pickerBox1 = new ThYesNoPickerBox(); button2 = new ThButton(); progressBar1 = new ThProgressBar(); - ((System.ComponentModel.ISupportInitialize)pictureBox2).BeginInit(); + label4 = new Label(); + tHorizontalSeparator3 = new THorizontalSeparator(); + button3 = new ThButton(); + ((ISupportInitialize)pictureBox2).BeginInit(); SuspendLayout(); // // label1 @@ -131,9 +134,9 @@ namespace FizzyLauncher label2.Margin = new Padding(0); label2.Name = "label2"; label2.Padding = new Padding(0, 8, 0, 0); - label2.Size = new System.Drawing.Size(289, 23); + label2.Size = new System.Drawing.Size(231, 23); label2.TabIndex = 195; - label2.Text = "Attempt to retrieve supported icons from bookmarks."; + label2.Text = "Retrieve supported icons from bookmarks."; label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // pictureBox2 @@ -208,11 +211,62 @@ namespace FizzyLauncher progressBar1.TabStop = false; progressBar1.Value = 50; // + // label4 + // + label4.AutoSize = true; + label4.BackColor = System.Drawing.Color.Transparent; + label4.ForeColor = System.Drawing.SystemColors.ControlText; + label4.Location = new System.Drawing.Point(10, 245); + label4.Margin = new Padding(0); + label4.Name = "label4"; + label4.Padding = new Padding(0, 8, 0, 0); + label4.Size = new System.Drawing.Size(83, 23); + label4.TabIndex = 208; + label4.Text = "Clear all icons."; + label4.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // tHorizontalSeparator3 + // + tHorizontalSeparator3.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; + tHorizontalSeparator3.AutoScrollMargin = new System.Drawing.Size(0, 0); + tHorizontalSeparator3.AutoScrollMinSize = new System.Drawing.Size(0, 0); + tHorizontalSeparator3.BackColor = System.Drawing.Color.Transparent; + tHorizontalSeparator3.Location = new System.Drawing.Point(10, 212); + tHorizontalSeparator3.Margin = new Padding(0, 10, 0, 0); + tHorizontalSeparator3.MaximumSize = new System.Drawing.Size(4920, 2); + tHorizontalSeparator3.MinimumSize = new System.Drawing.Size(0, 22); + tHorizontalSeparator3.Name = "tHorizontalSeparator3"; + tHorizontalSeparator3.Size = new System.Drawing.Size(424, 22); + tHorizontalSeparator3.TabIndex = 207; + tHorizontalSeparator3.TabStop = false; + // + // button3 + // + button3.AcceptButton = null; + button3.ActiveImage = null; + button3.BackColor = System.Drawing.Color.Transparent; + button3.EnableMenuOnClick = false; + button3.EnableReactiveVisual = true; + button3.HoverImage = null; + button3.IdleImage = null; + button3.LabelText = "Clear &All"; + button3.Location = new System.Drawing.Point(10, 288); + button3.Margin = new Padding(10, 10, 10, 0); + button3.Name = "button3"; + button3.Padding = new Padding(4, 4, 3, 3); + button3.Size = new System.Drawing.Size(128, 32); + button3.TabIndex = 209; + button3.TabStop = false; + button3.MouseClick += button3_MouseClick; + // // UpdateIconsForm // AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; ClientSize = new System.Drawing.Size(444, 521); + Controls.Add(button3); + Controls.Add(label4); + Controls.Add(tHorizontalSeparator3); Controls.Add(progressBar1); Controls.Add(button2); Controls.Add(pickerBox1); @@ -226,7 +280,7 @@ namespace FizzyLauncher MinimumSize = new System.Drawing.Size(460, 560); Name = "UpdateIconsForm"; Text = "Update Icons"; - ((System.ComponentModel.ISupportInitialize)pictureBox2).EndInit(); + ((ISupportInitialize)pictureBox2).EndInit(); ResumeLayout(false); PerformLayout(); } @@ -237,6 +291,11 @@ namespace FizzyLauncher var model = _treeView.ToNodeList(); + if (pickerBox1.Value) + { + model = model.Where(x => x.Value.Icon == null)?.ToList() ?? new List>(); + } + progressBar1.Minimum = 0; progressBar1.Value = 0; progressBar1.Maximum = model.Count; @@ -263,10 +322,12 @@ namespace FizzyLauncher _isBusy = value; UIControl.SetEnable(pickerBox1, !this.IsBusy); - UIControl.Invoke(button2, (x) => { + UIControl.Invoke(button2, (x) => + { button2.LabelText = (this.IsBusy ? "&Stop" : "&Run"); }); UIControl.SetValue(pictureBox2, (this.IsBusy ? RyzStudio.Windows.ThemedForms.Resource2.loading_block : null)); + UIControl.SetEnable(button3, !this.IsBusy); UIControl.SetEnable(button1, !this.IsBusy); } } @@ -338,5 +399,38 @@ namespace FizzyLauncher }); } + private async void button3_MouseClick(object sender, MouseEventArgs e) + { + await Task.Run(() => + { + if (this.IsBusy) + { + return; + } + + this.IsBusy = true; + + var model = _treeView.ToNodeList(); + foreach (var item in model) + { + progressBar1.Value++; + + if (item.Value.Icon == null) + { + continue; + } + + var newModel = item.Value; + newModel.Icon = null; + + _treeView.UpdateNode(item.Key, newModel); + } + + _requestCancel = false; + + this.IsBusy = false; + }); + } + } } \ No newline at end of file diff --git a/Windows/Forms/BookmarkTreeView.cs b/Windows/Forms/BookmarkTreeView.cs index b50950b..b9073e3 100644 --- a/Windows/Forms/BookmarkTreeView.cs +++ b/Windows/Forms/BookmarkTreeView.cs @@ -202,6 +202,16 @@ namespace RyzStudio.Windows.Forms [Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public ContextMenuStrip PageContextMenu { get; set; } = null; + [Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] + public new bool HasChanged + { + get => base.HasChanged; + set + { + base.HasChanged = value; + } + } + public TreeNode AddFolder(TreeNode node = null, string name = "", bool quol = true) { @@ -409,18 +419,21 @@ namespace RyzStudio.Windows.Forms var iconIndex = (int)NodeIcon.Default; // Update custom favicon - if (model.Icon != null) + var iconKey = model.Id.ToString(); + if (!string.IsNullOrWhiteSpace(iconKey)) { - var iconKey = model.Id.ToString(); - if (!string.IsNullOrWhiteSpace(iconKey)) + UIControl.Invoke(this, (x) => + { + if (this.ImageList.Images.ContainsKey(iconKey)) + { + this.ImageList.Images.RemoveByKey(iconKey); + } + }); + + if (model.Icon != null) { UIControl.Invoke(this, (x) => { - if (this.ImageList.Images.ContainsKey(iconKey)) - { - this.ImageList.Images.RemoveByKey(iconKey); - } - this.ImageList.Images.Add(iconKey, model.Icon); }); diff --git a/build-installer.iss b/build-installer.iss index 92ee27b..b938179 100644 --- a/build-installer.iss +++ b/build-installer.iss @@ -2,13 +2,13 @@ ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! #define MyAppName "Bookmark Manager" -#define MyAppVersion "0.5.0.012" +#define MyAppVersion "0.6.0.716" #define MyAppPublisher "Hi, I'm Ray" #define MyAppURL "https://www.hiimray.co.uk/software-bookmark-manager" #define MyAppExeName "bookmarkmanager.exe" -#define AppSourcePath "L:\gitea-hiimray\bookmark-manager-r4\bin\Release\64" -#define AppReleasePath "L:\gitea-hiimray\bookmark-manager-r4\bin\Release" +#define AppSourcePath "L:\gitea-hiimray\bookmark-manager-r4\bin" +#define AppReleasePath "L:\gitea-hiimray\bookmark-manager-r4\bin" #define AppReleaseName "bookmark-manager" [Setup] @@ -40,7 +40,6 @@ Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{ [Files] Source: "{#AppSourcePath}\bookmarkmanager.exe"; DestDir: "{app}"; Flags: ignoreversion -Source: "{#AppSourcePath}\e_sqlite3.dll"; DestDir: "{app}"; Flags: ignoreversion ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [Icons] diff --git a/build.bat b/build.bat index abe9789..4d5c801 100644 --- a/build.bat +++ b/build.bat @@ -1,7 +1,17 @@ -rmdir /s /q "bin\Release\" -dotnet publish skye.sln -r win-x64 -c Release /p:PublishSingleFile=true /p:SelfContained=false /p:PublishReadyToRunfalse=true /p:PublishDir="bin\Release\64\" +RMDIR /s /q "bin\" +RMDIR /s /q "obj\" + +MKDIR bin + +dotnet restore skye.sln +dotnet publish skye.sln -r win-x64 -c Release /p:PublishSingleFile=true /p:SelfContained=false /p:PublishReadyToRunfalse=true /p:PublishDir="bin\" "C:\B\Portable Files (dev)\Inno Setup\v6.0.4-2\app\ISCC.exe" "build-installer.iss" -cd "bin\Release\64\" -"C:\B\Portable Files\PeaZip (Portable)\v6.5.1\App\PeaZip\res\7z\7z.exe" a -t7z "..\bookmark-manager.7z" "*" -mx9 \ No newline at end of file +"C:\B\Portable Files\7-Zip (Portable)\23.01\App\7-Zip64\7z.exe" a -t7z "bin\bookmarkmanager.7z" ".\bin\bookmarkmanager.exe" -mx9 + +RMDIR /s /q "bin\debug" +RMDIR /s /q "bin\release" +RMDIR /s /q "obj\" + +PAUSE \ No newline at end of file diff --git a/skye.sln b/skye.sln index 187707d..9c9d90e 100644 --- a/skye.sln +++ b/skye.sln @@ -5,10 +5,6 @@ VisualStudioVersion = 17.4.33205.214 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BookmarkManager", "BookmarkManager.csproj", "{4833FB27-0817-4720-A54B-180369B0C374}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RyzStudio", "..\ryzstudio8\core\RyzStudio.csproj", "{6AF988B5-DA13-46F2-B3D0-505C2681A296}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RyzStudio.Windows.Forms", "..\ryzstudio8\windows.forms\RyzStudio.Windows.Forms.csproj", "{A1656CB4-4A0A-469B-9DC9-8C89188FEC98}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -19,14 +15,6 @@ Global {4833FB27-0817-4720-A54B-180369B0C374}.Debug|Any CPU.Build.0 = Debug|Any CPU {4833FB27-0817-4720-A54B-180369B0C374}.Release|Any CPU.ActiveCfg = Release|Any CPU {4833FB27-0817-4720-A54B-180369B0C374}.Release|Any CPU.Build.0 = Release|Any CPU - {6AF988B5-DA13-46F2-B3D0-505C2681A296}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6AF988B5-DA13-46F2-B3D0-505C2681A296}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6AF988B5-DA13-46F2-B3D0-505C2681A296}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6AF988B5-DA13-46F2-B3D0-505C2681A296}.Release|Any CPU.Build.0 = Release|Any CPU - {A1656CB4-4A0A-469B-9DC9-8C89188FEC98}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A1656CB4-4A0A-469B-9DC9-8C89188FEC98}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A1656CB4-4A0A-469B-9DC9-8C89188FEC98}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A1656CB4-4A0A-469B-9DC9-8C89188FEC98}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE