diff --git a/BookmarkForm.cs b/BookmarkForm.cs index 831b834..88cf262 100644 --- a/BookmarkForm.cs +++ b/BookmarkForm.cs @@ -333,7 +333,7 @@ namespace FizzyLauncher { base.IsBusy = value; - UIControl.SetValue(pictureBox2, (this.IsBusy ? UIcon.GetImage("loading_block") : null)); + UIControl.SetValue(pictureBox2, (this.IsBusy ? UIResource1.loading_block : null)); UIControl.SetEnable(textBox1, !this.IsBusy); UIControl.SetEnable(textBox2, !this.IsBusy); diff --git a/BookmarkManager.csproj b/BookmarkManager.csproj index 7efa7a1..297e230 100644 --- a/BookmarkManager.csproj +++ b/BookmarkManager.csproj @@ -2,7 +2,7 @@ WinExe - net5.0-windows + net6.0-windows true true favicon.ico @@ -12,10 +12,11 @@ Hi, I'm Ray Bookmark Manager Ray Lam - 0.4.4.026 - 0.4.4.026 - 0.4.4.026 + 1.0.0.0 + 1.0.0.0 + 0.5.0.011 bookmarkmanager + True @@ -110,15 +111,18 @@ - + - - References\RyzStudio3.dll + + References\Ryz3core.dll + + + References\Ryz3ui.dll diff --git a/Classes/Crypto.cs b/Classes/Crypto.cs index 24747d8..7146990 100644 --- a/Classes/Crypto.cs +++ b/Classes/Crypto.cs @@ -9,8 +9,8 @@ namespace BookmarkManager public static string GetSHA256Hash(string text) { if (string.IsNullOrWhiteSpace(text)) return string.Empty; - - using (var sha = new SHA256Managed()) + + using (var sha = SHA256.Create()) { byte[] hash = sha.ComputeHash(Encoding.UTF8.GetBytes(text)); diff --git a/MainForm.cs b/MainForm.cs index ecff841..b3cc9b3 100644 --- a/MainForm.cs +++ b/MainForm.cs @@ -2,6 +2,7 @@ using bzit.bomg.Models; using FizzyLauncher.Models; using Newtonsoft.Json; +using RyzStudio.Drawing; using RyzStudio.Windows.Forms; using System; using System.Collections.Generic; @@ -157,54 +158,21 @@ namespace FizzyLauncher case AppMode.Clear: UIControl.SetText(this, AppResource.app_name); - UIControl.SetEnable(closeToolStripMenuItem, false); - - UIControl.SetEnable(saveToolStripMenuItem, false); - UIControl.SetEnable(toolStripButton3, false); - UIControl.SetEnable(saveAsToolStripMenuItem, false); - - UIControl.SetEnable(findToolStripMenuItem, false); - UIControl.SetEnable(toolStripButton4, false); - - UIControl.SetEnable(toolStripMenuItem9, false); - - UIControl.SetEnable(expandAllToolStripMenuItem, false); - UIControl.SetEnable(collapseAllToolStripMenuItem, false); - + UIControl.SetEnable(false, closeToolStripMenuItem, saveToolStripMenuItem, saveAsToolStripMenuItem, findToolStripMenuItem, toolStripMenuItem9, expandAllToolStripMenuItem, collapseAllToolStripMenuItem); + UIControl.SetEnable(false, toolStripButton3, toolStripButton4); break; case AppMode.Open: - UIControl.SetEnable(closeToolStripMenuItem, true); - - UIControl.SetEnable(saveToolStripMenuItem, true); - UIControl.SetEnable(toolStripButton3, true); - UIControl.SetEnable(saveAsToolStripMenuItem, true); - - UIControl.SetEnable(findToolStripMenuItem, true); - UIControl.SetEnable(toolStripButton4, true); - - UIControl.SetEnable(toolStripMenuItem9, true); - - UIControl.SetEnable(expandAllToolStripMenuItem, true); - UIControl.SetEnable(collapseAllToolStripMenuItem, true); - + UIControl.SetEnable(true, closeToolStripMenuItem, saveToolStripMenuItem, saveAsToolStripMenuItem, findToolStripMenuItem, toolStripMenuItem9, expandAllToolStripMenuItem, collapseAllToolStripMenuItem); + UIControl.SetEnable(true, toolStripButton3, toolStripButton4); break; case AppMode.New: UIControl.SetText(this, AppResource.app_name); - UIControl.SetEnable(closeToolStripMenuItem, true); - + UIControl.SetEnable(true, closeToolStripMenuItem, saveAsToolStripMenuItem, findToolStripMenuItem, toolStripMenuItem9, expandAllToolStripMenuItem, collapseAllToolStripMenuItem); UIControl.SetEnable(saveToolStripMenuItem, false); UIControl.SetEnable(toolStripButton3, false); - UIControl.SetEnable(saveAsToolStripMenuItem, true); - - UIControl.SetEnable(findToolStripMenuItem, true); UIControl.SetEnable(toolStripButton4, true); - UIControl.SetEnable(toolStripMenuItem9, true); - - UIControl.SetEnable(expandAllToolStripMenuItem, true); - UIControl.SetEnable(collapseAllToolStripMenuItem, true); - break; default: break; } diff --git a/OptionsForm.cs b/OptionsForm.cs index 1c2e5d7..4b84a1c 100644 --- a/OptionsForm.cs +++ b/OptionsForm.cs @@ -1,7 +1,8 @@ -using FizzyLauncher.Models; +using System; using System.Windows.Forms; +using FizzyLauncher.Models; using RyzStudio.Windows.ThemedForms; -using System; +using RyzStudio.Windows.ThemedForms.PickerBox; namespace FizzyLauncher { @@ -46,9 +47,9 @@ namespace FizzyLauncher { this.label1 = new System.Windows.Forms.Label(); this.button1 = new RyzStudio.Windows.ThemedForms.TButton(); - this.pickerBox1 = new RyzStudio.Windows.ThemedForms.TYesNoPickerBox(); + this.pickerBox1 = new TYesNoPickerBox(); this.label6 = new System.Windows.Forms.Label(); - this.pickerBox2 = new RyzStudio.Windows.ThemedForms.TYesNoPickerBox(); + this.pickerBox2 = new TYesNoPickerBox(); this.label7 = new System.Windows.Forms.Label(); this.label8 = new System.Windows.Forms.Label(); this.pickerBox3 = new RyzStudio.Windows.ThemedForms.TPickerBox(); @@ -56,9 +57,9 @@ namespace FizzyLauncher this.tHorizontalSeparator2 = new RyzStudio.Windows.Forms.THorizontalSeparator(); this.tHorizontalSeparator3 = new RyzStudio.Windows.Forms.THorizontalSeparator(); this.textBox1 = new RyzStudio.Windows.ThemedForms.TTextBox(); - this.pickerBox4 = new RyzStudio.Windows.ThemedForms.TYesNoPickerBox(); + this.pickerBox4 = new TYesNoPickerBox(); this.label2 = new System.Windows.Forms.Label(); - this.pickerBox5 = new RyzStudio.Windows.ThemedForms.TYesNoPickerBox(); + this.pickerBox5 = new TYesNoPickerBox(); this.label3 = new System.Windows.Forms.Label(); this.SuspendLayout(); // @@ -301,9 +302,9 @@ namespace FizzyLauncher this.label3.Margin = new System.Windows.Forms.Padding(0); this.label3.Name = "label3"; this.label3.Padding = new System.Windows.Forms.Padding(0, 9, 0, 10); - this.label3.Size = new System.Drawing.Size(111, 34); + this.label3.Size = new System.Drawing.Size(112, 34); this.label3.TabIndex = 195; - this.label3.Text = "Show toolbar menu"; + this.label3.Text = "Show Toolbar Menu"; this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // OptionsForm diff --git a/References/HtmlAgilityPack.dll b/References/HtmlAgilityPack.dll new file mode 100644 index 0000000..d817f94 Binary files /dev/null and b/References/HtmlAgilityPack.dll differ diff --git a/References/Ryz3core.deps.json b/References/Ryz3core.deps.json new file mode 100644 index 0000000..0866e06 --- /dev/null +++ b/References/Ryz3core.deps.json @@ -0,0 +1,75 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v6.0/win-x64", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v6.0": {}, + ".NETCoreApp,Version=v6.0/win-x64": { + "Ryz3core/0.1.5.035": { + "dependencies": { + "HtmlAgilityPack": "1.11.46", + "System.Data.SQLite.Core": "1.0.117" + }, + "runtime": { + "Ryz3core.dll": {} + } + }, + "HtmlAgilityPack/1.11.46": { + "runtime": { + "lib/netstandard2.0/HtmlAgilityPack.dll": { + "assemblyVersion": "1.11.46.0", + "fileVersion": "1.11.46.0" + } + } + }, + "Stub.System.Data.SQLite.Core.NetStandard/1.0.117": { + "runtime": { + "lib/netstandard2.1/System.Data.SQLite.dll": { + "assemblyVersion": "1.0.117.0", + "fileVersion": "1.0.117.0" + } + }, + "native": { + "runtimes/win-x64/native/SQLite.Interop.dll": { + "fileVersion": "1.0.117.0" + } + } + }, + "System.Data.SQLite.Core/1.0.117": { + "dependencies": { + "Stub.System.Data.SQLite.Core.NetStandard": "1.0.117" + } + } + } + }, + "libraries": { + "Ryz3core/0.1.5.035": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "HtmlAgilityPack/1.11.46": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dLMn4EVfJBHWmWK4Uh0XGD76FPLHI0qr2Tm0s1m/xmgiHb1JUb9zB8AzO8HtrkBBlMN6JfCUBYddhqC0hZNR+g==", + "path": "htmlagilitypack/1.11.46", + "hashPath": "htmlagilitypack.1.11.46.nupkg.sha512" + }, + "Stub.System.Data.SQLite.Core.NetStandard/1.0.117": { + "type": "package", + "serviceable": true, + "sha512": "sha512-x1zzPC/A4MmiKGDLoxLE6O5KLu7Kz7dyzhPQzlqYFTFcXmXAtM7hNNWpGw5yLEz833AnGbd/kxoitXArgR4YyA==", + "path": "stub.system.data.sqlite.core.netstandard/1.0.117", + "hashPath": "stub.system.data.sqlite.core.netstandard.1.0.117.nupkg.sha512" + }, + "System.Data.SQLite.Core/1.0.117": { + "type": "package", + "serviceable": true, + "sha512": "sha512-lGfOhA3QQod9XhdWYqLgNgbgq5uZnVG6DtnhDAdPisbLpTTgZBNbeGnp+GWt8C+3EyaqBYTGJWXcxHlHKwo05A==", + "path": "system.data.sqlite.core/1.0.117", + "hashPath": "system.data.sqlite.core.1.0.117.nupkg.sha512" + } + } +} \ No newline at end of file diff --git a/References/Ryz3core.dll b/References/Ryz3core.dll new file mode 100644 index 0000000..2a0daf0 Binary files /dev/null and b/References/Ryz3core.dll differ diff --git a/References/Ryz3ui.dll b/References/Ryz3ui.dll new file mode 100644 index 0000000..be95657 Binary files /dev/null and b/References/Ryz3ui.dll differ diff --git a/References/SQLite.Interop.dll b/References/SQLite.Interop.dll new file mode 100644 index 0000000..0736a58 Binary files /dev/null and b/References/SQLite.Interop.dll differ diff --git a/References/System.Data.SQLite.dll b/References/System.Data.SQLite.dll new file mode 100644 index 0000000..58593e6 Binary files /dev/null and b/References/System.Data.SQLite.dll differ diff --git a/UpdateIconsForm.cs b/UpdateIconsForm.cs index 72becc7..7a354be 100644 --- a/UpdateIconsForm.cs +++ b/UpdateIconsForm.cs @@ -1,17 +1,17 @@ -using BookmarkManager; -using bzit.bomg.Models; -using FizzyLauncher.Models; -using RyzStudio.IO; -using RyzStudio.Windows.Forms; -using RyzStudio.Windows.ThemedForms; -using System; +using System; using System.Collections.Generic; -using System.ComponentModel; using System.Drawing; using System.Net; using System.Threading.Tasks; using System.Windows.Forms; -using TProgressBar = RyzStudio.Windows.ThemedForms.TProgressBar; +using BookmarkManager; +using bzit.bomg.Models; +using FizzyLauncher.Models; +using RyzStudio; +using RyzStudio.IO; +using RyzStudio.Windows.Forms; +using RyzStudio.Windows.ThemedForms; +using RyzStudio.Windows.ThemedForms.PickerBox; namespace FizzyLauncher { @@ -63,14 +63,14 @@ namespace FizzyLauncher this.label2 = new System.Windows.Forms.Label(); this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); this.pictureBox2 = new System.Windows.Forms.PictureBox(); - this.pickerBox1 = new RyzStudio.Windows.ThemedForms.TYesNoPickerBox(); + this.pickerBox1 = new RyzStudio.Windows.ThemedForms.PickerBox.TYesNoPickerBox(); this.button2 = new RyzStudio.Windows.ThemedForms.TButton(); this.progressBar1 = new RyzStudio.Windows.ThemedForms.TProgressBar(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit(); this.SuspendLayout(); - // + // // label1 - // + // this.label1.AutoSize = true; this.label1.BackColor = System.Drawing.Color.Transparent; this.label1.ForeColor = System.Drawing.SystemColors.ControlText; @@ -78,13 +78,13 @@ namespace FizzyLauncher this.label1.Margin = new System.Windows.Forms.Padding(0); this.label1.Name = "label1"; this.label1.Padding = new System.Windows.Forms.Padding(0, 9, 0, 10); - this.label1.Size = new System.Drawing.Size(154, 34); + this.label1.Size = new System.Drawing.Size(133, 34); this.label1.TabIndex = 153; - this.label1.Text = "Find outstanding icons only"; + this.label1.Text = "Find Missing Icons Only"; this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // + // // button1 - // + // this.button1.AcceptButton = null; this.button1.ActiveImage = null; this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); @@ -98,44 +98,43 @@ namespace FizzyLauncher this.button1.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3); this.button1.Size = new System.Drawing.Size(128, 32); this.button1.TabIndex = 2; + this.button1.TabStop = false; this.button1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.button1_MouseClick); - // + // // tHorizontalSeparator1 - // - this.tHorizontalSeparator1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + // + this.tHorizontalSeparator1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.tHorizontalSeparator1.AutoScrollMargin = new System.Drawing.Size(0, 0); this.tHorizontalSeparator1.AutoScrollMinSize = new System.Drawing.Size(0, 0); this.tHorizontalSeparator1.BackColor = System.Drawing.Color.Transparent; this.tHorizontalSeparator1.Location = new System.Drawing.Point(10, 437); - this.tHorizontalSeparator1.Margin = new System.Windows.Forms.Padding(5, 0, 5, 10); + this.tHorizontalSeparator1.Margin = new System.Windows.Forms.Padding(0, 10, 0, 10); this.tHorizontalSeparator1.MaximumSize = new System.Drawing.Size(4920, 2); this.tHorizontalSeparator1.MinimumSize = new System.Drawing.Size(0, 22); this.tHorizontalSeparator1.Name = "tHorizontalSeparator1"; - this.tHorizontalSeparator1.Padding = new System.Windows.Forms.Padding(0, 10, 0, 10); this.tHorizontalSeparator1.Size = new System.Drawing.Size(364, 22); this.tHorizontalSeparator1.TabIndex = 188; this.tHorizontalSeparator1.TabStop = false; - // + // // tHorizontalSeparator2 - // - this.tHorizontalSeparator2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + // + this.tHorizontalSeparator2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.tHorizontalSeparator2.AutoScrollMargin = new System.Drawing.Size(0, 0); this.tHorizontalSeparator2.AutoScrollMinSize = new System.Drawing.Size(0, 0); this.tHorizontalSeparator2.BackColor = System.Drawing.Color.Transparent; this.tHorizontalSeparator2.Location = new System.Drawing.Point(10, 59); - this.tHorizontalSeparator2.Margin = new System.Windows.Forms.Padding(5, 0, 5, 10); + this.tHorizontalSeparator2.Margin = new System.Windows.Forms.Padding(0, 10, 0, 10); this.tHorizontalSeparator2.MaximumSize = new System.Drawing.Size(4920, 2); this.tHorizontalSeparator2.MinimumSize = new System.Drawing.Size(0, 22); this.tHorizontalSeparator2.Name = "tHorizontalSeparator2"; - this.tHorizontalSeparator2.Padding = new System.Windows.Forms.Padding(0, 10, 0, 10); this.tHorizontalSeparator2.Size = new System.Drawing.Size(364, 22); this.tHorizontalSeparator2.TabIndex = 190; this.tHorizontalSeparator2.TabStop = false; - // + // // label2 - // + // this.label2.AutoSize = true; this.label2.BackColor = System.Drawing.Color.Transparent; this.label2.ForeColor = System.Drawing.SystemColors.ControlText; @@ -147,9 +146,9 @@ namespace FizzyLauncher this.label2.TabIndex = 195; this.label2.Text = "Progress"; this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // + // // pictureBox2 - // + // this.pictureBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.pictureBox2.BackColor = System.Drawing.Color.Transparent; this.pictureBox2.ErrorImage = null; @@ -160,23 +159,25 @@ namespace FizzyLauncher this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; this.pictureBox2.TabIndex = 202; this.pictureBox2.TabStop = false; - // + // // pickerBox1 - // + // this.pickerBox1.AcceptButton = null; this.pickerBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.pickerBox1.BackColor = System.Drawing.Color.Transparent; this.pickerBox1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point); this.pickerBox1.Location = new System.Drawing.Point(285, 21); - this.pickerBox1.Margin = new System.Windows.Forms.Padding(10, 4, 10, 4); + this.pickerBox1.Margin = new System.Windows.Forms.Padding(10, 10, 10, 0); this.pickerBox1.Name = "pickerBox1"; this.pickerBox1.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3); + this.pickerBox1.SelectedIndex = 1; this.pickerBox1.Size = new System.Drawing.Size(84, 35); this.pickerBox1.TabIndex = 0; + this.pickerBox1.TabStop = false; this.pickerBox1.Value = true; - // + // // button2 - // + // this.button2.AcceptButton = null; this.button2.ActiveImage = null; this.button2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); @@ -190,12 +191,13 @@ namespace FizzyLauncher this.button2.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3); this.button2.Size = new System.Drawing.Size(128, 32); this.button2.TabIndex = 1; + this.button2.TabStop = false; this.button2.MouseClick += new System.Windows.Forms.MouseEventHandler(this.button2_MouseClick); - // + // // progressBar1 - // + // this.progressBar1.AcceptButton = null; - this.progressBar1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + this.progressBar1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.progressBar1.BackColor = System.Drawing.Color.Transparent; this.progressBar1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point); @@ -206,9 +208,9 @@ namespace FizzyLauncher this.progressBar1.Size = new System.Drawing.Size(359, 33); this.progressBar1.TabIndex = 206; this.progressBar1.TabStop = false; - // + // // UpdateIconsForm - // + // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(384, 521); @@ -246,7 +248,7 @@ namespace FizzyLauncher { base.IsBusy = value; - UIControl.SetValue(pictureBox2, (this.IsBusy ? UIcon.GetImage("loading_block") : null)); + UIControl.SetValue(pictureBox2, (this.IsBusy ? UIResource1.loading_block : null)); UIControl.SetEnable(pickerBox1, !this.IsBusy); button2.LabelText = (this.IsBusy ? "&Stop" : "&Run"); diff --git a/installer-64.iss b/installer-64.iss index f9b52c6..843ab8a 100644 --- a/installer-64.iss +++ b/installer-64.iss @@ -2,7 +2,7 @@ ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! #define MyAppName "Bookmark Manager" -#define MyAppVersion "0.4.4.026" +#define MyAppVersion "0.5.0.011" #define MyAppPublisher "Hi, I'm Ray" #define MyAppURL "https://www.hiimray.co.uk/software-bookmark-manager" #define MyAppExeName "bookmarkmanager.exe" @@ -35,8 +35,8 @@ Name: "english"; MessagesFile: "compiler:Default.isl" Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked [Files] -Source: "L:\gitlab-hiimray\bookmark-manager-r4\bin\Release\64\bookmarkmanager.exe"; DestDir: "{app}"; Flags: ignoreversion -Source: "L:\gitlab-hiimray\bookmark-manager-r4\bin\Release\64\e_sqlite3.dll"; DestDir: "{app}"; Flags: ignoreversion +Source: "L:\gitea-hiimray\bookmark-manager-r4\bin\Release\64\bookmarkmanager.exe"; DestDir: "{app}"; Flags: ignoreversion +Source: "L:\gitea-hiimray\bookmark-manager-r4\bin\Release\64\e_sqlite3.dll"; DestDir: "{app}"; Flags: ignoreversion ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [Icons] diff --git a/skye.sln b/skye.sln index 94d56d8..9c9d90e 100644 --- a/skye.sln +++ b/skye.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.31410.357 +# Visual Studio Version 17 +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