From 5e4eb971213093e00a7eeb99b5b58357974dcd32 Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 1 Jun 2021 00:25:26 +0100 Subject: [PATCH 1/4] Added: first and last environment path --- Models/TileModel.cs | 76 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 73 insertions(+), 3 deletions(-) diff --git a/Models/TileModel.cs b/Models/TileModel.cs index 53f8dcf..ba7aa02 100644 --- a/Models/TileModel.cs +++ b/Models/TileModel.cs @@ -20,11 +20,81 @@ namespace AppLauncher.Models public override string ToString() => this.Title ?? string.Empty; - public string CleanProcessFilename => (string.IsNullOrWhiteSpace(this.ProcessFilename) ? string.Empty : Environment.ExpandEnvironmentVariables(this.ProcessFilename)); + public string CleanProcessFilename => (string.IsNullOrWhiteSpace(this.ProcessFilename) ? string.Empty : resolvePath(this.ProcessFilename)); - public string CleanProcessArgument => (string.IsNullOrWhiteSpace(this.ProcessArgument) ? string.Empty : Environment.ExpandEnvironmentVariables(this.ProcessArgument)); + public string CleanProcessArgument => (string.IsNullOrWhiteSpace(this.ProcessArgument) ? string.Empty : resolvePath(this.ProcessArgument)); - public string CleanProcessWorkingDirectory => (string.IsNullOrWhiteSpace(this.ProcessWorkingDirectory) ? string.Empty : Environment.ExpandEnvironmentVariables(this.ProcessWorkingDirectory)); + public string CleanProcessWorkingDirectory => (string.IsNullOrWhiteSpace(this.ProcessWorkingDirectory) ? string.Empty : resolvePath(this.ProcessWorkingDirectory)); + + protected string resolvePath(string value) + { + string rv = Environment.ExpandEnvironmentVariables(value); + + rv = resolveFirstPath(rv); + rv = resolveLastPath(rv); + + return rv; + } + + protected string resolveFirstPath(string value) + { + const string last = "%FIRST%"; + if (!value.Contains(last)) + { + return value; + } + + string head = value.Substring(0, value.IndexOf(last)); + string tail = value.Substring(value.IndexOf(last) + last.Length); + + string[] dirList = new string[0]; + + try + { + dirList = System.IO.Directory.GetDirectories(head, "*", System.IO.SearchOption.TopDirectoryOnly); + } + catch + { + // do nothing + } + + if (dirList.Length <= 0) + { + return value; + } + + return dirList[0] + tail; + } + + protected string resolveLastPath(string value) + { + const string last = "%LAST%"; + if (!value.Contains(last)) + { + return value; + } + + string head = value.Substring(0, value.IndexOf(last)); + string tail = value.Substring(value.IndexOf(last) + last.Length); + + string[] dirList = new string[0]; + + try + { + dirList = System.IO.Directory.GetDirectories(head, "*", System.IO.SearchOption.TopDirectoryOnly); + } + catch + { + // do nothing + } + + if (dirList.Length <= 0) + { + return value; + } + + return dirList[(dirList.Length - 1)] + tail; + } } } From 631d5e3774a8a215b4e3919636538abd4d67771c Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 1 Jun 2021 00:28:31 +0100 Subject: [PATCH 2/4] Changed: shutdown behaviour to terminate app --- MainForm.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/MainForm.cs b/MainForm.cs index 4349ce5..6664fff 100644 --- a/MainForm.cs +++ b/MainForm.cs @@ -139,7 +139,8 @@ namespace AppLauncher break; case WM_QUERYENDSESSION: requestExit = true; - this.Close(); + //this.Close(); + Application.Exit(); break; default: break; From 7b481ba3aaf409b700e00804f26f783c0a309bd9 Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 1 Jun 2021 09:15:08 +0100 Subject: [PATCH 3/4] Changed: upgrade to unified UI theme --- FizzyLauncher.UI/FizzyLauncher.UI.csproj | 84 ++++--- ...es20.Designer.cs => Resources.Designer.cs} | 134 ++++++++--- .../{Resources20.resx => Resources.resx} | 72 ++++-- FizzyLauncher.UI/Resources/20/close.png | Bin 493 -> 0 bytes FizzyLauncher.UI/Resources/20/close2.png | Bin 525 -> 0 bytes FizzyLauncher.UI/Resources/20/close3.png | Bin 514 -> 0 bytes FizzyLauncher.UI/Resources/20/empty.png | Bin 274 -> 0 bytes FizzyLauncher.UI/Resources/20/empty2.png | Bin 289 -> 0 bytes FizzyLauncher.UI/Resources/20/empty3.png | Bin 284 -> 0 bytes FizzyLauncher.UI/Resources/20/maximise.png | Bin 303 -> 0 bytes FizzyLauncher.UI/Resources/20/maximise2.png | Bin 320 -> 0 bytes FizzyLauncher.UI/Resources/20/maximise3.png | Bin 315 -> 0 bytes FizzyLauncher.UI/Resources/20/minimise.png | Bin 304 -> 0 bytes FizzyLauncher.UI/Resources/20/minimise2.png | Bin 320 -> 0 bytes FizzyLauncher.UI/Resources/20/minimise3.png | Bin 315 -> 0 bytes FizzyLauncher.UI/Resources/titlebar_blank.png | Bin 0 -> 255 bytes .../Resources/titlebar_blank2.png | Bin 0 -> 260 bytes .../Resources/titlebar_blank3.png | Bin 0 -> 259 bytes .../Resources/titlebar_blank4.png | Bin 0 -> 260 bytes .../Resources/titlebar_blank5.png | Bin 0 -> 261 bytes FizzyLauncher.UI/Resources/titlebar_close.png | Bin 0 -> 429 bytes .../Resources/titlebar_close2.png | Bin 0 -> 478 bytes .../Resources/titlebar_close3.png | Bin 0 -> 473 bytes .../Resources/titlebar_close4.png | Bin 0 -> 441 bytes .../Resources/titlebar_close5.png | Bin 0 -> 478 bytes .../Resources/titlebar_maximise.png | Bin 0 -> 302 bytes .../Resources/titlebar_maximise2.png | Bin 0 -> 307 bytes .../Resources/titlebar_maximise3.png | Bin 0 -> 308 bytes .../Resources/titlebar_maximise4.png | Bin 0 -> 303 bytes .../Resources/titlebar_maximise5.png | Bin 0 -> 311 bytes .../Resources/titlebar_minimise.png | Bin 0 -> 303 bytes .../Resources/titlebar_minimise2.png | Bin 0 -> 307 bytes .../Resources/titlebar_minimise3.png | Bin 0 -> 309 bytes .../Resources/titlebar_minimise4.png | Bin 0 -> 304 bytes .../Resources/titlebar_minimise5.png | Bin 0 -> 313 bytes .../RyzStudio/Windows/Forms/TForm.cs | 223 ++++++++---------- .../RyzStudio/Windows/Forms/TImageBox.cs | 24 ++ FizzyLauncher.csproj | 4 +- MainForm.Designer.cs | 34 +-- MainForm.cs | 6 +- Properties/Resources.Designer.cs | 4 +- Properties/Resources.resx | 4 +- Resources/{app_icon_24.png => app_icon.png} | Bin 43 files changed, 351 insertions(+), 238 deletions(-) rename FizzyLauncher.UI/Properties/{Resources20.Designer.cs => Resources.Designer.cs} (51%) rename FizzyLauncher.UI/Properties/{Resources20.resx => Resources.resx} (54%) delete mode 100644 FizzyLauncher.UI/Resources/20/close.png delete mode 100644 FizzyLauncher.UI/Resources/20/close2.png delete mode 100644 FizzyLauncher.UI/Resources/20/close3.png delete mode 100644 FizzyLauncher.UI/Resources/20/empty.png delete mode 100644 FizzyLauncher.UI/Resources/20/empty2.png delete mode 100644 FizzyLauncher.UI/Resources/20/empty3.png delete mode 100644 FizzyLauncher.UI/Resources/20/maximise.png delete mode 100644 FizzyLauncher.UI/Resources/20/maximise2.png delete mode 100644 FizzyLauncher.UI/Resources/20/maximise3.png delete mode 100644 FizzyLauncher.UI/Resources/20/minimise.png delete mode 100644 FizzyLauncher.UI/Resources/20/minimise2.png delete mode 100644 FizzyLauncher.UI/Resources/20/minimise3.png create mode 100644 FizzyLauncher.UI/Resources/titlebar_blank.png create mode 100644 FizzyLauncher.UI/Resources/titlebar_blank2.png create mode 100644 FizzyLauncher.UI/Resources/titlebar_blank3.png create mode 100644 FizzyLauncher.UI/Resources/titlebar_blank4.png create mode 100644 FizzyLauncher.UI/Resources/titlebar_blank5.png create mode 100644 FizzyLauncher.UI/Resources/titlebar_close.png create mode 100644 FizzyLauncher.UI/Resources/titlebar_close2.png create mode 100644 FizzyLauncher.UI/Resources/titlebar_close3.png create mode 100644 FizzyLauncher.UI/Resources/titlebar_close4.png create mode 100644 FizzyLauncher.UI/Resources/titlebar_close5.png create mode 100644 FizzyLauncher.UI/Resources/titlebar_maximise.png create mode 100644 FizzyLauncher.UI/Resources/titlebar_maximise2.png create mode 100644 FizzyLauncher.UI/Resources/titlebar_maximise3.png create mode 100644 FizzyLauncher.UI/Resources/titlebar_maximise4.png create mode 100644 FizzyLauncher.UI/Resources/titlebar_maximise5.png create mode 100644 FizzyLauncher.UI/Resources/titlebar_minimise.png create mode 100644 FizzyLauncher.UI/Resources/titlebar_minimise2.png create mode 100644 FizzyLauncher.UI/Resources/titlebar_minimise3.png create mode 100644 FizzyLauncher.UI/Resources/titlebar_minimise4.png create mode 100644 FizzyLauncher.UI/Resources/titlebar_minimise5.png rename Resources/{app_icon_24.png => app_icon.png} (100%) diff --git a/FizzyLauncher.UI/FizzyLauncher.UI.csproj b/FizzyLauncher.UI/FizzyLauncher.UI.csproj index 7334c5e..ddfdb4a 100644 --- a/FizzyLauncher.UI/FizzyLauncher.UI.csproj +++ b/FizzyLauncher.UI/FizzyLauncher.UI.csproj @@ -52,10 +52,10 @@ True Resources16.resx - + True True - Resources20.resx + Resources.resx @@ -134,9 +134,9 @@ ResXFileCodeGenerator Resources16.Designer.cs - + ResXFileCodeGenerator - Resources20.Designer.cs + Resources.Designer.cs TForm.cs @@ -160,27 +160,6 @@ TTextBox.cs - - - - - - - - - - - - - - - - - - - - - @@ -230,19 +209,64 @@ - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FizzyLauncher.UI/Properties/Resources20.Designer.cs b/FizzyLauncher.UI/Properties/Resources.Designer.cs similarity index 51% rename from FizzyLauncher.UI/Properties/Resources20.Designer.cs rename to FizzyLauncher.UI/Properties/Resources.Designer.cs index 017f654..64c08bd 100644 --- a/FizzyLauncher.UI/Properties/Resources20.Designer.cs +++ b/FizzyLauncher.UI/Properties/Resources.Designer.cs @@ -22,14 +22,14 @@ namespace AppLauncher.Properties { [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources20 { + internal class Resources { private static global::System.Resources.ResourceManager resourceMan; private static global::System.Globalization.CultureInfo resourceCulture; [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resources20() { + internal Resources() { } /// @@ -39,7 +39,7 @@ namespace AppLauncher.Properties { internal static global::System.Resources.ResourceManager ResourceManager { get { if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AppLauncher.Properties.Resources20", typeof(Resources20).Assembly); + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AppLauncher.Properties.Resources", typeof(Resources).Assembly); resourceMan = temp; } return resourceMan; @@ -63,9 +63,9 @@ namespace AppLauncher.Properties { /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// - internal static System.Drawing.Bitmap close { + internal static System.Drawing.Bitmap titlebar_blank { get { - object obj = ResourceManager.GetObject("close", resourceCulture); + object obj = ResourceManager.GetObject("titlebar_blank", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } @@ -73,9 +73,9 @@ namespace AppLauncher.Properties { /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// - internal static System.Drawing.Bitmap close2 { + internal static System.Drawing.Bitmap titlebar_blank2 { get { - object obj = ResourceManager.GetObject("close2", resourceCulture); + object obj = ResourceManager.GetObject("titlebar_blank2", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } @@ -83,9 +83,9 @@ namespace AppLauncher.Properties { /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// - internal static System.Drawing.Bitmap close3 { + internal static System.Drawing.Bitmap titlebar_blank3 { get { - object obj = ResourceManager.GetObject("close3", resourceCulture); + object obj = ResourceManager.GetObject("titlebar_blank3", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } @@ -93,9 +93,9 @@ namespace AppLauncher.Properties { /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// - internal static System.Drawing.Bitmap empty { + internal static System.Drawing.Bitmap titlebar_blank4 { get { - object obj = ResourceManager.GetObject("empty", resourceCulture); + object obj = ResourceManager.GetObject("titlebar_blank4", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } @@ -103,9 +103,9 @@ namespace AppLauncher.Properties { /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// - internal static System.Drawing.Bitmap empty2 { + internal static System.Drawing.Bitmap titlebar_blank5 { get { - object obj = ResourceManager.GetObject("empty2", resourceCulture); + object obj = ResourceManager.GetObject("titlebar_blank5", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } @@ -113,9 +113,9 @@ namespace AppLauncher.Properties { /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// - internal static System.Drawing.Bitmap empty3 { + internal static System.Drawing.Bitmap titlebar_close { get { - object obj = ResourceManager.GetObject("empty3", resourceCulture); + object obj = ResourceManager.GetObject("titlebar_close", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } @@ -123,9 +123,9 @@ namespace AppLauncher.Properties { /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// - internal static System.Drawing.Bitmap maximise { + internal static System.Drawing.Bitmap titlebar_close2 { get { - object obj = ResourceManager.GetObject("maximise", resourceCulture); + object obj = ResourceManager.GetObject("titlebar_close2", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } @@ -133,9 +133,9 @@ namespace AppLauncher.Properties { /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// - internal static System.Drawing.Bitmap maximise2 { + internal static System.Drawing.Bitmap titlebar_close3 { get { - object obj = ResourceManager.GetObject("maximise2", resourceCulture); + object obj = ResourceManager.GetObject("titlebar_close3", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } @@ -143,9 +143,9 @@ namespace AppLauncher.Properties { /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// - internal static System.Drawing.Bitmap maximise3 { + internal static System.Drawing.Bitmap titlebar_close4 { get { - object obj = ResourceManager.GetObject("maximise3", resourceCulture); + object obj = ResourceManager.GetObject("titlebar_close4", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } @@ -153,9 +153,9 @@ namespace AppLauncher.Properties { /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// - internal static System.Drawing.Bitmap minimise { + internal static System.Drawing.Bitmap titlebar_close5 { get { - object obj = ResourceManager.GetObject("minimise", resourceCulture); + object obj = ResourceManager.GetObject("titlebar_close5", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } @@ -163,9 +163,9 @@ namespace AppLauncher.Properties { /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// - internal static System.Drawing.Bitmap minimise2 { + internal static System.Drawing.Bitmap titlebar_maximise { get { - object obj = ResourceManager.GetObject("minimise2", resourceCulture); + object obj = ResourceManager.GetObject("titlebar_maximise", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } @@ -173,9 +173,89 @@ namespace AppLauncher.Properties { /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// - internal static System.Drawing.Bitmap minimise3 { + internal static System.Drawing.Bitmap titlebar_maximise2 { get { - object obj = ResourceManager.GetObject("minimise3", resourceCulture); + object obj = ResourceManager.GetObject("titlebar_maximise2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap titlebar_maximise3 { + get { + object obj = ResourceManager.GetObject("titlebar_maximise3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap titlebar_maximise4 { + get { + object obj = ResourceManager.GetObject("titlebar_maximise4", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap titlebar_maximise5 { + get { + object obj = ResourceManager.GetObject("titlebar_maximise5", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap titlebar_minimise { + get { + object obj = ResourceManager.GetObject("titlebar_minimise", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap titlebar_minimise2 { + get { + object obj = ResourceManager.GetObject("titlebar_minimise2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap titlebar_minimise3 { + get { + object obj = ResourceManager.GetObject("titlebar_minimise3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap titlebar_minimise4 { + get { + object obj = ResourceManager.GetObject("titlebar_minimise4", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap titlebar_minimise5 { + get { + object obj = ResourceManager.GetObject("titlebar_minimise5", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } diff --git a/FizzyLauncher.UI/Properties/Resources20.resx b/FizzyLauncher.UI/Properties/Resources.resx similarity index 54% rename from FizzyLauncher.UI/Properties/Resources20.resx rename to FizzyLauncher.UI/Properties/Resources.resx index 9a0d447..5f47cda 100644 --- a/FizzyLauncher.UI/Properties/Resources20.resx +++ b/FizzyLauncher.UI/Properties/Resources.resx @@ -118,40 +118,64 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - ..\Resources\20\close.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\titlebar_blank.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\20\close2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\titlebar_blank2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\20\close3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\titlebar_blank3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\20\empty.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\titlebar_blank4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\20\empty2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\titlebar_blank5.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\20\empty3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\titlebar_close.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\20\maximise.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\titlebar_close2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\20\maximise2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\titlebar_close3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\20\maximise3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\titlebar_close4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\20\minimise.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\titlebar_close5.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\20\minimise2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\titlebar_maximise.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\20\minimise3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\titlebar_maximise2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\titlebar_maximise3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\titlebar_maximise4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\titlebar_maximise5.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\titlebar_minimise.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\titlebar_minimise2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\titlebar_minimise3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\titlebar_minimise4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\titlebar_minimise5.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a \ No newline at end of file diff --git a/FizzyLauncher.UI/Resources/20/close.png b/FizzyLauncher.UI/Resources/20/close.png deleted file mode 100644 index fb4f04994d1336446d00ab48de6c4ed7fae567eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 493 zcmVpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10eVS9 zK~y-6wbZ{#TtO7a@$VUCxTM=gL2CmMv@)Frl;hN7E8uu;5GY0D(iqc@F^*%5V`EHP zL@t3c*Oa~Gf6ZAvkFTEzvG|wrU%*><{DPVy-us<;c_ZHYL*QTm;Q+qbq9{I>WeJZT j?P^2lMpcid)9IJL?gE7Bh00CK00000NkvXXu0mjf`nl2y diff --git a/FizzyLauncher.UI/Resources/20/close2.png b/FizzyLauncher.UI/Resources/20/close2.png deleted file mode 100644 index e2a3277eb704cf045e723e630d439ff52ac52c2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 525 zcmV+o0`mQdP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10h&of zK~y-6wUj+eTtO6upL2J1Ho^vS%?Fq+5Fra%Mbc_y+|z&rEsp5dGk<~B=VaBEqWx4;nj zbSkjX9z0(%8SFz&&_4|+EQam7YO-Vm==jBIw3~+(&Njz2U`JKn1!QgJg#olbPkqnI zhe2M5PuC7KKI6`Oa~l|Naq_BDtF{2jGxZ0?7B_)km#b6H`vQWLK%W|0Y?No}5rDD9 z1~3A$*LOmvh1VuX8mNpGtldFUhf+~EvW_>td)_zfti3pMX)#jKLqUf{rJ}+Q>tyn5 zee!4Dz+RFR)E4A_XS~4j+}3>)Bn?riC~_?5A;RM%bN$1#718`zW^0iMF& zFDNf0T=+JTl_wI;H$N#XUPn4bRtmqLO>Yl~vA`qXc23rbh^}7_o`3uUQ*D#9U#2e9 P00000NkvXXu0mjfP>|iu diff --git a/FizzyLauncher.UI/Resources/20/close3.png b/FizzyLauncher.UI/Resources/20/close3.png deleted file mode 100644 index 14e88b03b02d8e779388fcbc6250b4525aa663bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 514 zcmV+d0{#7oP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10gp*U zK~y-6wUjYSBS93$e{VA;9$1K?Bznz(f&s0x(kytS@&r4J!{lRVrxrH)Eriv|%0j!y zanUrAF5rPz9Ne7=IS3-cY24js;ieEAA&dU2H@ul2|CxF3$>qXAs`qwaOP~N`h^M-O zchhRGn+UcV6Vy>gV6A^Jr6zKQh|Gbx-{dHI76i!vO=n!2qE(~C_ynhyjBTih1 zO>Yh~w!|N|PzL>A0_RJ*;xz#pv&CUQ5gvp5|5)C0y8?oyfN9?eOO4rL9>90P5-1Jx+^qO8CCQk_NhIAb^Q4xREYz&bpQptz8$+}B(u zl;7^kj=x9&F|0oTQYz0r5p_y7O^07*qoM6N<$ Eg4B)T#Q*>R diff --git a/FizzyLauncher.UI/Resources/20/empty.png b/FizzyLauncher.UI/Resources/20/empty.png deleted file mode 100644 index 8b7e3775c1dc3c6fead96b853278e50b5c933382..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VXMsm#F#`kNVGw3Kp1&dmC@5Lt z8c`CQpH@mmtT}V`<;yxP|JJEBmmtT}V`<;yxP|-S17sn8b-nUoQ3Na>%9Q*jc z^6d|fL*9#aa;B>4IX&d7QJEzuvdS>;fNh8Nj~!F)Zc282%Mlk?>2CCUiTdAXmQOhz zC!d`4$!jX(g#-GX2NYK??LLrb?EhkN+o3yYrM!2Hc%<%a-#fcM%{_2MTlXp+-giFn zJPNl<*RM0{)&HbxIiuO~hkXLmd+{gTH(suMoTXDHlq>RVf5h?=yFTQ6KQGGJ<-on7 iDr#fLJNd08KbbZiGWe%gqQ?z%IfJLGpUXO@geCwRFmsCl diff --git a/FizzyLauncher.UI/Resources/20/empty3.png b/FizzyLauncher.UI/Resources/20/empty3.png deleted file mode 100644 index b98cb4679659560f0cac86ed7953481efaac2e6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VXMsm#F#`kNVGw3Kp1&dmC@5Lt z8c`CQpH@mmtT}V`<;yxP|-?H7sn8b-nUn5`I-U*SRP0^ zF}1cHk>{HA17mT>+`5`(~d zGxlg@_wE{R_Ob-_fBX^5^Tn6Au6t>at9?Flqf)@XBw1GP?-z}Y_j4x5=Pr@;+_Y=v b^FO>LLAuukpU?0CI-0@L)z4*}Q$iB}(j8>a diff --git a/FizzyLauncher.UI/Resources/20/maximise.png b/FizzyLauncher.UI/Resources/20/maximise.png deleted file mode 100644 index b2e90e26a7d406a0d4eabc84adc203dbfb0976c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 303 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VXMsm#F#`kNVGw3Kp1&dmC@5Lt z8c`CQpH@mmtT}V`<;yxP|+Sw7sn8b-nUl_`I-zwj(x1> ztpCUfoi z17Z=0)1@?KEwkLgyls2Su{8}xzSlnHJ8N*PrE;Eq&K8ZXL+f69ExmG1vLwf_!Nm9d zVZ(x)iRFdM+mwo!ugSlg7C9|9u6=)|#n(^UXYPH-r1xNdgXtIT6JmlBKi&`ba#`nK wzopr08Ti0A^-pY diff --git a/FizzyLauncher.UI/Resources/20/maximise2.png b/FizzyLauncher.UI/Resources/20/maximise2.png deleted file mode 100644 index 4c4c81322dd5db22b147d20daf215c7512e2280c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 320 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VXMsm#F#`kNVGw3Kp1&dmC@5Lt z8c`CQpH@mmtT}V`<;yxP|;aW7sn8b-sF@McaQ0vICAmN ze|u*hX69xU=E?__%FKr!eRs;wid@h(byB7PkH^3C1P$RD{Xg?rUm3Bfwf(>LUd>Wo z`MAl!IkngR&y?u<^Z&fW=_3qZ)poWS8WlINaNJn1_eQ zjOB~mPlJ;u#bPJe=^aTk-q`R;PsX(1%7KGP4~p5?JOo|VDK`E5o%r*gmmtT}V`<;yxP|*ob7sn8b-sC-RU!FYo(RIbl ziH(YFjg5|z8f`xOv1dN~$p3xa)lCk(+NzfoBqpS!Bxnc=r2Rk7R4U1=th{*ZmxZdw zPZ+*knY-m{JzJad|NsB{Q0D>j_`nFuDUWOC1IrI)R`F`lkJ(I}R_TTKs zRwKEImV1tf#ZIx)JCbI+vEh}TjA_A@0|%2H6tl5;2)e9OJfEYK`17CSMPdQ#T9KW7DJdy2e;(dFU&SE1)pYhGw{2-aKQVZ^`njxg HN@xNA395RE diff --git a/FizzyLauncher.UI/Resources/20/minimise.png b/FizzyLauncher.UI/Resources/20/minimise.png deleted file mode 100644 index 338d63d626d24e70594dded82add989870559a14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 304 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VXMsm#F#`kNVGw3Kp1&dmC@5Lt z8c`CQpH@mmtT}V`<;yxP|;pb7sn8b-nUl_`I;OAS|8SP za_X*)VcpxgO<2n7<&{Hj`3?)7Xe@GX6uOlg!M(sx;;dUQ>-t+ho9_FiO%5!Ssg8QB zyn#*Z#!|MfWtnB~8gg|P8geUqti8X(Ib9<8kj?pgvnUbQ#OtL?gR&m;SZ$MVn6>Qs zLkWv*CpMpX!1Is!g`cSF6DFPbJGz^7qHV?MFF(9;`u#KQ`9aS6n{osNC7;J?3R*Is xWS_-sv2)(@w_C4W(7$y+XjPA)>+Nmr)@gFqswU;_>_Cq&c)I$ztaD0e0sx8%a=rin diff --git a/FizzyLauncher.UI/Resources/20/minimise2.png b/FizzyLauncher.UI/Resources/20/minimise2.png deleted file mode 100644 index f7b44a87ee33d42643dc5157bde62eab87b4d3e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 320 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VXMsm#F#`kNVGw3Kp1&dmC@5Lt z8c`CQpH@mmtT}V`<;yxP|;aW7sn8b-sF@McaQ0vICAmN ze|u*hX69xU=E?__%FKr!eRs;wid@h(byB7PkH^3C1P$RD{Xg?rUm3Bfwf(>LUd>Wo z`MAl!IkngR&y?u<^Z&fW=_3qZ)poWS8WfB&q z{q#*XEg@lp;)3rd+CBZYy=eMUsAx93lhvei%5xr`2}&I?&Mcq5A3pS3a&f}Fedqr3 z@T6WTxLeP5jPIFz+QW8B$;cZL5)vYk5)u_BOmmtT}V`<;yxP|*ob7sn8b-sC-RU!FYo(RIbl ziH(YFjg5|z8f`xOv1dN~$p3xa)lCk(+NzfoBqpS!Bxnc=r2Rk7R4U1=th{*ZmxZdw zPZ+*knY-m{JzJad|NsB{Q0D>j_`nFuDUWOC1IrI#&9;|3=KIkBp)8wC% z%x7%yXZykRQ$Kc`d8oSW#iB2Tie|GrSxq{pJm=w=pwtoLJnyEbP0 Hl+XkKb}f82 diff --git a/FizzyLauncher.UI/Resources/titlebar_blank.png b/FizzyLauncher.UI/Resources/titlebar_blank.png new file mode 100644 index 0000000000000000000000000000000000000000..1f31a9989a0337f799e1ae3bb94b3b9aa85fd8d4 GIT binary patch literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5he4R}c>anMprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt(;CE{-7BNQ3LP@wVF};% zNz96?zkPm-UT>wi=BHUpKDK{2Au>bq(#$J6>%Om>pmMCjaI@qNMz46UwWY?Jm+d|2H`L^Q7Xsl0ytF0xUCPX5YR2XSVo)cMLmDYg(|zJ2JL0zhMwryERYA ys7>HO@w~ksIM!sPowPLXK5<0;JKJlM$wmX+#o+1c=d#Wzp$Pzav|R}R literal 0 HcmV?d00001 diff --git a/FizzyLauncher.UI/Resources/titlebar_blank2.png b/FizzyLauncher.UI/Resources/titlebar_blank2.png new file mode 100644 index 0000000000000000000000000000000000000000..a04ab4daabc3ee9eb5e1210ef61f643990fbf5ee GIT binary patch literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5he4R}c>anMprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt&ThT^vI!df!e~6gp%e;2J;4 z)#!5cg9$PX)*|7;H9NWIb;+sh+RHmHSA6n0gB3@<|NcJjX6bQvE7oKNy@mj@qlWss z+)jRwl#tEf%vF%sF7U^@sIta>{r5vw48HSaE>t>ro!(#kf$_-orvJBDcP9w1IJi*k zOb=I|anMprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt&TgT^vI!df!f7D0;|2fc3e& zw`7KlQQLH*Ca*Jr;(`l>LoT_mXsX`M(ZNvqQPTeN*>&@te|uqFwScL|NXTHK^Op5B zMJ62ns@s%>>l}ZkIXumZ_0SBPt9z4}N#I)PiKv1N07Zrz-e z11%ZPcEz6C>?6i|F5`&+=T7&MDf>2iSS;2)ZqENkhs`;?YX;D544$rjF6*2UngBay BUXK6( literal 0 HcmV?d00001 diff --git a/FizzyLauncher.UI/Resources/titlebar_blank4.png b/FizzyLauncher.UI/Resources/titlebar_blank4.png new file mode 100644 index 0000000000000000000000000000000000000000..af1f6005bc3b2aca3159f9f12559afa7578b72ab GIT binary patch literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5he4R}c>anMprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt&ThT^vI!df#5Q&SMG`V7++x zu=736l$JDAftf7txjW+@)hak1E0Qq0pmJkV$Gs7Hd^(*8bR2`HtDnm{r-UW| DlaObQ literal 0 HcmV?d00001 diff --git a/FizzyLauncher.UI/Resources/titlebar_blank5.png b/FizzyLauncher.UI/Resources/titlebar_blank5.png new file mode 100644 index 0000000000000000000000000000000000000000..32fc5d27fac5313c92c774b25f2ac016d891f7b9 GIT binary patch literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5he4R}c>anMprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt+>0T^vI!df!e~6lw}!aJgS+ zpT1F2a~`uaYr4mo3aQD;jjIzHjDM!;iuley_wD<(H?OYk>3jJgZUu`{rRRa1J4ZzA zBzc82+qZQdn%*!kaD|D~yZ+Cnn`Il;$)>L6b2yXx&$oivFo*rW$?gR4HBBtu8)aj; z6kHRIt=d(VGB;f=C$vdZ%G}8|jQ8B0&65&>ewf6s6gRLGxTO0U=sE^ZS3j3^P6pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10Xj)U zK~y-6m6Ksg12GVVzuBzlEi5AVPqstrP1b)>iQug)*3&43BnPlkPa$YG;}4@qyV&*p z%X^ub_l86!lgU}mc@A6vHN&tmv!|T1uS@Yc@BnNEHmF79(m8imm&p$ygqwlI0H~?} zS5>h+bnnDxE<^?Xqsl!b=|Y7&Wm2D>b&c^=cZ{!+xK_2o>F>M z)dg@p9*@6W%z*op((B#^fQ1mes=kZJEr6LVVvIL{?Tt_%W_I{<5IJhwR{AdXIS^I7 z17>EnC=F(-)#?rK+b;T+cudJ0WArgb58MN@qWv8qrL=a=orVxRkbxXR@Xoo@l+t=g z1eVL?%NAul+>e6|aL_02!2z(T&Fo1;T2+Ow=Q*^v1s?01v#+XZE+SX_<2wV7IcNU~ XhR}V(^jRxG00000NkvXXu0mjfrop_S literal 0 HcmV?d00001 diff --git a/FizzyLauncher.UI/Resources/titlebar_close2.png b/FizzyLauncher.UI/Resources/titlebar_close2.png new file mode 100644 index 0000000000000000000000000000000000000000..f497ea768b78b7b6eb4373753494b78dbd005dbe GIT binary patch literal 478 zcmV<40U`d0P)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10c%M_ zK~y-6m6O3P15p%)zjNmb8|lT)hBOk1g{75+;uY96Bh$UMZ$Lai%TiKN&%uze-~sHU z>IJx6S(whTFcNga_>;T1=luUU|G7C=ChPHHpqv0JfTb7`gu7vqMm7^K17`wB5w(Iv z*$x8Jv03Lcf3#jJ*c|}38w*f1fGyhjD+JyEYx0t%=6M-ZzL=Je*eFIG%{4CP8R~

A<%u{ZjLMVbI!mgbfAoXjE!m91L2U{Q@Jvptafi z9uXb1=;d(@kSL7hC4WPvNi4!0%9h)WKi9LUcni3-!z7IYYfezA`k(I%w<$sN4i+DT U^sBg}XaE2J07*qoM6N<$g1ltVNB{r; literal 0 HcmV?d00001 diff --git a/FizzyLauncher.UI/Resources/titlebar_close3.png b/FizzyLauncher.UI/Resources/titlebar_close3.png new file mode 100644 index 0000000000000000000000000000000000000000..9813d70e8aa0c3b08e2d73560ac4083588392779 GIT binary patch literal 473 zcmV;~0Ve*5P)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10cJ@= zK~y-6jgw1G0znvrzrPtDN5G&$2*jOBH}bj!E_j5=ka!Lf&mkEwdJZ5g@BpqP>KG;v zFJPjR`CR}JfymUZyQ}K2>U4{LSv%7hZQug1h=u@oBs7k-5T7g36*P#VR>TtY3JGs5 z;6jn^$>6RTaXJ8#d`%GQ2C$+|{sZ9~u*|kIFIPz`$ZurC%T?0bxElu3lAVefGxm$s zw$d_6%lO4=J7&yyTC!8?{Eb_W_gv2}Ry(NJeqk)2pwd9pjrUw{r-6WK|K9Nn^)Jxt zc@ym<`q}2(ZAXPUS^|2oLOZ1VB-@x92^7RHKHs9!0PQRiH2jbKPX%W^#YTcz$xbdi zCk9z3F~~TGx~Mc}B|Et@!BNkB^KzBU>G0uoIZgXG@43p&@xXoCX#kKMKD?~11(dbD z)d~U1-nPSkG1mkZ@Q6^JpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10Y*tg zK~y-6jgn7J!cY*#e^aZ#DI`cVap6)=f&tNBO5!;np2Nl}Pl)$0ft?3Hgj3KyE91gi z6e{%F&71Gf%;ZV<$dL#>a0&$3uF%Usj@uD79gq!3!*c;OpLAR~|Ko=3Akk$)|94~LO zaRODu8t#A=N|3~~tYxl>w>rg|K{#OFNp{|Q`~DlYiUO^0Ko^*9G$=KghK6e4g7=>^ zRlMkl+fw7NIMV>2*knR;Stmx5EUp8@;;@_5+=N6Ey9y&wYLQ95XFjn~Q)MV&z#%*M j0%!lNlz~{4Ar9UbWG8$xXqI)700000NkvXXu0mjfnGm@z literal 0 HcmV?d00001 diff --git a/FizzyLauncher.UI/Resources/titlebar_close5.png b/FizzyLauncher.UI/Resources/titlebar_close5.png new file mode 100644 index 0000000000000000000000000000000000000000..dc57050a810219d71ce2ab91ac77a8f7300e7dfb GIT binary patch literal 478 zcmV<40U`d0P)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10c%M_ zK~y-6jg!wV17Q@!e`k!aw5bIWA`&}GA;V*^laa3>ZAkPHBwnBk(niyX+Iozds0Xl< zV!@^lU}4&8;cv}g&hq{{=iKjpI&hbZ$%sWl%YaWlB*3*{&VO%SGITDHx=fU(%wBBNAq?T4GUCkx^{_WmQ z+$v045uo=NH-*AV>1w`OU%mfxK()T|u(uPp1lzr*SPVcSG&rl)R~}ME(xPN1jlh|7 zDkGE#&1e;-gCfXs41mK!q=Ainj)d`>n+s*tW*m;G_ZT-nnDIamPEJfcgSnq7QVJ@i z&a8OzT$l-5VJdJ2XM(U&>dgMDpjuzOFT3_aEn2(#Vl!8Emq*8q;TQPD0@R}Q?r=m_ zi|A(6dO!k$(X8a(7>ojm4_sr~*xzmQexCW7O&fxaZanMprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt;PfT^vI!df!eq%wsYXaJ~P1 z)?x*x$w^yI`7T&|Gp1eJ;b7*1i0z$I7H^ofFoF9>Q;O2k)B5gp@2gd!b8qY2spYR> zn7NBbu(0U6UjGN{0){p($7x&gW~EI({>)kP>1H9e17}!rE>*m}_3ZYXMw^>A&+Kd1 zu706hGquus28YU9rKEoy)4mkj&*u2G@4j7T{fsZC9@Za}=VD9v#$Cq7W2xjfDJ+fc w`twNc^$p2o-}RPmnZD&=>w6xVyL)#td|GdD>Koe&PyjG^y85}Sb4q9e07ry-@Bjb+ literal 0 HcmV?d00001 diff --git a/FizzyLauncher.UI/Resources/titlebar_maximise2.png b/FizzyLauncher.UI/Resources/titlebar_maximise2.png new file mode 100644 index 0000000000000000000000000000000000000000..6f9820192a29c8ff7c9f6ebfa35826c1849fe7a2 GIT binary patch literal 307 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5he4R}c>anMprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt%^UT^vI!df!go$a~0v$8~=3 zGM5c3Oj2HK9L5gr!oN0fgjNNmOt_N5G$Dd1t8a#y2S-zh=8GRopMKw8Yvo-Z-8Xk4 zbFl;GWcL;C_W5mTOm|Rx;GDsHG{RE+?N(1cy~sVBKI{oIrZKHic5t2?uUf$TCHc8y zlpL#CyqkUO=89iY*_9@@xs9^SH+-&sd-%aD-Lm-Sd4X4!{>=a2%$$GWHJ4dWcnepu zrO)Z--+5Z6A8>rX&u@;K<*{44<`~Ol#e8D;m1$N!!J$7H=obc0S3j3^P6anMprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt%^VT^vI!df!go$a~0v$8~;x zGS>nZ2WQXbLt+cPW^Lfpo}gslsWpQ^<(2{Ka${BnM$aXS7d)Om?f(C5DW_BC^=xtG zJHy~TL#E)s>@#)`Rw}hF&}#`h!nMog&oL%r*DlAMv8>CO16(^5mauJDcrssTUBlY9 zF}jzOU+ieL`g;29ldVC<0ws$La`>)(PG6gLLA(6*wT;p#`!fGY|G98rVaa~A_dS~r zFeZcDotbW?O8{3U{~z^bCWitDnm{r-UW| DOaXf3 literal 0 HcmV?d00001 diff --git a/FizzyLauncher.UI/Resources/titlebar_maximise4.png b/FizzyLauncher.UI/Resources/titlebar_maximise4.png new file mode 100644 index 0000000000000000000000000000000000000000..613d94de170693842481f56d0c054334cee2b7f6 GIT binary patch literal 303 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5he4R}c>anMprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt+2zT^vI!df#5Q^dxY=wiRiOtjYJw5Pw56_t+uPzq0 zaGneN;yqcXR>Ix(Ym4z2W7FCf9IVr4&O5#AXQDyT<;}8Jj0I!DHEL&XpPc<(W9{76 zE5+xO6s&Kac=@fP_k@S%ZawU;c>4DD3RR08MYk{Bd-x~yA8Wlz#-dI8wRa@Wnxv!5 z`}*ef%5Tk=4K6E%eeZiSlSRC&^7)nk$$BOy4s%vf#v40;{$TKQ^>bP0l+XkKdt8DJ literal 0 HcmV?d00001 diff --git a/FizzyLauncher.UI/Resources/titlebar_maximise5.png b/FizzyLauncher.UI/Resources/titlebar_maximise5.png new file mode 100644 index 0000000000000000000000000000000000000000..f655957158adbe7f38aedf8180438acd468fbe0e GIT binary patch literal 311 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5he4R}c>anMprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt)G9T^vI!df!eq%sUhy;Bx;@ zO<&U_6V1B^Og-EmYlKWI67*W3qp^capS;s$s_Lnso&X zN$JmC6@Ta56SJ^R?CX!O^$YVewU;F7=e^hWmTh*mofq%1 zu!Lhv#N@1PPfO-iZZH)zxwu0lD%tno%=c?lGDPZ5+ppYib@|4-gRg=9VeoYIb6Mw< G&;$V4Sb*&S literal 0 HcmV?d00001 diff --git a/FizzyLauncher.UI/Resources/titlebar_minimise.png b/FizzyLauncher.UI/Resources/titlebar_minimise.png new file mode 100644 index 0000000000000000000000000000000000000000..19c19ae3e6e688838e7a849d3dac930fe63416a0 GIT binary patch literal 303 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5he4R}c>anMprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt+2zT^vI!df!go$a~0v$92B` zaSe_P4L!lxEqcBYjfN48A~V^#VtS8gxR|*HH8@;s)TrG0e{*-fW>?a}RlFM*Z8E>4 zm4#is)&J1+0#ogx1KlUgPH$Q)Z@%5|SZtC+gFq9*RO$16cmJH={qU~)fpGmneir?+ zr$5)^r+qFztW@-N*E<7EgUzxVYSaxja~tS(7_M8^Uw6!KOTjnKj1;yn_s*PC3ThKb vSdpH!gT*f{H2ZmsvXZF$9^-anMprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt%^UT^vI!df!eqU2UF7b6KbEkJeb(x8_V9IB+z+bO_?yK*T%v}FzpLy8< ziGW8!0)5{D)S?b5C+G_#WiTI|QT={fl<9l@n<anMprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt+cB&w37Q9}#x6H7)m8iu+@rNn|K0a}e7j1ep2@D>$i&v5 zuFH5sIQHTCg8LVuB0LuIRwfFIOqY|8h}wSYtjNwCrP8LI&HlT2+G*hI`zzo-X^I_)N6t>Qo^y{2b!W*BBI~e9(wphaArdI literal 0 HcmV?d00001 diff --git a/FizzyLauncher.UI/Resources/titlebar_minimise4.png b/FizzyLauncher.UI/Resources/titlebar_minimise4.png new file mode 100644 index 0000000000000000000000000000000000000000..fb55d84fda7bd161b3b402526400942bf9d39427 GIT binary patch literal 304 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5he4R}c>anMprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt+2!T^vI!df#5&?aQ1f;QBCs zn*2<+3e}c?PEUi*yG*G8&8l*Bm9GnxMdqYeX}x}S`{I!`>DC$9f-zwlwX^Nj!{Y*1EqrkO z5BEQZ4TY7yZ%>{2$6u;nExv9$m(tmm#rdo+XU4NE?tHvanMprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt;zqT^vI!df!eq%sb>D;ClbQ zj=Q6$l-H~R-WM4?PN|)3$pMp2H8rii(Yn)diHxdrUDpK`gDCCXI@|YuHPg0e%{u<& z!QKlJ9Zysl-5)E>dpPl;qteq0W`PxA7xcJ#d-?LOo>tl{+fWpF`kD=c;r5^9htvg} z>pwVs*8j2l!K+WFuBY{y?6J(P&slx)**b=Z1p88veazokZ)bhFv-RCt7KMYE7ubKD z%w$-?A+vGW(@oE6=2dPm72R@ihrq4mvj=CsU!#&Cy00tW^{>r=O%D^l0DZ*Z>FVdQ I&MBb@0ANFd2><{9 literal 0 HcmV?d00001 diff --git a/FizzyLauncher.UI/RyzStudio/Windows/Forms/TForm.cs b/FizzyLauncher.UI/RyzStudio/Windows/Forms/TForm.cs index 4e22e8e..48a2803 100644 --- a/FizzyLauncher.UI/RyzStudio/Windows/Forms/TForm.cs +++ b/FizzyLauncher.UI/RyzStudio/Windows/Forms/TForm.cs @@ -1,54 +1,50 @@ -using RyzStudio.Windows.Forms; -using System; +using System; using System.ComponentModel; using System.Drawing; using System.Windows.Forms; -using Resources = AppLauncher.Properties.Resources20; +using Resources = AppLauncher.Properties.Resources; -namespace AppLauncher.Windows.Forms +namespace RyzStudio.Windows.Forms { public class TForm : Form { - protected readonly Color borderColour = Color.FromArgb(235, 234, 233); + protected readonly Color borderColour = Color.FromArgb(200, 200, 200); protected readonly int borderWidth = 1; - protected readonly int resizeBorderWidth = 3; + protected readonly int resizeBorderWidth = 4; - protected readonly Color backColour = Color.FromArgb(255, 255, 255); + protected readonly Color backColour = Color.FromArgb(250, 250, 250); protected readonly Color titleBackColour = Color.FromArgb(235, 234, 233); protected readonly Color titleBorderColour = Color.FromArgb(200, 198, 196); protected readonly Color titleColour = Color.FromArgb(102, 102, 102); - protected readonly int titleBarHeight = 54; + protected readonly int titleBarHeight = 33; + protected readonly bool showTitleBarLine = true; protected Font titleFont = null; protected int titleFontTop = 0; - protected readonly int titleBarIconSize = 20; - protected readonly int titleBarIconMargin = 8; + protected readonly Size titleBarIconSize = new Size(48, 32); + protected readonly int titleBarIconMargin = 0; + protected readonly int titleBarIconMarginRight = 0; + + protected Image appIcon = null; + protected const int appIconLeft = 12; + protected const int appIconRight = 6; + protected int appIconTop = 0; protected bool isDragging = false; protected Point startPosition = new Point(); protected Point startWindowSize = new Point(); + protected bool enableMinimise { get; set; } = true; + protected bool enableMaximise { get; set; } = true; + protected bool enableClose { get; set; } = true; + protected bool closeOnMinimise { get; set; } = false; + protected bool isBusy = false; - protected Image appIcon = null; - protected int appIconTop = 0; - - protected bool isMinimiseEnabled = true; - protected bool isMaximiseEnabled = true; - protected bool closeOnMinimise = false; - protected bool enableMinimiseMenu = true; - protected bool enableMaximiseMenu = true; - protected bool enableCloseMenu = true; - - protected MouseEventHandler minimiseMenuEvent = null; - protected MouseEventHandler maximiseMenuEvent = null; - protected MouseEventHandler closeMenuEvent = null; - private IContainer components; - public TForm() : base() { InitializeComponent(); @@ -130,14 +126,15 @@ namespace AppLauncher.Windows.Forms area.Inflate((-1 * borderWidth), (-1 * borderWidth)); g.FillRectangle(new SolidBrush(titleBackColour), area.X, area.Y, (area.Width + area.X), titleBarHeight); - g.DrawLine(new Pen(titleBorderColour, 1), area.X, (titleBarHeight + 1), (area.Width + area.X), (titleBarHeight + 1)); + + if (showTitleBarLine) g.DrawLine(new Pen(titleBorderColour, 1), area.X, titleBarHeight, (area.Width + area.X), titleBarHeight); if (!DesignMode) { - //g.DrawImageUnscaled(appIcon, 17, appIconTop); - g.DrawImage(appIcon, 17, appIconTop, appIcon.Width, appIcon.Height); + if (appIcon != null) g.DrawImageUnscaled(appIcon, appIconLeft, appIconTop); - TextRenderer.DrawText(g, this.Text, titleFont, new Point(58, titleFontTop), titleColour); + int iconPosX = borderWidth + appIconLeft + appIconRight + ((appIcon == null) ? 0 : appIcon.Width); + TextRenderer.DrawText(g, this.Text, titleFont, new Point(iconPosX, titleFontTop), titleColour); } } @@ -149,7 +146,7 @@ namespace AppLauncher.Windows.Forms } [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override Color BackColor { get => base.BackColor; set => base.BackColor = value; } + public override Color BackColor { get => base.BackColor; set => base.BackColor = backColour; } [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] public new FormBorderStyle FormBorderStyle { get => base.FormBorderStyle; set => base.FormBorderStyle = value; } @@ -190,7 +187,7 @@ namespace AppLauncher.Windows.Forms // AForm // this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; - this.Name = "Form"; + this.Name = "AForm"; this.ResumeLayout(false); } @@ -235,129 +232,91 @@ namespace AppLauncher.Windows.Forms // close TImageBox closeBox = generateToolbarImageBox(); - if (enableCloseMenu) + closeBox.Image = closeBox.ImageNormal = (enableClose) ? Resources.titlebar_close : Resources.titlebar_blank; + closeBox.ImageHover = (enableClose) ? Resources.titlebar_close3 : Resources.titlebar_blank; + closeBox.ImageSelected = Resources.titlebar_close3; + closeBox.MouseClick += delegate (object sender, MouseEventArgs e) { - closeBox.Image = closeBox.ImageNormal = Resources.close; - closeBox.ImageHover = Resources.close3; - //closeBox.ImageSelected = null; - closeBox.MouseClick += delegate (object sender, MouseEventArgs e) + if (e.Button == MouseButtons.Left) { - if (e.Button != MouseButtons.Left) return; - - if (closeMenuEvent != null) + if (enableClose) { - closeMenuEvent(sender, e); - return; + this.Close(); } - - this.Close(); - }; - } - else - { - closeBox.Image = closeBox.ImageNormal = closeBox.ImageHover = closeBox.ImageSelected = Resources.close; - } - - closeBox.Left = this.DisplayRectangle.Width - closeBox.Width - 17; + } + }; + closeBox.Left = this.DisplayRectangle.Width - closeBox.Width - (titleBarIconMarginRight + borderWidth); this.Controls.Add(closeBox); // maximise TImageBox maximiseBox = generateToolbarImageBox(); - if (enableMaximiseMenu) + maximiseBox.Image = maximiseBox.ImageNormal = (enableMaximise) ? Resources.titlebar_maximise : Resources.titlebar_blank; + maximiseBox.ImageHover = (enableMaximise) ? Resources.titlebar_maximise5 : Resources.titlebar_blank; + maximiseBox.ImageSelected = Resources.titlebar_maximise3; + maximiseBox.MouseClick += delegate (object sender, MouseEventArgs e) { - maximiseBox.Image = maximiseBox.ImageNormal = (isMaximiseEnabled) ? Resources.maximise : Resources.empty; - maximiseBox.ImageHover = (isMaximiseEnabled) ? Resources.maximise2 : Resources.empty; - maximiseBox.ImageSelected = Resources.maximise3; - maximiseBox.MouseClick += delegate (object sender, MouseEventArgs e) + if (!(sender is TImageBox)) return; + + TImageBox imageBox2 = (sender as TImageBox); + + if (imageBox2 == null) return; + + if (e.Button == MouseButtons.Left) { - if (!(sender is TImageBox)) return; - - TImageBox imageBox2 = (sender as TImageBox); - - if (imageBox2 == null) return; - - if (maximiseMenuEvent != null) + if (enableMaximise) { - maximiseMenuEvent(sender, e); - return; - } - - if (e.Button == MouseButtons.Left) - { - if (isMaximiseEnabled) + if (this.WindowState == FormWindowState.Maximized) { - if (this.WindowState == FormWindowState.Maximized) - { - this.WindowState = FormWindowState.Normal; - imageBox2.Image = imageBox2.ImageNormal = Resources.maximise; - } - else - { - this.WindowState = FormWindowState.Maximized; - imageBox2.Image = imageBox2.ImageNormal = Resources.maximise2; - } - } - } - else if (e.Button == MouseButtons.Right) - { - this.TopMost = !this.TopMost; - - if (this.TopMost) - { - imageBox2.Image = imageBox2.ImageNormal = Resources.maximise3; - imageBox2.ImageHover = (isMaximiseEnabled) ? Resources.maximise2 : Resources.maximise3; + this.WindowState = FormWindowState.Normal; + imageBox2.Image = imageBox2.ImageNormal = Resources.titlebar_maximise; } else { - imageBox2.Image = imageBox2.ImageNormal = (isMaximiseEnabled) ? Resources.maximise : Resources.empty; - imageBox2.ImageHover = (isMaximiseEnabled) ? Resources.maximise2 : Resources.empty; + this.WindowState = FormWindowState.Maximized; + imageBox2.Image = imageBox2.ImageNormal = Resources.titlebar_maximise5; } } - }; - } - else - { - maximiseBox.Image = maximiseBox.ImageNormal = maximiseBox.ImageHover = maximiseBox.ImageSelected = Resources.maximise; - } + } + else if (e.Button == MouseButtons.Right) + { + this.TopMost = !this.TopMost; + if (this.TopMost) + { + imageBox2.Image = imageBox2.ImageNormal = Resources.titlebar_maximise3; + imageBox2.ImageHover = (enableMaximise) ? Resources.titlebar_maximise5 : Resources.titlebar_maximise3; + } + else + { + imageBox2.Image = imageBox2.ImageNormal = (enableMaximise) ? Resources.titlebar_maximise : Resources.titlebar_blank; + imageBox2.ImageHover = (enableMaximise) ? Resources.titlebar_maximise5 : Resources.titlebar_blank; + } + } + }; maximiseBox.Left = closeBox.Left - maximiseBox.Width - titleBarIconMargin; this.Controls.Add(maximiseBox); // minimise TImageBox minimiseBox = generateToolbarImageBox(); - if (enableMinimiseMenu) + minimiseBox.Image = minimiseBox.ImageNormal = (enableMinimise) ? Resources.titlebar_minimise : Resources.titlebar_blank; + minimiseBox.ImageHover = (enableMinimise) ? Resources.titlebar_minimise5 : Resources.titlebar_blank; + //minimiseBox.ImageSelected = null; + minimiseBox.MouseClick += delegate (object sender, MouseEventArgs e) { - minimiseBox.Image = minimiseBox.ImageNormal = (isMinimiseEnabled) ? Resources.minimise : Resources.empty; - minimiseBox.ImageHover = (isMinimiseEnabled) ? Resources.minimise2 : Resources.empty; - //minimiseBox.ImageSelected = null; - minimiseBox.MouseClick += delegate (object sender, MouseEventArgs e) + if (!enableMinimise) return; + if (e.Button != MouseButtons.Left) return; + + if (closeOnMinimise) { - if (!isMinimiseEnabled) return; - if (e.Button != MouseButtons.Left) return; - - if (minimiseMenuEvent != null) - { - minimiseMenuEvent(sender, e); - return; - } - - if (closeOnMinimise) - { - this.Close(); - } - else - { - this.WindowState = FormWindowState.Minimized; - } - }; - } - else - { - minimiseBox.Image = minimiseBox.ImageNormal = minimiseBox.ImageHover = minimiseBox.ImageSelected = Resources.minimise; - } - + this.Close(); + } + else + { + this.WindowState = FormWindowState.Minimized; + } + }; minimiseBox.Left = maximiseBox.Left - minimiseBox.Width - titleBarIconMargin; this.Controls.Add(minimiseBox); @@ -436,8 +395,9 @@ namespace AppLauncher.Windows.Forms protected TImageBox generateToolbarImageBox() { TImageBox imageBox = new TImageBox(); - imageBox.BackColor = Color.Transparent; - imageBox.BackgroundImageLayout = ImageLayout.Center; + //imageBox.BackColor = Color.Transparent; + imageBox.BackColorHover = imageBox.BackColorSelected = Color.FromArgb(220, 220, 220); + imageBox.BackgroundImageLayout = ImageLayout.Center; imageBox.ErrorImage = null; //imageBox.Image = Resources.close; //imageBox.ImageHover = Resources.close2; @@ -445,12 +405,13 @@ namespace AppLauncher.Windows.Forms imageBox.ImageSelected = null; imageBox.IsSelected = false; //closeBox.Location = new System.Drawing.Point(169, 12); - imageBox.Size = new System.Drawing.Size(titleBarIconSize, titleBarIconSize); + imageBox.Size = titleBarIconSize; imageBox.SizeMode = PictureBoxSizeMode.CenterImage; //imageBox.MouseClick += new MouseEventHandler(closeBox_MouseClick); //imageBox.Left = this.DisplayRectangle.Width - imageBox.Width - 17; - imageBox.Top = (int)Math.Floor((decimal)(titleBarHeight - titleBarIconSize) / 2); + imageBox.Top = (int)Math.Floor((decimal) (titleBarHeight - titleBarIconSize.Height) / 2) + borderWidth; imageBox.Anchor = (AnchorStyles.Top | AnchorStyles.Right); + imageBox.Padding = new Padding(0); return imageBox; } diff --git a/FizzyLauncher.UI/RyzStudio/Windows/Forms/TImageBox.cs b/FizzyLauncher.UI/RyzStudio/Windows/Forms/TImageBox.cs index 6a720e2..09f7bbe 100644 --- a/FizzyLauncher.UI/RyzStudio/Windows/Forms/TImageBox.cs +++ b/FizzyLauncher.UI/RyzStudio/Windows/Forms/TImageBox.cs @@ -21,9 +21,21 @@ namespace RyzStudio.Windows.Forms base.OnCreateControl(); } + [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] + public new Color BackColor { get => base.BackColor; set => base.BackColor = value; } + [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] public new Image Image { get => base.Image; set => base.Image = value; } + [Category("Appearance"), Browsable(true)] + public Color BackColorNormal { get; set; } = Color.Transparent; + + [Category("Appearance"), Browsable(true)] + public Color BackColorHover { get; set; } = Color.Transparent; + + [Category("Appearance"), Browsable(true)] + public Color BackColorSelected { get; set; } = Color.Transparent; + [Category("Appearance"), Browsable(true)] public Image ImageNormal { get; set; } @@ -33,11 +45,21 @@ namespace RyzStudio.Windows.Forms [Category("Appearance"), Browsable(true)] public Image ImageSelected { get; set; } + [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] + public Image NormalImage { get => this.ImageNormal; set => this.ImageNormal = value; } + + [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] + public Image HoverImage { get => this.ImageHover; set => this.ImageHover = value; } + + [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] + public Image SelectedImage { get => this.ImageSelected; set => this.ImageSelected = value; } + public bool IsSelected { get; set; } = false; protected override void OnMouseEnter(EventArgs e) { this.Image = this.ImageHover; + this.BackColor = this.BackColorHover; base.OnMouseEnter(e); } @@ -45,6 +67,7 @@ namespace RyzStudio.Windows.Forms protected override void OnMouseLeave(EventArgs e) { this.Image = (this.IsSelected ? this.ImageSelected : this.ImageNormal); + this.BackColor = (this.IsSelected ? this.BackColorSelected : this.BackColorNormal); base.OnMouseLeave(e); } @@ -52,6 +75,7 @@ namespace RyzStudio.Windows.Forms protected override void OnLostFocus(EventArgs e) { this.Image = (this.IsSelected ? this.ImageSelected : this.ImageNormal); + this.BackColor = (this.IsSelected ? this.BackColorSelected : this.BackColorNormal); base.OnLostFocus(e); } diff --git a/FizzyLauncher.csproj b/FizzyLauncher.csproj index 8d405c8..39bc8d3 100644 --- a/FizzyLauncher.csproj +++ b/FizzyLauncher.csproj @@ -152,14 +152,12 @@ - - - + diff --git a/MainForm.Designer.cs b/MainForm.Designer.cs index b7ff7d2..3b93a26 100644 --- a/MainForm.Designer.cs +++ b/MainForm.Designer.cs @@ -42,6 +42,7 @@ this.toolStripMenuItem10 = new System.Windows.Forms.ToolStripSeparator(); this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem12 = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem11 = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem9 = new System.Windows.Forms.ToolStripMenuItem(); @@ -56,7 +57,6 @@ this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components); this.contextMenuStrip2 = new System.Windows.Forms.ContextMenuStrip(this.components); this.exitToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem12 = new System.Windows.Forms.ToolStripMenuItem(); this.contextMenuStrip1.SuspendLayout(); this.contextMenuStrip2.SuspendLayout(); this.SuspendLayout(); @@ -69,7 +69,7 @@ this.toolStripMenuItem9, this.helpToolStripMenuItem}); this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(181, 114); + this.contextMenuStrip1.Size = new System.Drawing.Size(102, 92); this.contextMenuStrip1.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuStrip1_Opening); // // toolStripMenuItem4 @@ -85,7 +85,7 @@ this.toolStripMenuItem10, this.exitToolStripMenuItem}); this.toolStripMenuItem4.Name = "toolStripMenuItem4"; - this.toolStripMenuItem4.Size = new System.Drawing.Size(180, 22); + this.toolStripMenuItem4.Size = new System.Drawing.Size(101, 22); this.toolStripMenuItem4.Text = "&File"; // // toolStripMenuItem5 @@ -152,9 +152,16 @@ this.toolStripMenuItem11, this.toolStripMenuItem1}); this.toolStripMenuItem3.Name = "toolStripMenuItem3"; - this.toolStripMenuItem3.Size = new System.Drawing.Size(180, 22); + this.toolStripMenuItem3.Size = new System.Drawing.Size(101, 22); this.toolStripMenuItem3.Text = "&View"; // + // toolStripMenuItem12 + // + this.toolStripMenuItem12.Name = "toolStripMenuItem12"; + this.toolStripMenuItem12.Size = new System.Drawing.Size(222, 22); + this.toolStripMenuItem12.Text = "Enable &Big Icons (In Folders)"; + this.toolStripMenuItem12.Click += new System.EventHandler(this.toolStripMenuItem12_Click); + // // toolStripMenuItem11 // this.toolStripMenuItem11.Name = "toolStripMenuItem11"; @@ -174,7 +181,7 @@ this.toolStripMenuItem9.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.optionToolStripMenuItem}); this.toolStripMenuItem9.Name = "toolStripMenuItem9"; - this.toolStripMenuItem9.Size = new System.Drawing.Size(180, 22); + this.toolStripMenuItem9.Size = new System.Drawing.Size(101, 22); this.toolStripMenuItem9.Text = "&Tools"; // // optionToolStripMenuItem @@ -191,7 +198,7 @@ this.toolStripSeparator1, this.aboutToolStripMenuItem}); this.helpToolStripMenuItem.Name = "helpToolStripMenuItem"; - this.helpToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.helpToolStripMenuItem.Size = new System.Drawing.Size(101, 22); this.helpToolStripMenuItem.Text = "&Help"; // // viewHelpToolStripMenuItem @@ -221,10 +228,10 @@ this.flowLayoutPanel1.AutoScroll = true; this.flowLayoutPanel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; this.flowLayoutPanel1.FlowDirection = System.Windows.Forms.FlowDirection.TopDown; - this.flowLayoutPanel1.Location = new System.Drawing.Point(12, 58); + this.flowLayoutPanel1.Location = new System.Drawing.Point(12, 34); this.flowLayoutPanel1.Name = "flowLayoutPanel1"; - this.flowLayoutPanel1.Padding = new System.Windows.Forms.Padding(0, 0, 10, 0); - this.flowLayoutPanel1.Size = new System.Drawing.Size(620, 340); + this.flowLayoutPanel1.Padding = new System.Windows.Forms.Padding(0, 10, 10, 20); + this.flowLayoutPanel1.Size = new System.Drawing.Size(620, 364); this.flowLayoutPanel1.TabIndex = 27; this.flowLayoutPanel1.WrapContents = false; // @@ -260,18 +267,11 @@ this.exitToolStripMenuItem1.Text = "E&xit"; this.exitToolStripMenuItem1.Click += new System.EventHandler(this.exitToolStripMenuItem1_Click); // - // toolStripMenuItem12 - // - this.toolStripMenuItem12.Name = "toolStripMenuItem12"; - this.toolStripMenuItem12.Size = new System.Drawing.Size(222, 22); - this.toolStripMenuItem12.Text = "Enable &Big Icons (In Folders)"; - this.toolStripMenuItem12.Click += new System.EventHandler(this.toolStripMenuItem12_Click); - // // MainForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(254)))), ((int)(((byte)(254)))), ((int)(((byte)(254))))); + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(250)))), ((int)(((byte)(250)))), ((int)(((byte)(250))))); this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None; this.ClientSize = new System.Drawing.Size(633, 400); this.Controls.Add(this.flowLayoutPanel1); diff --git a/MainForm.cs b/MainForm.cs index 4349ce5..e696ffe 100644 --- a/MainForm.cs +++ b/MainForm.cs @@ -40,8 +40,10 @@ namespace AppLauncher this.StartPosition = FormStartPosition.WindowsDefaultBounds; - appIcon = Properties.Resources.app_icon_32; - enableMaximiseMenu = false; + appIcon = Properties.Resources.app_icon; + + enableMaximise = false; + //enableMaximiseMenu = false; closeOnMinimise = true; } diff --git a/Properties/Resources.Designer.cs b/Properties/Resources.Designer.cs index 1ebeada..90bd94d 100644 --- a/Properties/Resources.Designer.cs +++ b/Properties/Resources.Designer.cs @@ -63,9 +63,9 @@ namespace AppLauncher.Properties { ///

/// Looks up a localized resource of type System.Drawing.Bitmap. /// - internal static System.Drawing.Bitmap app_icon_32 { + internal static System.Drawing.Bitmap app_icon { get { - object obj = ResourceManager.GetObject("app_icon_32", resourceCulture); + object obj = ResourceManager.GetObject("app_icon", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } diff --git a/Properties/Resources.resx b/Properties/Resources.resx index 750ed54..dda20bf 100644 --- a/Properties/Resources.resx +++ b/Properties/Resources.resx @@ -118,8 +118,8 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - ..\Resources\app_icon_32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\app_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\folder_32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a diff --git a/Resources/app_icon_24.png b/Resources/app_icon.png similarity index 100% rename from Resources/app_icon_24.png rename to Resources/app_icon.png From 9b87abf4612143aefb797d89b404407d95fce443 Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 1 Jun 2021 10:00:39 +0100 Subject: [PATCH 4/4] Changed: improved margin and scrolling support --- MainForm.Designer.cs | 53 +++++++++++++++++++++++++++++--------------- 1 file changed, 35 insertions(+), 18 deletions(-) diff --git a/MainForm.Designer.cs b/MainForm.Designer.cs index 3b93a26..b088587 100644 --- a/MainForm.Designer.cs +++ b/MainForm.Designer.cs @@ -51,14 +51,16 @@ this.viewHelpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel(); this.saveFileDialog1 = new System.Windows.Forms.SaveFileDialog(); this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components); this.contextMenuStrip2 = new System.Windows.Forms.ContextMenuStrip(this.components); this.exitToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.panel1 = new System.Windows.Forms.Panel(); + this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel(); this.contextMenuStrip1.SuspendLayout(); this.contextMenuStrip2.SuspendLayout(); + this.panel1.SuspendLayout(); this.SuspendLayout(); // // contextMenuStrip1 @@ -220,21 +222,6 @@ this.aboutToolStripMenuItem.Text = "&About"; this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click); // - // flowLayoutPanel1 - // - this.flowLayoutPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.flowLayoutPanel1.AutoScroll = true; - this.flowLayoutPanel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.flowLayoutPanel1.FlowDirection = System.Windows.Forms.FlowDirection.TopDown; - this.flowLayoutPanel1.Location = new System.Drawing.Point(12, 34); - this.flowLayoutPanel1.Name = "flowLayoutPanel1"; - this.flowLayoutPanel1.Padding = new System.Windows.Forms.Padding(0, 10, 10, 20); - this.flowLayoutPanel1.Size = new System.Drawing.Size(620, 364); - this.flowLayoutPanel1.TabIndex = 27; - this.flowLayoutPanel1.WrapContents = false; - // // saveFileDialog1 // this.saveFileDialog1.Filter = "Session files|*.jsonfig"; @@ -267,6 +254,33 @@ this.exitToolStripMenuItem1.Text = "E&xit"; this.exitToolStripMenuItem1.Click += new System.EventHandler(this.exitToolStripMenuItem1_Click); // + // panel1 + // + this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.panel1.AutoScroll = true; + this.panel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.panel1.BackColor = System.Drawing.Color.Transparent; + this.panel1.Controls.Add(this.flowLayoutPanel1); + this.panel1.Location = new System.Drawing.Point(12, 34); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(620, 363); + this.panel1.TabIndex = 0; + // + // flowLayoutPanel1 + // + this.flowLayoutPanel1.AutoSize = true; + this.flowLayoutPanel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.flowLayoutPanel1.BackColor = System.Drawing.Color.Transparent; + this.flowLayoutPanel1.FlowDirection = System.Windows.Forms.FlowDirection.TopDown; + this.flowLayoutPanel1.Location = new System.Drawing.Point(0, 0); + this.flowLayoutPanel1.Name = "flowLayoutPanel1"; + this.flowLayoutPanel1.Padding = new System.Windows.Forms.Padding(0, 10, 0, 20); + this.flowLayoutPanel1.Size = new System.Drawing.Size(0, 30); + this.flowLayoutPanel1.TabIndex = 29; + this.flowLayoutPanel1.WrapContents = false; + // // MainForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -274,7 +288,7 @@ this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(250)))), ((int)(((byte)(250)))), ((int)(((byte)(250))))); this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None; this.ClientSize = new System.Drawing.Size(633, 400); - this.Controls.Add(this.flowLayoutPanel1); + this.Controls.Add(this.panel1); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MinimumSize = new System.Drawing.Size(420, 280); this.Name = "MainForm"; @@ -282,12 +296,13 @@ this.TitleContextMenuStrip = this.contextMenuStrip1; this.contextMenuStrip1.ResumeLayout(false); this.contextMenuStrip2.ResumeLayout(false); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); this.ResumeLayout(false); } #endregion - private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1; private System.Windows.Forms.ContextMenuStrip contextMenuStrip1; private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem3; private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1; @@ -314,6 +329,8 @@ private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem1; private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem11; private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem12; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1; } }