diff --git a/.gitignore b/.gitignore index 7ca3e48..fb85c11 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,5 @@ /packages /Installer/Debug /Installer/Release +/FizzyLauncher.UI/bin +/FizzyLauncher.UI/obj diff --git a/FizzyLauncher.UI/FizzyLauncher.UI.csproj b/FizzyLauncher.UI/FizzyLauncher.UI.csproj new file mode 100644 index 0000000..7334c5e --- /dev/null +++ b/FizzyLauncher.UI/FizzyLauncher.UI.csproj @@ -0,0 +1,248 @@ + + + + + Debug + AnyCPU + {D9A49347-583F-41B4-AFE1-63EC80BBDB38} + Library + Properties + AppLauncher + fizzylauncher.ui + v4.7.2 + 512 + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + false + + + + + + + + + + + + + + + + + True + True + Resources16.resx + + + True + True + Resources20.resx + + + + Form + + + UserControl + + + Component + + + UserControl + + + THorizontalSeparator.cs + + + + Component + + + UserControl + + + TButton.cs + + + UserControl + + + TButtonTextBox.cs + + + Form + + + TDialogForm.cs + + + UserControl + + + UserControl + + + TListBox.cs + + + UserControl + + + UserControl + + + TPickerBox.cs + + + UserControl + + + TTextBox.cs + + + UserControl + + + TUserControl.cs + + + UserControl + + + + + ResXFileCodeGenerator + Resources16.Designer.cs + + + ResXFileCodeGenerator + Resources20.Designer.cs + + + TForm.cs + + + TButton.cs + + + TButtonTextBox.cs + + + TDialogForm.cs + + + TListBox.cs + + + TPickerBox.cs + + + TTextBox.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FizzyLauncher.UI/FizzyLauncher.UI.csproj.user b/FizzyLauncher.UI/FizzyLauncher.UI.csproj.user new file mode 100644 index 0000000..c10e84b --- /dev/null +++ b/FizzyLauncher.UI/FizzyLauncher.UI.csproj.user @@ -0,0 +1,6 @@ + + + + ProjectFiles + + \ No newline at end of file diff --git a/FizzyLauncher.UI/Properties/AssemblyInfo.cs b/FizzyLauncher.UI/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..0ec23d9 --- /dev/null +++ b/FizzyLauncher.UI/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("FizzyLauncher.UI")] +[assembly: AssemblyDescription("UI")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("FizzyLauncher.UI")] +[assembly: AssemblyCopyright("Copyright © Ray Lam 2020")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("d9a49347-583f-41b4-afe1-63ec80bbdb38")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Resource1.Designer.cs b/FizzyLauncher.UI/Properties/Resources16.Designer.cs similarity index 72% rename from Resource1.Designer.cs rename to FizzyLauncher.UI/Properties/Resources16.Designer.cs index 529722f..a48b080 100644 --- a/Resource1.Designer.cs +++ b/FizzyLauncher.UI/Properties/Resources16.Designer.cs @@ -8,7 +8,7 @@ // //------------------------------------------------------------------------------ -namespace AppLauncher { +namespace AppLauncher.Properties { using System; @@ -22,14 +22,14 @@ namespace AppLauncher { [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resource1 { + internal class Resources16 { private static global::System.Resources.ResourceManager resourceMan; private static global::System.Globalization.CultureInfo resourceCulture; [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resource1() { + internal Resources16() { } /// @@ -39,7 +39,7 @@ namespace AppLauncher { internal static global::System.Resources.ResourceManager ResourceManager { get { if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AppLauncher.Resource1", typeof(Resource1).Assembly); + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AppLauncher.Properties.Resources16", typeof(Resources16).Assembly); resourceMan = temp; } return resourceMan; @@ -103,9 +103,9 @@ namespace AppLauncher { /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// - internal static System.Drawing.Bitmap close_16 { + internal static System.Drawing.Bitmap close { get { - object obj = ResourceManager.GetObject("close_16", resourceCulture); + object obj = ResourceManager.GetObject("close", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } @@ -113,29 +113,9 @@ namespace AppLauncher { /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// - internal static System.Drawing.Bitmap close_20 { + internal static System.Drawing.Bitmap close2 { get { - object obj = ResourceManager.GetObject("close_20", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap close2_16 { - get { - object obj = ResourceManager.GetObject("close2_16", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap close2_20 { - get { - object obj = ResourceManager.GetObject("close2_20", resourceCulture); + object obj = ResourceManager.GetObject("close2", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } @@ -200,56 +180,6 @@ namespace AppLauncher { } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap maximise_20 { - get { - object obj = ResourceManager.GetObject("maximise_20", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap maximise2_20 { - get { - object obj = ResourceManager.GetObject("maximise2_20", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap maximise3_20 { - get { - object obj = ResourceManager.GetObject("maximise3_20", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap minimise_20 { - get { - object obj = ResourceManager.GetObject("minimise_20", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap minimise2_20 { - get { - object obj = ResourceManager.GetObject("minimise2_20", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// diff --git a/Resource1.resx b/FizzyLauncher.UI/Properties/Resources16.resx similarity index 59% rename from Resource1.resx rename to FizzyLauncher.UI/Properties/Resources16.resx index 236baac..78ba89b 100644 --- a/Resource1.resx +++ b/FizzyLauncher.UI/Properties/Resources16.resx @@ -119,72 +119,51 @@ - RyzStudio\Windows\Forms\Resources\arrow_down.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\16\arrow_down.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - RyzStudio\Windows\Forms\Resources\arrow_down2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\16\arrow_down2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - RyzStudio\Windows\Forms\Resources\arrow_up.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\16\arrow_up.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - RyzStudio\Windows\Forms\Resources\arrow_up2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\16\arrow_up2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - RyzStudio\Windows\Forms\Resources\close2_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\16\close.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - RyzStudio\Windows\Forms\Resources\close2_20.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - RyzStudio\Windows\Forms\Resources\close_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - RyzStudio\Windows\Forms\Resources\close_20.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\16\close2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - RyzStudio\Windows\Forms\Resources\edit.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\16\edit.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - RyzStudio\Windows\Forms\Resources\edit2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\16\edit2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - RyzStudio\Windows\Forms\Resources\file.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\16\file.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - RyzStudio\Windows\Forms\Resources\file2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\16\file2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - RyzStudio\Windows\Forms\Resources\folder.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\16\folder.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - RyzStudio\Windows\Forms\Resources\folder2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - RyzStudio\Windows\Forms\Resources\maximise2_20.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - RyzStudio\Windows\Forms\Resources\maximise3_20.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - RyzStudio\Windows\Forms\Resources\maximise_20.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - RyzStudio\Windows\Forms\Resources\minimise2_20.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - RyzStudio\Windows\Forms\Resources\minimise_20.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\16\folder2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - RyzStudio\Windows\Forms\Resources\minus.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\16\minus.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - RyzStudio\Windows\Forms\Resources\minus2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\16\minus2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - RyzStudio\Windows\Forms\Resources\plus.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\16\plus.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - RyzStudio\Windows\Forms\Resources\plus2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\16\plus2.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/Properties/Resources20.Designer.cs b/FizzyLauncher.UI/Properties/Resources20.Designer.cs new file mode 100644 index 0000000..017f654 --- /dev/null +++ b/FizzyLauncher.UI/Properties/Resources20.Designer.cs @@ -0,0 +1,183 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace AppLauncher.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [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 { + + 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() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + 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); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap close { + get { + object obj = ResourceManager.GetObject("close", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap close2 { + get { + object obj = ResourceManager.GetObject("close2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap close3 { + get { + object obj = ResourceManager.GetObject("close3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap empty { + get { + object obj = ResourceManager.GetObject("empty", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap empty2 { + get { + object obj = ResourceManager.GetObject("empty2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap empty3 { + get { + object obj = ResourceManager.GetObject("empty3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap maximise { + get { + object obj = ResourceManager.GetObject("maximise", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap maximise2 { + get { + object obj = ResourceManager.GetObject("maximise2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap maximise3 { + get { + object obj = ResourceManager.GetObject("maximise3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap minimise { + get { + object obj = ResourceManager.GetObject("minimise", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap minimise2 { + get { + object obj = ResourceManager.GetObject("minimise2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap minimise3 { + get { + object obj = ResourceManager.GetObject("minimise3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/RyzStudio/Windows/ThemedForms/TForm.resx b/FizzyLauncher.UI/Properties/Resources20.resx similarity index 64% rename from RyzStudio/Windows/ThemedForms/TForm.resx rename to FizzyLauncher.UI/Properties/Resources20.resx index 1af7de1..9a0d447 100644 --- a/RyzStudio/Windows/ThemedForms/TForm.resx +++ b/FizzyLauncher.UI/Properties/Resources20.resx @@ -117,4 +117,41 @@ 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\20\close2.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\20\empty.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\20\empty3.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\20\maximise2.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\20\minimise.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\20\minimise3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/RyzStudio/Windows/Forms/Resources/arrow_down.png b/FizzyLauncher.UI/Resources/16/arrow_down.png similarity index 100% rename from RyzStudio/Windows/Forms/Resources/arrow_down.png rename to FizzyLauncher.UI/Resources/16/arrow_down.png diff --git a/RyzStudio/Windows/Forms/Resources/arrow_down2.png b/FizzyLauncher.UI/Resources/16/arrow_down2.png similarity index 100% rename from RyzStudio/Windows/Forms/Resources/arrow_down2.png rename to FizzyLauncher.UI/Resources/16/arrow_down2.png diff --git a/RyzStudio/Windows/Forms/Resources/arrow_up.png b/FizzyLauncher.UI/Resources/16/arrow_up.png similarity index 100% rename from RyzStudio/Windows/Forms/Resources/arrow_up.png rename to FizzyLauncher.UI/Resources/16/arrow_up.png diff --git a/RyzStudio/Windows/Forms/Resources/arrow_up2.png b/FizzyLauncher.UI/Resources/16/arrow_up2.png similarity index 100% rename from RyzStudio/Windows/Forms/Resources/arrow_up2.png rename to FizzyLauncher.UI/Resources/16/arrow_up2.png diff --git a/RyzStudio/Windows/Forms/Resources/close_16.png b/FizzyLauncher.UI/Resources/16/close.png similarity index 100% rename from RyzStudio/Windows/Forms/Resources/close_16.png rename to FizzyLauncher.UI/Resources/16/close.png diff --git a/RyzStudio/Windows/Forms/Resources/close2_16.png b/FizzyLauncher.UI/Resources/16/close2.png similarity index 100% rename from RyzStudio/Windows/Forms/Resources/close2_16.png rename to FizzyLauncher.UI/Resources/16/close2.png diff --git a/RyzStudio/Windows/Forms/Resources/edit.png b/FizzyLauncher.UI/Resources/16/edit.png similarity index 100% rename from RyzStudio/Windows/Forms/Resources/edit.png rename to FizzyLauncher.UI/Resources/16/edit.png diff --git a/RyzStudio/Windows/Forms/Resources/edit2.png b/FizzyLauncher.UI/Resources/16/edit2.png similarity index 100% rename from RyzStudio/Windows/Forms/Resources/edit2.png rename to FizzyLauncher.UI/Resources/16/edit2.png diff --git a/RyzStudio/Windows/Forms/Resources/file.png b/FizzyLauncher.UI/Resources/16/file.png similarity index 100% rename from RyzStudio/Windows/Forms/Resources/file.png rename to FizzyLauncher.UI/Resources/16/file.png diff --git a/RyzStudio/Windows/Forms/Resources/file2.png b/FizzyLauncher.UI/Resources/16/file2.png similarity index 100% rename from RyzStudio/Windows/Forms/Resources/file2.png rename to FizzyLauncher.UI/Resources/16/file2.png diff --git a/RyzStudio/Windows/Forms/Resources/folder.png b/FizzyLauncher.UI/Resources/16/folder.png similarity index 100% rename from RyzStudio/Windows/Forms/Resources/folder.png rename to FizzyLauncher.UI/Resources/16/folder.png diff --git a/RyzStudio/Windows/Forms/Resources/folder2.png b/FizzyLauncher.UI/Resources/16/folder2.png similarity index 100% rename from RyzStudio/Windows/Forms/Resources/folder2.png rename to FizzyLauncher.UI/Resources/16/folder2.png diff --git a/RyzStudio/Windows/Forms/Resources/minus.png b/FizzyLauncher.UI/Resources/16/minus.png similarity index 100% rename from RyzStudio/Windows/Forms/Resources/minus.png rename to FizzyLauncher.UI/Resources/16/minus.png diff --git a/RyzStudio/Windows/Forms/Resources/minus2.png b/FizzyLauncher.UI/Resources/16/minus2.png similarity index 100% rename from RyzStudio/Windows/Forms/Resources/minus2.png rename to FizzyLauncher.UI/Resources/16/minus2.png diff --git a/RyzStudio/Windows/Forms/Resources/plus.png b/FizzyLauncher.UI/Resources/16/plus.png similarity index 100% rename from RyzStudio/Windows/Forms/Resources/plus.png rename to FizzyLauncher.UI/Resources/16/plus.png diff --git a/RyzStudio/Windows/Forms/Resources/plus2.png b/FizzyLauncher.UI/Resources/16/plus2.png similarity index 100% rename from RyzStudio/Windows/Forms/Resources/plus2.png rename to FizzyLauncher.UI/Resources/16/plus2.png diff --git a/FizzyLauncher.UI/Resources/20/close.png b/FizzyLauncher.UI/Resources/20/close.png new file mode 100644 index 0000000..fb4f049 Binary files /dev/null and b/FizzyLauncher.UI/Resources/20/close.png differ diff --git a/FizzyLauncher.UI/Resources/20/close2.png b/FizzyLauncher.UI/Resources/20/close2.png new file mode 100644 index 0000000..e2a3277 Binary files /dev/null and b/FizzyLauncher.UI/Resources/20/close2.png differ diff --git a/RyzStudio/Windows/Forms/Resources/close2_20.png b/FizzyLauncher.UI/Resources/20/close3.png similarity index 100% rename from RyzStudio/Windows/Forms/Resources/close2_20.png rename to FizzyLauncher.UI/Resources/20/close3.png diff --git a/FizzyLauncher.UI/Resources/20/empty.png b/FizzyLauncher.UI/Resources/20/empty.png new file mode 100644 index 0000000..8b7e377 Binary files /dev/null and b/FizzyLauncher.UI/Resources/20/empty.png differ diff --git a/FizzyLauncher.UI/Resources/20/empty2.png b/FizzyLauncher.UI/Resources/20/empty2.png new file mode 100644 index 0000000..61de605 Binary files /dev/null and b/FizzyLauncher.UI/Resources/20/empty2.png differ diff --git a/FizzyLauncher.UI/Resources/20/empty3.png b/FizzyLauncher.UI/Resources/20/empty3.png new file mode 100644 index 0000000..b98cb46 Binary files /dev/null and b/FizzyLauncher.UI/Resources/20/empty3.png differ diff --git a/FizzyLauncher.UI/Resources/20/maximise.png b/FizzyLauncher.UI/Resources/20/maximise.png new file mode 100644 index 0000000..b2e90e2 Binary files /dev/null and b/FizzyLauncher.UI/Resources/20/maximise.png differ diff --git a/FizzyLauncher.UI/Resources/20/maximise2.png b/FizzyLauncher.UI/Resources/20/maximise2.png new file mode 100644 index 0000000..4c4c813 Binary files /dev/null and b/FizzyLauncher.UI/Resources/20/maximise2.png differ diff --git a/RyzStudio/Windows/Forms/Resources/maximise3_20.png b/FizzyLauncher.UI/Resources/20/maximise3.png similarity index 79% rename from RyzStudio/Windows/Forms/Resources/maximise3_20.png rename to FizzyLauncher.UI/Resources/20/maximise3.png index fa1dcec..77ae4ee 100644 Binary files a/RyzStudio/Windows/Forms/Resources/maximise3_20.png and b/FizzyLauncher.UI/Resources/20/maximise3.png differ diff --git a/FizzyLauncher.UI/Resources/20/minimise.png b/FizzyLauncher.UI/Resources/20/minimise.png new file mode 100644 index 0000000..338d63d Binary files /dev/null and b/FizzyLauncher.UI/Resources/20/minimise.png differ diff --git a/FizzyLauncher.UI/Resources/20/minimise2.png b/FizzyLauncher.UI/Resources/20/minimise2.png new file mode 100644 index 0000000..f7b44a8 Binary files /dev/null and b/FizzyLauncher.UI/Resources/20/minimise2.png differ diff --git a/FizzyLauncher.UI/Resources/20/minimise3.png b/FizzyLauncher.UI/Resources/20/minimise3.png new file mode 100644 index 0000000..2174ece Binary files /dev/null and b/FizzyLauncher.UI/Resources/20/minimise3.png differ diff --git a/RyzStudio/Data/SQLite/SQLiteDatabase.cs b/FizzyLauncher.UI/RyzStudio/Data/SQLite/SQLiteDatabase.cs similarity index 100% rename from RyzStudio/Data/SQLite/SQLiteDatabase.cs rename to FizzyLauncher.UI/RyzStudio/Data/SQLite/SQLiteDatabase.cs diff --git a/RyzStudio/Drawing/Rectangoid.cs b/FizzyLauncher.UI/RyzStudio/Drawing/Rectangoid.cs similarity index 100% rename from RyzStudio/Drawing/Rectangoid.cs rename to FizzyLauncher.UI/RyzStudio/Drawing/Rectangoid.cs diff --git a/RyzStudio/IO/FileType.cs b/FizzyLauncher.UI/RyzStudio/IO/FileType.cs similarity index 100% rename from RyzStudio/IO/FileType.cs rename to FizzyLauncher.UI/RyzStudio/IO/FileType.cs diff --git a/RyzStudio/IO/SessionFileFormatBase.cs b/FizzyLauncher.UI/RyzStudio/IO/SessionFileFormatBase.cs similarity index 100% rename from RyzStudio/IO/SessionFileFormatBase.cs rename to FizzyLauncher.UI/RyzStudio/IO/SessionFileFormatBase.cs diff --git a/RyzStudio/IO/SharpZipLib.cs b/FizzyLauncher.UI/RyzStudio/IO/SharpZipLib.cs similarity index 100% rename from RyzStudio/IO/SharpZipLib.cs rename to FizzyLauncher.UI/RyzStudio/IO/SharpZipLib.cs diff --git a/RyzStudio/Net/HttpWeb.cs b/FizzyLauncher.UI/RyzStudio/Net/HttpWeb.cs similarity index 100% rename from RyzStudio/Net/HttpWeb.cs rename to FizzyLauncher.UI/RyzStudio/Net/HttpWeb.cs diff --git a/FizzyLauncher.UI/RyzStudio/Windows/Forms/PanelBook.cs b/FizzyLauncher.UI/RyzStudio/Windows/Forms/PanelBook.cs new file mode 100644 index 0000000..c6755c8 --- /dev/null +++ b/FizzyLauncher.UI/RyzStudio/Windows/Forms/PanelBook.cs @@ -0,0 +1,258 @@ +namespace RyzStudio.Windows.Forms +{ + using System; + using System.Collections; + using System.ComponentModel; + using System.Drawing; + using System.Windows.Forms; + + [ToolboxItem(true)] + public class PanelBook : UserControl + { + public class PanelCollection : CollectionBase + { + protected PanelBook panelBook = null; + + public PanelCollection(PanelBook parentPanelBook) : base() + { + panelBook = parentPanelBook; + } + + public PanelBook Parent => panelBook; + + public Panel this[int index] { get => (Panel)List[index]; set => List[index] = value; } + + public int Add(Panel value) => List.Add(value); + + public void AddRange(Panel[] pages) => Array.ForEach(pages, x => this.Add(x)); + + public bool Contains(Panel value) => List.Contains(value); + + public int IndexOf(Panel value) => List.IndexOf(value); + + public void Insert(int index, Panel value) => List.Insert(index, value); + + public void Remove(Panel value) => List.Remove(value); + + protected override void OnInsertComplete(int index, object value) + { + base.OnInsertComplete(index, value); + + if (panelBook != null) + { + panelBook.PageIndex = index; + } + } + + protected override void OnRemoveComplete(int index, object value) + { + base.OnRemoveComplete(index, value); + + if (panelBook != null) + { + if (panelBook.PageIndex == index) + { + if (index < InnerList.Count) + { + panelBook.PageIndex = index; + } + else + { + panelBook.PageIndex = InnerList.Count - 1; + } + } + } + } + + } + + private System.ComponentModel.IContainer components = null; + + protected PanelCollection panelCollection = null; + + public PanelBook() + { + InitializeComponent(); + + panelCollection = new PanelCollection(this); + } + + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + + base.Dispose(disposing); + } + + protected void InitializeComponent() + { + components = new System.ComponentModel.Container(); + } + + [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] + public Panel ActivePanel { get; protected set; } = null; + + [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] + public override bool AutoScroll { get => base.AutoScroll; set => base.AutoScroll = value; } + + [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] + public new Size AutoScrollMargin { get => base.AutoScrollMargin; set => base.AutoScrollMargin = value; } + + [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] + public new Size AutoScrollMinSize { get => base.AutoScrollMinSize; set => base.AutoScrollMinSize = value; } + + [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] + public override Image BackgroundImage { get => base.BackgroundImage; set => base.BackgroundImage = value; } + + [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] + public override ImageLayout BackgroundImageLayout { get => base.BackgroundImageLayout; set => base.BackgroundImageLayout = value; } + + [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] + public new ImeMode ImeMode { get => base.ImeMode; set => base.ImeMode = value; } + + [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] + public override RightToLeft RightToLeft { get => base.RightToLeft; set => base.RightToLeft = value; } + + [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] + public new bool UseWaitCursor { get => base.UseWaitCursor; set => base.UseWaitCursor = value; } + + [Category("Collection")] + [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] + public PanelCollection Pages => panelCollection; + + [Category("Collection")] + public int SelectedIndex + { + get => (panelCollection.Count <= 0) ? -1 : panelCollection.IndexOf(this.ActivePanel); + set + { + if (panelCollection.Count <= 0) return; + if (value < 0) return; + if (value > (panelCollection.Count - 1)) return; + if (value == this.SelectedIndex) return; + + ActivatePage(value); + } + } + + protected internal int PageIndex + { + get => panelCollection.IndexOf(this.ActivePanel); + set + { + if (panelCollection.Count <= 0) + { + ActivatePage(-1); + return; + } + + if ((value < -1) || (value >= panelCollection.Count)) + { + throw new ArgumentOutOfRangeException("PageIndex", value, "The page index must be between 0 and " + Convert.ToString(panelCollection.Count - 1)); + } + + ActivatePage(value); + } + } + + protected internal void ActivatePage(int index) + { + if ((panelCollection.Count == 0) && (index >= panelCollection.Count) && (index <= 0)) + { + return; + } + + Panel p = (Panel)panelCollection[index]; + + ActivatePage(p); + } + + protected internal void ActivatePage(Panel page) + { + if (this.ActivePanel != null) + { + if (this.ActivePanel.InvokeRequired) + { + this.ActivePanel.Invoke(new MethodInvoker(() => { + this.ActivePanel.Visible = false; + })); + } + else + { + this.ActivePanel.Visible = false; + } + } + + this.ActivePanel = page; + if (this.ActivePanel != null) + { + this.ActivePanel.Parent = this; + if (!this.Contains(this.ActivePanel)) + { + this.Container.Add(this.ActivePanel); + } + + if (this.ActivePanel.InvokeRequired) + { + this.ActivePanel.Invoke(new MethodInvoker(() => { + this.ActivePanel.Dock = DockStyle.Fill; + this.ActivePanel.Visible = true; + this.ActivePanel.BringToFront(); + })); + } + else + { + this.ActivePanel.Dock = DockStyle.Fill; + this.ActivePanel.Visible = true; + this.ActivePanel.BringToFront(); + } + } + + if (this.ActivePanel != null) + { + if (this.ActivePanel.InvokeRequired) + { + this.ActivePanel.Invoke(new MethodInvoker(() => { + this.ActivePanel.Invalidate(); + })); + } + else + { + this.ActivePanel.Invalidate(); + } + } + else + { + this.Invalidate(); + } + } + +#if DEBUG + + protected override void OnResize(EventArgs e) + { + base.OnResize(e); + + if (this.DesignMode) + { + this.Invalidate(); + } + } + +#endif + + protected override void DestroyHandle() + { + base.DestroyHandle(); + + foreach (Panel p in panelCollection) + { + p.Dispose(); + } + } + + } +} \ No newline at end of file diff --git a/RyzStudio/Windows/Forms/StackLayoutPanel.cs b/FizzyLauncher.UI/RyzStudio/Windows/Forms/StackLayoutPanel.cs similarity index 100% rename from RyzStudio/Windows/Forms/StackLayoutPanel.cs rename to FizzyLauncher.UI/RyzStudio/Windows/Forms/StackLayoutPanel.cs diff --git a/RyzStudio/Windows/Forms/TFlatButton.cs b/FizzyLauncher.UI/RyzStudio/Windows/Forms/TFlatButton.cs similarity index 100% rename from RyzStudio/Windows/Forms/TFlatButton.cs rename to FizzyLauncher.UI/RyzStudio/Windows/Forms/TFlatButton.cs diff --git a/FizzyLauncher.UI/RyzStudio/Windows/Forms/TForm.cs b/FizzyLauncher.UI/RyzStudio/Windows/Forms/TForm.cs new file mode 100644 index 0000000..4e22e8e --- /dev/null +++ b/FizzyLauncher.UI/RyzStudio/Windows/Forms/TForm.cs @@ -0,0 +1,472 @@ +using RyzStudio.Windows.Forms; +using System; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; +using Resources = AppLauncher.Properties.Resources20; + +namespace AppLauncher.Windows.Forms +{ + public class TForm : Form + { + protected readonly Color borderColour = Color.FromArgb(235, 234, 233); + protected readonly int borderWidth = 1; + + protected readonly int resizeBorderWidth = 3; + + protected readonly Color backColour = Color.FromArgb(255, 255, 255); + + 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 Font titleFont = null; + protected int titleFontTop = 0; + + protected readonly int titleBarIconSize = 20; + protected readonly int titleBarIconMargin = 8; + + protected bool isDragging = false; + protected Point startPosition = new Point(); + protected Point startWindowSize = new Point(); + + 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(); + + if (!this.DesignMode) + { + this.FormBorderStyle = FormBorderStyle.None; + this.StartPosition = FormStartPosition.Manual; + } + + this.AutoScaleMode = AutoScaleMode.None; + this.BackColor = backColour; + this.Padding = new Padding(0); + this.DoubleBuffered = true; + + this.MouseDown += new MouseEventHandler(form_MouseDown); + this.MouseMove += new MouseEventHandler(form_MouseMove); + this.MouseUp += new MouseEventHandler(form_MouseUp); + this.PreviewKeyDown += new PreviewKeyDownEventHandler(form_PreviewKeyDown); + } + + protected override void OnLoad(EventArgs e) + { + base.OnLoad(e); + + this.Text = Application.ProductName; + + initialiseLoadComponent(); + + if (appIcon != null) appIconTop = (int)Math.Floor((decimal)(titleBarHeight - appIcon.Height) / 2) + borderWidth; + titleFont = new Font(this.Font.FontFamily, 10F); + titleFontTop = (int)Math.Floor((decimal)(titleBarHeight - TextRenderer.MeasureText("#", titleFont).Height) / 2) + borderWidth; + + } + + protected override void OnMouseClick(MouseEventArgs e) + { + base.OnMouseClick(e); + + bool isLabel = ((e.Location.X >= 0) && (e.Location.X <= this.Width) && (e.Location.Y >= 0) && (e.Location.Y <= titleBarHeight)); + + if (e.Button == MouseButtons.Left) + { + if (isLabel) + { + // do nothing + } + else + { + // do nothing + } + } + else if (e.Button == MouseButtons.Right) + { + if (isLabel) + { + if (this.TitleContextMenuStrip != null) + { + this.TitleContextMenuStrip.Show(this, e.Location); + } + } + else + { + // do nothing + } + } + } + + protected override void OnPaint(PaintEventArgs e) + { + base.OnPaint(e); + + Graphics g = e.Graphics; + Rectangle area = new Rectangle(this.DisplayRectangle.X, this.DisplayRectangle.Y, (this.DisplayRectangle.Width - borderWidth), (this.DisplayRectangle.Height - borderWidth)); + + // border + g.DrawRectangle(new Pen(borderColour, borderWidth), area); + + 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 (!DesignMode) + { + //g.DrawImageUnscaled(appIcon, 17, appIconTop); + g.DrawImage(appIcon, 17, appIconTop, appIcon.Width, appIcon.Height); + + TextRenderer.DrawText(g, this.Text, titleFont, new Point(58, titleFontTop), titleColour); + } + } + + protected override void OnResize(EventArgs e) + { + base.OnResize(e); + + this.Invalidate(); + } + + [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] + public override Color BackColor { get => base.BackColor; set => base.BackColor = value; } + + [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] + public new FormBorderStyle FormBorderStyle { get => base.FormBorderStyle; set => base.FormBorderStyle = value; } + + [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] + public new Padding Padding { get => base.Padding; set => base.Padding = value; } + + [Category("Appearance")] + public ContextMenuStrip TitleContextMenuStrip { get; set; } = null; + + //[Browsable(false)] + //public Image AppIcon { get; set; } = null; + + //[Browsable(false)] + //public bool IsMaximiseEnabled { get; set; } = false; + + //protected Point DefaultLocation + //{ + // get + // { + // Point newPosition = new Point(Cursor.Position.X, Cursor.Position.Y); + // newPosition.X -= (this.Width / 2); + // newPosition.Y -= (this.Height / 2); + + // newPosition.X = Math.Max(newPosition.X, Screen.PrimaryScreen.WorkingArea.Left); + // newPosition.Y = Math.Max(newPosition.Y, Screen.PrimaryScreen.WorkingArea.Top); + + // return newPosition; + // } + //} + + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(TForm)); + this.SuspendLayout(); + // + // AForm + // + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Name = "Form"; + this.ResumeLayout(false); + } + + private void form_MouseDown(object sender, MouseEventArgs e) + { + if (e.Button == MouseButtons.Left) + { + isDragging = true; + startPosition = e.Location; + startWindowSize = new Point(this.Width, this.Height); + } + } + + private void form_MouseMove(object sender, MouseEventArgs e) + { + if (isDragging) + { + int x = (this.Location.X + (e.Location.X - startPosition.X)); + int y = (this.Location.Y + (e.Location.Y - startPosition.Y)); + + //this.Location = validateFormLocation(x, y); + this.Location = new Point(x, y); + } + } + + private void form_MouseUp(object sender, MouseEventArgs e) + { + isDragging = false; + } + + private void form_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) + { + if (e.KeyCode == Keys.Escape) + { + Application.Exit(); + } + } + + protected virtual void initialiseLoadComponent() + { + if (DesignMode) return; + + // close + TImageBox closeBox = generateToolbarImageBox(); + if (enableCloseMenu) + { + 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) return; + + if (closeMenuEvent != null) + { + closeMenuEvent(sender, e); + return; + } + + this.Close(); + }; + } + else + { + closeBox.Image = closeBox.ImageNormal = closeBox.ImageHover = closeBox.ImageSelected = Resources.close; + } + + closeBox.Left = this.DisplayRectangle.Width - closeBox.Width - 17; + + this.Controls.Add(closeBox); + + // maximise + TImageBox maximiseBox = generateToolbarImageBox(); + if (enableMaximiseMenu) + { + 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 (maximiseMenuEvent != null) + { + maximiseMenuEvent(sender, e); + return; + } + + if (e.Button == MouseButtons.Left) + { + if (isMaximiseEnabled) + { + 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; + } + else + { + imageBox2.Image = imageBox2.ImageNormal = (isMaximiseEnabled) ? Resources.maximise : Resources.empty; + imageBox2.ImageHover = (isMaximiseEnabled) ? Resources.maximise2 : Resources.empty; + } + } + }; + } + else + { + maximiseBox.Image = maximiseBox.ImageNormal = maximiseBox.ImageHover = maximiseBox.ImageSelected = Resources.maximise; + } + + maximiseBox.Left = closeBox.Left - maximiseBox.Width - titleBarIconMargin; + + this.Controls.Add(maximiseBox); + + // minimise + TImageBox minimiseBox = generateToolbarImageBox(); + if (enableMinimiseMenu) + { + 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 (!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; + } + + minimiseBox.Left = maximiseBox.Left - minimiseBox.Width - titleBarIconMargin; + + this.Controls.Add(minimiseBox); + + // resize + UserControl uc1 = new UserControl() + { + Anchor = (AnchorStyles.Left | AnchorStyles.Bottom | AnchorStyles.Right), + Height = resizeBorderWidth, + Width = this.DisplayRectangle.Width - resizeBorderWidth, + Left = 0, + Top = this.DisplayRectangle.Height - resizeBorderWidth, + BackColor = Color.Transparent, + Cursor = Cursors.SizeNS + }; + uc1.MouseDown += form_MouseDown; + uc1.MouseUp += form_MouseUp; + uc1.MouseMove += delegate (object sender, MouseEventArgs e) + { + if (isDragging) + { + this.Size = new Size(startWindowSize.X, e.Y - startPosition.Y + this.Height); + } + }; + uc1.BringToFront(); + + this.Controls.Add(uc1); + + UserControl uc2 = new UserControl() + { + Anchor = (AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Bottom), + Height = this.DisplayRectangle.Height - resizeBorderWidth, + Width = resizeBorderWidth, + Left = this.DisplayRectangle.Width - resizeBorderWidth, + Top = 0, + BackColor = Color.Transparent, + Cursor = Cursors.SizeWE + }; + uc2.MouseDown += form_MouseDown; + uc2.MouseUp += form_MouseUp; + uc2.MouseMove += delegate (object sender, MouseEventArgs e) + { + if (isDragging) + { + this.Size = new Size(e.X - startPosition.X + this.Width, startWindowSize.Y); + } + }; + uc2.BringToFront(); + + this.Controls.Add(uc2); + + UserControl uc3 = new UserControl() + { + Anchor = (AnchorStyles.Bottom | AnchorStyles.Right), + Height = resizeBorderWidth, + Width = resizeBorderWidth, + Left = this.DisplayRectangle.Width - resizeBorderWidth, + Top = this.DisplayRectangle.Height - resizeBorderWidth, + BackColor = Color.Transparent, + Cursor = Cursors.SizeNWSE + }; + uc3.MouseDown += form_MouseDown; + uc3.MouseUp += form_MouseUp; + uc3.MouseMove += delegate (object sender, MouseEventArgs e) + { + if (isDragging) + { + this.Size = new Size((e.X - startPosition.X + this.Width), (e.Y - startPosition.Y + this.Height)); + } + }; + uc3.BringToFront(); + + this.Controls.Add(uc3); + } + + protected TImageBox generateToolbarImageBox() + { + TImageBox imageBox = new TImageBox(); + imageBox.BackColor = Color.Transparent; + imageBox.BackgroundImageLayout = ImageLayout.Center; + imageBox.ErrorImage = null; + //imageBox.Image = Resources.close; + //imageBox.ImageHover = Resources.close2; + //imageBox.ImageNormal = Resources.close; + imageBox.ImageSelected = null; + imageBox.IsSelected = false; + //closeBox.Location = new System.Drawing.Point(169, 12); + imageBox.Size = new System.Drawing.Size(titleBarIconSize, 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.Anchor = (AnchorStyles.Top | AnchorStyles.Right); + + return imageBox; + } + + //private void exitToolStripMenuItem_Click(object sender, EventArgs e) => this.Close(); + + //private void notifyIcon1_MouseClick(object sender, MouseEventArgs e) + //{ + // if (e.Button == MouseButtons.Left) + // { + // this.Visible = !this.Visible; + // } + + // //notifyIcon1.Visible = !this.Visible; + //} + + + } +} \ No newline at end of file diff --git a/Windows/Forms/AForm.resx b/FizzyLauncher.UI/RyzStudio/Windows/Forms/TForm.resx similarity index 100% rename from Windows/Forms/AForm.resx rename to FizzyLauncher.UI/RyzStudio/Windows/Forms/TForm.resx diff --git a/RyzStudio/Windows/Forms/THorizontalSeparator.Designer.cs b/FizzyLauncher.UI/RyzStudio/Windows/Forms/THorizontalSeparator.Designer.cs similarity index 100% rename from RyzStudio/Windows/Forms/THorizontalSeparator.Designer.cs rename to FizzyLauncher.UI/RyzStudio/Windows/Forms/THorizontalSeparator.Designer.cs diff --git a/RyzStudio/Windows/Forms/THorizontalSeparator.cs b/FizzyLauncher.UI/RyzStudio/Windows/Forms/THorizontalSeparator.cs similarity index 100% rename from RyzStudio/Windows/Forms/THorizontalSeparator.cs rename to FizzyLauncher.UI/RyzStudio/Windows/Forms/THorizontalSeparator.cs diff --git a/RyzStudio/Windows/Forms/TImageBox.cs b/FizzyLauncher.UI/RyzStudio/Windows/Forms/TImageBox.cs similarity index 100% rename from RyzStudio/Windows/Forms/TImageBox.cs rename to FizzyLauncher.UI/RyzStudio/Windows/Forms/TImageBox.cs diff --git a/Windows/Forms/AUserControl.cs b/FizzyLauncher.UI/RyzStudio/Windows/Forms/TUserControl.cs similarity index 95% rename from Windows/Forms/AUserControl.cs rename to FizzyLauncher.UI/RyzStudio/Windows/Forms/TUserControl.cs index fef5b7a..8bb38d6 100644 --- a/Windows/Forms/AUserControl.cs +++ b/FizzyLauncher.UI/RyzStudio/Windows/Forms/TUserControl.cs @@ -2,12 +2,12 @@ using System.Drawing; using System.Windows.Forms; -namespace AppLauncher.Windows.Forms +namespace RyzStudio.Windows.Forms { - public class AUserControl : UserControl + public class TUserControl : System.Windows.Forms.UserControl { - public AUserControl() : base() + public TUserControl() : base() { } @@ -36,7 +36,6 @@ namespace AppLauncher.Windows.Forms [Browsable(false)] public new bool UseWaitCursor { get => base.UseWaitCursor; set => base.UseWaitCursor = value; } - [Browsable(false)] public override bool AllowDrop { get => base.AllowDrop; set => base.AllowDrop = value; } @@ -49,7 +48,6 @@ namespace AppLauncher.Windows.Forms [Browsable(false)] public new ImeMode ImeMode { get => base.ImeMode; set => base.ImeMode = value; } - [Browsable(false)] public override bool AutoScroll { get => base.AutoScroll; set => base.AutoScroll = value; } diff --git a/RyzStudio/Windows/Forms/ThreadControl.cs b/FizzyLauncher.UI/RyzStudio/Windows/Forms/ThreadControl.cs similarity index 100% rename from RyzStudio/Windows/Forms/ThreadControl.cs rename to FizzyLauncher.UI/RyzStudio/Windows/Forms/ThreadControl.cs diff --git a/RyzStudio/Windows/ThemedForms/BorderlessForm.Designer.cs b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/BorderlessForm.Designer.cs similarity index 100% rename from RyzStudio/Windows/ThemedForms/BorderlessForm.Designer.cs rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/BorderlessForm.Designer.cs diff --git a/RyzStudio/Windows/ThemedForms/BorderlessForm.cs b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/BorderlessForm.cs similarity index 100% rename from RyzStudio/Windows/ThemedForms/BorderlessForm.cs rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/BorderlessForm.cs diff --git a/RyzStudio/Windows/ThemedForms/BorderlessForm.resx b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/BorderlessForm.resx similarity index 100% rename from RyzStudio/Windows/ThemedForms/BorderlessForm.resx rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/BorderlessForm.resx diff --git a/RyzStudio/Windows/ThemedForms/BorderlessToolForm.Designer.cs b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/BorderlessToolForm.Designer.cs similarity index 100% rename from RyzStudio/Windows/ThemedForms/BorderlessToolForm.Designer.cs rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/BorderlessToolForm.Designer.cs diff --git a/RyzStudio/Windows/ThemedForms/BorderlessToolForm.cs b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/BorderlessToolForm.cs similarity index 100% rename from RyzStudio/Windows/ThemedForms/BorderlessToolForm.cs rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/BorderlessToolForm.cs diff --git a/RyzStudio/Windows/ThemedForms/BorderlessToolForm.resx b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/BorderlessToolForm.resx similarity index 100% rename from RyzStudio/Windows/ThemedForms/BorderlessToolForm.resx rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/BorderlessToolForm.resx diff --git a/RyzStudio/Windows/ThemedForms/TButton.cs b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TButton.cs similarity index 100% rename from RyzStudio/Windows/ThemedForms/TButton.cs rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TButton.cs diff --git a/RyzStudio/Windows/ThemedForms/TButton.designer.cs b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TButton.designer.cs similarity index 100% rename from RyzStudio/Windows/ThemedForms/TButton.designer.cs rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TButton.designer.cs diff --git a/RyzStudio/Windows/ThemedForms/TButton.resx b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TButton.resx similarity index 100% rename from RyzStudio/Windows/ThemedForms/TButton.resx rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TButton.resx diff --git a/RyzStudio/Windows/ThemedForms/TButtonTextBox.cs b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TButtonTextBox.cs similarity index 100% rename from RyzStudio/Windows/ThemedForms/TButtonTextBox.cs rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TButtonTextBox.cs diff --git a/RyzStudio/Windows/ThemedForms/TButtonTextBox.designer.cs b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TButtonTextBox.designer.cs similarity index 100% rename from RyzStudio/Windows/ThemedForms/TButtonTextBox.designer.cs rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TButtonTextBox.designer.cs diff --git a/RyzStudio/Windows/ThemedForms/TButtonTextBox.resx b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TButtonTextBox.resx similarity index 100% rename from RyzStudio/Windows/ThemedForms/TButtonTextBox.resx rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TButtonTextBox.resx diff --git a/RyzStudio/Windows/ThemedForms/TDialogForm.Designer.cs b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TDialogForm.Designer.cs similarity index 95% rename from RyzStudio/Windows/ThemedForms/TDialogForm.Designer.cs rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TDialogForm.Designer.cs index a2f2043..5ee7579 100644 --- a/RyzStudio/Windows/ThemedForms/TDialogForm.Designer.cs +++ b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TDialogForm.Designer.cs @@ -50,12 +50,12 @@ this.imgbxClose.BackColor = System.Drawing.Color.Transparent; this.imgbxClose.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; this.imgbxClose.ErrorImage = null; - this.imgbxClose.ImageHover = global::AppLauncher.Resource1.close2_16; + this.imgbxClose.ImageHover = global::AppLauncher.Properties.Resources16.close2; this.imgbxClose.Image = null; this.imgbxClose.InitialImage = null; this.imgbxClose.Location = new System.Drawing.Point(308, 4); this.imgbxClose.Name = "imgbxClose"; - this.imgbxClose.ImageNormal = global::AppLauncher.Resource1.close_16; + this.imgbxClose.ImageNormal = global::AppLauncher.Properties.Resources16.close; this.imgbxClose.Size = new System.Drawing.Size(24, 24); this.imgbxClose.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; this.imgbxClose.TabIndex = 145; diff --git a/RyzStudio/Windows/ThemedForms/TDialogForm.cs b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TDialogForm.cs similarity index 94% rename from RyzStudio/Windows/ThemedForms/TDialogForm.cs rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TDialogForm.cs index f6d451e..d85c999 100644 --- a/RyzStudio/Windows/ThemedForms/TDialogForm.cs +++ b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TDialogForm.cs @@ -3,15 +3,15 @@ using System; using System.ComponentModel; using System.Drawing; - using System.Drawing.Design; using System.Windows.Forms; - using Resources = AppLauncher.Properties.Resources; public partial class TDialogForm : System.Windows.Forms.Form { - //protected readonly Color borderColour = Color.FromArgb(232, 231, 236); protected readonly Color borderColour = Color.FromArgb(77, 84, 100); protected readonly int borderWidth = 1; + + protected readonly Color backColour = Color.FromArgb(254, 254, 254); + protected readonly Color titleBarColour = Color.FromArgb(152, 175, 206); protected readonly Color titleBarForeColour = Color.White; protected readonly Font titleBarFont = new Font("Segoe UI", 8.25F, FontStyle.Bold, GraphicsUnit.Point, 0); @@ -31,6 +31,9 @@ this.TopMost = true; imgbxClose.Click += pictureBox3_Click; + + this.BackColor = backColour; + this.Padding = new Padding(0); } protected override void OnClosing(CancelEventArgs e) @@ -101,7 +104,7 @@ } [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override Color BackColor { get => base.BackColor; set => base.BackColor = Color.FromArgb(254, 254, 254); } + public override Color BackColor { get => base.BackColor; set => base.BackColor = value; } [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] public new FormBorderStyle FormBorderStyle { get => base.FormBorderStyle; set => base.FormBorderStyle = value; } diff --git a/RyzStudio/Windows/ThemedForms/TDialogForm.resx b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TDialogForm.resx similarity index 100% rename from RyzStudio/Windows/ThemedForms/TDialogForm.resx rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TDialogForm.resx diff --git a/RyzStudio/Windows/ThemedForms/TFolderTextBox.cs b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TFolderTextBox.cs similarity index 87% rename from RyzStudio/Windows/ThemedForms/TFolderTextBox.cs rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TFolderTextBox.cs index 1327b26..0c2b9ae 100644 --- a/RyzStudio/Windows/ThemedForms/TFolderTextBox.cs +++ b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TFolderTextBox.cs @@ -1,6 +1,7 @@ using System; using System.IO; using System.Windows.Forms; +using Resources = AppLauncher.Properties.Resources16; namespace RyzStudio.Windows.ThemedForms { @@ -8,8 +9,8 @@ namespace RyzStudio.Windows.ThemedForms { public TFolderTextBox() : base() { - this.NormalImage = AppLauncher.Resource1.folder; - this.HighlightImage = AppLauncher.Resource1.folder2; + this.NormalImage = Resources.folder; + this.HighlightImage = Resources.folder2; this.Text = string.Empty; } diff --git a/RyzStudio/Windows/ThemedForms/TListBox.cs b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TListBox.cs similarity index 100% rename from RyzStudio/Windows/ThemedForms/TListBox.cs rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TListBox.cs diff --git a/RyzStudio/Windows/ThemedForms/TListBox.designer.cs b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TListBox.designer.cs similarity index 87% rename from RyzStudio/Windows/ThemedForms/TListBox.designer.cs rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TListBox.designer.cs index 758ed83..81bff0f 100644 --- a/RyzStudio/Windows/ThemedForms/TListBox.designer.cs +++ b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TListBox.designer.cs @@ -60,12 +60,12 @@ this.imageBox5.BackColor = System.Drawing.Color.Transparent; this.imageBox5.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; this.imageBox5.ErrorImage = null; - this.imageBox5.ImageHover = global::AppLauncher.Resource1.edit2; - this.imageBox5.Image = global::AppLauncher.Resource1.edit; + this.imageBox5.ImageHover = global::AppLauncher.Properties.Resources16.edit2; + this.imageBox5.Image = global::AppLauncher.Properties.Resources16.edit; this.imageBox5.InitialImage = null; this.imageBox5.Location = new System.Drawing.Point(52, 94); this.imageBox5.Name = "imageBox5"; - this.imageBox5.ImageNormal = global::AppLauncher.Resource1.edit; + this.imageBox5.ImageNormal = global::AppLauncher.Properties.Resources16.edit; this.imageBox5.Size = new System.Drawing.Size(18, 25); this.imageBox5.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; this.imageBox5.TabIndex = 6; @@ -79,12 +79,12 @@ this.imageBox4.BackColor = System.Drawing.Color.Transparent; this.imageBox4.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; this.imageBox4.ErrorImage = null; - this.imageBox4.ImageHover = global::AppLauncher.Resource1.arrow_down2; - this.imageBox4.Image = global::AppLauncher.Resource1.arrow_down; + this.imageBox4.ImageHover = global::AppLauncher.Properties.Resources16.arrow_down2; + this.imageBox4.Image = global::AppLauncher.Properties.Resources16.arrow_down; this.imageBox4.InitialImage = null; this.imageBox4.Location = new System.Drawing.Point(100, 94); this.imageBox4.Name = "imageBox4"; - this.imageBox4.ImageNormal = global::AppLauncher.Resource1.arrow_down; + this.imageBox4.ImageNormal = global::AppLauncher.Properties.Resources16.arrow_down; this.imageBox4.Size = new System.Drawing.Size(18, 25); this.imageBox4.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; this.imageBox4.TabIndex = 5; @@ -98,12 +98,12 @@ this.imageBox3.BackColor = System.Drawing.Color.Transparent; this.imageBox3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; this.imageBox3.ErrorImage = null; - this.imageBox3.ImageHover = global::AppLauncher.Resource1.arrow_up2; - this.imageBox3.Image = global::AppLauncher.Resource1.arrow_up; + this.imageBox3.ImageHover = global::AppLauncher.Properties.Resources16.arrow_up2; + this.imageBox3.Image = global::AppLauncher.Properties.Resources16.arrow_up; this.imageBox3.InitialImage = null; this.imageBox3.Location = new System.Drawing.Point(76, 94); this.imageBox3.Name = "imageBox3"; - this.imageBox3.ImageNormal = global::AppLauncher.Resource1.arrow_up; + this.imageBox3.ImageNormal = global::AppLauncher.Properties.Resources16.arrow_up; this.imageBox3.Size = new System.Drawing.Size(18, 25); this.imageBox3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; this.imageBox3.TabIndex = 4; @@ -117,12 +117,12 @@ this.imageBox2.BackColor = System.Drawing.Color.Transparent; this.imageBox2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; this.imageBox2.ErrorImage = null; - this.imageBox2.ImageHover = global::AppLauncher.Resource1.minus2; - this.imageBox2.Image = global::AppLauncher.Resource1.minus; + this.imageBox2.ImageHover = global::AppLauncher.Properties.Resources16.minus2; + this.imageBox2.Image = global::AppLauncher.Properties.Resources16.minus; this.imageBox2.InitialImage = null; this.imageBox2.Location = new System.Drawing.Point(28, 94); this.imageBox2.Name = "imageBox2"; - this.imageBox2.ImageNormal = global::AppLauncher.Resource1.minus; + this.imageBox2.ImageNormal = global::AppLauncher.Properties.Resources16.minus; this.imageBox2.Size = new System.Drawing.Size(18, 25); this.imageBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; this.imageBox2.TabIndex = 3; @@ -136,12 +136,12 @@ this.imageBox1.BackColor = System.Drawing.Color.Transparent; this.imageBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; this.imageBox1.ErrorImage = null; - this.imageBox1.ImageHover = global::AppLauncher.Resource1.plus2; - this.imageBox1.Image = global::AppLauncher.Resource1.plus; + this.imageBox1.ImageHover = global::AppLauncher.Properties.Resources16.plus2; + this.imageBox1.Image = global::AppLauncher.Properties.Resources16.plus; this.imageBox1.InitialImage = null; this.imageBox1.Location = new System.Drawing.Point(4, 94); this.imageBox1.Name = "imageBox1"; - this.imageBox1.ImageNormal = global::AppLauncher.Resource1.plus; + this.imageBox1.ImageNormal = global::AppLauncher.Properties.Resources16.plus; this.imageBox1.Size = new System.Drawing.Size(18, 25); this.imageBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; this.imageBox1.TabIndex = 2; diff --git a/RyzStudio/Windows/ThemedForms/TListBox.resx b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TListBox.resx similarity index 100% rename from RyzStudio/Windows/ThemedForms/TListBox.resx rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TListBox.resx diff --git a/RyzStudio/Windows/ThemedForms/TOpenFileTextBox.cs b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TOpenFileTextBox.cs similarity index 87% rename from RyzStudio/Windows/ThemedForms/TOpenFileTextBox.cs rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TOpenFileTextBox.cs index 12bfa8b..16a0d11 100644 --- a/RyzStudio/Windows/ThemedForms/TOpenFileTextBox.cs +++ b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TOpenFileTextBox.cs @@ -1,6 +1,7 @@ using System; using System.IO; using System.Windows.Forms; +using Resources = AppLauncher.Properties.Resources16; namespace RyzStudio.Windows.ThemedForms { @@ -8,8 +9,8 @@ namespace RyzStudio.Windows.ThemedForms { public TOpenFileTextBox() : base() { - this.NormalImage = AppLauncher.Resource1.file; - this.HighlightImage = AppLauncher.Resource1.file2; + this.NormalImage = Resources.file; + this.HighlightImage = Resources.file2; this.Text = string.Empty; } diff --git a/RyzStudio/Windows/ThemedForms/TPickerBox.cs b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TPickerBox.cs similarity index 100% rename from RyzStudio/Windows/ThemedForms/TPickerBox.cs rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TPickerBox.cs diff --git a/RyzStudio/Windows/ThemedForms/TPickerBox.designer.cs b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TPickerBox.designer.cs similarity index 100% rename from RyzStudio/Windows/ThemedForms/TPickerBox.designer.cs rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TPickerBox.designer.cs diff --git a/RyzStudio/Windows/ThemedForms/TPickerBox.resx b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TPickerBox.resx similarity index 100% rename from RyzStudio/Windows/ThemedForms/TPickerBox.resx rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TPickerBox.resx diff --git a/RyzStudio/Windows/ThemedForms/TTextBox.cs b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TTextBox.cs similarity index 100% rename from RyzStudio/Windows/ThemedForms/TTextBox.cs rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TTextBox.cs diff --git a/RyzStudio/Windows/ThemedForms/TTextBox.designer.cs b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TTextBox.designer.cs similarity index 100% rename from RyzStudio/Windows/ThemedForms/TTextBox.designer.cs rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TTextBox.designer.cs diff --git a/RyzStudio/Windows/ThemedForms/TTextBox.resx b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TTextBox.resx similarity index 100% rename from RyzStudio/Windows/ThemedForms/TTextBox.resx rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TTextBox.resx diff --git a/RyzStudio/Windows/ThemedForms/TUserControl.cs b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TUserControl.cs similarity index 100% rename from RyzStudio/Windows/ThemedForms/TUserControl.cs rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TUserControl.cs diff --git a/RyzStudio/Windows/ThemedForms/TUserControl.designer.cs b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TUserControl.designer.cs similarity index 100% rename from RyzStudio/Windows/ThemedForms/TUserControl.designer.cs rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TUserControl.designer.cs diff --git a/RyzStudio/Windows/ThemedForms/TYesNoPickerBox.cs b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TYesNoPickerBox.cs similarity index 100% rename from RyzStudio/Windows/ThemedForms/TYesNoPickerBox.cs rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TYesNoPickerBox.cs diff --git a/FizzyLauncher.csproj b/FizzyLauncher.csproj index f39eacc..0ccca88 100644 --- a/FizzyLauncher.csproj +++ b/FizzyLauncher.csproj @@ -73,76 +73,6 @@ True Resources.resx - - True - True - Resource1.resx - - - - Component - - - UserControl - - - THorizontalSeparator.cs - - - - Component - - - UserControl - - - TButton.cs - - - Form - - - TDialogForm.cs - - - UserControl - - - TListBox.cs - - - UserControl - - - UserControl - - - UserControl - - - TPickerBox.cs - - - UserControl - - - TTextBox.cs - - - UserControl - - - TButtonTextBox.cs - - - UserControl - - - TUserControl.cs - - - UserControl - Form @@ -161,12 +91,6 @@ Form - - Form - - - UserControl - UserControl @@ -186,31 +110,6 @@ ResXFileCodeGenerator Resources.Designer.cs - - ResXFileCodeGenerator - Resource1.Designer.cs - - - TButton.cs - - - TDialogForm.cs - - - TListBox.cs - - - TPickerBox.cs - - - TTextBox.cs - - - TButtonTextBox.cs - - - AForm.cs - AddTileForm.cs @@ -260,7 +159,14 @@ - + + + + {d9a49347-583f-41b4-afe1-63ec80bbdb38} + FizzyLauncher.UI + + + \ No newline at end of file diff --git a/MainForm.Designer.cs b/MainForm.Designer.cs index e535976..8a17426 100644 --- a/MainForm.Designer.cs +++ b/MainForm.Designer.cs @@ -47,35 +47,18 @@ this.optionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); 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.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); - ((System.ComponentModel.ISupportInitialize)(this.imageBox3)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.imageBox2)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.imageBox1)).BeginInit(); + 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.contextMenuStrip1.SuspendLayout(); + this.contextMenuStrip2.SuspendLayout(); this.SuspendLayout(); // - // imageBox3 - // - this.imageBox3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.imageBox3.Image = ((System.Drawing.Image)(resources.GetObject("imageBox3.Image"))); - this.imageBox3.Location = new System.Drawing.Point(-71, 18); - // - // imageBox2 - // - this.imageBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.imageBox2.Image = ((System.Drawing.Image)(resources.GetObject("imageBox2.Image"))); - this.imageBox2.Location = new System.Drawing.Point(-99, 18); - // - // imageBox1 - // - this.imageBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.imageBox1.Image = ((System.Drawing.Image)(resources.GetObject("imageBox1.Image"))); - this.imageBox1.Location = new System.Drawing.Point(-127, 18); - // // contextMenuStrip1 // this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { @@ -84,7 +67,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 @@ -100,7 +83,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 @@ -165,7 +148,7 @@ this.toolStripMenuItem3.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { 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"; // // toolStripMenuItem1 @@ -180,7 +163,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 @@ -197,20 +180,25 @@ 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 // this.viewHelpToolStripMenuItem.Name = "viewHelpToolStripMenuItem"; - this.viewHelpToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.viewHelpToolStripMenuItem.Size = new System.Drawing.Size(127, 22); this.viewHelpToolStripMenuItem.Text = "&View Help"; this.viewHelpToolStripMenuItem.Click += new System.EventHandler(this.viewHelpToolStripMenuItem_Click); // + // toolStripSeparator1 + // + this.toolStripSeparator1.Name = "toolStripSeparator1"; + this.toolStripSeparator1.Size = new System.Drawing.Size(124, 6); + // // aboutToolStripMenuItem // this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; - this.aboutToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.aboutToolStripMenuItem.Size = new System.Drawing.Size(127, 22); this.aboutToolStripMenuItem.Text = "&About"; this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click); // @@ -239,10 +227,27 @@ this.openFileDialog1.Filter = "Session files|*.jsonfig"; this.openFileDialog1.Title = "Choose session file"; // - // toolStripSeparator1 + // notifyIcon1 // - this.toolStripSeparator1.Name = "toolStripSeparator1"; - this.toolStripSeparator1.Size = new System.Drawing.Size(177, 6); + this.notifyIcon1.ContextMenuStrip = this.contextMenuStrip2; + this.notifyIcon1.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon1.Icon"))); + this.notifyIcon1.Text = "notifyIcon1"; + this.notifyIcon1.Visible = true; + this.notifyIcon1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.notifyIcon1_MouseClick); + // + // contextMenuStrip2 + // + this.contextMenuStrip2.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.exitToolStripMenuItem1}); + this.contextMenuStrip2.Name = "contextMenuStrip2"; + this.contextMenuStrip2.Size = new System.Drawing.Size(181, 48); + // + // exitToolStripMenuItem1 + // + this.exitToolStripMenuItem1.Name = "exitToolStripMenuItem1"; + this.exitToolStripMenuItem1.Size = new System.Drawing.Size(180, 22); + this.exitToolStripMenuItem1.Text = "E&xit"; + this.exitToolStripMenuItem1.Click += new System.EventHandler(this.exitToolStripMenuItem1_Click); // // MainForm // @@ -252,20 +257,13 @@ this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None; this.ClientSize = new System.Drawing.Size(633, 400); this.Controls.Add(this.flowLayoutPanel1); - this.DoubleBuffered = true; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MinimumSize = new System.Drawing.Size(633, 280); this.Name = "MainForm"; this.Text = "Launcher"; this.TitleContextMenuStrip = this.contextMenuStrip1; - this.Controls.SetChildIndex(this.flowLayoutPanel1, 0); - this.Controls.SetChildIndex(this.imageBox3, 0); - this.Controls.SetChildIndex(this.imageBox2, 0); - this.Controls.SetChildIndex(this.imageBox1, 0); - ((System.ComponentModel.ISupportInitialize)(this.imageBox3)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.imageBox2)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.imageBox1)).EndInit(); this.contextMenuStrip1.ResumeLayout(false); + this.contextMenuStrip2.ResumeLayout(false); this.ResumeLayout(false); } @@ -293,6 +291,9 @@ private System.Windows.Forms.ToolStripMenuItem viewHelpToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem; private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; + private System.Windows.Forms.NotifyIcon notifyIcon1; + private System.Windows.Forms.ContextMenuStrip contextMenuStrip2; + private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem1; } } diff --git a/MainForm.cs b/MainForm.cs index da19af2..01a34f2 100644 --- a/MainForm.cs +++ b/MainForm.cs @@ -13,7 +13,7 @@ using System.Windows.Forms; namespace AppLauncher { - public partial class MainForm : AForm + public partial class MainForm : TForm { [DllImport("user32.dll")] protected static extern bool RegisterHotKey(IntPtr hWnd, int id, int fsModifiers, int vk); @@ -29,12 +29,19 @@ namespace AppLauncher protected OptionsForm optionsForm = null; protected string sessionFilename = null; + protected bool requestExit = false; public MainForm() : base() { InitializeComponent(); + notifyIcon1.Text = Application.ProductName; + this.StartPosition = FormStartPosition.WindowsDefaultBounds; + + appIcon = Properties.Resources.app_icon_32; + enableMaximiseMenu = false; + closeOnMinimise = true; } protected override void OnLoad(EventArgs e) @@ -66,6 +73,15 @@ namespace AppLauncher if (this.CurrentSession == null) this.CurrentSession = new LauncherSession(); + if (this.CurrentSession.HideOnClose && !requestExit) + { + this.Visible = !this.Visible; + e.Cancel = true; + return; + } + + requestExit = false; + if (string.IsNullOrWhiteSpace(sessionFilename)) { // do nothing @@ -125,11 +141,6 @@ namespace AppLauncher public LauncherSession CurrentSession { get; set; } = null; - /// - /// New - /// - /// - /// private void toolStripMenuItem5_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(sessionFilename)) @@ -162,11 +173,6 @@ namespace AppLauncher } } - /// - /// Open - /// - /// - /// private async void toolStripMenuItem7_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(sessionFilename)) @@ -204,11 +210,6 @@ namespace AppLauncher } } - /// - /// Close - /// - /// - /// private void toolStripMenuItem8_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(sessionFilename)) @@ -241,11 +242,6 @@ namespace AppLauncher } } - /// - /// Save - /// - /// - /// private void toolStripMenuItem6_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(sessionFilename)) @@ -258,26 +254,15 @@ namespace AppLauncher } } - /// - /// Save As - /// - /// - /// private void toolStripMenuItem2_Click(object sender, EventArgs e) => saveAsFile(); - /// - /// Always On Top - /// - /// - /// private void toolStripMenuItem1_Click(object sender, EventArgs e) => this.TopMost = !this.TopMost; - /// - /// Exit - /// - /// - /// - private void exitToolStripMenuItem_Click(object sender, EventArgs e) => this.Close(); + private void exitToolStripMenuItem_Click(object sender, EventArgs e) + { + requestExit = true; + this.Close(); + } private void optionToolStripMenuItem_Click(object sender, EventArgs e) { @@ -287,28 +272,6 @@ namespace AppLauncher invalidateHotKey(); } - protected override void imageBox3_MouseClick(object sender, MouseEventArgs e) - { - if (e.Button == MouseButtons.Left) - { - if (this.CurrentSession == null) - { - this.Close(); - } - else - { - if (this.CurrentSession.HideOnClose) - { - this.Visible = !this.Visible; - } - else - { - this.Close(); - } - } - } - } - protected async Task collapseWindow(int width, int increment = 6) { await Task.Run(() => @@ -576,5 +539,19 @@ namespace AppLauncher private void aboutToolStripMenuItem_Click(object sender, EventArgs e) => MessageBox.Show(Application.ProductName + " v" + Application.ProductVersion, "About", MessageBoxButtons.OK, MessageBoxIcon.Information); + private void notifyIcon1_MouseClick(object sender, MouseEventArgs e) + { + if (e.Button == MouseButtons.Left) + { + this.Visible = !this.Visible; + } + } + + private void exitToolStripMenuItem1_Click(object sender, EventArgs e) + { + requestExit = true; + this.Close(); + } + } } diff --git a/MainForm.resx b/MainForm.resx index 98f90b3..12b1ad5 100644 --- a/MainForm.resx +++ b/MainForm.resx @@ -117,36 +117,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAD9SURBVDhP1ZVN - CsIwEIWz0hMoehX1fv4s3Ui1ScTlpHXpBdyJKwsKuq7XqJl0HLREobEbHzx4mUk+WhqmYj7ftVc6mcXa - 3GNliiCXZ6cA0BIO5tsU5ol4PtlSmYEIVLxOhwTMBYWCesFizv8CbW1vfVxstl0qCcxYwx6VWMhAfwRK - BYeyBxmCShhkWMMebWMxh0NFSkFnpcypBJhrrJIz5YvW0KNtLOZw8MhBJTiQszQ3HwzFHA4eVYFSwi2K - 0j6138QcDhV9e2UflDkcKmr8o9has9emrv4J+BysdgRRr7bsdRoR0I2vKS1+ttTJ2P0C7AKh+WuzpvHs - BABaDyfvLuW63njGAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAACTSURBVDhPY5g0 - aRv77PlruubMX/1szrzV/8nCEL2dq1atYmMAG4ZNEXm4gwHmslnzVlsxkAnmLFhrDTXwKQOU8R8qRzaA - m0MXA4H8wzBxPPgwVDkYwMTpYyA5YNTAUQPJAEPJQFjBCiyCoHIkg7lzV9lADQQXX51QDsV47vw17eAq - AMgBGfoUWZJEDNLbsWrVKjYA+HjZeiQ05EUAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAACTSURBVDhPY5g0 - aRv77PlruubMX/1szrzV/8nCEL2dq1atYmMAG4ZNEXm4gwHmslnzVlsxkAnmLFhrDTXwKQOU8R8qRzaA - mzNqINlg1MChZiCQfxgmjgcfhioHA5g4fQwkB9DQQFjBCiyCoHIkg7lzV9lADQQXX51QDsV47vw17eAq - AMgBGfoUWZJEDNLbsWrVKjYA+QjZeove9ZMAAAAASUVORK5CYII= - - 17, 17 @@ -156,6 +126,310 @@ 308, 17 + + 448, 17 + + + 561, 17 + + + + + AAABAAQAMDAAAAEAIACoJQAARgAAACAgAAABACAAqBAAAO4lAAAYGAAAAQAgAIgJAACWNgAAEBAAAAEA + IABoBAAAHkAAACgAAAAwAAAAYAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGxc + VU5rW1Tna1tU22paU5BsXVVCgEBABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAaltTZWtbVPxrW1T/a1tU/2tbVP9rW1T/a1tU7mtbU6VrXFNWbVtbDgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABqWlR/a1tU/2tbVP9rW1T/a1tU/2tbVP9rW1T/a1tU/2tbVP9rW1T/a1tU+Wta + VLprW1Nrb15VHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAVVVVA2tbVJhrW1T/a1tU/2tbVP+NgXz/2NPR/6+mov+Bc23/a1tU/2tb + VP9rW1T/a1tU/2tbVP9rW1T/a1tU/2tbVc1sXFSAa1xSMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtSUkHa1xUqmtbVP9rW1T/a1tU/5iNiP/6+fn///////// + ////////6+no/7+4tf+Sh4L/bV5X/2tbVP9rW1T/a1tU/2tbVP9rW1T/a1tU/2tbVOFrXFOZallTTW1J + SQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGlaWhFqW1TCa1tU/2tbVP9rW1T/o5mV//38 + /P//////////////////////////////////////9PPy/8jDwP+cko3/c2Nd/2tbVP9rW1T/a1tU/2tb + VP9rW1T/a1tU/2tbVPVrW1SzalxUXmlaWhEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAalhYHWtbVNRrW1T/a1tU/2tb + VP+1rar/////////////////////////////////////////////////////////////////+vn5/9LN + y/+lm5f/eGpj/2tbVP9rW1T/a1tU/2tbVP9rW1T/a1tU/2tbVPtrWlS9bFxVb2xdVSEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrWVMra1tU42tb + VP9rW1T/bV1W/8S9u/////////////////////////////////////////////////////////////// + /////////////////////////v7+/97a2f+xqKT/g3Zw/2tbVP9rW1T/a1tU/2tbVP9rW1T/a1tU/2tb + VP5qW1V4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGpZ + VTxrW1Tua1tU/2tbVP9wYVr/0czK//////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////+ro5/+8tbL/j4N+/21d + Vv9rW1T/a1tU/2tbVP9rW1TpAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAbFxTUGtbVPZrW1T/a1tU/3VnYP/d2df///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////Tz8v/Iw8D/dmdh/2tbVP9rW1T/blpTJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABsXFRha1tU+2tbVP9rW1T/emxl/+Th4P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////m5CL/2tbVP9rW1T/a1tTXwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAGtaVHdrW1T/a1tU/2tbVP+DdnD/7uzs/////////////Pvw//z6 + 7v/8+u7//Pru//z67v/8+u7//Pru//z67v/9/PT///////////////////////z4+f/79fX/+/X1//v1 + 9f/79fX/+/X1//v19f/79fX//Pb2////////////////////////////vLWy/2tbVP9rW1T/a1xTmQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVVVUDa1tUmGtbVP9rW1T/a1tU/4t/ev/08/L///////// + ///cyT7/0bcA/9G3AP/RtwD/0bcA/9G3AP/RtwD/0bcA/9G3AP/RtwD/6Nt+////////////4bG1/8Rl + bP/EZWz/xGVs/8RlbP/EZWz/xGVs/8RlbP/EZWz/xGVs/9KKkP//////////////////////3tvZ/2tb + VP9rW1T/a1tU1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1JSQdrW1Sra1tU/2tbVP9rW1T/mY6J//r5 + +f////////////389f/RtwD/0bcA/9G3AP/RtwD/0bcA/9G3AP/RtwD/0bcA/9G3AP/RtwD/28Y1//// + ////////0IWL/8RlbP/EZWz/xGVs/8RlbP/EZWz/xGVs/8RlbP/EZWz/xGVs/8RlbP/9+fn///////// + /////////Pz8/3BhWv9rW1T/a1tU/nFVVRIAAAAAAAAAAAAAAAAAAAAAaVpaEWtcVMNrW1T/a1tU/2tb + VP+kmpb//fz8//////////////////389P/RtwD/0bcA/+TVbP/w56r/8Oeq//Dnqv/w56r/8Oeq/93K + Qv/RtwD/28Y1////////////0IWL/8RlbP/TjZL/68zO/+vMzv/rzM7/68zO/+vMzv/dpqr/xGVs/8Rl + bP/8+Pn//////////////////////46CfP9rW1T/a1tU/2xbVEkAAAAAAAAAAAAAAABsWFgaa1xU0Wtb + VP9rW1T/a1tU/7CopP////////////////////////////389P/RtwD/0bcA/+7lov////////////// + /////////////+PTY//RtwD/28Y1////////////0IWL/8RlbP/boaX///////////////////////// + ///px8n/xGVs/8RlbP/8+Pn//////////////////////7CopP9rW1T/a1tU/2tbVIMAAAAAAAAAAAAA + AABqXFTOa1tU/2tbVP9tXlf/xr+9//////////////////////////////////389P/RtwD/0bcA/+7l + ov///////////////////////////+PTY//RtwD/28Y1////////////0IWL/8RlbP/boaX///////// + ///////////////////px8n/xGVs/8RlbP/8+Pn//////////////////////9LNy/9rW1T/a1tU/2tb + VL8AAAAAAAAAAAAAAABrW1Tva1tU/2tbVP/KxML///////////////////////////////////////38 + 9P/RtwD/0bcA/+7lov///////////////////////////+PTY//RtwD/28Y1////////////0IWL/8Rl + bP/boaX////////////////////////////px8n/xGVs/8RlbP/8+Pn///////////////////////Py + 8v9sXFX/a1tU/2tbVPRmZmYFAAAAAAAAAABrW1W4a1tU/2tbVP/Oycf///////////////////////// + //////////////389P/RtwD/0bcA/+7lov///////////////////////////+PTY//RtwD/28Y1//// + ////////0IWL/8RlbP/boaX////////////////////////////px8n/xGVs/8RlbP/8+Pn///////// + //////////////////+CdG7/a1tU/2tbVP9sXVM0AAAAAAAAAABqWlR/a1tU/2tbVP+tpKD///////// + //////////////////////////////389P/RtwD/0bcA/+7lov///////////////////////////+PT + Y//RtwD/28Y1////////////0IWL/8RlbP/boaX////////////////////////////px8n/xGVs/8Rl + bP/8+Pn///////////////////////////+jmZX/a1tU/2tbVP9rWlNuAAAAAAAAAABtWlNEa1tU/2tb + VP+Lfnn///////////////////////////////////////389P/RtwD/0bcA/93JQf/j1Gb/49Rm/+PU + Zv/j1Gb/49Rm/9jCJ//RtwD/28Y1////////////0IWL/8RlbP/NfYL/3KOn/9yjp//co6f/3KOn/9yj + p//TjJH/xGVs/8RlbP/8+Pn////////////////////////////Fv7z/a1tU/2tbVP9qW1OoAAAAAAAA + AABqVVUMa1tU+2tbVP9uXlf/+fn4//////////////////////////////////389P/RtwD/0bcA/9G3 + AP/RtwD/0bcA/9G3AP/RtwD/0bcA/9G3AP/RtwD/28c5////////////0IWL/8RlbP/EZWz/xGVs/8Rl + bP/EZWz/xGVs/8RlbP/EZWz/xGVs/8Rmbf/9+vr////////////////////////////n5eT/a1tU/2tb + VP9rW1TkAAAAAAAAAAAAAAAAa1tUz2tbVP9rW1T/3NjW//////////////////////////////////38 + 9v/axTP/2sUz/9rFM//axTP/2sUz/9rFM//axTP/2sUz/9rFM//bxzj/8Ois////////////2p2i/9CE + if/QhIn/0ISJ/9CEif/QhIn/0ISJ/9CEif/QhIn/0ISJ/+GwtP////////////////////////////// + ///+/v7/dWdg/2tbVP9rW1T/alhYHQAAAAAAAAAAa1tUlGtbVP9rW1T/ubKv//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////l4uG/2tbVP9rW1T/a1pUWAAAAAAAAAAAbFtVWmtbVP9rW1T/mI2I//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////uLGt/2tbVP9rW1T/a1tUkgAAAAAAAAAAa1pSH2tb + VP9rW1T/dmdh//7+/v////////////////////////////////+rnPH/fGTp/3xk6f98ZOn/fGTp/3xk + 6f98ZOn/fGTp/3xk6f9/aOr/ysD2////////////rOH9/zi4+v8ztvr/M7b6/zO2+v8ztvr/M7b6/zO2 + +v8ztvr/M7b6/33R/P//////////////////////////////////////2tbV/2tbVP9rW1T/a1tVzQAA + AAAAAAAAAAAAAGtbVONrW1T/a1tU/+jm5f////////////////////////////r5/v9cPuT/Wz3k/1s9 + 5P9bPeT/Wz3k/1s95P9bPeT/Wz3k/1s95P9bPeT/gGjq////////////Obj6/wCk+f8ApPn/AKT5/wCk + +f8ApPn/AKT5/wCk+f8ApPn/AKT5/wGk+f/3/P//////////////////////////////////+vn5/25f + WP9rW1T/a1tU/GpVVQwAAAAAAAAAAGtcVKprW1T/a1tU/8bAvf////////////////////////////j3 + /v9bPeT/Wz3k/4Vu6/+di+//nYvv/52L7/+di+//nYvv/3Rb6P9bPeT/fWXq////////////Nbf6/wCk + +f8nsvr/Zsj7/2bI+/9myPv/Zsj7/2bI+/9Bu/v/AKT5/wCk+f/0+/////////////////////////// + /////////////4p9eP9rW1T/a1tU/2xdVUIAAAAAAAAAAGtbVHBrW1T/a1tU/6Sblv////////////// + //////////////j3/v9bPeT/Wz3k/8O49f///////////////////////////5uI7v9bPeT/fWXq//// + ////////Nbf6/wCk+f9jx/v///////////////////////////+i3v3/AKT5/wCk+f/0+/////////// + /////////////////////////////6yjn/9rW1T/a1tU/2pcVH0AAAAAAAAAAGxdUzRrW1T/a1tU/4J0 + bv////////////////////////////j3/v9bPeT/Wz3k/8O49f///////////////////////////5uI + 7v9bPeT/fWXq////////////Nbf6/wCk+f9jx/v///////////////////////////+i3v3/AKT5/wCk + +f/0+////////////////////////////////////////87Jx/9rW1T/a1tU/2tbVbgAAAAAAAAAAGZm + ZgVrW1T0a1tU/2xcVf/z8vL///////////////////////j3/v9bPeT/Wz3k/8O49f////////////// + /////////////5uI7v9bPeT/fWXq////////////Nbf6/wCk+f9jx/v///////////////////////// + //+i3v3/AKT5/wCk+f/0+////////////////////////////////////////8rEwv9rW1T/a1tU/2tb + VO8AAAAAAAAAAAAAAABrW1S/a1tU/2tbVP/Szcv///////////////////////j3/v9bPeT/Wz3k/8O4 + 9f///////////////////////////5uI7v9bPeT/fWXq////////////Nbf6/wCk+f9jx/v///////// + //////////////////+i3v3/AKT5/wCk+f/0+///////////////////////////////////xr+9/21e + V/9rW1T/a1tU/2pcVM4AAAAAAAAAAAAAAABrWlSFa1tU/2tbVP+xqaX///////////////////////j3 + /v9bPeT/Wz3k/8O49f///////////////////////////5uI7v9bPeT/fWXq////////////Nbf6/wCk + +f9jx/v///////////////////////////+i3v3/AKT5/wCk+f/0+/////////////////////////// + //+6sq//bFxV/2tbVP9rW1T/a1tT1m9eVR4AAAAAAAAAAAAAAABpXFVLa1tU/2tbVP+Pg37///////// + //////////////j3/v9bPeT/Wz3k/6CP7//Ivvb/yL72/8i+9v/Ivvb/yL72/4Vv6/9bPeT/fWXq//// + ////////Nbf6/wCk+f9CvPv/quH9/6rh/f+q4f3/quH9/6rh/f9sy/z/AKT5/wCk+f/0+/////////// + /////////f39/6ifmv9rW1T/a1tU/2tbVP9rW1TIZllZFAAAAAAAAAAAAAAAAAAAAABpWloRa1tU/Wtb + VP9wYVr//Pv7//////////////////j3/v9bPeT/Wz3k/1s95P9bPeT/Wz3k/1s95P9bPeT/Wz3k/1s9 + 5P9bPeT/fWXq////////////Nbf6/wCk+f8ApPn/AKT5/wCk+f8ApPn/AKT5/wCk+f8ApPn/AKT5/wCk + +f/1+//////////////7+vr/nZKO/2tbVP9rW1T/a1tU/2tcVbJmZk0KAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAa1tT1mtbVP9rW1T/4Nzb//////////////////j3/v9bPeT/Wz3k/1s95P9bPeT/Wz3k/1s9 + 5P9bPeT/Wz3k/1s95P9bPeT/rJ3x////////////Nbf6/wCk+f8ApPn/AKT5/wCk+f8ApPn/AKT5/wCk + +f8ApPn/AKT5/z66+v////////////b19P+Pg37/a1tU/2tbVP9rW1T/a1tTn4BAQAQAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAa1pUm2tbVP9rW1T/vbaz//////////////////7+///08v3/9PL9//Ty + /f/08v3/9PL9//Ty/f/08v3/9PL9//Ty/f/49/7/////////////////8vr//+75///u+f//7vn//+75 + ///u+f//7vn//+75///u+f//8Pr/////////////8O/u/4Z5dP9rW1T/a1tU/2tbVP9rXFSIAAAAAQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbFxUYWtbVP9rW1T/nJGM//////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////n5eT/fG5o/2tbVP9rW1T/a1tU/Gta + VWkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAblpTJWtbVP9rW1T/dmdh/8jD + wP/08/L///////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////93Z1/91Z2D/a1tU/2tb + VP9rW1T2bFxTUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWtb + VOlrW1T/a1tU/2tbVP9tXVb/j4N+/7y1sv/q6Of///////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////0czK/3Bh + Wv9rW1T/a1tU/2tbVO5qWVU8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAGpbVXhrW1T+a1tU/2tbVP9rW1T/a1tU/2tbVP9rW1T/g3Zw/7GopP/e2tn//v7+//// + //////////////////////////////////////////////////////////////////////////////// + ///Evbv/bV1W/2tbVP9rW1T/a1tU42tZUysAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsXVUhbFxVb2taVL1rW1T7a1tU/2tbVP9rW1T/a1tU/2tb + VP9rW1T/eGpj/6Wbl//Szcv/+vn5//////////////////////////////////////////////////// + /////////////7Wtqv9rW1T/a1tU/2tbVP9rW1TUalhYHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpWloRbFpUVWtb + U6JrW1Twa1tU/2tbVP9rW1T/a1tU/2tbVP9rW1T/cGFa/5KHgv+/uLX/8O/u//////////////////// + ///////////////////9/f3/p56a/2tbVP9rW1T/a1tU/2pbVcdmWVkUAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABVVVUDallVPGtbVJFrW1Pia1tU/2tbVP9rW1T/a1tU/2tbVP9rW1T/bFxV/4l8 + dv+1ran/4d7d//////////////////v6+v+cko3/a1tU/2tbVP9rW1T/a1tUsXFVVQkAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa1xSMmxcVIBrW1XNa1tU/2tb + VP9rW1T/a1tU/2tbVP9rW1T/a1tU/4Fzbf+vpqL/2NPR/42BfP9rW1T/a1tU/2tbVP9rW1SYVVVVAwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAb15VHmtbU2trWlS6a1tU+WtbVP9rW1T/a1tU/2tbVP9rW1T/a1tU/2tbVP9rW1T/a1tU/2pa + VH8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbVtbDmtcU1ZrW1Ola1tU7mtbVP9rW1T/a1tU/2tb + VP9rW1T8altTZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgEBABGxd + VUJqWlOQa1tU22tbVOdsXFVOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//4H///+sEP//AD///6wQ//4AB///rBD/+AAA//+sEP/w + AAAP/6wQ/+AAAAH/rBD/wAAAAD+sEP+AAAAAH6wQ/wAAAAAPrBD+AAAAAA+sEPwAAAAAD6wQ+AAAAAAP + rBDgAAAAAA+sEMAAAAAAB6wQgAAAAAAHrBAAAAAAAAesEAAAAAAAB6wQAAAAAAADrBAAAAAAAAOsEAAA + AAAAA6wQAAAAAAADrBAAAAAAAAOsEIAAAAAAAawQgAAAAAABrBCAAAAAAAGsEIAAAAAAAawQwAAAAAAA + rBDAAAAAAACsEMAAAAAAAKwQwAAAAAAArBDAAAAAAACsEOAAAAAAAKwQ4AAAAAAArBDgAAAAAAGsEOAA + AAAAA6wQ8AAAAAAHrBDwAAAAAA+sEPAAAAAAP6wQ8AAAAAB/rBDwAAAAAP+sEPgAAAAB/6wQ/AAAAAP/ + rBD/gAAAB/+sEP/wAAAP/6wQ//8AAB//rBD//+AAf/+sEP///AD//6wQ////gf//rBAoAAAAIAAAAEAA + AAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABsXFRha1tU7GtbVcFqW1RzalxVJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAbFtVe2tbVP5rW1T/a1tU/2tbVP9rW1T/a1tT1mtcVIhrWVU5gICAAgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAVVVVA2xbVJVrW1T/bV5X/8K7uf/RzMr/pJqW/3hpY/9rW1T/a1tU/2tb + VP9rW1TpalxTnGxcVU5mZk0KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1JSQdrW1Spa1tU/29fWf/Oycf//////////////////v7+/+He + 3f+1ran/iXx2/2tbVP9rW1T/a1tU/2tbVPZqW1W7bFxVb2xYWBoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwYFAQbFxUwGtbVP91ZmD+3trZ//////////////////// + ////////////////////////6efm/7y0sf+Ogn3/bV1W/2tbVP9rW1T/a1tU/WtbVMZrWlR3ZlVVDwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaF5VG2tbVNJrW1T/fW9p/+fl5P////////////// + ///////////////////////////////////////////////////z8vL/x8G//5uQi/9xYlv/a1tU/2tb + VP9rW1SPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGpdVylrW1Tha1tU/4V4cv/w7u7///////// + //////////////////////////////////////////////////////////////////////////////r6 + +v/Evbv/a1tU/2xbVMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrXVM3a1tU62tbVP+MgHr/9PPy//// + //////////////////////////////////////////////////////////////////////////////// + //////////////v6+v9vX1n/a1tU+2pVVQwAAAAAAAAAAAAAAAAAAAAAallTTWtbVPVrW1T/mY6K//r5 + +f///v3/1r8d/9G3AP/RtwD/0bcA/9G3AP/RtwD/07oL//r34//57u//x2xy/8RlbP/EZWz/xGVs/8Rl + bP/EZWz/y3d9///+/v///////////4yAev9rW1T/alpSQQAAAAAAAAAAAAAAAGpaVWBrW1T7a1tU/6mg + nP/+/v7///////799//RtwD/2cMr/+PUZv/j1Gb/49Rm/9zIPP/RtwD/9vHM//Pg4v/EZWz/0omP/9yj + p//co6f/3KOn/85/hf/EZWz//fr6////////////rqai/2tbVP9sW1V7AAAAAAAAAABrW1R5a1tU/2xc + Vf+4sa3//////////////////v33/9G3AP/k1Wz/////////////////7OGW/9G3AP/28cz/8+Di/8Rl + bP/nwML/////////////////3aaq/8RlbP/9+vr////////////RzMn/a1tU/2pbVLYAAAAAAAAAAGtb + VO5rW1T/w726///////////////////////+/ff/0bcA/+TVbP/////////////////s4Zb/0bcA//bx + zP/z4OL/xGVs/+fAwv/////////////////dpqr/xGVs//36+v////////////Lw8P9rW1T/a1tU74CA + gAIAAAAAa1tUxWtbVP/Z1dP///////////////////////799//RtwD/5NVs/////////////////+zh + lv/RtwD/9vHM//Pg4v/EZWz/58DC/////////////////92mqv/EZWz//fr6/////////////////4By + bP9rW1T/aF1RLAAAAABqXFSLa1tU/7iwrf///////////////////////v33/9G3AP/dyUH/7eKZ/+3i + mf/t4pn/4dBa/9G3AP/28cz/8+Di/8RlbP/Zm6D/58HE/+fBxP/nwcT/04yR/8RlbP/9+vr///////// + ////////opeT/2tbVP9qW1NlAAAAAGtbVVFrW1T/louG///////////////////////+/ff/0bcA/9G3 + AP/RtwD/0bcA/9G3AP/RtwD/0bcB//n12//z4OL/xGVs/8RlbP/EZWz/xGVs/8RlbP/EZWz/x2xy//79 + /f/////////////////Dvbr/a1tU/2tbU58AAAAAaF1RFmtbVP90ZV///v7+///////////////////+ + /f/28cz/9vHM//bxzP/28cz/9vHM//bxzP/49dr///////35+f/z4OL/8+Di//Pg4v/z4OL/8+Di//Pg + 4v/47e7//////////////////////+Xi4f9rW1T/altU2gAAAAAAAAAAa1xT3GtbVP/m4+L///////// + /////////////+zp/P/e2Pr/3tj6/97Y+v/e2Pr/3tj6/+fj+////////////9ry/v/M7f7/zO3+/8zt + /v/M7f7/zO3+/+L1/v///////////////////////v7+/3VmX/9rW1T+aF1RFgAAAABsWlSha1tU/8S+ + u//////////////////8/P//YkXl/1s95P9bPeT/Wz3k/1s95P9bPeT/XD7k/+jk+//b8v7/AaT5/wCk + +f8ApPn/AKT5/wCk+f8ApPn/C6j5//v+////////////////////////lYmE/2tbVP9rWlRPAAAAAGpc + VGdrW1T/o5mU//////////////////r5/v9bPeT/hW7r/72x9P+9sfT/vbH0/5WB7v9bPeT/3tj6/8zt + /v8ApPn/WsT7/5nb/f+Z2/3/mdv9/0G7+/8ApPn/9/z///////////////////////+2r6v/a1tU/2pb + VIkAAAAAaF1RLGtbVP+Acmz/////////////////+vn+/1s95P+gj+//////////////////u6/0/1s9 + 5P/e2Pr/zO3+/wCk+f+W2v3/////////////////bMv8/wCk+f/3/P///////////////////////9nV + 0/9rW1T/a1tUxQAAAACAgIACa1tU72tbVP/y8PD////////////6+f7/Wz3k/6CP7/////////////// + //+7r/T/Wz3k/97Y+v/M7f7/AKT5/5ba/f////////////////9sy/z/AKT5//f8//////////////// + ////////w726/2tbVP9rW1TuAAAAAAAAAABqW1S2a1tU/9HMyf////////////r5/v9bPeT/oI/v//// + /////////////7uv9P9bPeT/3tj6/8zt/v8ApPn/ltr9/////////////////2zL/P8ApPn/9/z///// + /////////////7ixrf9sXFX/a1tU/2tbVHkAAAAAAAAAAGpcVH1rW1T/r6ej////////////+vn+/1s9 + 5P93Xun/nYvv/52L7/+di+//gmvq/1s95P/e2Pr/zO3+/wCk+f88ufr/Zsj7/2bI+/9myPv/K7P6/wCk + +f/3/P////////7+/v+upaH/a1tU/2tbVPxqXFRnAAAAAAAAAAAAAAAAa1tUQ2tbVP+NgXz///////// + ///6+f7/Wz3k/1s95P9bPeT/Wz3k/1s95P9bPeT/YkXl/+3q/P/M7f7/AKT5/wCk+f8ApPn/AKT5/wCk + +f8ApPn/Ha76//3+///7+vr/nZOO/2tbVP9rWlT4altVVAAAAAAAAAAAAAAAAAAAAAB0XV0La1tU+29f + Wf/7+vr///////////////////////////////////////////////////////////////////////// + ////////////////////////9vX0/5CEfv9rW1T/bFxU72pZVTwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AABsW1TMa1tU/8S9u//6+vr///////////////////////////////////////////////////////// + //////////////////////////////Du7v+FeHL/a1tU/2tbVOFqXVcpAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAGtbVI9rW1T/a1tU/3FiW/+bkIv/x8G///Py8v////////////////////////////// + ///////////////////////////////////n5eT/fW9p/2tbVP9rW1TSaF5VGwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAZlVVD2taVHdrW1TGa1tU/WtbVP9rW1T/bV1W/46Cff+8tLH/6efm//// + ////////////////////////////////////////3trZ/3ZnYf9rW1T/bFxUwHBgUBAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmWVkUalxUXmtcVKprW1Tya1tU/2tb + VP9rW1T/f3Fr/6uinv/Y09H//fz8/////////////////9LNy/9xYVv/a1tU/2paVa9xVVUJAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGZm + TQpsXFVOalxTnGtbVOlrW1T/a1tU/2tbVP94aWP/pJqW/9HMyv/Cu7n/bV5X/2tbVP9sW1SVVVVVAwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAgICAAmtZVTlrXFSIa1tT1mtbVP9rW1T/a1tU/2tbVP9rW1T+bFtVewAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAalxVJGpbVHNrW1XBa1tU7Gxc + VGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/g////wA///wAB//4A + AD/8AAAH+AAAB/AAAAfgAAADwAAAA4AAAAMAAAADAAAAAQAAAAEAAAABAAAAAQAAAAGAAAAAgAAAAIAA + AACAAAAAgAAAAMAAAADAAAABwAAAA8AAAAfgAAAP4AAAH+AAAD/8AAB//4AA///wA////wf/KAAAABgA + AAAwAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAa1tTa2xcVfBsXFW1bFpVZmZcUhkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFrWlSFa1tU/4+Dfv+AcWv8a1tU/2tb + VP5tXlbMa1xUemxbVS0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAVVVVA2xbVJprW1T/qqCc//7+/v//////6+no/7+4tf+RhoH9bF1W/mtbVP9tXlbia1xTmWpZ + U02AVVUGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0XV0LbFxVtWxcVf+5sq////////// + ////////////////////////8/Hx/8bAvf+Zjor/cGBa/WtbVP9tXVbxaltUo2heVRsAAAAAAAAAAAAA + AAAAAAAAAAAAAGZZWRRtXFbKbV1W/sjCv/////////////////////////////////////////////// + ////////+vn5/9LNy/+mnJj/bV1W/WtbVIMAAAAAAAAAAAAAAAAAAAAAaFhYIG1eV9pvYFn808/N//// + ////////////////////////////////////////////////////////////////////////in55/W1d + Vr4AAAAAAAAAAAAAAABoXVEsbV5X53NlXvzd2tj//v78/9S8EP/RtwD/0bcA/9G3AP/RtwD/8Oit/+zN + 0P/EZWz/xGVs/8RlbP/EZWz/yG91//79/f//////raSg/2xcVfaAQEAEAAAAAGxcVEBtXVbzfG5n++jm + 5f///////v35/9G3AP/v5qf/9vHM//bxzP/Ywij/7eKZ/+fBxP/NfYP/8+Di//Pg4v/rysz/xGVs//77 + /P//////z8rH/2tbVP9rXFIyAAAAAG1dVe2CdW/98O/u/////////////v35/9G3AP/38tH///////// + ///axTL/7eKZ/+fBxP/Qg4n////////////04+T/xGVs//77/P//////8fDv/2tbVP9sW1RtAAAAAG5e + Vs+ViYT+/////////////////v35/9G3AP/38tH////////////axTL/7eKZ/+fBxP/Qg4n///////// + ///04+T/xGVs//77/P///////////31waftqW1OoAAAAAGxaU5NyY138/v7+/////////////v35/9G3 + AP/Zwyr/2sUz/9rFM//Tugr/7eOb/+fBxP/Ga3L/0ISJ/9CEif/OfoT/xGVs//78/P///////////6CW + kv9tXlflAAAAAGpcU1lrW1T/5ePh//////////////79/+3imf/t4pn/7eKZ/+3imf/t4pr/+/nr//bm + 5//nwcT/58HE/+fBxP/nwcT/7M3P/////////////////8K7uf9rW1T/alhYHW9eVR5rW1T/w726//// + /////////////8rA9v+9sfT/vbH0/72x9P++svT/8vD9/+v4//+a2/3/mdv9/5nb/f+Z2/3/rOH9//// + /////////////+Th4P9rW1T/bFtVVwAAAABtXlfnopeT/////////////Pv+/1s95P92Xej/fGTp/3xk + 6f9hReX/v7P0/5vb/f8KqPn/M7b6/zO2+v8qs/r/AKT5//r9//////////////7+/v9yY1z8a1tUkQAA + AABqW1OofXBp+///////////+/r+/1s95P/h3Pr///////////97Y+n/vbH0/5nb/f8ytvr///////// + ///R7/7/AKT5//n9//////////////////+ViYT+bl5WzwAAAABsW1Rta1tU//Hw7///////+/r+/1s9 + 5P/h3Pr///////////97Y+n/vbH0/5nb/f8ytvr////////////R7/7/AKT5//n9//////////////Dv + 7v+CdW/9bV1V7QAAAABsXVM0a1tU/9DLyf//////+/r+/1s95P/GvPb/3tj6/97Y+v91W+j/vbH0/5nb + /f8osvr/zO3+/8zt/v+n4P3/AKT5//n9////////6+no/35wavxsXVX1altURgAAAACAQEAEbV1W9q6m + ov//////+/r+/1s95P9bPeT/Wz3k/1s95P9bPeT/ysH2/5nb/f8ApPn/AKT5/wCk+f8ApPn/EKr5//z+ + ///g3dv/dmdh/G1dVuptWFMxAAAAAAAAAAAAAAAAbFxVv4x/ev3///////////////////////////// + /////////////////////////////////////////////9jT0f9xYVv8bV5W32pcVSQAAAAAAAAAAAAA + AAAAAAAAa1tUg21dVv2mnJj/0s3L//r5+f////////////////////////////////////////////// + ////////yMK//21dVv5tXFbKZllZFAAAAAAAAAAAAAAAAAAAAAAAAAAAaF5VG2pbVKNsXFXwa1tU/3Bg + Wv2Zjor+xsC9//Px8f////////////////////////////////+5sq//bFxV/2xcVbV0XV0LAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVVVUDallVPGtcVIhtXVbba1tU/2tbVP6Ie3X9ta2p/+He + 3f///////v7+/66mov9rW1T/bFpUoWZmZgUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAbFtVLWtcVHpsXVXLa1tU/mtbVP9/cWv7j4N+/2tbVP9rWlSFAAAAAQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAZlxSGWxaVWZsXFW1bFxV8GtbU2sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8H + /0H8AP9B+AAPQfAAA0HgAANBwAADQYAAAUEAAAFBAAABQQAAAUEAAAFBAAAAQQAAAEGAAABBgAAAQYAA + AEGAAABBgAABQcAAA0HAAAdBwAAPQfAAH0H/AD9B/+D/QSgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHJhW3tvYFn0dWZgsmxbVVdmVVUPAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAAnFiW5eCdG705OHg/8a/vf+UiYT0cWFa+Xdo + YcptXFVsb15VHgAAAAAAAAAAAAAAAAAAAAAAAAAAbUlJB3NkXbKMgHr09/b2//////////////////r5 + +f/Szcv/oJeS9XNlXfZzZV7baVxVJwAAAAAAAAAAbVtbDnNjXciZj4n1+/r6//////////////////// + ///////////////////+/v7/pJqW+WxdVnYAAAAAamBVGHJkXdmnnpn2/f37/9S8E//axTP/2MIo/+XX + cP/eqa3/zX2D/9CEif/IcHf//v39/83Ixf92Z2C8AAAAAHJjXOC5sK36//////7++//bxjb///////Xw + yv/k1Gf/3KOn//Pf4P//////0IaL//79/f/w7u7/cWFb8gAAAAF0Zl/i4+Df///////+/vv/2cMr//bx + zP/u5aL/5NRn/9yjp//px8n/8+Di/85/hf/+/f3//////3hpYvNuWlMldGReo8K7uf////////79/+PU + Zv/j1Gb/49Rm//Dorv/qyMv/3KOn/9yjp//eqKz///7+//////+ajoryalxUXmpaVWCbkYzz//////7+ + //+ikfD/nYvv/52L7//Lwfb/ruL9/2bI+/9myPv/b8z8//7/////////wbq3/3RlXqJuWlMleGli8/// + ///8/P//d17p/97Y+v/DuPX/nYvv/2fJ+/+i3v3/zO3+/yuz+v/7/v///////+Pg3/90Zl/iAAAAAXFh + W/Lw7u7//Pz//35m6v//////3df5/52L7/9nyfv/yuz+//////82t/r/+/7///////+5sK36cmNc4AAA + AAB2Z2G+zsnH//z8//9iReX/fGTp/3Vb6P+jkvD/Z8n7/yiy+v8ztvr/E6v5//v9/v+to5/4c2Nd3m1b + UhwAAAAAbF1WdqSalvn+/v7///////////////////////////////////////v6+v+Zj4r2c2ReyW1b + Ww4AAAAAAAAAAGlcVSdzZV7bc2Vd9qCXkvXSzcv/+vn5//////////////////f29v+MgHr0c2Rdsm1J + SQcAAAAAAAAAAAAAAAAAAAAAAAAAAG9eVR5rW1NrdGRexnBhWfiShoHvxr+9/uTh4P+CdG70c2RdmYCA + gAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmVVUPbFtVV3VmYLJvYFn0cmFbewAA + AAAAAAAAAAAAAAAAAAAAAAAA+D+sQeAHrEHAAaxBgAGsQQABrEEAAKxBAACsQQAArEEAAKxBAACsQQAA + rEGAAKxBgAGsQYADrEHgB6xB/B+sQQ== + + AAABAAQAMDAAAAEAIACoJQAARgAAACAgAAABACAAqBAAAO4lAAAYGAAAAQAgAIgJAACWNgAAEBAAAAEA diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs index 735590f..5fb28ec 100644 --- a/Properties/AssemblyInfo.cs +++ b/Properties/AssemblyInfo.cs @@ -33,4 +33,4 @@ using System.Runtime.InteropServices; // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("0.1.1.113")] +[assembly: AssemblyFileVersion("0.1.1.144")] diff --git a/Properties/Resources.Designer.cs b/Properties/Resources.Designer.cs index ef64037..1ebeada 100644 --- a/Properties/Resources.Designer.cs +++ b/Properties/Resources.Designer.cs @@ -19,7 +19,7 @@ namespace AppLauncher.Properties { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { @@ -63,9 +63,9 @@ namespace AppLauncher.Properties { /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// - internal static System.Drawing.Bitmap app_icon_24 { + internal static System.Drawing.Bitmap app_icon_32 { get { - object obj = ResourceManager.GetObject("app_icon_24", resourceCulture); + object obj = ResourceManager.GetObject("app_icon_32", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } diff --git a/Properties/Resources.resx b/Properties/Resources.resx index c4c3cc9..750ed54 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_24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\app_icon_32.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_32.png b/Resources/app_icon_32.png new file mode 100644 index 0000000..51e5f0d Binary files /dev/null and b/Resources/app_icon_32.png differ diff --git a/RyzStudio/Windows/Forms/PanelBook.Designer.cs b/RyzStudio/Windows/Forms/PanelBook.Designer.cs deleted file mode 100644 index 576b43a..0000000 --- a/RyzStudio/Windows/Forms/PanelBook.Designer.cs +++ /dev/null @@ -1,37 +0,0 @@ -namespace RyzStudio.Windows.Forms -{ - partial class PanelBook - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Component Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - components = new System.ComponentModel.Container(); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - } - - #endregion - } -} diff --git a/RyzStudio/Windows/Forms/PanelBook.cs b/RyzStudio/Windows/Forms/PanelBook.cs deleted file mode 100644 index 190ec28..0000000 --- a/RyzStudio/Windows/Forms/PanelBook.cs +++ /dev/null @@ -1,159 +0,0 @@ -namespace RyzStudio.Windows.Forms -{ - using System; - using System.ComponentModel; - using System.Windows.Forms; - - [ToolboxItem(true)] - public partial class PanelBook : UserControl - { - protected PanelCollection panelCollection = null; - - public PanelBook() - { - InitializeComponent(); - - panelCollection = new PanelCollection(this); - - } - - public Panel ActivePanel { get; set; } = null; - - [Category("Collection")] - [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] - public PanelCollection Pages - { - get { return panelCollection; } - } - - [Category("Collection")] - public int SelectedIndex - { - get - { - if (panelCollection.Count <= 0) - { - return -1; - } - - return panelCollection.IndexOf(this.ActivePanel); - } - set - { - if (panelCollection.Count <= 0) - { - return; - } - - if (value < 0) - { - return; - } - - if (value > (panelCollection.Count - 1)) - { - return; - } - - if (value == this.SelectedIndex) - { - return; - } - - ActivatePanel(value); - } - } - - protected internal int PageIndex - { - get - { - return panelCollection.IndexOf(this.ActivePanel); - } - set - { - if (panelCollection.Count <= 0) - { - ActivatePanel(-1); - return; - } - - if ((value < -1) || (value >= panelCollection.Count)) - { - throw new ArgumentOutOfRangeException("PageIndex", value, "The page index must be between 0 and " + Convert.ToString(panelCollection.Count - 1)); - } - - ActivatePanel(value); - } - } - - protected internal void ActivatePanel(int index) - { - if ((panelCollection.Count == 0) && (index >= panelCollection.Count) && (index <= 0)) - { - return; - } - - Panel p = (Panel)panelCollection[index]; - - ActivatePage(p); - } - - protected internal void ActivatePage(Panel page) - { - if (this.ActivePanel != null) - { - this.ActivePanel.Visible = false; - } - - this.ActivePanel = page; - if (this.ActivePanel != null) - { - this.ActivePanel.Parent = this; - if (!this.Contains(this.ActivePanel)) - { - this.Container.Add(this.ActivePanel); - } - - this.ActivePanel.Dock = DockStyle.Fill; - this.ActivePanel.Visible = true; - this.ActivePanel.BringToFront(); - } - - if (this.ActivePanel != null) - { - this.ActivePanel.Invalidate(); - } - else - { - this.Invalidate(); - } - } - -#if DEBUG - - protected override void OnResize(EventArgs e) - { - base.OnResize(e); - - if (this.DesignMode) - { - this.Invalidate(); - } - } - -#endif - - protected override void DestroyHandle() - { - base.DestroyHandle(); - - foreach (Panel p in panelCollection) - { - p.Dispose(); - } - } - - - } -} diff --git a/RyzStudio/Windows/Forms/PanelCollection.cs b/RyzStudio/Windows/Forms/PanelCollection.cs deleted file mode 100644 index af9838b..0000000 --- a/RyzStudio/Windows/Forms/PanelCollection.cs +++ /dev/null @@ -1,80 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.ComponentModel; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Forms; - -namespace RyzStudio.Windows.Forms -{ - [ToolboxItem(true)] - public class PanelCollection : CollectionBase - { - protected PanelBook panelBook = null; - - public PanelCollection() - { - - } - - public PanelCollection(PanelBook parent) : base() - { - panelBook = parent; - } - - public PanelBook Parent => panelBook; - - public Panel this[int index] { get => (Panel)List[index]; set => List[index] = value; } - - public int Add(Panel value) => List.Add(value); - - public void AddRange(Panel[] pages) - { - foreach (Panel page in pages) - { - this.Add(page); - } - } - - public int IndexOf(Panel value) => (List.IndexOf(value)); - - public void Insert(int index, Panel value) => List.Insert(index, value); - - public void Remove(Panel value) => List.Remove(value); - - public bool Contains(Panel value) => List.Contains(value); - - protected override void OnInsertComplete(int index, object value) - { - base.OnInsertComplete(index, value); - - if (panelBook != null) - { - panelBook.PageIndex = index; - } - } - - protected override void OnRemoveComplete(int index, object value) - { - base.OnRemoveComplete(index, value); - - if (panelBook != null) - { - if (panelBook.PageIndex == index) - { - if (index < InnerList.Count) - { - panelBook.PageIndex = index; - } - else - { - panelBook.PageIndex = InnerList.Count - 1; - } - } - } - } - - } -} diff --git a/RyzStudio/Windows/Forms/Resources/close_20.png b/RyzStudio/Windows/Forms/Resources/close_20.png deleted file mode 100644 index a1cfe41..0000000 Binary files a/RyzStudio/Windows/Forms/Resources/close_20.png and /dev/null differ diff --git a/RyzStudio/Windows/Forms/Resources/maximise2_20.png b/RyzStudio/Windows/Forms/Resources/maximise2_20.png deleted file mode 100644 index 490190a..0000000 Binary files a/RyzStudio/Windows/Forms/Resources/maximise2_20.png and /dev/null differ diff --git a/RyzStudio/Windows/Forms/Resources/maximise_20.png b/RyzStudio/Windows/Forms/Resources/maximise_20.png deleted file mode 100644 index 9dc88fb..0000000 Binary files a/RyzStudio/Windows/Forms/Resources/maximise_20.png and /dev/null differ diff --git a/RyzStudio/Windows/Forms/Resources/minimise2_20.png b/RyzStudio/Windows/Forms/Resources/minimise2_20.png deleted file mode 100644 index c1221e3..0000000 Binary files a/RyzStudio/Windows/Forms/Resources/minimise2_20.png and /dev/null differ diff --git a/RyzStudio/Windows/Forms/Resources/minimise_20.png b/RyzStudio/Windows/Forms/Resources/minimise_20.png deleted file mode 100644 index ee67015..0000000 Binary files a/RyzStudio/Windows/Forms/Resources/minimise_20.png and /dev/null differ diff --git a/RyzStudio/Windows/ThemedForms/TForm.Designer.cs b/RyzStudio/Windows/ThemedForms/TForm.Designer.cs deleted file mode 100644 index 75f5bf1..0000000 --- a/RyzStudio/Windows/ThemedForms/TForm.Designer.cs +++ /dev/null @@ -1,52 +0,0 @@ -namespace RyzStudio.Windows.ThemedForms -{ - partial class TForm - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.SuspendLayout(); - // - // Form - // - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; - this.BackColor = System.Drawing.Color.WhiteSmoke; - this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None; - this.ClientSize = new System.Drawing.Size(584, 381); - this.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.ForeColor = System.Drawing.Color.Black; - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; - this.MaximizeBox = false; - this.MinimumSize = new System.Drawing.Size(600, 420); - this.Name = "Form"; - this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; - this.ResumeLayout(false); - - } - - #endregion - } -} \ No newline at end of file diff --git a/RyzStudio/Windows/ThemedForms/TForm.cs b/RyzStudio/Windows/ThemedForms/TForm.cs deleted file mode 100644 index 541e75f..0000000 --- a/RyzStudio/Windows/ThemedForms/TForm.cs +++ /dev/null @@ -1,173 +0,0 @@ -namespace RyzStudio.Windows.ThemedForms -{ - using System; - using System.ComponentModel; - using System.Drawing; - using System.Windows.Forms; - - public partial class TForm : System.Windows.Forms.Form - { - protected Color topFillColour = Color.FromArgb(15, 15, 15); - protected int topFillHeight = 52; - - protected Color bottomFillColour = Color.FromArgb(15, 15, 15); - protected int bottomFillMargin = 19; - - protected int borderWidth = 1; - - public TForm() - { - this.InitializeComponent(); - - this.BackColor = Color.FromArgb(246, 246, 246); - } - - protected override void OnResize(EventArgs e) - { - base.OnResize(e); - - this.Invalidate(); - } - - protected override void OnPaint(PaintEventArgs e) - { - base.OnPaint(e); - - Graphics g = e.Graphics; - - Rectangle areaTop = new Rectangle(this.DisplayRectangle.Left, this.Padding.Top, this.DisplayRectangle.Width, topFillHeight); - Rectangle areaBottom = new Rectangle(this.DisplayRectangle.Left, (this.DisplayRectangle.Height - bottomFillMargin), this.DisplayRectangle.Width, bottomFillMargin); - Rectangle areaBorder = new Rectangle(this.ClientRectangle.X, this.ClientRectangle.Y, this.ClientRectangle.Width - borderWidth, this.ClientRectangle.Height - borderWidth); - - // draw header - if (topFillHeight > 0) - { - g.FillRectangle(new SolidBrush(topFillColour), areaTop); - } - - // draw footer - if (bottomFillMargin > 0) - { - g.FillRectangle(new SolidBrush(bottomFillColour), areaBottom); - } - - // draw logo - if (this.TitleLogo != null) - { - g.DrawImageUnscaled(this.TitleLogo, this.Padding.Left, this.Padding.Top); - } - - if (this.Banner != null) - { - g.DrawImageUnscaled(this.Banner, this.Padding.Left, (this.DisplayRectangle.Height - this.Banner.Height - bottomFillMargin), (this.DisplayRectangle.Width - (this.Padding.Left + this.Padding.Right)), this.Banner.Height); - } - - g.DrawRectangle(new Pen(Color.Black, borderWidth), areaBorder); - } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new Color BackColor { get => base.BackColor; set { base.BackColor = value; } } - - [Category("Appearance"), Browsable(true)] - public Image TitleLogo { get; set; } - - [Category("Appearance"), Browsable(true)] - public Image Banner { get; set; } - - public void SetValue(Label sender, string value) - { - if (sender.InvokeRequired) - { - sender.Invoke(new MethodInvoker(() => { sender.Text = value; })); - } - else - { - sender.Text = value; - } - } - - public void SetValue(GroupBox sender, string value) - { - if (sender.InvokeRequired) - { - sender.Invoke(new MethodInvoker(() => { sender.Text = value; })); - } - else - { - sender.Text = value; - } - } - - public void AddValue(ListBox sender, string value) - { - if (sender.InvokeRequired) - { - sender.Invoke(new MethodInvoker(() => { sender.Items.Add(value); })); - } - else - { - sender.Items.Add(value); - } - } - - public void ClearValues(ListBox sender) - { - if (sender.InvokeRequired) - { - sender.Invoke(new MethodInvoker(() => { sender.Items.Clear(); })); - } - else - { - sender.Items.Clear(); - } - } - - public string GetValue(ListBox sender) - { - string rv = string.Empty; - - if (sender.InvokeRequired) - { - sender.Invoke(new MethodInvoker(() => { rv = (sender.SelectedItem == null) ? string.Empty : sender.SelectedItem.ToString(); })); - } - else - { - rv = (sender.SelectedItem == null) ? string.Empty : sender.SelectedItem.ToString(); - } - - return rv; - } - - public string GetValue(TTextBox sender) - { - string rv = string.Empty; - - if (sender.InvokeRequired) - { - sender.Invoke(new MethodInvoker(() => { rv = sender.Text.Trim(); })); - } - else - { - rv = sender.Text.Trim(); - } - - return rv; - } - - public int GetValue(NumericUpDown sender) - { - int rv = 0; - - if (sender.InvokeRequired) - { - sender.Invoke(new MethodInvoker(() => { rv = (int)sender.Value; })); - } - else - { - rv = (int)sender.Value; - } - - return rv; - } - } -} \ No newline at end of file diff --git a/Windows/Forms/AForm.cs b/Windows/Forms/AForm.cs deleted file mode 100644 index 1d75d60..0000000 --- a/Windows/Forms/AForm.cs +++ /dev/null @@ -1,405 +0,0 @@ -using System; -using System.ComponentModel; -using System.Drawing; -using System.Windows.Forms; - -namespace AppLauncher.Windows.Forms -{ - public class AForm : Form - { - protected readonly Color borderColour = Color.FromArgb(232, 231, 236); - protected readonly int borderWidth = 1; - - protected readonly Color backColour = Color.FromArgb(254, 254, 254); - - protected readonly Color titleBarColour = Color.FromArgb(237, 240, 247); - protected readonly Color titleColour = Color.FromArgb(156, 158, 171); - protected readonly int titleBarHeight = 56; - - private bool isDragging = false; - private Point startPosition = new Point(); - - protected bool isBusy = false; - - protected internal RyzStudio.Windows.Forms.TImageBox imageBox3; - protected internal RyzStudio.Windows.Forms.TImageBox imageBox2; - protected internal RyzStudio.Windows.Forms.TImageBox imageBox1; - private NotifyIcon notifyIcon1; - private Panel panel1; - private ContextMenuStrip contextMenuStrip1; - private ToolStripMenuItem exitToolStripMenuItem; - private IContainer components; - - public AForm() : base() - { - InitializeComponent(); - - if (!this.DesignMode) - { - this.FormBorderStyle = FormBorderStyle.None; - this.StartPosition = FormStartPosition.Manual; - } - - this.BackColor = backColour; - this.Padding = new Padding(0); - - notifyIcon1.Text = Application.ProductName; - } - - protected override void OnLoad(EventArgs e) - { - base.OnLoad(e); - - this.SuspendLayout(); - - imageBox3.Left = this.DisplayRectangle.Width - imageBox3.Width - 17; - imageBox3.Top = 18; - imageBox3.Anchor = (AnchorStyles.Top | AnchorStyles.Right); - - imageBox2.Left = imageBox3.Left - imageBox2.Width - 8; - imageBox2.Top = 18; - imageBox2.Anchor = (AnchorStyles.Top | AnchorStyles.Right); - - imageBox1.Left = imageBox2.Left - imageBox1.Width - 8; - imageBox1.Top = 18; - imageBox1.Anchor = (AnchorStyles.Top | AnchorStyles.Right); - - panel1.Left = this.DisplayRectangle.Left; - panel1.Top = this.DisplayRectangle.Height - panel1.Height; - panel1.Width = this.DisplayRectangle.Width; - panel1.Anchor = (AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Bottom); - - if (this.DesignMode) - { - imageBox1.Visible = imageBox2.Visible = imageBox3.Visible = false; - panel1.Visible = false; - } - - this.ResumeLayout(); - } - - protected override void OnMouseClick(MouseEventArgs e) - { - base.OnMouseClick(e); - - bool isLabel = ((e.Location.X >= 0) && (e.Location.X <= this.Width) && (e.Location.Y >= 0) && (e.Location.Y <= titleBarHeight)); - - if (e.Button == MouseButtons.Left) - { - if (isLabel) - { - // do nothing - } - else - { - // do nothing - } - } - else if (e.Button == MouseButtons.Right) - { - if (isLabel) - { - if (this.TitleContextMenuStrip != null) - { - this.TitleContextMenuStrip.Show(this, e.Location); - } - } - else - { - // do nothing - } - } - } - - protected override void OnMouseDown(MouseEventArgs e) - { - base.OnMouseDown(e); - - if (e.Button != MouseButtons.Left) - { - return; - } - - isDragging = true; - startPosition = e.Location; - } - - protected override void OnMouseMove(MouseEventArgs e) - { - base.OnMouseMove(e); - - if (isDragging) - { - int x = (this.Location.X + (e.Location.X - startPosition.X)); - int y = (this.Location.Y + (e.Location.Y - startPosition.Y)); - - //this.Location = validateFormLocation(x, y); - this.Location = new Point(x, y); - } - } - - protected override void OnMouseUp(MouseEventArgs e) - { - base.OnMouseUp(e); - - isDragging = false; - } - - protected override void OnPaint(PaintEventArgs e) - { - base.OnPaint(e); - - Graphics g = e.Graphics; - Rectangle area = new Rectangle(this.DisplayRectangle.X, this.DisplayRectangle.Y, (this.DisplayRectangle.Width - borderWidth), (this.DisplayRectangle.Height - borderWidth)); - - // border - g.DrawRectangle(new Pen(borderColour, borderWidth), area); - - area.Inflate((-1 * borderWidth), (-1 * borderWidth)); - - g.FillRectangle(new SolidBrush(titleBarColour), area.X, area.Y, (area.Width + area.X), titleBarHeight); - g.DrawLine(new Pen(borderColour, 1), area.X, (titleBarHeight + 1), (area.Width + area.X), (titleBarHeight + 1)); - - if (!DesignMode) g.DrawImageUnscaled(Properties.Resources.app_icon_24, 17, 17); - - if (!DesignMode) TextRenderer.DrawText(g, Application.ProductName, new Font(this.Font.FontFamily, 14F), new Point(58, 17), titleColour); - - } - - protected override void OnResize(EventArgs e) - { - base.OnResize(e); - - this.Invalidate(); - } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public override Color BackColor { get => base.BackColor; set => base.BackColor = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new FormBorderStyle FormBorderStyle { get => base.FormBorderStyle; set => base.FormBorderStyle = value; } - - [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] - public new Padding Padding { get => base.Padding; set => base.Padding = value; } - - [Category("Appearance")] - public ContextMenuStrip TitleContextMenuStrip { get; set; } = null; - - protected Point DefaultLocation - { - get - { - Point newPosition = new Point(Cursor.Position.X, Cursor.Position.Y); - newPosition.X -= (this.Width / 2); - newPosition.Y -= (this.Height / 2); - - newPosition.X = Math.Max(newPosition.X, Screen.PrimaryScreen.WorkingArea.Left); - newPosition.Y = Math.Max(newPosition.Y, Screen.PrimaryScreen.WorkingArea.Top); - - return newPosition; - } - } - - private void InitializeComponent() - { - this.components = new System.ComponentModel.Container(); - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AForm)); - this.imageBox3 = new RyzStudio.Windows.Forms.TImageBox(); - this.imageBox2 = new RyzStudio.Windows.Forms.TImageBox(); - this.imageBox1 = new RyzStudio.Windows.Forms.TImageBox(); - this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.panel1 = new System.Windows.Forms.Panel(); - ((System.ComponentModel.ISupportInitialize)(this.imageBox3)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.imageBox2)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.imageBox1)).BeginInit(); - this.contextMenuStrip1.SuspendLayout(); - this.SuspendLayout(); - // - // imageBox3 - // - this.imageBox3.BackColor = System.Drawing.Color.Transparent; - this.imageBox3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; - this.imageBox3.ErrorImage = null; - this.imageBox3.Image = global::AppLauncher.Resource1.close_20; - this.imageBox3.ImageHover = global::AppLauncher.Resource1.close2_20; - this.imageBox3.ImageNormal = global::AppLauncher.Resource1.close_20; - this.imageBox3.ImageSelected = null; - this.imageBox3.InitialImage = null; - this.imageBox3.IsSelected = false; - this.imageBox3.Location = new System.Drawing.Point(169, 12); - this.imageBox3.Name = "imageBox3"; - this.imageBox3.Size = new System.Drawing.Size(20, 20); - this.imageBox3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.imageBox3.TabIndex = 146; - this.imageBox3.TabStop = false; - this.imageBox3.MouseClick += new System.Windows.Forms.MouseEventHandler(this.imageBox3_MouseClick); - // - // imageBox2 - // - this.imageBox2.BackColor = System.Drawing.Color.Transparent; - this.imageBox2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; - this.imageBox2.ErrorImage = null; - this.imageBox2.Image = global::AppLauncher.Resource1.maximise_20; - this.imageBox2.ImageHover = global::AppLauncher.Resource1.maximise_20; - this.imageBox2.ImageNormal = global::AppLauncher.Resource1.maximise_20; - this.imageBox2.ImageSelected = global::AppLauncher.Resource1.maximise2_20; - this.imageBox2.InitialImage = null; - this.imageBox2.IsSelected = false; - this.imageBox2.Location = new System.Drawing.Point(139, 12); - this.imageBox2.Name = "imageBox2"; - this.imageBox2.Size = new System.Drawing.Size(20, 20); - this.imageBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.imageBox2.TabIndex = 147; - this.imageBox2.TabStop = false; - this.imageBox2.MouseClick += new System.Windows.Forms.MouseEventHandler(this.imageBox2_MouseClick); - // - // imageBox1 - // - this.imageBox1.BackColor = System.Drawing.Color.Transparent; - this.imageBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; - this.imageBox1.ErrorImage = null; - this.imageBox1.Image = global::AppLauncher.Resource1.minimise_20; - this.imageBox1.ImageHover = global::AppLauncher.Resource1.minimise2_20; - this.imageBox1.ImageNormal = global::AppLauncher.Resource1.minimise_20; - this.imageBox1.ImageSelected = null; - this.imageBox1.InitialImage = null; - this.imageBox1.IsSelected = false; - this.imageBox1.Location = new System.Drawing.Point(109, 12); - this.imageBox1.Name = "imageBox1"; - this.imageBox1.Size = new System.Drawing.Size(20, 20); - this.imageBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; - this.imageBox1.TabIndex = 148; - this.imageBox1.TabStop = false; - this.imageBox1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.imageBox1_MouseClick); - // - // notifyIcon1 - // - this.notifyIcon1.ContextMenuStrip = this.contextMenuStrip1; - this.notifyIcon1.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon1.Icon"))); - this.notifyIcon1.Visible = true; - this.notifyIcon1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.notifyIcon1_MouseClick); - this.notifyIcon1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.notifyIcon1_MouseClick); - // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.exitToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(94, 26); - // - // exitToolStripMenuItem - // - this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; - this.exitToolStripMenuItem.Size = new System.Drawing.Size(93, 22); - this.exitToolStripMenuItem.Text = "E&xit"; - this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click); - // - // panel1 - // - this.panel1.BackColor = System.Drawing.Color.Transparent; - this.panel1.Cursor = System.Windows.Forms.Cursors.SizeNS; - this.panel1.Location = new System.Drawing.Point(109, 114); - this.panel1.Margin = new System.Windows.Forms.Padding(0); - this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(200, 2); - this.panel1.TabIndex = 149; - this.panel1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.panel1_MouseDown); - this.panel1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.panel1_MouseMove); - this.panel1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.panel1_MouseUp); - // - // AForm - // - this.ClientSize = new System.Drawing.Size(421, 321); - this.Controls.Add(this.panel1); - this.Controls.Add(this.imageBox1); - this.Controls.Add(this.imageBox2); - this.Controls.Add(this.imageBox3); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; - this.Name = "AForm"; - ((System.ComponentModel.ISupportInitialize)(this.imageBox3)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.imageBox2)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.imageBox1)).EndInit(); - this.contextMenuStrip1.ResumeLayout(false); - this.ResumeLayout(false); - - } - - private void imageBox1_MouseClick(object sender, MouseEventArgs e) - { - if (e.Button == MouseButtons.Left) - { - //this.WindowState = FormWindowState.Minimized; - this.Visible = false; - //notifyIcon1.Visible = true; - } - } - - private void imageBox2_MouseClick(object sender, MouseEventArgs e) - { - if (e.Button == MouseButtons.Left) - { - //this.WindowState = ((this.WindowState == FormWindowState.Maximized) ? FormWindowState.Normal : FormWindowState.Maximized); - - //imageBox2.IsSelected = (this.WindowState == FormWindowState.Maximized); - } - else if (e.Button == MouseButtons.Right) - { - this.TopMost = !this.TopMost; - - if (this.TopMost) - { - imageBox2.Image = imageBox2.ImageNormal = Resource1.maximise3_20; - } - else - { - imageBox2.Image = imageBox2.ImageNormal = Resource1.maximise_20; - } - } - } - - protected virtual void imageBox3_MouseClick(object sender, MouseEventArgs e) - { - if (e.Button == MouseButtons.Left) - { - this.Close(); - } - } - - private void panel1_MouseDown(object sender, MouseEventArgs e) - { - if (e.Button == MouseButtons.Left) - { - isDragging = true; - startPosition = e.Location; - } - } - - private void panel1_MouseUp(object sender, MouseEventArgs e) - { - isDragging = false; - } - - private void panel1_MouseMove(object sender, MouseEventArgs e) - { - if (isDragging) - { - this.Size = new Size(this.Width, e.Y - startPosition.Y + this.Height); - } - } - - private void exitToolStripMenuItem_Click(object sender, EventArgs e) => this.Close(); - - private void notifyIcon1_MouseClick(object sender, MouseEventArgs e) - { - if (e.Button == MouseButtons.Left) - { - this.Visible = !this.Visible; - } - - //notifyIcon1.Visible = !this.Visible; - } - - } -} \ No newline at end of file diff --git a/Windows/Forms/OptionsForm.cs b/Windows/Forms/OptionsForm.cs index 5639385..ff34358 100644 --- a/Windows/Forms/OptionsForm.cs +++ b/Windows/Forms/OptionsForm.cs @@ -71,24 +71,24 @@ namespace AppLauncher.Windows.Forms this.pickerBox6 = new RyzStudio.Windows.ThemedForms.TPickerBox(); ((System.ComponentModel.ISupportInitialize)(this.imgbxClose)).BeginInit(); this.SuspendLayout(); - // + // // imgbxClose - // + // this.imgbxClose.Image = ((System.Drawing.Image)(resources.GetObject("imgbxClose.Image"))); this.imgbxClose.Location = new System.Drawing.Point(367, 5); - // + // // panel1 - // + // this.panel1.Location = new System.Drawing.Point(394, 474); - // + // // area1 - // + // this.area1.Location = new System.Drawing.Point(1, 474); this.area1.Size = new System.Drawing.Size(392, 5); - // + // // textBox1 - // - this.textBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + // + this.textBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.textBox1.BackColor = System.Drawing.Color.Transparent; this.textBox1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F); @@ -100,9 +100,9 @@ namespace AppLauncher.Windows.Forms this.textBox1.SubmitButton = null; this.textBox1.TabIndex = 152; this.textBox1.UseSystemPasswordChar = false; - // + // // label1 - // + // this.label1.BackColor = System.Drawing.Color.Transparent; this.label1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(95)))), ((int)(((byte)(99)))), ((int)(((byte)(104))))); this.label1.Location = new System.Drawing.Point(18, 83); @@ -112,9 +112,9 @@ namespace AppLauncher.Windows.Forms this.label1.TabIndex = 153; this.label1.Text = "Use Control"; this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // + // // button1 - // + // this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.button1.BackColor = System.Drawing.Color.Transparent; this.button1.DefaultImage = null; @@ -128,10 +128,10 @@ namespace AppLauncher.Windows.Forms this.button1.Size = new System.Drawing.Size(128, 32); this.button1.TabIndex = 173; this.button1.Click += new System.EventHandler(this.button1_Click); - // + // // pickerBox1 - // - this.pickerBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + // + this.pickerBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.pickerBox1.BackColor = System.Drawing.Color.Transparent; this.pickerBox1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F); @@ -143,23 +143,23 @@ namespace AppLauncher.Windows.Forms this.pickerBox1.SubmitButton = null; this.pickerBox1.TabIndex = 174; this.pickerBox1.Value = false; - // + // // label2 - // + // this.label2.BackColor = System.Drawing.Color.Transparent; this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.label2.ForeColor = System.Drawing.Color.Black; this.label2.Location = new System.Drawing.Point(8, 50); this.label2.Margin = new System.Windows.Forms.Padding(0); this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(131, 24); + this.label2.Size = new System.Drawing.Size(385, 24); this.label2.TabIndex = 175; - this.label2.Text = "Hotkey"; + this.label2.Text = "Toggle Hotkey"; this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // + // // pickerBox2 - // - this.pickerBox2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + // + this.pickerBox2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.pickerBox2.BackColor = System.Drawing.Color.Transparent; this.pickerBox2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F); @@ -171,9 +171,9 @@ namespace AppLauncher.Windows.Forms this.pickerBox2.SubmitButton = null; this.pickerBox2.TabIndex = 177; this.pickerBox2.Value = false; - // + // // label3 - // + // this.label3.BackColor = System.Drawing.Color.Transparent; this.label3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(95)))), ((int)(((byte)(99)))), ((int)(((byte)(104))))); this.label3.Location = new System.Drawing.Point(18, 124); @@ -183,10 +183,10 @@ namespace AppLauncher.Windows.Forms this.label3.TabIndex = 176; this.label3.Text = "Use Alt"; this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // + // // pickerBox3 - // - this.pickerBox3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + // + this.pickerBox3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.pickerBox3.BackColor = System.Drawing.Color.Transparent; this.pickerBox3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F); @@ -198,9 +198,9 @@ namespace AppLauncher.Windows.Forms this.pickerBox3.SubmitButton = null; this.pickerBox3.TabIndex = 179; this.pickerBox3.Value = false; - // + // // label4 - // + // this.label4.BackColor = System.Drawing.Color.Transparent; this.label4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(95)))), ((int)(((byte)(99)))), ((int)(((byte)(104))))); this.label4.Location = new System.Drawing.Point(18, 165); @@ -210,9 +210,9 @@ namespace AppLauncher.Windows.Forms this.label4.TabIndex = 178; this.label4.Text = "Use Shift"; this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // + // // label5 - // + // this.label5.BackColor = System.Drawing.Color.Transparent; this.label5.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(95)))), ((int)(((byte)(99)))), ((int)(((byte)(104))))); this.label5.Location = new System.Drawing.Point(18, 206); @@ -222,20 +222,20 @@ namespace AppLauncher.Windows.Forms this.label5.TabIndex = 180; this.label5.Text = "Key"; this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // + // // horizontalSeparator2 - // - this.horizontalSeparator2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + // + this.horizontalSeparator2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.horizontalSeparator2.Location = new System.Drawing.Point(10, 247); this.horizontalSeparator2.MaximumSize = new System.Drawing.Size(4920, 2); this.horizontalSeparator2.Name = "horizontalSeparator2"; this.horizontalSeparator2.Size = new System.Drawing.Size(380, 2); this.horizontalSeparator2.TabIndex = 181; - // + // // pickerBox4 - // - this.pickerBox4.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + // + this.pickerBox4.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.pickerBox4.BackColor = System.Drawing.Color.Transparent; this.pickerBox4.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F); @@ -247,9 +247,9 @@ namespace AppLauncher.Windows.Forms this.pickerBox4.SubmitButton = null; this.pickerBox4.TabIndex = 183; this.pickerBox4.Value = true; - // + // // label6 - // + // this.label6.BackColor = System.Drawing.Color.Transparent; this.label6.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(95)))), ((int)(((byte)(99)))), ((int)(((byte)(104))))); this.label6.Location = new System.Drawing.Point(18, 300); @@ -259,10 +259,10 @@ namespace AppLauncher.Windows.Forms this.label6.TabIndex = 182; this.label6.Text = "Hide On Close"; this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // + // // pickerBox5 - // - this.pickerBox5.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + // + this.pickerBox5.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.pickerBox5.BackColor = System.Drawing.Color.Transparent; this.pickerBox5.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F); @@ -274,9 +274,9 @@ namespace AppLauncher.Windows.Forms this.pickerBox5.SubmitButton = null; this.pickerBox5.TabIndex = 185; this.pickerBox5.Value = true; - // + // // label7 - // + // this.label7.BackColor = System.Drawing.Color.Transparent; this.label7.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(95)))), ((int)(((byte)(99)))), ((int)(((byte)(104))))); this.label7.Location = new System.Drawing.Point(18, 341); @@ -286,9 +286,9 @@ namespace AppLauncher.Windows.Forms this.label7.TabIndex = 184; this.label7.Text = "Hide On Click"; this.label7.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // + // // label8 - // + // this.label8.BackColor = System.Drawing.Color.Transparent; this.label8.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(95)))), ((int)(((byte)(99)))), ((int)(((byte)(104))))); this.label8.Location = new System.Drawing.Point(18, 259); @@ -298,10 +298,10 @@ namespace AppLauncher.Windows.Forms this.label8.TabIndex = 186; this.label8.Text = "Auto Save"; this.label8.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // + // // pickerBox6 - // - this.pickerBox6.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + // + this.pickerBox6.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.pickerBox6.BackColor = System.Drawing.Color.Transparent; this.pickerBox6.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F); @@ -312,9 +312,9 @@ namespace AppLauncher.Windows.Forms this.pickerBox6.Size = new System.Drawing.Size(220, 32); this.pickerBox6.SubmitButton = null; this.pickerBox6.TabIndex = 187; - // + // // OptionsForm - // + // this.ClientSize = new System.Drawing.Size(400, 480); this.Controls.Add(this.pickerBox6); this.Controls.Add(this.label8); diff --git a/Windows/Forms/Tile/TTilePanel.cs b/Windows/Forms/Tile/TTilePanel.cs index 8136700..00e144c 100644 --- a/Windows/Forms/Tile/TTilePanel.cs +++ b/Windows/Forms/Tile/TTilePanel.cs @@ -9,7 +9,7 @@ using System.Windows.Forms; namespace AppLauncher.Windows.Forms { - public partial class TTilePanel : AUserControl + public partial class TTilePanel : TUserControl { protected bool isDragging = false; protected Point startPosition = new Point(); @@ -23,6 +23,7 @@ namespace AppLauncher.Windows.Forms this.BackColor = Color.FromArgb(250, 250, 250); this.ContextMenuStrip = contextMenuStrip1; + this.DoubleBuffered = true; label1.ForeColor = Color.FromArgb(99, 105, 119); label1.Font = new Font(this.Font.FontFamily, 8.25F); diff --git a/Windows/Forms/Tile/TTilePanelLayout.Designer.cs b/Windows/Forms/Tile/TTilePanelLayout.Designer.cs index 03dd3db..7f5696d 100644 --- a/Windows/Forms/Tile/TTilePanelLayout.Designer.cs +++ b/Windows/Forms/Tile/TTilePanelLayout.Designer.cs @@ -36,6 +36,7 @@ this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem5 = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.removeRowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem(); this.topToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -44,6 +45,7 @@ this.bottomToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); + this.label1 = new System.Windows.Forms.Label(); this.contextMenuStrip1.SuspendLayout(); this.contextMenuStrip2.SuspendLayout(); this.SuspendLayout(); @@ -67,7 +69,7 @@ // this.addListToolStripMenuItem.Name = "addListToolStripMenuItem"; this.addListToolStripMenuItem.Size = new System.Drawing.Size(180, 22); - this.addListToolStripMenuItem.Text = "Add &List Tile"; + this.addListToolStripMenuItem.Text = "Add &Folder"; this.addListToolStripMenuItem.Click += new System.EventHandler(this.addListTileMenuItem_Click); // // contextMenuStrip2 @@ -76,38 +78,46 @@ this.toolStripMenuItem2, this.toolStripMenuItem5, this.toolStripMenuItem1, + this.removeRowToolStripMenuItem, this.toolStripSeparator2, this.toolStripMenuItem4, this.toolStripSeparator1, this.toolStripMenuItem3}); this.contextMenuStrip2.Name = "contextMenuStrip1"; - this.contextMenuStrip2.Size = new System.Drawing.Size(133, 126); + this.contextMenuStrip2.Size = new System.Drawing.Size(144, 148); // // toolStripMenuItem2 // this.toolStripMenuItem2.Name = "toolStripMenuItem2"; - this.toolStripMenuItem2.Size = new System.Drawing.Size(132, 22); + this.toolStripMenuItem2.Size = new System.Drawing.Size(143, 22); this.toolStripMenuItem2.Text = "&Add Group"; this.toolStripMenuItem2.Click += new System.EventHandler(this.addGroupMenuItem_Click); // // toolStripMenuItem5 // this.toolStripMenuItem5.Name = "toolStripMenuItem5"; - this.toolStripMenuItem5.Size = new System.Drawing.Size(132, 22); + this.toolStripMenuItem5.Size = new System.Drawing.Size(143, 22); this.toolStripMenuItem5.Text = "Add &Row"; this.toolStripMenuItem5.Click += new System.EventHandler(this.addRowMenuItem_Click); // // toolStripMenuItem1 // this.toolStripMenuItem1.Name = "toolStripMenuItem1"; - this.toolStripMenuItem1.Size = new System.Drawing.Size(132, 22); + this.toolStripMenuItem1.Size = new System.Drawing.Size(143, 22); this.toolStripMenuItem1.Text = "&Edit"; this.toolStripMenuItem1.Click += new System.EventHandler(this.editGroupMenuItem_Click); // + // removeRowToolStripMenuItem + // + this.removeRowToolStripMenuItem.Name = "removeRowToolStripMenuItem"; + this.removeRowToolStripMenuItem.Size = new System.Drawing.Size(143, 22); + this.removeRowToolStripMenuItem.Text = "Remo&ve Row"; + this.removeRowToolStripMenuItem.Click += new System.EventHandler(this.removeRowToolStripMenuItem_Click); + // // toolStripSeparator2 // this.toolStripSeparator2.Name = "toolStripSeparator2"; - this.toolStripSeparator2.Size = new System.Drawing.Size(129, 6); + this.toolStripSeparator2.Size = new System.Drawing.Size(140, 6); // // toolStripMenuItem4 // @@ -117,7 +127,7 @@ this.downToolStripMenuItem, this.bottomToolStripMenuItem}); this.toolStripMenuItem4.Name = "toolStripMenuItem4"; - this.toolStripMenuItem4.Size = new System.Drawing.Size(132, 22); + this.toolStripMenuItem4.Size = new System.Drawing.Size(143, 22); this.toolStripMenuItem4.Text = "&Move"; // // topToolStripMenuItem @@ -151,25 +161,42 @@ // toolStripSeparator1 // this.toolStripSeparator1.Name = "toolStripSeparator1"; - this.toolStripSeparator1.Size = new System.Drawing.Size(129, 6); + this.toolStripSeparator1.Size = new System.Drawing.Size(140, 6); // // toolStripMenuItem3 // this.toolStripMenuItem3.Name = "toolStripMenuItem3"; - this.toolStripMenuItem3.Size = new System.Drawing.Size(132, 22); + this.toolStripMenuItem3.Size = new System.Drawing.Size(143, 22); this.toolStripMenuItem3.Text = "&Remove"; this.toolStripMenuItem3.Click += new System.EventHandler(this.removeGroupMenuItem3_Click); // - // TilePanelLayout + // label1 + // + this.label1.AutoSize = true; + this.label1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(99)))), ((int)(((byte)(105)))), ((int)(((byte)(119))))); + this.label1.Image = global::AppLauncher.Properties.Resources.toggle_left_ea_16; + this.label1.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.label1.Location = new System.Drawing.Point(227, 72); + this.label1.Margin = new System.Windows.Forms.Padding(0); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(0, 13); + this.label1.TabIndex = 2; + this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.label1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.label1_MouseClick); + this.label1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.label1_MouseClick); + // + // TTilePanelLayout // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.Color.Transparent; - this.Name = "TilePanelLayout"; + this.Controls.Add(this.label1); + this.Name = "TTilePanelLayout"; this.Size = new System.Drawing.Size(370, 150); this.contextMenuStrip1.ResumeLayout(false); this.contextMenuStrip2.ResumeLayout(false); this.ResumeLayout(false); + this.PerformLayout(); } @@ -189,5 +216,7 @@ private System.Windows.Forms.ToolStripMenuItem bottomToolStripMenuItem; private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem3; + private System.Windows.Forms.ToolStripMenuItem removeRowToolStripMenuItem; + private System.Windows.Forms.Label label1; } } diff --git a/Windows/Forms/Tile/TTilePanelLayout.cs b/Windows/Forms/Tile/TTilePanelLayout.cs index 5a2a515..53e62a8 100644 --- a/Windows/Forms/Tile/TTilePanelLayout.cs +++ b/Windows/Forms/Tile/TTilePanelLayout.cs @@ -13,7 +13,7 @@ using System.Windows.Forms; namespace AppLauncher.Windows.Forms { - public partial class TTilePanelLayout : AUserControl + public partial class TTilePanelLayout : TUserControl { public class Item { @@ -46,6 +46,10 @@ namespace AppLauncher.Windows.Forms this.BackColor = Color.Transparent; this.LoadModel(model); + + label1.Location = new Point(0, 4); + label1.Margin = new Padding(0); + label1.Padding = new Padding(0); } protected override void OnDragDrop(DragEventArgs e) @@ -124,17 +128,6 @@ namespace AppLauncher.Windows.Forms //this.Size = new Size(panel1.Width, this.ExpandedHeight); } - protected override void OnPaint(PaintEventArgs e) - { - base.OnPaint(e); - - Graphics g = e.Graphics; - - g.DrawImageUnscaled((isChecked ? Properties.Resources.toggle_right_ea_16 : Properties.Resources.toggle_left_ea_16), 2, 2); - - TextRenderer.DrawText(g, groupModel?.Title, new Font(this.Font.FontFamily, 8.25F), new Point(25, 4), Color.FromArgb(99, 105, 119)); - } - protected override async void OnResize(EventArgs e) { base.OnResize(e); @@ -142,7 +135,7 @@ namespace AppLauncher.Windows.Forms await this.InvalidateContainer(); } - protected override async void OnMouseClick(MouseEventArgs e) + protected override void OnMouseClick(MouseEventArgs e) { base.OnMouseClick(e); @@ -152,38 +145,7 @@ namespace AppLauncher.Windows.Forms if (e.Button == MouseButtons.Left) { - if (isLabel) - { - isChecked = !isChecked; - - this.Invalidate(); - - await this.InvalidateContainer(); - - // exclusivity - if (isChecked) - { - if (this.Model.IsExclusive) - { - if (this.FlowLayoutPanel != null) - { - foreach (TTilePanelLayout item in this.FlowLayoutPanel.Controls.OfType()) - { - if (item.Equals(this)) - { - continue; - } - - await item.Collapse(); - } - } - } - } - } - else - { - // do nothing - } + // do nothing } else if (e.Button == MouseButtons.Right) { @@ -335,7 +297,7 @@ namespace AppLauncher.Windows.Forms isAnimating = false; - this.Invalidate(); + this.Invalidate(this.DisplayRectangle, false); }); } @@ -353,8 +315,6 @@ namespace AppLauncher.Windows.Forms while (this.Height < this.ExpandedHeight) { ThreadControl.SetHeight(this, (this.Height + expandIncrement)); - this.Invalidate(); - Thread.Sleep(10); } } @@ -363,7 +323,7 @@ namespace AppLauncher.Windows.Forms isAnimating = false; - this.Invalidate(); + this.Invalidate(this.DisplayRectangle, false); }); } @@ -409,7 +369,7 @@ namespace AppLauncher.Windows.Forms })); } - public void AddRow() =>this.SetGridSize(groupModel.GridSize.Width, (groupModel.GridSize.Height + 1)); + public void AddRow() => this.SetGridSize(gridSize.X, (gridSize.Y + 1)); public void EditGroup() => EditGroupForm.ShowDialog(this); @@ -419,6 +379,9 @@ namespace AppLauncher.Windows.Forms isChecked = groupModel.IsExpanded; + label1.Text = " " + groupModel?.Title; + label1.Image = (isChecked ? Properties.Resources.toggle_right_ea_16 : Properties.Resources.toggle_left_ea_16); + this.SetGridSize(groupModel.GridSize.Width, groupModel.GridSize.Height); this.LoadTiles(model.Items); this.SetGridSize(groupModel.GridSize.Width, groupModel.GridSize.Height); @@ -431,6 +394,8 @@ namespace AppLauncher.Windows.Forms groupModel = model; isChecked = groupModel.IsExpanded; + label1.Text = " " + groupModel?.Title; + this.Invalidate(); } @@ -580,6 +545,8 @@ namespace AppLauncher.Windows.Forms { gridSize = new Point(width, height); + groupModel.GridSize.Height = height; + expandedHeight = (this.TileSize * height) + labelHeight; int w = (this.TileSize * gridSize.X); @@ -784,5 +751,56 @@ namespace AppLauncher.Windows.Forms private void removeGroupMenuItem3_Click(object sender, EventArgs e) => this.Remove(); + private void removeRowToolStripMenuItem_Click(object sender, EventArgs e) + { + bool rs = items.Exists(x => x.Coord.Y.Equals(gridSize.Y - 1)); + if (!rs) + { + this.SetGridSize(gridSize.X, (gridSize.Y - 1)); + } + } + + private async void label1_MouseClick(object sender, MouseEventArgs e) + { + if (isAnimating) return; + + if (e.Button == MouseButtons.Left) + { + isChecked = !isChecked; + + label1.Image = (isChecked ? Properties.Resources.toggle_right_ea_16 : Properties.Resources.toggle_left_ea_16); + + this.Invalidate(); + + await this.InvalidateContainer(); + + // exclusivity + if (isChecked) + { + if (this.Model.IsExclusive) + { + if (this.FlowLayoutPanel != null) + { + foreach (TTilePanelLayout item in this.FlowLayoutPanel.Controls.OfType()) + { + if (item.Equals(this)) + { + continue; + } + + await item.Collapse(); + } + } + } + } + + label1.Image = (isChecked ? Properties.Resources.toggle_right_ea_16 : Properties.Resources.toggle_left_ea_16); + } + else if (e.Button == MouseButtons.Right) + { + contextMenuStrip2.Show(this, e.Location); + } + } + } } diff --git a/build-release.bat b/build-release.bat new file mode 100644 index 0000000..6875a19 --- /dev/null +++ b/build-release.bat @@ -0,0 +1 @@ +"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe" "skye.sln" /T:Build /P:Configuration=Release \ No newline at end of file diff --git a/installer.iss b/installer.iss index e945c85..8f5bcae 100644 --- a/installer.iss +++ b/installer.iss @@ -2,7 +2,7 @@ ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! #define MyAppName "Fizzy Launcher" -#define MyAppVersion "0.1.1.109 alpha" +#define MyAppVersion "0.1.1.144 alpha" #define MyAppPublisher "Hi, I'm Ray" #define MyAppURL "https://www.hiimray.co.uk/software-fizzy-launcher" #define MyAppExeName "fizzylauncher.exe" @@ -37,6 +37,7 @@ Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{ [Files] Source: "L:\gitlab-hiimray\fizzy-launcher\bin\Release\fizzylauncher.exe"; DestDir: "{app}"; Flags: ignoreversion +Source: "L:\gitlab-hiimray\fizzy-launcher\bin\Release\fizzylauncher.ui.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "L:\gitlab-hiimray\fizzy-launcher\bin\Release\Newtonsoft.Json.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "L:\gitlab-hiimray\fizzy-launcher\bin\Release\Newtonsoft.Json.xml"; DestDir: "{app}"; Flags: ignoreversion ; NOTE: Don't use "Flags: ignoreversion" on any shared system files diff --git a/skye.sln b/skye.sln index 3b21ce7..f67c029 100644 --- a/skye.sln +++ b/skye.sln @@ -1,10 +1,12 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.28307.1022 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.30523.141 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FizzyLauncher", "FizzyLauncher.csproj", "{66C1C75C-3612-4D23-B937-C3DE0D653292}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FizzyLauncher.UI", "FizzyLauncher.UI\FizzyLauncher.UI.csproj", "{D9A49347-583F-41B4-AFE1-63EC80BBDB38}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -15,6 +17,10 @@ Global {66C1C75C-3612-4D23-B937-C3DE0D653292}.Debug|Any CPU.Build.0 = Debug|Any CPU {66C1C75C-3612-4D23-B937-C3DE0D653292}.Release|Any CPU.ActiveCfg = Release|Any CPU {66C1C75C-3612-4D23-B937-C3DE0D653292}.Release|Any CPU.Build.0 = Release|Any CPU + {D9A49347-583F-41B4-AFE1-63EC80BBDB38}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D9A49347-583F-41B4-AFE1-63EC80BBDB38}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D9A49347-583F-41B4-AFE1-63EC80BBDB38}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D9A49347-583F-41B4-AFE1-63EC80BBDB38}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE