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..23e9e57
--- /dev/null
+++ b/FizzyLauncher.UI/FizzyLauncher.UI.csproj
@@ -0,0 +1,197 @@
+
+
+
+
+ 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
+ Resources.resx
+
+
+
+ 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
+ Resources.Designer.cs
+
+
+ TButton.cs
+
+
+ TButtonTextBox.cs
+
+
+ TDialogForm.cs
+
+
+ TListBox.cs
+
+
+ TPickerBox.cs
+
+
+ TTextBox.cs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ 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/FizzyLauncher.UI/Properties/Resources.Designer.cs b/FizzyLauncher.UI/Properties/Resources.Designer.cs
new file mode 100644
index 0000000..40f0b6b
--- /dev/null
+++ b/FizzyLauncher.UI/Properties/Resources.Designer.cs
@@ -0,0 +1,223 @@
+//------------------------------------------------------------------------------
+//
+// 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 Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ ///
+ /// 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.Resources", typeof(Resources).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 arrow_down16_a {
+ get {
+ object obj = ResourceManager.GetObject("arrow_down16_a", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap arrow_down16_b {
+ get {
+ object obj = ResourceManager.GetObject("arrow_down16_b", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap arrow_up16_a {
+ get {
+ object obj = ResourceManager.GetObject("arrow_up16_a", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap arrow_up16_b {
+ get {
+ object obj = ResourceManager.GetObject("arrow_up16_b", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap close16_a {
+ get {
+ object obj = ResourceManager.GetObject("close16_a", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap close16_b {
+ get {
+ object obj = ResourceManager.GetObject("close16_b", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap edit16_a {
+ get {
+ object obj = ResourceManager.GetObject("edit16_a", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap edit16_b {
+ get {
+ object obj = ResourceManager.GetObject("edit16_b", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap file16_a {
+ get {
+ object obj = ResourceManager.GetObject("file16_a", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap file16_b {
+ get {
+ object obj = ResourceManager.GetObject("file16_b", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap folder16_a {
+ get {
+ object obj = ResourceManager.GetObject("folder16_a", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap folder16_b {
+ get {
+ object obj = ResourceManager.GetObject("folder16_b", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap minus16_a {
+ get {
+ object obj = ResourceManager.GetObject("minus16_a", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap minus16_b {
+ get {
+ object obj = ResourceManager.GetObject("minus16_b", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap plus16_a {
+ get {
+ object obj = ResourceManager.GetObject("plus16_a", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap plus16_b {
+ get {
+ object obj = ResourceManager.GetObject("plus16_b", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+ }
+}
diff --git a/FizzyLauncher.UI/Properties/Resources.resx b/FizzyLauncher.UI/Properties/Resources.resx
new file mode 100644
index 0000000..a71d849
--- /dev/null
+++ b/FizzyLauncher.UI/Properties/Resources.resx
@@ -0,0 +1,169 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+ ..\Resources\arrow_down16_a.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\arrow_down16_b.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\arrow_up16_a.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\arrow_up16_b.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\close16_a.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\close16_b.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\edit16_a.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\edit16_b.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\file16_a.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\file16_b.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\folder16_a.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\folder16_b.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\minus16_a.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\minus16_b.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\plus16_a.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\plus16_b.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
\ No newline at end of file
diff --git a/FizzyLauncher.UI/Resources/arrow_down16_a.png b/FizzyLauncher.UI/Resources/arrow_down16_a.png
new file mode 100644
index 0000000..cccf233
Binary files /dev/null and b/FizzyLauncher.UI/Resources/arrow_down16_a.png differ
diff --git a/FizzyLauncher.UI/Resources/arrow_down16_b.png b/FizzyLauncher.UI/Resources/arrow_down16_b.png
new file mode 100644
index 0000000..5b0b115
Binary files /dev/null and b/FizzyLauncher.UI/Resources/arrow_down16_b.png differ
diff --git a/FizzyLauncher.UI/Resources/arrow_up16_a.png b/FizzyLauncher.UI/Resources/arrow_up16_a.png
new file mode 100644
index 0000000..a08438b
Binary files /dev/null and b/FizzyLauncher.UI/Resources/arrow_up16_a.png differ
diff --git a/FizzyLauncher.UI/Resources/arrow_up16_b.png b/FizzyLauncher.UI/Resources/arrow_up16_b.png
new file mode 100644
index 0000000..07c1797
Binary files /dev/null and b/FizzyLauncher.UI/Resources/arrow_up16_b.png differ
diff --git a/FizzyLauncher.UI/Resources/close16_a.png b/FizzyLauncher.UI/Resources/close16_a.png
new file mode 100644
index 0000000..25fc632
Binary files /dev/null and b/FizzyLauncher.UI/Resources/close16_a.png differ
diff --git a/FizzyLauncher.UI/Resources/close16_b.png b/FizzyLauncher.UI/Resources/close16_b.png
new file mode 100644
index 0000000..c02cdf0
Binary files /dev/null and b/FizzyLauncher.UI/Resources/close16_b.png differ
diff --git a/FizzyLauncher.UI/Resources/edit16_a.png b/FizzyLauncher.UI/Resources/edit16_a.png
new file mode 100644
index 0000000..031e3f6
Binary files /dev/null and b/FizzyLauncher.UI/Resources/edit16_a.png differ
diff --git a/FizzyLauncher.UI/Resources/edit16_b.png b/FizzyLauncher.UI/Resources/edit16_b.png
new file mode 100644
index 0000000..b9e93ab
Binary files /dev/null and b/FizzyLauncher.UI/Resources/edit16_b.png differ
diff --git a/FizzyLauncher.UI/Resources/file16_a.png b/FizzyLauncher.UI/Resources/file16_a.png
new file mode 100644
index 0000000..d0c9e58
Binary files /dev/null and b/FizzyLauncher.UI/Resources/file16_a.png differ
diff --git a/FizzyLauncher.UI/Resources/file16_b.png b/FizzyLauncher.UI/Resources/file16_b.png
new file mode 100644
index 0000000..f3e9f6d
Binary files /dev/null and b/FizzyLauncher.UI/Resources/file16_b.png differ
diff --git a/FizzyLauncher.UI/Resources/folder16_a.png b/FizzyLauncher.UI/Resources/folder16_a.png
new file mode 100644
index 0000000..a97c4e0
Binary files /dev/null and b/FizzyLauncher.UI/Resources/folder16_a.png differ
diff --git a/FizzyLauncher.UI/Resources/folder16_b.png b/FizzyLauncher.UI/Resources/folder16_b.png
new file mode 100644
index 0000000..d21178a
Binary files /dev/null and b/FizzyLauncher.UI/Resources/folder16_b.png differ
diff --git a/FizzyLauncher.UI/Resources/minus16_a.png b/FizzyLauncher.UI/Resources/minus16_a.png
new file mode 100644
index 0000000..6b396d4
Binary files /dev/null and b/FizzyLauncher.UI/Resources/minus16_a.png differ
diff --git a/FizzyLauncher.UI/Resources/minus16_b.png b/FizzyLauncher.UI/Resources/minus16_b.png
new file mode 100644
index 0000000..9bb4128
Binary files /dev/null and b/FizzyLauncher.UI/Resources/minus16_b.png differ
diff --git a/FizzyLauncher.UI/Resources/plus16_a.png b/FizzyLauncher.UI/Resources/plus16_a.png
new file mode 100644
index 0000000..f63ace9
Binary files /dev/null and b/FizzyLauncher.UI/Resources/plus16_a.png differ
diff --git a/FizzyLauncher.UI/Resources/plus16_b.png b/FizzyLauncher.UI/Resources/plus16_b.png
new file mode 100644
index 0000000..0c29081
Binary files /dev/null and b/FizzyLauncher.UI/Resources/plus16_b.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/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..f0ec21a 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.Resources.close16_b;
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.Resources.close16_a;
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 98%
rename from RyzStudio/Windows/ThemedForms/TDialogForm.cs
rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TDialogForm.cs
index f6d451e..2f2b440 100644
--- a/RyzStudio/Windows/ThemedForms/TDialogForm.cs
+++ b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TDialogForm.cs
@@ -5,7 +5,7 @@
using System.Drawing;
using System.Drawing.Design;
using System.Windows.Forms;
- using Resources = AppLauncher.Properties.Resources;
+// using Resources = AppLauncher.Properties.Resources;
public partial class TDialogForm : System.Windows.Forms.Form
{
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 86%
rename from RyzStudio/Windows/ThemedForms/TFolderTextBox.cs
rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TFolderTextBox.cs
index 1327b26..ec17cc5 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.Resources;
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.folder16_a;
+ this.HighlightImage = Resources.folder16_b;
this.Text = string.Empty;
}
diff --git a/RyzStudio/Windows/ThemedForms/TForm.Designer.cs b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TForm.Designer.cs
similarity index 100%
rename from RyzStudio/Windows/ThemedForms/TForm.Designer.cs
rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TForm.Designer.cs
diff --git a/RyzStudio/Windows/ThemedForms/TForm.cs b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TForm.cs
similarity index 100%
rename from RyzStudio/Windows/ThemedForms/TForm.cs
rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TForm.cs
diff --git a/RyzStudio/Windows/ThemedForms/TForm.resx b/FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TForm.resx
similarity index 100%
rename from RyzStudio/Windows/ThemedForms/TForm.resx
rename to FizzyLauncher.UI/RyzStudio/Windows/ThemedForms/TForm.resx
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..bab75f5 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.Resources.edit16_b;
+ this.imageBox5.Image = global::AppLauncher.Properties.Resources.edit16_a;
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.Resources.edit16_a;
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.Resources.arrow_down16_b;
+ this.imageBox4.Image = global::AppLauncher.Properties.Resources.arrow_down16_a;
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.Resources.arrow_down16_a;
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.Resources.arrow_up16_b;
+ this.imageBox3.Image = global::AppLauncher.Properties.Resources.arrow_up16_a;
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.Resources.arrow_up16_a;
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.Resources.minus16_b;
+ this.imageBox2.Image = global::AppLauncher.Properties.Resources.minus16_a;
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.Resources.minus16_a;
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.Resources.plus16_b;
+ this.imageBox1.Image = global::AppLauncher.Properties.Resources.plus16_a;
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.Resources.plus16_a;
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..cca78a3 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.Resources;
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.file16_a;
+ this.HighlightImage = Resources.file16_b;
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..c39b609 100644
--- a/FizzyLauncher.csproj
+++ b/FizzyLauncher.csproj
@@ -78,71 +78,6 @@
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
@@ -164,9 +99,6 @@
Form
-
- UserControl
-
UserControl
@@ -190,24 +122,6 @@
ResXFileCodeGenerator
Resource1.Designer.cs
-
- TButton.cs
-
-
- TDialogForm.cs
-
-
- TListBox.cs
-
-
- TPickerBox.cs
-
-
- TTextBox.cs
-
-
- TButtonTextBox.cs
-
AForm.cs
@@ -260,7 +174,13 @@
-
+
+
+ {d9a49347-583f-41b4-afe1-63ec80bbdb38}
+ FizzyLauncher.UI
+
+
+
\ No newline at end of file
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/Windows/Forms/AForm.cs b/Windows/Forms/AForm.cs
index 1d75d60..4e1e9ac 100644
--- a/Windows/Forms/AForm.cs
+++ b/Windows/Forms/AForm.cs
@@ -13,6 +13,7 @@ namespace AppLauncher.Windows.Forms
protected readonly Color backColour = Color.FromArgb(254, 254, 254);
protected readonly Color titleBarColour = Color.FromArgb(237, 240, 247);
+ protected readonly Color titleBorderColour = Color.FromArgb(232, 231, 236);
protected readonly Color titleColour = Color.FromArgb(156, 158, 171);
protected readonly int titleBarHeight = 56;
@@ -158,7 +159,7 @@ namespace AppLauncher.Windows.Forms
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));
+ g.DrawLine(new Pen(titleBorderColour, 1), area.X, (titleBarHeight + 1), (area.Width + area.X), (titleBarHeight + 1));
if (!DesignMode) g.DrawImageUnscaled(Properties.Resources.app_icon_24, 17, 17);
diff --git a/Windows/Forms/Tile/TTilePanel.cs b/Windows/Forms/Tile/TTilePanel.cs
index 8136700..48d2d8c 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();
diff --git a/Windows/Forms/Tile/TTilePanelLayout.cs b/Windows/Forms/Tile/TTilePanelLayout.cs
index 5a2a515..64b5b1f 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
{
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