Merge branch 'feature/net5-port' into 'release/0.2.1.055'

Feature/net5 port

See merge request SympatheticFire/linear-app-launcher!18
This commit is contained in:
Ray 2021-07-24 19:56:43 +00:00
commit a179f81f0d
154 changed files with 3309 additions and 5553 deletions

8
.gitignore vendored
View File

@ -1,8 +1,6 @@
/.vs
/bin
/obj
/packages
/Installer/Debug
/Installer/Release
/FizzyLauncher.UI/bin
/FizzyLauncher.UI/obj
*.user
*.pubxml.user
*.csproj.user

View File

@ -8,7 +8,7 @@
// </auto-generated>
//------------------------------------------------------------------------------
namespace AppLauncher.Properties {
namespace FizzyLauncher {
using System;
@ -22,14 +22,14 @@ namespace AppLauncher.Properties {
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
internal class AppResource {
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() {
internal AppResource() {
}
/// <summary>
@ -39,7 +39,7 @@ namespace AppLauncher.Properties {
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AppLauncher.Properties.Resources", typeof(Resources).Assembly);
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("FizzyLauncher.AppResource", typeof(AppResource).Assembly);
resourceMan = temp;
}
return resourceMan;
@ -60,16 +60,6 @@ namespace AppLauncher.Properties {
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap app_icon {
get {
object obj = ResourceManager.GetObject("app_icon", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>

View File

@ -112,22 +112,19 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="app_icon" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\app_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="folder_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\folder_32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<value>Resources\folder_32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="toggle_left_ea_16" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\toggle-left-ea-16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<value>Resources\toggle-left-ea-16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="toggle_right_ea_16" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\toggle-right-ea-16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<value>Resources\toggle-right-ea-16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

View File

@ -1,272 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{D9A49347-583F-41B4-AFE1-63EC80BBDB38}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>AppLauncher</RootNamespace>
<AssemblyName>fizzylauncher.ui</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Properties\Resources16.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources16.resx</DependentUpon>
</Compile>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="RyzStudio\Drawing\Rectangoid.cs" />
<Compile Include="RyzStudio\Windows\Forms\TForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="RyzStudio\Windows\Forms\TUserControl.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="RyzStudio\Windows\Forms\TFlatButton.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="RyzStudio\Windows\Forms\THorizontalSeparator.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="RyzStudio\Windows\Forms\THorizontalSeparator.Designer.cs">
<DependentUpon>THorizontalSeparator.cs</DependentUpon>
</Compile>
<Compile Include="RyzStudio\Windows\Forms\ThreadControl.cs" />
<Compile Include="RyzStudio\Windows\Forms\TImageBox.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TButton.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TButton.designer.cs">
<DependentUpon>TButton.cs</DependentUpon>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TButtonTextBox.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TButtonTextBox.designer.cs">
<DependentUpon>TButtonTextBox.cs</DependentUpon>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TDialogForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TDialogForm.Designer.cs">
<DependentUpon>TDialogForm.cs</DependentUpon>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TFolderTextBox.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TListBox.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TListBox.designer.cs">
<DependentUpon>TListBox.cs</DependentUpon>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TOpenFileTextBox.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TPickerBox.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TPickerBox.designer.cs">
<DependentUpon>TPickerBox.cs</DependentUpon>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TTextBox.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TTextBox.designer.cs">
<DependentUpon>TTextBox.cs</DependentUpon>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TUserControl.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TUserControl.designer.cs">
<DependentUpon>TUserControl.cs</DependentUpon>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TYesNoPickerBox.cs">
<SubType>UserControl</SubType>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Properties\Resources16.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources16.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="RyzStudio\Windows\Forms\TForm.resx">
<DependentUpon>TForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="RyzStudio\Windows\ThemedForms\TButton.resx">
<DependentUpon>TButton.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="RyzStudio\Windows\ThemedForms\TButtonTextBox.resx">
<DependentUpon>TButtonTextBox.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="RyzStudio\Windows\ThemedForms\TDialogForm.resx">
<DependentUpon>TDialogForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="RyzStudio\Windows\ThemedForms\TListBox.resx">
<DependentUpon>TListBox.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="RyzStudio\Windows\ThemedForms\TPickerBox.resx">
<DependentUpon>TPickerBox.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="RyzStudio\Windows\ThemedForms\TTextBox.resx">
<DependentUpon>TTextBox.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="Resources\16\arrow_down.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\16\arrow_down2.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\16\arrow_up.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\16\arrow_up2.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\16\close.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\16\close2.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\16\edit.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\16\edit2.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\16\file.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\16\file2.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\16\folder.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\16\folder2.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\16\minus.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\16\minus2.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\16\plus.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\16\plus2.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_blank.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_blank2.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_blank3.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_blank4.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_blank5.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_close.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_close2.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_close3.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_close4.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_close5.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_maximise.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_maximise2.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_maximise3.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_maximise4.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_maximise5.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_minimise.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_minimise2.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_minimise3.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_minimise4.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_minimise5.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ProjectFiles</ProjectView>
</PropertyGroup>
</Project>

View File

@ -1,36 +0,0 @@
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")]

View File

@ -1,263 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 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.
// </auto-generated>
//------------------------------------------------------------------------------
namespace AppLauncher.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// 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() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[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;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_blank {
get {
object obj = ResourceManager.GetObject("titlebar_blank", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_blank2 {
get {
object obj = ResourceManager.GetObject("titlebar_blank2", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_blank3 {
get {
object obj = ResourceManager.GetObject("titlebar_blank3", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_blank4 {
get {
object obj = ResourceManager.GetObject("titlebar_blank4", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_blank5 {
get {
object obj = ResourceManager.GetObject("titlebar_blank5", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_close {
get {
object obj = ResourceManager.GetObject("titlebar_close", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_close2 {
get {
object obj = ResourceManager.GetObject("titlebar_close2", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_close3 {
get {
object obj = ResourceManager.GetObject("titlebar_close3", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_close4 {
get {
object obj = ResourceManager.GetObject("titlebar_close4", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_close5 {
get {
object obj = ResourceManager.GetObject("titlebar_close5", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_maximise {
get {
object obj = ResourceManager.GetObject("titlebar_maximise", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_maximise2 {
get {
object obj = ResourceManager.GetObject("titlebar_maximise2", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_maximise3 {
get {
object obj = ResourceManager.GetObject("titlebar_maximise3", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_maximise4 {
get {
object obj = ResourceManager.GetObject("titlebar_maximise4", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_maximise5 {
get {
object obj = ResourceManager.GetObject("titlebar_maximise5", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_minimise {
get {
object obj = ResourceManager.GetObject("titlebar_minimise", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_minimise2 {
get {
object obj = ResourceManager.GetObject("titlebar_minimise2", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_minimise3 {
get {
object obj = ResourceManager.GetObject("titlebar_minimise3", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_minimise4 {
get {
object obj = ResourceManager.GetObject("titlebar_minimise4", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_minimise5 {
get {
object obj = ResourceManager.GetObject("titlebar_minimise5", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
}

View File

@ -1,181 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="titlebar_blank" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_blank.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_blank2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_blank2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_blank3" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_blank3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_blank4" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_blank4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_blank5" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_blank5.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_close" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_close.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_close2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_close2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_close3" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_close3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_close4" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_close4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_close5" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_close5.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_maximise" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_maximise.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_maximise2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_maximise2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_maximise3" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_maximise3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_maximise4" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_maximise4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_maximise5" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_maximise5.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_minimise" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_minimise.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_minimise2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_minimise2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_minimise3" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_minimise3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_minimise4" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_minimise4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_minimise5" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_minimise5.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 260 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 259 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 260 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 261 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 429 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 478 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 473 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 441 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 478 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 302 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 307 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 308 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 303 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 311 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 303 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 307 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 309 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 304 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 313 B

View File

@ -1,433 +0,0 @@
using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using Resources = AppLauncher.Properties.Resources;
namespace RyzStudio.Windows.Forms
{
public class TForm : Form
{
protected readonly Color borderColour = Color.FromArgb(200, 200, 200);
protected readonly int borderWidth = 1;
protected readonly int resizeBorderWidth = 4;
protected readonly Color backColour = Color.FromArgb(250, 250, 250);
protected readonly Color titleBackColour = Color.FromArgb(235, 234, 233);
protected readonly Color titleBorderColour = Color.FromArgb(200, 198, 196);
protected readonly Color titleColour = Color.FromArgb(102, 102, 102);
protected readonly int titleBarHeight = 33;
protected readonly bool showTitleBarLine = true;
protected Font titleFont = null;
protected int titleFontTop = 0;
protected readonly Size titleBarIconSize = new Size(48, 32);
protected readonly int titleBarIconMargin = 0;
protected readonly int titleBarIconMarginRight = 0;
protected Image appIcon = null;
protected const int appIconLeft = 12;
protected const int appIconRight = 6;
protected int appIconTop = 0;
protected bool isDragging = false;
protected Point startPosition = new Point();
protected Point startWindowSize = new Point();
protected bool enableMinimise { get; set; } = true;
protected bool enableMaximise { get; set; } = true;
protected bool enableClose { get; set; } = true;
protected bool closeOnMinimise { get; set; } = false;
protected bool isBusy = false;
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);
if (showTitleBarLine) g.DrawLine(new Pen(titleBorderColour, 1), area.X, titleBarHeight, (area.Width + area.X), titleBarHeight);
if (!DesignMode)
{
if (appIcon != null) g.DrawImageUnscaled(appIcon, appIconLeft, appIconTop);
int iconPosX = borderWidth + appIconLeft + appIconRight + ((appIcon == null) ? 0 : appIcon.Width);
TextRenderer.DrawText(g, this.Text, titleFont, new Point(iconPosX, 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 = backColour; }
[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 = "AForm";
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();
closeBox.Image = closeBox.ImageNormal = (enableClose) ? Resources.titlebar_close : Resources.titlebar_blank;
closeBox.ImageHover = (enableClose) ? Resources.titlebar_close3 : Resources.titlebar_blank;
closeBox.ImageSelected = Resources.titlebar_close3;
closeBox.MouseClick += delegate (object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
if (enableClose)
{
this.Close();
}
}
};
closeBox.Left = this.DisplayRectangle.Width - closeBox.Width - (titleBarIconMarginRight + borderWidth);
this.Controls.Add(closeBox);
// maximise
TImageBox maximiseBox = generateToolbarImageBox();
maximiseBox.Image = maximiseBox.ImageNormal = (enableMaximise) ? Resources.titlebar_maximise : Resources.titlebar_blank;
maximiseBox.ImageHover = (enableMaximise) ? Resources.titlebar_maximise5 : Resources.titlebar_blank;
maximiseBox.ImageSelected = Resources.titlebar_maximise3;
maximiseBox.MouseClick += delegate (object sender, MouseEventArgs e)
{
if (!(sender is TImageBox)) return;
TImageBox imageBox2 = (sender as TImageBox);
if (imageBox2 == null) return;
if (e.Button == MouseButtons.Left)
{
if (enableMaximise)
{
if (this.WindowState == FormWindowState.Maximized)
{
this.WindowState = FormWindowState.Normal;
imageBox2.Image = imageBox2.ImageNormal = Resources.titlebar_maximise;
}
else
{
this.WindowState = FormWindowState.Maximized;
imageBox2.Image = imageBox2.ImageNormal = Resources.titlebar_maximise5;
}
}
}
else if (e.Button == MouseButtons.Right)
{
this.TopMost = !this.TopMost;
if (this.TopMost)
{
imageBox2.Image = imageBox2.ImageNormal = Resources.titlebar_maximise3;
imageBox2.ImageHover = (enableMaximise) ? Resources.titlebar_maximise5 : Resources.titlebar_maximise3;
}
else
{
imageBox2.Image = imageBox2.ImageNormal = (enableMaximise) ? Resources.titlebar_maximise : Resources.titlebar_blank;
imageBox2.ImageHover = (enableMaximise) ? Resources.titlebar_maximise5 : Resources.titlebar_blank;
}
}
};
maximiseBox.Left = closeBox.Left - maximiseBox.Width - titleBarIconMargin;
this.Controls.Add(maximiseBox);
// minimise
TImageBox minimiseBox = generateToolbarImageBox();
minimiseBox.Image = minimiseBox.ImageNormal = (enableMinimise) ? Resources.titlebar_minimise : Resources.titlebar_blank;
minimiseBox.ImageHover = (enableMinimise) ? Resources.titlebar_minimise5 : Resources.titlebar_blank;
//minimiseBox.ImageSelected = null;
minimiseBox.MouseClick += delegate (object sender, MouseEventArgs e)
{
if (!enableMinimise) return;
if (e.Button != MouseButtons.Left) return;
if (closeOnMinimise)
{
this.Close();
}
else
{
this.WindowState = FormWindowState.Minimized;
}
};
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.BackColorHover = imageBox.BackColorSelected = Color.FromArgb(220, 220, 220);
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 = 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.Height) / 2) + borderWidth;
imageBox.Anchor = (AnchorStyles.Top | AnchorStyles.Right);
imageBox.Padding = new Padding(0);
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;
//}
}
}

View File

@ -1,26 +0,0 @@
using System.Drawing;
using System.Windows.Forms;
namespace RyzStudio.Windows.Forms
{
public partial class THorizontalSeparator : System.Windows.Forms.UserControl
{
public THorizontalSeparator()
{
InitializeComponent();
this.MaximumSize = new Size(SystemInformation.VirtualScreen.Width, 2);
}
protected override void OnPaintBackground(PaintEventArgs e)
{
base.OnPaintBackground(e);
Graphics g = e.Graphics;
g.FillRectangle(new SolidBrush(Color.FromArgb(213, 223, 229)), new Rectangle(this.DisplayRectangle.Left, 0, this.DisplayRectangle.Width, 1));
g.FillRectangle(new SolidBrush(Color.FromArgb(249, 251, 253)), new Rectangle(this.DisplayRectangle.Left, 1, this.DisplayRectangle.Width, 1));
}
}
}

View File

@ -1,96 +0,0 @@
namespace RyzStudio.Windows.ThemedForms
{
partial class TDialogForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.panel1 = new System.Windows.Forms.Panel();
this.imgbxClose = new RyzStudio.Windows.Forms.TImageBox();
this.area1 = new System.Windows.Forms.Panel();
((System.ComponentModel.ISupportInitialize)(this.imgbxClose)).BeginInit();
this.SuspendLayout();
//
// panel1
//
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.panel1.BackColor = System.Drawing.Color.Transparent;
this.panel1.Cursor = System.Windows.Forms.Cursors.SizeNWSE;
this.panel1.Location = new System.Drawing.Point(335, 595);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(5, 5);
this.panel1.TabIndex = 150;
//
// imgbxClose
//
this.imgbxClose.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.imgbxClose.BackColor = System.Drawing.Color.Transparent;
this.imgbxClose.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.imgbxClose.ErrorImage = null;
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.Properties.Resources16.close;
this.imgbxClose.Size = new System.Drawing.Size(24, 24);
this.imgbxClose.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.imgbxClose.TabIndex = 145;
this.imgbxClose.TabStop = false;
//
// area1
//
this.area1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.area1.BackColor = System.Drawing.Color.Transparent;
this.area1.Cursor = System.Windows.Forms.Cursors.SizeNS;
this.area1.Location = new System.Drawing.Point(0, 595);
this.area1.Name = "area1";
this.area1.Size = new System.Drawing.Size(334, 5);
this.area1.TabIndex = 151;
//
// TDialogForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(248)))), ((int)(((byte)(249)))), ((int)(((byte)(250)))));
this.ClientSize = new System.Drawing.Size(340, 600);
this.Controls.Add(this.area1);
this.Controls.Add(this.panel1);
this.Controls.Add(this.imgbxClose);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.MinimumSize = new System.Drawing.Size(40, 0);
this.Name = "TDialogForm";
((System.ComponentModel.ISupportInitialize)(this.imgbxClose)).EndInit();
this.ResumeLayout(false);
}
#endregion
protected internal Forms.TImageBox imgbxClose;
protected internal System.Windows.Forms.Panel panel1;
protected internal System.Windows.Forms.Panel area1;
}
}

View File

@ -1,136 +0,0 @@
namespace RyzStudio.Windows.ThemedForms
{
using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
public partial class TDialogForm : System.Windows.Forms.Form
{
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);
protected readonly int titleBarHeight = 32;
private bool isDragging = false;
private Point startPosition = new Point();
protected bool isBusy = false;
public TDialogForm() : base()
{
this.InitializeComponent();
this.FormBorderStyle = FormBorderStyle.None;
this.ShowInTaskbar = false;
this.TopMost = true;
imgbxClose.Click += pictureBox3_Click;
this.BackColor = backColour;
this.Padding = new Padding(0);
}
protected override void OnClosing(CancelEventArgs e)
{
base.OnClosing(e);
if (this.IsBusy)
{
e.Cancel = true;
}
}
protected override void OnMouseDown(MouseEventArgs e)
{
base.OnMouseDown(e);
if (e.Button == MouseButtons.Left)
{
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 = 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);
g.DrawLine(new Pen(borderColour, 1), this.DisplayRectangle.X, (titleBarHeight + 1), this.DisplayRectangle.Width, (titleBarHeight + 1));
area.Inflate((-1 * borderWidth), (-1 * borderWidth));
g.FillRectangle(new SolidBrush(titleBarColour), area.X, area.Y, (area.Width + area.X), titleBarHeight);
TextRenderer.DrawText(g, this.Title, titleBarFont, new Point(12, 11), titleBarForeColour);
}
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"), Browsable(true)]
public string Title { get; set; }
protected virtual bool IsBusy { get => isBusy; set => isBusy = value; }
private void pictureBox3_Click(object sender, System.EventArgs e)
{
MouseEventArgs mouseEvent = (MouseEventArgs)e;
if (mouseEvent != null)
{
if (mouseEvent.Button != MouseButtons.Left)
{
return;
}
}
this.Close();
}
}
}

View File

@ -1,171 +1,91 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{66C1C75C-3612-4D23-B937-C3DE0D653292}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>AppLauncher</RootNamespace>
<AssemblyName>fizzylauncher</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>none</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup>
<TargetFramework>net5.0-windows</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
<NoWin32Manifest>true</NoWin32Manifest>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>favicon.ico</ApplicationIcon>
<SignAssembly>false</SignAssembly>
<AssemblyName>fizzylauncher</AssemblyName>
<Authors>Ray Lam</Authors>
<Company>Hi, I'm Ray</Company>
<Product>Fizzy Launcher</Product>
<Copyright>Ray Lam</Copyright>
<AssemblyVersion>0.2.1.055</AssemblyVersion>
<FileVersion>0.2.1.055</FileVersion>
<Version>0.2.1.055</Version>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<OutputPath>bin\Debug\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<DebugType>none</DebugType>
<DebugSymbols>false</DebugSymbols>
</PropertyGroup>
<ItemGroup>
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Compile Remove="#\**" />
<Compile Remove="RyzStudio\Data\**" />
<Compile Remove="RyzStudio\IO\**" />
<Compile Remove="RyzStudio\Net\**" />
<EmbeddedResource Remove="#\**" />
<EmbeddedResource Remove="RyzStudio\Data\**" />
<EmbeddedResource Remove="RyzStudio\IO\**" />
<EmbeddedResource Remove="RyzStudio\Net\**" />
<None Remove="#\**" />
<None Remove="RyzStudio\Data\**" />
<None Remove="RyzStudio\IO\**" />
<None Remove="RyzStudio\Net\**" />
</ItemGroup>
<ItemGroup>
<Compile Include="Models\LauncherSession.cs" />
<Compile Include="Models\TileModel.cs" />
<Compile Include="MainForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="MainForm.Designer.cs">
<DependentUpon>MainForm.cs</DependentUpon>
</Compile>
<Compile Include="Models\TileGroupModel.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<Compile Remove="RyzStudio\Windows\Forms\StackLayoutPanel.cs" />
<Compile Remove="RyzStudio\Windows\Forms\TFlatButton.cs" />
<Compile Remove="RyzStudio\Windows\Forms\TForm.cs" />
<Compile Remove="RyzStudio\Windows\Forms\TPanelBook.cs" />
<Compile Remove="RyzStudio\Windows\ThemedForms\BorderlessForm.cs" />
<Compile Remove="RyzStudio\Windows\ThemedForms\BorderlessForm.Designer.cs" />
<Compile Remove="RyzStudio\Windows\ThemedForms\BorderlessToolForm.cs" />
<Compile Remove="RyzStudio\Windows\ThemedForms\BorderlessToolForm.Designer.cs" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Remove="RyzStudio\Windows\Forms\TForm.resx" />
<EmbeddedResource Remove="RyzStudio\Windows\ThemedForms\BorderlessForm.resx" />
<EmbeddedResource Remove="RyzStudio\Windows\ThemedForms\BorderlessToolForm.resx" />
</ItemGroup>
<ItemGroup>
<Compile Update="AppResource.Designer.cs">
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="Windows\Forms\Tile\AddTileForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Windows\Forms\Tile\EditGroupForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Windows\Forms\Tile\AddListTileForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Windows\Forms\Tile\EditListTileForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Windows\Forms\OptionsForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Windows\Forms\Tile\EditTileForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Windows\Forms\Tile\TTilePanelLayout.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Windows\Forms\Tile\TTilePanelLayout.Designer.cs">
<DependentUpon>TTilePanelLayout.cs</DependentUpon>
</Compile>
<Compile Include="Windows\Forms\Tile\TTilePanel.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Windows\Forms\Tile\TTilePanel.Designer.cs">
<DependentUpon>TTilePanel.cs</DependentUpon>
</Compile>
<EmbeddedResource Include="MainForm.resx">
<DependentUpon>MainForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="Windows\Forms\Tile\AddTileForm.resx">
<DependentUpon>AddTileForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Windows\Forms\Tile\EditGroupForm.resx">
<DependentUpon>EditGroupForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Windows\Forms\Tile\AddListTileForm.resx">
<DependentUpon>AddListTileForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Windows\Forms\Tile\EditListTileForm.resx">
<DependentUpon>EditListTileForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Windows\Forms\OptionsForm.resx">
<DependentUpon>OptionsForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Windows\Forms\Tile\EditTileForm.resx">
<DependentUpon>EditTileForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Windows\Forms\Tile\TTilePanelLayout.resx">
<DependentUpon>TTilePanelLayout.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Windows\Forms\Tile\TTilePanel.resx">
<DependentUpon>TTilePanel.cs</DependentUpon>
</EmbeddedResource>
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
<DependentUpon>AppResource.resx</DependentUpon>
</Compile>
<Compile Update="RyzStudio\Windows\ThemedForms\TextBox\TKeyCodeTextBox.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Update="UIResource.Designer.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>UIResource.resx</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="Resources\toggle-left-ea-16.png" />
<EmbeddedResource Update="AppResource.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>AppResource.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Update="RyzStudio\Windows\ThemedForms\TextBox\TFolderTextBox - Copy.resx">
<DependentUpon>TFolderTextBox.resx</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Update="UIResource.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>UIResource.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="Resources\toggle-right-ea-16.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\folder_32.png" />
</ItemGroup>
<ItemGroup>
<Content Include="favicon.ico" />
<None Include="Resources\app_icon.png" />
<None Include="Resources\app_icon_32.png" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="FizzyLauncher.UI\FizzyLauncher.UI.csproj">
<Project>{d9a49347-583f-41b4-afe1-63ec80bbdb38}</Project>
<Name>FizzyLauncher.UI</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ProjectFiles</ProjectView>
</PropertyGroup>
</Project>

25
FizzyLauncher.sln Normal file
View File

@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.31410.357
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FizzyLauncher", "FizzyLauncher.csproj", "{4833FB27-0817-4720-A54B-180369B0C374}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4833FB27-0817-4720-A54B-180369B0C374}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4833FB27-0817-4720-A54B-180369B0C374}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4833FB27-0817-4720-A54B-180369B0C374}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4833FB27-0817-4720-A54B-180369B0C374}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {CB4C1DB0-19FE-4AA0-9621-D66FAC4CF7C5}
EndGlobalSection
EndGlobal

447
MainForm.Designer.cs generated
View File

@ -1,4 +1,4 @@
namespace AppLauncher
namespace FizzyLauncher
{
partial class MainForm
{
@ -30,198 +30,39 @@
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem5 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem7 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.toolStripMenuItem8 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
this.toolStripMenuItem6 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem10 = new System.Windows.Forms.ToolStripSeparator();
this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem12 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem11 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem9 = new System.Windows.Forms.ToolStripMenuItem();
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.saveFileDialog1 = new System.Windows.Forms.SaveFileDialog();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components);
this.contextMenuStrip2 = new System.Windows.Forms.ContextMenuStrip(this.components);
this.exitToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.newToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem13 = new System.Windows.Forms.ToolStripSeparator();
this.closeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem14 = new System.Windows.Forms.ToolStripSeparator();
this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.saveAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem15 = new System.Windows.Forms.ToolStripSeparator();
this.exitToolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem();
this.viewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.showBigIconsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.enableAnimationsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.alwaysOnTopToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.helpToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.viewHelpToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem16 = new System.Windows.Forms.ToolStripSeparator();
this.aboutToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.panel1 = new System.Windows.Forms.Panel();
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
this.contextMenuStrip1.SuspendLayout();
this.contextMenuStrip2.SuspendLayout();
this.menuStrip1.SuspendLayout();
this.panel1.SuspendLayout();
this.SuspendLayout();
//
// contextMenuStrip1
//
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripMenuItem4,
this.toolStripMenuItem3,
this.toolStripMenuItem9,
this.helpToolStripMenuItem});
this.contextMenuStrip1.Name = "contextMenuStrip1";
this.contextMenuStrip1.Size = new System.Drawing.Size(102, 92);
this.contextMenuStrip1.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuStrip1_Opening);
//
// toolStripMenuItem4
//
this.toolStripMenuItem4.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripMenuItem5,
this.toolStripMenuItem7,
this.toolStripSeparator2,
this.toolStripMenuItem8,
this.toolStripSeparator3,
this.toolStripMenuItem6,
this.toolStripMenuItem2,
this.toolStripMenuItem10,
this.exitToolStripMenuItem});
this.toolStripMenuItem4.Name = "toolStripMenuItem4";
this.toolStripMenuItem4.Size = new System.Drawing.Size(101, 22);
this.toolStripMenuItem4.Text = "&File";
//
// toolStripMenuItem5
//
this.toolStripMenuItem5.Name = "toolStripMenuItem5";
this.toolStripMenuItem5.Size = new System.Drawing.Size(123, 22);
this.toolStripMenuItem5.Text = "&New";
this.toolStripMenuItem5.Click += new System.EventHandler(this.toolStripMenuItem5_Click);
//
// toolStripMenuItem7
//
this.toolStripMenuItem7.Name = "toolStripMenuItem7";
this.toolStripMenuItem7.Size = new System.Drawing.Size(123, 22);
this.toolStripMenuItem7.Text = "&Open";
this.toolStripMenuItem7.Click += new System.EventHandler(this.toolStripMenuItem7_Click);
//
// toolStripSeparator2
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(120, 6);
//
// toolStripMenuItem8
//
this.toolStripMenuItem8.Name = "toolStripMenuItem8";
this.toolStripMenuItem8.Size = new System.Drawing.Size(123, 22);
this.toolStripMenuItem8.Text = "&Close";
this.toolStripMenuItem8.Click += new System.EventHandler(this.toolStripMenuItem8_Click);
//
// toolStripSeparator3
//
this.toolStripSeparator3.Name = "toolStripSeparator3";
this.toolStripSeparator3.Size = new System.Drawing.Size(120, 6);
//
// toolStripMenuItem6
//
this.toolStripMenuItem6.Name = "toolStripMenuItem6";
this.toolStripMenuItem6.Size = new System.Drawing.Size(123, 22);
this.toolStripMenuItem6.Text = "&Save";
this.toolStripMenuItem6.Click += new System.EventHandler(this.toolStripMenuItem6_Click);
//
// toolStripMenuItem2
//
this.toolStripMenuItem2.Name = "toolStripMenuItem2";
this.toolStripMenuItem2.Size = new System.Drawing.Size(123, 22);
this.toolStripMenuItem2.Text = "Save &As...";
this.toolStripMenuItem2.Click += new System.EventHandler(this.toolStripMenuItem2_Click);
//
// toolStripMenuItem10
//
this.toolStripMenuItem10.Name = "toolStripMenuItem10";
this.toolStripMenuItem10.Size = new System.Drawing.Size(120, 6);
//
// exitToolStripMenuItem
//
this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
this.exitToolStripMenuItem.Size = new System.Drawing.Size(123, 22);
this.exitToolStripMenuItem.Text = "E&xit";
this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
//
// toolStripMenuItem3
//
this.toolStripMenuItem3.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripMenuItem12,
this.toolStripMenuItem11,
this.toolStripMenuItem1});
this.toolStripMenuItem3.Name = "toolStripMenuItem3";
this.toolStripMenuItem3.Size = new System.Drawing.Size(101, 22);
this.toolStripMenuItem3.Text = "&View";
//
// toolStripMenuItem12
//
this.toolStripMenuItem12.Name = "toolStripMenuItem12";
this.toolStripMenuItem12.Size = new System.Drawing.Size(222, 22);
this.toolStripMenuItem12.Text = "Enable &Big Icons (In Folders)";
this.toolStripMenuItem12.Click += new System.EventHandler(this.toolStripMenuItem12_Click);
//
// toolStripMenuItem11
//
this.toolStripMenuItem11.Name = "toolStripMenuItem11";
this.toolStripMenuItem11.Size = new System.Drawing.Size(222, 22);
this.toolStripMenuItem11.Text = "Enable &Animation";
this.toolStripMenuItem11.Click += new System.EventHandler(this.toolStripMenuItem11_Click);
//
// toolStripMenuItem1
//
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
this.toolStripMenuItem1.Size = new System.Drawing.Size(222, 22);
this.toolStripMenuItem1.Text = "Always On &Top";
this.toolStripMenuItem1.Click += new System.EventHandler(this.toolStripMenuItem1_Click);
//
// toolStripMenuItem9
//
this.toolStripMenuItem9.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.optionToolStripMenuItem});
this.toolStripMenuItem9.Name = "toolStripMenuItem9";
this.toolStripMenuItem9.Size = new System.Drawing.Size(101, 22);
this.toolStripMenuItem9.Text = "&Tools";
//
// optionToolStripMenuItem
//
this.optionToolStripMenuItem.Name = "optionToolStripMenuItem";
this.optionToolStripMenuItem.Size = new System.Drawing.Size(116, 22);
this.optionToolStripMenuItem.Text = "&Options";
this.optionToolStripMenuItem.Click += new System.EventHandler(this.optionToolStripMenuItem_Click);
//
// helpToolStripMenuItem
//
this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.viewHelpToolStripMenuItem,
this.toolStripSeparator1,
this.aboutToolStripMenuItem});
this.helpToolStripMenuItem.Name = "helpToolStripMenuItem";
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(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(127, 22);
this.aboutToolStripMenuItem.Text = "&About";
this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click);
//
// saveFileDialog1
//
this.saveFileDialog1.Filter = "Session files|*.jsonfig";
@ -254,19 +95,185 @@
this.exitToolStripMenuItem1.Text = "E&xit";
this.exitToolStripMenuItem1.Click += new System.EventHandler(this.exitToolStripMenuItem1_Click);
//
// menuStrip1
//
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.fileToolStripMenuItem,
this.viewToolStripMenuItem,
this.toolsToolStripMenuItem,
this.helpToolStripMenuItem1});
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(633, 24);
this.menuStrip1.TabIndex = 2;
this.menuStrip1.MenuActivate += new System.EventHandler(this.menuStrip1_MenuActivate);
//
// fileToolStripMenuItem
//
this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.newToolStripMenuItem,
this.openToolStripMenuItem,
this.toolStripMenuItem13,
this.closeToolStripMenuItem,
this.toolStripMenuItem14,
this.saveToolStripMenuItem,
this.saveAsToolStripMenuItem,
this.toolStripMenuItem15,
this.exitToolStripMenuItem2});
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
this.fileToolStripMenuItem.Text = "&File";
//
// newToolStripMenuItem
//
this.newToolStripMenuItem.Image = global::FizzyLauncher.UIResource.file2;
this.newToolStripMenuItem.Name = "newToolStripMenuItem";
this.newToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.newToolStripMenuItem.Text = "&New";
this.newToolStripMenuItem.Click += new System.EventHandler(this.newToolStripMenuItem_Click);
//
// openToolStripMenuItem
//
this.openToolStripMenuItem.Image = global::FizzyLauncher.UIResource.folder2;
this.openToolStripMenuItem.Name = "openToolStripMenuItem";
this.openToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.openToolStripMenuItem.Text = "&Open";
this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click);
//
// toolStripMenuItem13
//
this.toolStripMenuItem13.Name = "toolStripMenuItem13";
this.toolStripMenuItem13.Size = new System.Drawing.Size(177, 6);
//
// closeToolStripMenuItem
//
this.closeToolStripMenuItem.Name = "closeToolStripMenuItem";
this.closeToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.closeToolStripMenuItem.Text = "&Close";
this.closeToolStripMenuItem.Click += new System.EventHandler(this.closeToolStripMenuItem_Click);
//
// toolStripMenuItem14
//
this.toolStripMenuItem14.Name = "toolStripMenuItem14";
this.toolStripMenuItem14.Size = new System.Drawing.Size(177, 6);
//
// saveToolStripMenuItem
//
this.saveToolStripMenuItem.Image = global::FizzyLauncher.UIResource.disk2;
this.saveToolStripMenuItem.Name = "saveToolStripMenuItem";
this.saveToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.saveToolStripMenuItem.Text = "&Save";
this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveToolStripMenuItem_Click);
//
// saveAsToolStripMenuItem
//
this.saveAsToolStripMenuItem.Name = "saveAsToolStripMenuItem";
this.saveAsToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.saveAsToolStripMenuItem.Text = "Save &As...";
this.saveAsToolStripMenuItem.Click += new System.EventHandler(this.saveAsToolStripMenuItem_Click);
//
// toolStripMenuItem15
//
this.toolStripMenuItem15.Name = "toolStripMenuItem15";
this.toolStripMenuItem15.Size = new System.Drawing.Size(177, 6);
//
// exitToolStripMenuItem2
//
this.exitToolStripMenuItem2.Name = "exitToolStripMenuItem2";
this.exitToolStripMenuItem2.Size = new System.Drawing.Size(180, 22);
this.exitToolStripMenuItem2.Text = "E&xit";
this.exitToolStripMenuItem2.Click += new System.EventHandler(this.exitToolStripMenuItem2_Click);
//
// viewToolStripMenuItem
//
this.viewToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.showBigIconsToolStripMenuItem,
this.enableAnimationsToolStripMenuItem,
this.alwaysOnTopToolStripMenuItem});
this.viewToolStripMenuItem.Name = "viewToolStripMenuItem";
this.viewToolStripMenuItem.Size = new System.Drawing.Size(44, 20);
this.viewToolStripMenuItem.Text = "&View";
//
// showBigIconsToolStripMenuItem
//
this.showBigIconsToolStripMenuItem.Name = "showBigIconsToolStripMenuItem";
this.showBigIconsToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.showBigIconsToolStripMenuItem.Text = "Show &Big Icons";
this.showBigIconsToolStripMenuItem.Click += new System.EventHandler(this.showBigIconsToolStripMenuItem_Click);
//
// enableAnimationsToolStripMenuItem
//
this.enableAnimationsToolStripMenuItem.Name = "enableAnimationsToolStripMenuItem";
this.enableAnimationsToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.enableAnimationsToolStripMenuItem.Text = "Enable &Animations";
this.enableAnimationsToolStripMenuItem.Click += new System.EventHandler(this.enableAnimationsToolStripMenuItem_Click);
//
// alwaysOnTopToolStripMenuItem
//
this.alwaysOnTopToolStripMenuItem.Name = "alwaysOnTopToolStripMenuItem";
this.alwaysOnTopToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.alwaysOnTopToolStripMenuItem.Text = "Always On &Top";
this.alwaysOnTopToolStripMenuItem.Click += new System.EventHandler(this.alwaysOnTopToolStripMenuItem_Click);
//
// toolsToolStripMenuItem
//
this.toolsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.optionsToolStripMenuItem});
this.toolsToolStripMenuItem.Name = "toolsToolStripMenuItem";
this.toolsToolStripMenuItem.Size = new System.Drawing.Size(46, 20);
this.toolsToolStripMenuItem.Text = "&Tools";
//
// optionsToolStripMenuItem
//
this.optionsToolStripMenuItem.Image = global::FizzyLauncher.UIResource.cog2;
this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem";
this.optionsToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.optionsToolStripMenuItem.Text = "&Options";
this.optionsToolStripMenuItem.Click += new System.EventHandler(this.optionsToolStripMenuItem_Click);
//
// helpToolStripMenuItem1
//
this.helpToolStripMenuItem1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.viewHelpToolStripMenuItem1,
this.toolStripMenuItem16,
this.aboutToolStripMenuItem1});
this.helpToolStripMenuItem1.Name = "helpToolStripMenuItem1";
this.helpToolStripMenuItem1.Size = new System.Drawing.Size(44, 20);
this.helpToolStripMenuItem1.Text = "&Help";
//
// viewHelpToolStripMenuItem1
//
this.viewHelpToolStripMenuItem1.Image = global::FizzyLauncher.UIResource.help2;
this.viewHelpToolStripMenuItem1.Name = "viewHelpToolStripMenuItem1";
this.viewHelpToolStripMenuItem1.Size = new System.Drawing.Size(180, 22);
this.viewHelpToolStripMenuItem1.Text = "&View Help";
this.viewHelpToolStripMenuItem1.Click += new System.EventHandler(this.viewHelpToolStripMenuItem1_Click);
//
// toolStripMenuItem16
//
this.toolStripMenuItem16.Name = "toolStripMenuItem16";
this.toolStripMenuItem16.Size = new System.Drawing.Size(177, 6);
//
// aboutToolStripMenuItem1
//
this.aboutToolStripMenuItem1.Name = "aboutToolStripMenuItem1";
this.aboutToolStripMenuItem1.Size = new System.Drawing.Size(180, 22);
this.aboutToolStripMenuItem1.Text = "&About";
this.aboutToolStripMenuItem1.Click += new System.EventHandler(this.aboutToolStripMenuItem1_Click);
//
// panel1
//
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.panel1.AutoScroll = true;
this.panel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.panel1.BackColor = System.Drawing.Color.Transparent;
this.panel1.Controls.Add(this.flowLayoutPanel1);
this.panel1.Location = new System.Drawing.Point(12, 34);
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel1.Location = new System.Drawing.Point(0, 24);
this.panel1.Margin = new System.Windows.Forms.Padding(0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(620, 363);
this.panel1.TabIndex = 0;
this.panel1.Padding = new System.Windows.Forms.Padding(10, 10, 10, 20);
this.panel1.Size = new System.Drawing.Size(633, 376);
this.panel1.TabIndex = 3;
//
// flowLayoutPanel1
//
@ -274,63 +281,71 @@
this.flowLayoutPanel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.flowLayoutPanel1.BackColor = System.Drawing.Color.Transparent;
this.flowLayoutPanel1.FlowDirection = System.Windows.Forms.FlowDirection.TopDown;
this.flowLayoutPanel1.Location = new System.Drawing.Point(0, 0);
this.flowLayoutPanel1.Location = new System.Drawing.Point(10, 10);
this.flowLayoutPanel1.Margin = new System.Windows.Forms.Padding(0);
this.flowLayoutPanel1.Name = "flowLayoutPanel1";
this.flowLayoutPanel1.Padding = new System.Windows.Forms.Padding(0, 10, 0, 20);
this.flowLayoutPanel1.Size = new System.Drawing.Size(0, 30);
this.flowLayoutPanel1.Padding = new System.Windows.Forms.Padding(0, 0, 0, 20);
this.flowLayoutPanel1.Size = new System.Drawing.Size(0, 20);
this.flowLayoutPanel1.TabIndex = 29;
this.flowLayoutPanel1.WrapContents = false;
//
// MainForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(250)))), ((int)(((byte)(250)))), ((int)(((byte)(250)))));
this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
this.ClientSize = new System.Drawing.Size(633, 400);
this.Controls.Add(this.panel1);
this.Controls.Add(this.menuStrip1);
this.DoubleBuffered = true;
this.ForeColor = System.Drawing.SystemColors.ControlText;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MainMenuStrip = this.menuStrip1;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.MinimumSize = new System.Drawing.Size(420, 280);
this.Name = "MainForm";
this.Text = "Launcher";
this.TitleContextMenuStrip = this.contextMenuStrip1;
this.contextMenuStrip1.ResumeLayout(false);
this.Text = "Fizzy Launcher";
this.contextMenuStrip2.ResumeLayout(false);
this.menuStrip1.ResumeLayout(false);
this.menuStrip1.PerformLayout();
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.ContextMenuStrip contextMenuStrip1;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem3;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem4;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem2;
private System.Windows.Forms.SaveFileDialog saveFileDialog1;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem5;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem6;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem7;
private System.Windows.Forms.OpenFileDialog openFileDialog1;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem8;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem10;
private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem9;
private System.Windows.Forms.ToolStripMenuItem optionToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem;
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;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem11;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem12;
private System.Windows.Forms.MenuStrip menuStrip1;
private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem viewToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem toolsToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem1;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
private System.Windows.Forms.ToolStripMenuItem newToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem openToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem13;
private System.Windows.Forms.ToolStripMenuItem closeToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem14;
private System.Windows.Forms.ToolStripMenuItem saveToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem saveAsToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem15;
private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem2;
private System.Windows.Forms.ToolStripMenuItem showBigIconsToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem enableAnimationsToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem alwaysOnTopToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem optionsToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem viewHelpToolStripMenuItem1;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem16;
private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem1;
}
}

View File

@ -1,6 +1,6 @@
using AppLauncher.Models;
using AppLauncher.Windows.Forms;
using Newtonsoft.Json;
using FizzyLauncher.Models;
using FizzyLauncher.Text.Json;
using FizzyLauncher.Windows.Forms;
using RyzStudio.Windows.Forms;
using System;
using System.Collections.Generic;
@ -8,12 +8,13 @@ using System.ComponentModel;
using System.Drawing;
using System.IO;
using System.Runtime.InteropServices;
using System.Text.Json;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace AppLauncher
namespace FizzyLauncher
{
public partial class MainForm : TForm
public partial class MainForm : Form
{
[DllImport("user32.dll")]
protected static extern bool RegisterHotKey(IntPtr hWnd, int id, int fsModifiers, int vk);
@ -30,8 +31,10 @@ namespace AppLauncher
protected OptionsForm optionsForm = null;
protected string sessionFilename = null;
protected bool isBusy = false;
protected bool requestExit = false;
public MainForm() : base()
{
InitializeComponent();
@ -39,25 +42,23 @@ namespace AppLauncher
notifyIcon1.Text = Application.ProductName;
this.StartPosition = FormStartPosition.WindowsDefaultBounds;
appIcon = Properties.Resources.app_icon;
enableMaximise = false;
//enableMaximiseMenu = false;
closeOnMinimise = true;
this.Visible = false;
}
protected override void OnLoad(EventArgs e)
{
ThreadControl.SetVisible(this, false);
base.OnLoad(e);
ThreadControl.SetVisible(this, false);
ThreadControl.SetSize(this, this.MinimumSize);
}
protected async override void OnShown(EventArgs e)
{
base.OnShown(e);
ThreadControl.SetVisible(this, false);
string jsonfigFilename = Path.ChangeExtension(Application.ExecutablePath, "jsonfig");
if (File.Exists(jsonfigFilename))
{
@ -66,7 +67,7 @@ namespace AppLauncher
else
{
this.CurrentSession = new LauncherSession();
ThreadControl.SetSize(this, this.MinimumSize);
ThreadControl.SetVisible(this, true);
}
}
@ -152,138 +153,9 @@ namespace AppLauncher
base.WndProc(ref m);
}
public LauncherSession CurrentSession { get; set; } = null;
private void toolStripMenuItem5_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(sessionFilename))
{
newSession();
}
else
{
DialogResult dr = MessageBox.Show("Save existing session?", "New session", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
if (dr == DialogResult.Yes)
{
bool rv = saveFile(sessionFilename, false);
if (rv)
{
newSession();
sessionFilename = null;
}
}
else if (dr == DialogResult.No)
{
newSession();
sessionFilename = null;
}
else if (dr == DialogResult.Cancel)
{
return;
}
}
}
private async void toolStripMenuItem7_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(sessionFilename))
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
await loadFile(openFileDialog1.FileName);
}
}
else
{
DialogResult dr = MessageBox.Show("Save existing session?", "Open session", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
if (dr == DialogResult.Yes)
{
bool rv = saveFile(sessionFilename, false);
if (rv)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
await loadFile(openFileDialog1.FileName);
}
}
}
else if (dr == DialogResult.No)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
await loadFile(openFileDialog1.FileName);
}
}
else if (dr == DialogResult.Cancel)
{
return;
}
}
}
private void toolStripMenuItem8_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(sessionFilename))
{
flowLayoutPanel1.Controls.Clear();
}
else
{
DialogResult dr = MessageBox.Show("Save existing session?", "Close session", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
if (dr == DialogResult.Yes)
{
bool rv = saveFile(sessionFilename, false);
if (rv)
{
flowLayoutPanel1.Controls.Clear();
sessionFilename = null;
}
}
else if (dr == DialogResult.No)
{
flowLayoutPanel1.Controls.Clear();
sessionFilename = null;
}
else if (dr == DialogResult.Cancel)
{
return;
}
}
}
private void toolStripMenuItem6_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(sessionFilename))
{
saveAsFile();
}
else
{
saveFile(sessionFilename, true);
}
}
private void toolStripMenuItem2_Click(object sender, EventArgs e) => saveAsFile();
private void toolStripMenuItem1_Click(object sender, EventArgs e) => this.TopMost = !this.TopMost;
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
requestExit = true;
this.Close();
}
private void optionToolStripMenuItem_Click(object sender, EventArgs e)
{
if (optionsForm == null) optionsForm = new OptionsForm(this);
optionsForm.ShowDialog();
invalidateHotKey();
}
protected async Task collapseWindow(int width, int increment = 6)
{
@ -348,6 +220,20 @@ namespace AppLauncher
}
}
protected void newSession()
{
flowLayoutPanel1.Controls.Clear();
flowLayoutPanel1.Controls.Add(new TilePanelLayout(new TileGroupModel()
{
Title = "New Group",
IsExpanded = true,
GridSize = new Size(6, 1)
}));
InvalidateWidth(6);
}
protected async Task loadFile(string filename)
{
await Task.Run(() =>
@ -387,48 +273,54 @@ namespace AppLauncher
}
// load options
this.CurrentSession = JsonConvert.DeserializeObject<LauncherSession>(sourceCode);
var options = new JsonSerializerOptions();
options.Converters.Add(new JsonPointConverter());
options.Converters.Add(new JsonSizeConverter());
try
{
this.CurrentSession = JsonSerializer.Deserialize<LauncherSession>(sourceCode, options);
}
catch (Exception exc)
{
MessageBox.Show("Unable to read session", "Load session");
return;
}
if (this.CurrentSession == null)
{
this.CurrentSession = new LauncherSession();
}
// load tiles
int maxWidth = 0;
int maxTileWidth = 0;
ThreadControl.Clear(flowLayoutPanel1);
if (this.CurrentSession.Groups != null)
{
foreach (TileGroupModel item in this.CurrentSession.Groups)
{
TTilePanelLayout panel = new TTilePanelLayout(item);
maxTileWidth = Math.Max(maxTileWidth, item.GridSize.Width);
maxWidth = Math.Max(maxWidth, panel.Width);
TilePanelLayout panel = new TilePanelLayout(item);
ThreadControl.Add(flowLayoutPanel1, panel);
}
}
// ui
ThreadControl.SetSize(this, (maxWidth + SystemInformation.VerticalScrollBarWidth + 20 + flowLayoutPanel1.Left), this.CurrentSession.DefaultHeight);
// resize
InvalidateSize(maxTileWidth);
// reposition
if (!this.CurrentSession.StartPosition.IsEmpty) ThreadControl.SetLocation(this, this.CurrentSession.StartPosition);
//
ThreadControl.SetTopMost(this, this.CurrentSession.AlwaysOnTop);
ThreadControl.SetVisible(this, true);
ThreadControl.SetChecked(toolStripMenuItem11, this.CurrentSession.EnableAnimation);
ThreadControl.SetChecked(toolStripMenuItem12, this.CurrentSession.EnableBigIconInFolder);
ThreadControl.SetChecked(enableAnimationsToolStripMenuItem, this.CurrentSession.EnableAnimation);
ThreadControl.SetChecked(showBigIconsToolStripMenuItem, this.CurrentSession.EnableBigIconInFolder);
if (this.InvokeRequired)
{
this.Invoke(new MethodInvoker(() => {
this.Focus();
}));
}
else
{
this.Focus();
}
ThreadControl.SetFocus(this);
// hotkey
invalidateHotKey();
@ -436,25 +328,6 @@ namespace AppLauncher
});
}
protected void newSession()
{
int maxWidth = 0;
flowLayoutPanel1.Controls.Clear();
TTilePanelLayout panel = new TTilePanelLayout(new TileGroupModel()
{
Title = "New Group",
IsExpanded = true,
GridSize = new Size(8, 1)
});
maxWidth = Math.Max(maxWidth, panel.Width);
flowLayoutPanel1.Controls.Add(panel);
this.Width = maxWidth + SystemInformation.VerticalScrollBarWidth + 20 + flowLayoutPanel1.Left;
}
protected bool saveFile(string filename, bool showNotices = true)
{
if (isBusy)
@ -488,18 +361,22 @@ namespace AppLauncher
this.CurrentSession.Groups = new List<TileGroupModel>();
for (int i = 0; i < flowLayoutPanel1.Controls.Count; i++)
{
if (flowLayoutPanel1.Controls[i].GetType() != typeof(TTilePanelLayout))
if (flowLayoutPanel1.Controls[i].GetType() != typeof(TilePanelLayout))
{
continue;
}
TTilePanelLayout container = flowLayoutPanel1.Controls[i] as TTilePanelLayout;
TilePanelLayout container = flowLayoutPanel1.Controls[i] as TilePanelLayout;
this.CurrentSession.Groups.Add(container.Model);
}
var options = new JsonSerializerOptions();
options.Converters.Add(new JsonPointConverter());
options.Converters.Add(new JsonSizeConverter());
try
{
File.WriteAllText(filename, JsonConvert.SerializeObject(this.CurrentSession));
File.WriteAllText(filename, JsonSerializer.Serialize(this.CurrentSession, options));
if (showNotices)
{
@ -539,13 +416,196 @@ namespace AppLauncher
return false;
}
private void contextMenuStrip1_Opening(object sender, System.ComponentModel.CancelEventArgs e)
protected void InvalidateSize(int columnWidth)
{
toolStripMenuItem1.Checked = this.TopMost;
toolStripMenuItem6.Enabled = !string.IsNullOrWhiteSpace(sessionFilename);
int newWidth = TilePanelLayout.CalcWidth(columnWidth);
newWidth += SystemInformation.VerticalScrollBarWidth;
newWidth += flowLayoutPanel1.Padding.Horizontal + flowLayoutPanel1.Margin.Horizontal;
newWidth += panel1.Left + panel1.Padding.Horizontal + panel1.Margin.Horizontal;
newWidth += this.Padding.Horizontal;
ThreadControl.ClientSize(this, newWidth, this.CurrentSession.DefaultHeight);
}
private void viewHelpToolStripMenuItem_Click(object sender, EventArgs e)
protected void InvalidateWidth(int columnWidth)
{
int newWidth = TilePanelLayout.CalcWidth(columnWidth);
newWidth += SystemInformation.VerticalScrollBarWidth;
newWidth += panel1.Left + panel1.Padding.Horizontal + this.Padding.Horizontal + flowLayoutPanel1.Padding.Horizontal + flowLayoutPanel1.Left;
ThreadControl.SetClientWidth(this, newWidth);
}
#region main menu
private void newToolStripMenuItem_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(sessionFilename))
{
newSession();
}
else
{
DialogResult dr = MessageBox.Show("Save existing session?", "New session", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
if (dr == DialogResult.Yes)
{
bool rv = saveFile(sessionFilename, false);
if (rv)
{
newSession();
sessionFilename = null;
}
}
else if (dr == DialogResult.No)
{
newSession();
sessionFilename = null;
}
else if (dr == DialogResult.Cancel)
{
return;
}
}
}
private async void openToolStripMenuItem_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(sessionFilename))
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
await loadFile(openFileDialog1.FileName);
}
}
else
{
DialogResult dr = MessageBox.Show("Save existing session?", "Open session", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
if (dr == DialogResult.Yes)
{
bool rv = saveFile(sessionFilename, false);
if (rv)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
await loadFile(openFileDialog1.FileName);
}
}
}
else if (dr == DialogResult.No)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
await loadFile(openFileDialog1.FileName);
}
}
else if (dr == DialogResult.Cancel)
{
return;
}
}
}
private void closeToolStripMenuItem_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(sessionFilename))
{
flowLayoutPanel1.Controls.Clear();
}
else
{
DialogResult dr = MessageBox.Show("Save existing session?", "Close session", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
if (dr == DialogResult.Yes)
{
bool rv = saveFile(sessionFilename, false);
if (rv)
{
flowLayoutPanel1.Controls.Clear();
sessionFilename = null;
}
}
else if (dr == DialogResult.No)
{
flowLayoutPanel1.Controls.Clear();
sessionFilename = null;
}
else if (dr == DialogResult.Cancel)
{
return;
}
}
}
private void saveToolStripMenuItem_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(sessionFilename))
{
saveAsFile();
}
else
{
saveFile(sessionFilename, true);
}
}
private void saveAsToolStripMenuItem_Click(object sender, EventArgs e)
{
saveAsFile();
}
private void exitToolStripMenuItem2_Click(object sender, EventArgs e)
{
requestExit = true;
this.Close();
}
private void showBigIconsToolStripMenuItem_Click(object sender, EventArgs e)
{
if (this.CurrentSession == null)
{
return;
}
this.CurrentSession.EnableBigIconInFolder = !this.CurrentSession.EnableBigIconInFolder;
showBigIconsToolStripMenuItem.Checked = this.CurrentSession.EnableBigIconInFolder;
}
private void enableAnimationsToolStripMenuItem_Click(object sender, EventArgs e)
{
if (this.CurrentSession == null)
{
return;
}
this.CurrentSession.EnableAnimation = !this.CurrentSession.EnableAnimation;
enableAnimationsToolStripMenuItem.Checked = this.CurrentSession.EnableAnimation;
}
private void alwaysOnTopToolStripMenuItem_Click(object sender, EventArgs e)
{
this.TopMost = !this.TopMost;
}
private void optionsToolStripMenuItem_Click(object sender, EventArgs e)
{
if (optionsForm == null) optionsForm = new OptionsForm(this);
optionsForm.ShowDialog();
invalidateHotKey();
}
private void viewHelpToolStripMenuItem1_Click(object sender, EventArgs e)
{
try
{
@ -557,7 +617,22 @@ namespace AppLauncher
}
}
private void aboutToolStripMenuItem_Click(object sender, EventArgs e) => MessageBox.Show(Application.ProductName + " v" + Application.ProductVersion, "About", MessageBoxButtons.OK, MessageBoxIcon.Information);
private void aboutToolStripMenuItem1_Click(object sender, EventArgs e)
{
MessageBox.Show(Application.ProductName + " v" + Application.ProductVersion, "About", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
private void menuStrip1_MenuActivate(object sender, EventArgs e)
{
alwaysOnTopToolStripMenuItem.Checked = this.TopMost;
saveAsToolStripMenuItem.Enabled = !string.IsNullOrWhiteSpace(sessionFilename);
}
#endregion
#region notification icon
private void notifyIcon1_MouseClick(object sender, MouseEventArgs e)
{
@ -570,26 +645,13 @@ namespace AppLauncher
private void exitToolStripMenuItem1_Click(object sender, EventArgs e)
{
requestExit = true;
this.Close();
}
private void toolStripMenuItem11_Click(object sender, EventArgs e)
{
if (this.CurrentSession == null) return;
this.CurrentSession.EnableAnimation = !this.CurrentSession.EnableAnimation;
#endregion
toolStripMenuItem11.Checked = this.CurrentSession.EnableAnimation;
}
private void toolStripMenuItem12_Click(object sender, EventArgs e)
{
if (this.CurrentSession == null) return;
this.CurrentSession.EnableBigIconInFolder = !this.CurrentSession.EnableBigIconInFolder;
toolStripMenuItem12.Checked = this.CurrentSession.EnableBigIconInFolder;
}
}
}

View File

@ -1,64 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
@ -117,9 +57,6 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="saveFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>172, 17</value>
</metadata>
@ -430,6 +367,9 @@
rEGAAKxBgAGsQYADrEHgB6xB/B+sQQ==
</value>
</data>
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>716, 17</value>
</metadata>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAQAMDAAAAEAIACoJQAARgAAACAgAAABACAAqBAAAO4lAAAYGAAAAQAgAIgJAACWNgAAEBAAAAEA

View File

@ -1,7 +1,7 @@
using System.Collections.Generic;
using System.Drawing;
namespace AppLauncher.Models
namespace FizzyLauncher.Models
{
public class LauncherSession
{
@ -35,6 +35,7 @@ namespace AppLauncher.Models
public bool HideOnClick { get; set; } = false;
public AutoSaveOption AutoSave { get; set; } = AutoSaveOption.Prompt;
public List<TileGroupModel> Groups { get; set; } = new List<TileGroupModel>();
public Point StartPosition { get; set; } = Point.Empty;
}

View File

@ -1,14 +1,21 @@
using System.Collections.Generic;
using FizzyLauncher.Text.Json;
using System.Collections.Generic;
using System.Drawing;
using System.Text.Json.Serialization;
namespace AppLauncher.Models
namespace FizzyLauncher.Models
{
public class TileGroupModel
{
public string Title { get; set; }
public bool IsExpanded { get; set; } = false;
public bool IsExclusive { get; set; } = false;
public List<TileModel> Items { get; set; } = new List<TileModel>();
public Size GridSize = new Size(0, 0);
[JsonConverter(typeof(JsonSizeConverter))]
public Size GridSize { get; set; } = new Size(0, 0);
}
}

View File

@ -1,21 +1,31 @@
using System;
using FizzyLauncher.Text.Json;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
using System.Text.Json.Serialization;
namespace AppLauncher.Models
namespace FizzyLauncher.Models
{
public class TileModel
{
public string Title { get; set; }
public string ProcessFilename { get; set; }
public string ProcessArgument { get; set; }
public string ProcessWorkingDirectory { get; set; }
public ProcessWindowStyle ProcessWindowStyle { get; set; } = ProcessWindowStyle.Normal;
public bool ProcessAsAdmin { get; set; } = false;
[JsonConverter(typeof(JsonPointConverter))]
public Point Position { get; set; }
public bool IsGroup { get; set; } = false;
public List<TileModel> Items { get; set; } = new List<TileModel>();
public override string ToString() => this.Title ?? string.Empty;

279
OptionsForm.cs Normal file
View File

@ -0,0 +1,279 @@
using FizzyLauncher.Models;
using RyzStudio.Windows.ThemedForms;
using System;
namespace FizzyLauncher
{
public class OptionsForm : TDialogForm
{
private System.Windows.Forms.Label label1;
private TButton button1;
private TYesNoPickerBox pickerBox2;
private System.Windows.Forms.Label label6;
private TYesNoPickerBox pickerBox3;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.Label label8;
private TPickerBox pickerBox1;
private RyzStudio.Windows.Forms.THorizontalSeparator tHorizontalSeparator1;
private TKeyCodeTextBox textBox1;
public OptionsForm(MainForm parent) : base()
{
InitializeComponent();
parentForm = parent;
pickerBox1.ComboBox.Items.Clear();
foreach (string item in Enum.GetNames(typeof(LauncherSession.AutoSaveOption)))
{
pickerBox1.ComboBox.Items.Add(item);
}
if (pickerBox1.ComboBox.Items.Count > 0) pickerBox1.ComboBox.SelectedIndex = 0;
}
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(OptionsForm));
RyzStudio.Windows.ThemedForms.TKeyCodeTextBox.Results results1 = new RyzStudio.Windows.ThemedForms.TKeyCodeTextBox.Results();
this.label1 = new System.Windows.Forms.Label();
this.button1 = new RyzStudio.Windows.ThemedForms.TButton();
this.pickerBox2 = new RyzStudio.Windows.ThemedForms.TYesNoPickerBox();
this.label6 = new System.Windows.Forms.Label();
this.pickerBox3 = new RyzStudio.Windows.ThemedForms.TYesNoPickerBox();
this.label7 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.pickerBox1 = new RyzStudio.Windows.ThemedForms.TPickerBox();
this.tHorizontalSeparator1 = new RyzStudio.Windows.Forms.THorizontalSeparator();
this.textBox1 = new RyzStudio.Windows.ThemedForms.TKeyCodeTextBox();
this.SuspendLayout();
//
// label1
//
this.label1.AutoSize = true;
this.label1.BackColor = System.Drawing.Color.Transparent;
this.label1.ForeColor = System.Drawing.SystemColors.ControlText;
this.label1.Location = new System.Drawing.Point(10, 21);
this.label1.Margin = new System.Windows.Forms.Padding(0);
this.label1.Name = "label1";
this.label1.Padding = new System.Windows.Forms.Padding(0, 9, 0, 10);
this.label1.Size = new System.Drawing.Size(107, 34);
this.label1.TabIndex = 153;
this.label1.Text = "Show/Hide Hotkey";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// button1
//
this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.button1.BackColor = System.Drawing.Color.Transparent;
this.button1.DefaultImage = null;
this.button1.DownImage = null;
this.button1.IsSelected = false;
this.button1.LabelText = "&Save";
this.button1.Location = new System.Drawing.Point(241, 469);
this.button1.Margin = new System.Windows.Forms.Padding(10);
this.button1.Name = "button1";
this.button1.OverImage = null;
this.button1.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3);
this.button1.Size = new System.Drawing.Size(128, 32);
this.button1.TabIndex = 173;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// pickerBox2
//
this.pickerBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.pickerBox2.BackColor = System.Drawing.Color.Transparent;
this.pickerBox2.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
this.pickerBox2.Location = new System.Drawing.Point(285, 103);
this.pickerBox2.Margin = new System.Windows.Forms.Padding(10, 4, 10, 4);
this.pickerBox2.Name = "pickerBox2";
this.pickerBox2.Padding = new System.Windows.Forms.Padding(10, 6, 7, 5);
this.pickerBox2.Size = new System.Drawing.Size(84, 34);
this.pickerBox2.SubmitButton = null;
this.pickerBox2.TabIndex = 183;
this.pickerBox2.Value = true;
//
// label6
//
this.label6.AutoSize = true;
this.label6.BackColor = System.Drawing.Color.Transparent;
this.label6.ForeColor = System.Drawing.SystemColors.ControlText;
this.label6.Location = new System.Drawing.Point(10, 103);
this.label6.Margin = new System.Windows.Forms.Padding(0);
this.label6.Name = "label6";
this.label6.Padding = new System.Windows.Forms.Padding(0, 9, 0, 10);
this.label6.Size = new System.Drawing.Size(83, 34);
this.label6.TabIndex = 182;
this.label6.Text = "Hide On Close";
this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// pickerBox3
//
this.pickerBox3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.pickerBox3.BackColor = System.Drawing.Color.Transparent;
this.pickerBox3.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
this.pickerBox3.Location = new System.Drawing.Point(285, 144);
this.pickerBox3.Margin = new System.Windows.Forms.Padding(10, 4, 10, 4);
this.pickerBox3.Name = "pickerBox3";
this.pickerBox3.Padding = new System.Windows.Forms.Padding(10, 6, 7, 5);
this.pickerBox3.Size = new System.Drawing.Size(84, 34);
this.pickerBox3.SubmitButton = null;
this.pickerBox3.TabIndex = 185;
this.pickerBox3.Value = true;
//
// label7
//
this.label7.AutoSize = true;
this.label7.BackColor = System.Drawing.Color.Transparent;
this.label7.ForeColor = System.Drawing.SystemColors.ControlText;
this.label7.Location = new System.Drawing.Point(10, 144);
this.label7.Margin = new System.Windows.Forms.Padding(0);
this.label7.Name = "label7";
this.label7.Padding = new System.Windows.Forms.Padding(0, 9, 0, 10);
this.label7.Size = new System.Drawing.Size(95, 34);
this.label7.TabIndex = 184;
this.label7.Text = "Hide On Execute";
this.label7.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// label8
//
this.label8.AutoSize = true;
this.label8.BackColor = System.Drawing.Color.Transparent;
this.label8.ForeColor = System.Drawing.SystemColors.ControlText;
this.label8.Location = new System.Drawing.Point(10, 62);
this.label8.Margin = new System.Windows.Forms.Padding(0);
this.label8.Name = "label8";
this.label8.Padding = new System.Windows.Forms.Padding(0, 9, 0, 10);
this.label8.Size = new System.Drawing.Size(60, 34);
this.label8.TabIndex = 186;
this.label8.Text = "Auto Save";
this.label8.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// pickerBox1
//
this.pickerBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.pickerBox1.BackColor = System.Drawing.Color.Transparent;
this.pickerBox1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
this.pickerBox1.Location = new System.Drawing.Point(285, 62);
this.pickerBox1.Margin = new System.Windows.Forms.Padding(10, 4, 10, 4);
this.pickerBox1.Name = "pickerBox1";
this.pickerBox1.Padding = new System.Windows.Forms.Padding(10, 6, 7, 5);
this.pickerBox1.Size = new System.Drawing.Size(84, 34);
this.pickerBox1.SubmitButton = null;
this.pickerBox1.TabIndex = 187;
//
// tHorizontalSeparator1
//
this.tHorizontalSeparator1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tHorizontalSeparator1.AutoScrollMargin = new System.Drawing.Size(0, 0);
this.tHorizontalSeparator1.AutoScrollMinSize = new System.Drawing.Size(0, 0);
this.tHorizontalSeparator1.BackColor = System.Drawing.Color.Transparent;
this.tHorizontalSeparator1.Location = new System.Drawing.Point(10, 437);
this.tHorizontalSeparator1.Margin = new System.Windows.Forms.Padding(10, 0, 10, 0);
this.tHorizontalSeparator1.MaximumSize = new System.Drawing.Size(4920, 2);
this.tHorizontalSeparator1.MinimumSize = new System.Drawing.Size(0, 22);
this.tHorizontalSeparator1.Name = "tHorizontalSeparator1";
this.tHorizontalSeparator1.Padding = new System.Windows.Forms.Padding(0, 10, 0, 10);
this.tHorizontalSeparator1.Size = new System.Drawing.Size(364, 22);
this.tHorizontalSeparator1.TabIndex = 188;
//
// textBox1
//
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("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
this.textBox1.HighlightImage = ((System.Drawing.Image)(resources.GetObject("textBox1.HighlightImage")));
results1.IsAlt = false;
results1.IsCtrl = false;
results1.IsShift = false;
results1.Key = System.Windows.Forms.Keys.None;
this.textBox1.KeyCodeResults = results1;
this.textBox1.Location = new System.Drawing.Point(192, 20);
this.textBox1.Margin = new System.Windows.Forms.Padding(10, 3, 3, 3);
this.textBox1.Name = "textBox1";
this.textBox1.NormalImage = ((System.Drawing.Image)(resources.GetObject("textBox1.NormalImage")));
this.textBox1.Padding = new System.Windows.Forms.Padding(10, 10, 9, 9);
this.textBox1.Size = new System.Drawing.Size(177, 35);
this.textBox1.SubmitButton = null;
this.textBox1.TabIndex = 189;
this.textBox1.UseSystemPasswordChar = false;
//
// OptionsForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(384, 521);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.tHorizontalSeparator1);
this.Controls.Add(this.pickerBox1);
this.Controls.Add(this.label8);
this.Controls.Add(this.pickerBox3);
this.Controls.Add(this.label7);
this.Controls.Add(this.pickerBox2);
this.Controls.Add(this.label6);
this.Controls.Add(this.button1);
this.Controls.Add(this.label1);
this.MinimumSize = new System.Drawing.Size(400, 560);
this.Name = "OptionsForm";
this.Text = "Options";
this.ResumeLayout(false);
this.PerformLayout();
}
protected override void OnShown(EventArgs e)
{
base.OnShown(e);
if (parentForm == null)
{
return;
}
if (parentForm.CurrentSession == null)
{
return;
}
// hotkey
if (parentForm.CurrentSession.HotKey != null)
{
textBox1.UpdateKeyCode(parentForm.CurrentSession.HotKey.IsCtrl, parentForm.CurrentSession.HotKey.IsAlt, parentForm.CurrentSession.HotKey.IsShift, parentForm.CurrentSession.HotKey.KeyCode);
}
pickerBox1.ComboBox.SelectedIndex = (int)parentForm.CurrentSession.AutoSave;
pickerBox2.Value = parentForm.CurrentSession.HideOnClose;
pickerBox3.Value = parentForm.CurrentSession.HideOnClick;
}
public MainForm parentForm { get; set; } = null;
private void button1_Click(object sender, EventArgs e)
{
if (parentForm != null)
{
if (parentForm.CurrentSession == null) parentForm.CurrentSession = new LauncherSession();
if (parentForm.CurrentSession.HotKey == null) parentForm.CurrentSession.HotKey = new LauncherSession.HotKeyOptions();
parentForm.CurrentSession.HotKey.IsCtrl = textBox1.KeyCodeResults.IsCtrl;
parentForm.CurrentSession.HotKey.IsAlt = textBox1.KeyCodeResults.IsAlt;
parentForm.CurrentSession.HotKey.IsShift = textBox1.KeyCodeResults.IsShift;
parentForm.CurrentSession.HotKey.Key = textBox1.KeyCodeResults.KeyCode;
parentForm.CurrentSession.AutoSave = (LauncherSession.AutoSaveOption)pickerBox1.ComboBox.SelectedIndex;
parentForm.CurrentSession.HideOnClose = pickerBox2.Value;
parentForm.CurrentSession.HideOnClick = pickerBox3.Value;
}
this.Close();
}
}
}

80
OptionsForm.resx Normal file
View File

@ -0,0 +1,80 @@
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="textBox1.HighlightImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vQAADr0BR/uQrQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAClSURBVDhP7dI/
DgFBGIbxSVTKjcRx3MLqXYCOjkocQcMF3MAZOIKaE5AthOexf2QnbJQKb/JLJvO9XzLFhCgtbHDBveB5
DWcfM8ANC0wKnr1LUUsbHXSxxBlJxDtnduy6E04on/Utd0IPOxwxxBT9iHfO7Nh155kV9vmxMXbsVvkv
vvIji4f82Bg7tcUxrpih/NyxOeyMUMVPu0WGd39TzuzQDeEB5/ZKvTSyulEAAAAASUVORK5CYII=
</value>
</data>
<data name="textBox1.NormalImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vQAADr0BR/uQrQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAADTSURBVDhP7ZI7
CsJQEEUfWFmK4HLchdpnA9ppp5W4BBtdQNyBC0ilRf6VdVyBwUL03JdXxC/YWThwmDcz94YJjKmH7/uN
OI7XaZqekiS5Cr1hpZmTPQemAeILeU4eC/dWr+9kVQRB0MzzvB2GYQfBAsExiqJWHfU0k0ZaeQyNAuxa
X1CYLMu6/MOW4kD2YAK9B9TznGYrj12XVZY0drb4ENJI68q/sR4/YoS9K9+GNHdGLmIEJV+cku1xP4Jh
Ri7JQ2erDp3mBs7w6jaFZht74MaYGwmLbkeRGexGAAAAAElFTkSuQmCC
</value>
</data>
</root>

View File

@ -1,31 +1,23 @@
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace AppLauncher
namespace FizzyLauncher
{
static class Program
{
const string applicationID = "f31c9f65-4047-41e4-ac85-dbe11d12ee46";
/// <summary>
/// The main entry point for the application.
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
System.Threading.Mutex mutex = new System.Threading.Mutex(false, applicationID);
if (mutex.WaitOne(TimeSpan.Zero))
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
mutex.ReleaseMutex();
}
mutex.Close();
mutex.Dispose();
mutex = null;
Application.SetHighDpiMode(HighDpiMode.SystemAware);
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
}
}

View File

@ -1,36 +0,0 @@
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("Fizzy Launcher")]
[assembly: AssemblyDescription("Application and shortcut launcher")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Hi, I'm Ray")]
[assembly: AssemblyProduct("Fizzy Launcher")]
[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("66c1c75c-3612-4d23-b937-c3de0d653292")]
// 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("0.1.2.016")]

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration>Release</Configuration>
<Platform>Any CPU</Platform>
<PublishDir>bin\Release\64\</PublishDir>
<PublishProtocol>FileSystem</PublishProtocol>
<TargetFramework>net5.0-windows</TargetFramework>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
<SelfContained>false</SelfContained>
<PublishSingleFile>True</PublishSingleFile>
<PublishReadyToRun>False</PublishReadyToRun>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration>Release</Configuration>
<Platform>Any CPU</Platform>
<PublishDir>bin\Release\86\</PublishDir>
<PublishProtocol>FileSystem</PublishProtocol>
<TargetFramework>net5.0-windows</TargetFramework>
<RuntimeIdentifier>win-x86</RuntimeIdentifier>
<SelfContained>false</SelfContained>
<PublishSingleFile>True</PublishSingleFile>
<PublishReadyToRun>False</PublishReadyToRun>
</PropertyGroup>
</Project>

View File

@ -1,26 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 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.
// </auto-generated>
//------------------------------------------------------------------------------
namespace AppLauncher.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.8.1.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
}
}

View File

@ -1,7 +0,0 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

View File

Before

Width:  |  Height:  |  Size: 601 B

After

Width:  |  Height:  |  Size: 601 B

View File

Before

Width:  |  Height:  |  Size: 417 B

After

Width:  |  Height:  |  Size: 417 B

View File

Before

Width:  |  Height:  |  Size: 590 B

After

Width:  |  Height:  |  Size: 590 B

View File

Before

Width:  |  Height:  |  Size: 410 B

After

Width:  |  Height:  |  Size: 410 B

View File

Before

Width:  |  Height:  |  Size: 367 B

After

Width:  |  Height:  |  Size: 367 B

View File

Before

Width:  |  Height:  |  Size: 468 B

After

Width:  |  Height:  |  Size: 468 B

BIN
Resources/UI/cog.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 713 B

BIN
Resources/UI/cog2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 467 B

BIN
Resources/UI/disk.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 439 B

BIN
Resources/UI/disk2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 347 B

View File

Before

Width:  |  Height:  |  Size: 612 B

After

Width:  |  Height:  |  Size: 612 B

View File

Before

Width:  |  Height:  |  Size: 419 B

After

Width:  |  Height:  |  Size: 419 B

View File

Before

Width:  |  Height:  |  Size: 372 B

After

Width:  |  Height:  |  Size: 372 B

View File

Before

Width:  |  Height:  |  Size: 323 B

After

Width:  |  Height:  |  Size: 323 B

View File

Before

Width:  |  Height:  |  Size: 352 B

After

Width:  |  Height:  |  Size: 352 B

View File

Before

Width:  |  Height:  |  Size: 288 B

After

Width:  |  Height:  |  Size: 288 B

BIN
Resources/UI/help.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 670 B

BIN
Resources/UI/help2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 436 B

168
Resources/UI/icons.svg Normal file
View File

@ -0,0 +1,168 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
sodipodi:docname="icons.svg"
id="svg8"
version="1.1"
class="feather feather-save"
stroke-linejoin="round"
stroke-linecap="round"
stroke-width="2"
stroke="currentColor"
fill="none"
viewBox="0 0 24 24"
height="24"
width="24">
<metadata
id="metadata14">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs12" />
<sodipodi:namedview
inkscape:current-layer="svg8"
inkscape:window-maximized="1"
inkscape:window-y="845"
inkscape:window-x="1072"
inkscape:cy="32.669404"
inkscape:cx="34.52045"
inkscape:zoom="8.8541667"
showgrid="false"
id="namedview10"
inkscape:window-height="1017"
inkscape:window-width="1920"
inkscape:pageshadow="2"
inkscape:pageopacity="0"
guidetolerance="10"
gridtolerance="10"
objecttolerance="10"
borderopacity="1"
bordercolor="#666666"
pagecolor="#ffffff" />
<g
inkscape:export-ydpi="96"
inkscape:export-xdpi="96"
transform="matrix(0.80171614,0,0,0.7982539,-19.821146,-4.9600081)"
id="g842">
<path
d="M 19,21 H 5 A 2,2 0 0 1 3,19 V 5 A 2,2 0 0 1 5,3 h 11 l 5,5 v 11 a 2,2 0 0 1 -2,2 z"
id="path2" />
<polyline
points="17 21 17 13 7 13 7 21"
id="polyline4" />
<polyline
points="7 3 7 8 15 8"
id="polyline6" />
</g>
<g
inkscape:export-ydpi="96"
inkscape:export-xdpi="96"
transform="matrix(0.65647058,0,0,0.65647058,-38.541176,18.042352)"
id="g894"
style="fill:none;stroke:#d4d4d4;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
<circle
style="stroke:#d4d4d4;stroke-opacity:1"
cx="12"
cy="12"
r="3"
id="circle880" />
<path
style="stroke:#d4d4d4;stroke-opacity:1"
d="m 19.4,15 a 1.65,1.65 0 0 0 0.33,1.82 l 0.06,0.06 a 2,2 0 0 1 0,2.83 2,2 0 0 1 -2.83,0 L 16.9,19.65 a 1.65,1.65 0 0 0 -1.82,-0.33 1.65,1.65 0 0 0 -1,1.51 V 21 a 2,2 0 0 1 -2,2 2,2 0 0 1 -2,-2 V 20.91 A 1.65,1.65 0 0 0 9,19.4 1.65,1.65 0 0 0 7.18,19.73 l -0.06,0.06 a 2,2 0 0 1 -2.83,0 2,2 0 0 1 0,-2.83 L 4.35,16.9 a 1.65,1.65 0 0 0 0.33,-1.82 1.65,1.65 0 0 0 -1.51,-1 H 3 a 2,2 0 0 1 -2,-2 2,2 0 0 1 2,-2 H 3.09 A 1.65,1.65 0 0 0 4.6,9 1.65,1.65 0 0 0 4.27,7.18 L 4.21,7.12 a 2,2 0 0 1 0,-2.83 2,2 0 0 1 2.83,0 L 7.1,4.35 A 1.65,1.65 0 0 0 8.92,4.68 H 9 A 1.65,1.65 0 0 0 10,3.17 V 3 a 2,2 0 0 1 2,-2 2,2 0 0 1 2,2 v 0.09 a 1.65,1.65 0 0 0 1,1.51 1.65,1.65 0 0 0 1.82,-0.33 l 0.06,-0.06 a 2,2 0 0 1 2.83,0 2,2 0 0 1 0,2.83 L 19.65,7.1 A 1.65,1.65 0 0 0 19.32,8.92 V 9 a 1.65,1.65 0 0 0 1.51,1 H 21 a 2,2 0 0 1 2,2 2,2 0 0 1 -2,2 h -0.09 a 1.65,1.65 0 0 0 -1.51,1 z"
id="path882" />
</g>
<g
inkscape:export-ydpi="96"
inkscape:export-xdpi="96"
style="stroke:#d4d4d4;stroke-opacity:1"
id="g842-8"
transform="matrix(0.80171614,0,0,0.7982539,-39.211182,-4.9484586)">
<path
style="stroke:#d4d4d4;stroke-opacity:1"
id="path2-6"
d="M 19,21 H 5 A 2,2 0 0 1 3,19 V 5 A 2,2 0 0 1 5,3 h 11 l 5,5 v 11 a 2,2 0 0 1 -2,2 z" />
<polyline
style="stroke:#d4d4d4;stroke-opacity:1"
id="polyline4-7"
points="17 21 17 13 7 13 7 21" />
<polyline
style="stroke:#d4d4d4;stroke-opacity:1"
id="polyline6-7"
points="7 3 7 8 15 8" />
</g>
<g
inkscape:export-ydpi="96"
inkscape:export-xdpi="96"
style="fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round"
id="g894-2"
transform="matrix(0.65647058,0,0,0.65647058,-18.832941,20.583529)">
<circle
id="circle880-3"
r="3"
cy="12"
cx="12" />
<path
id="path882-5"
d="m 19.4,15 a 1.65,1.65 0 0 0 0.33,1.82 l 0.06,0.06 a 2,2 0 0 1 0,2.83 2,2 0 0 1 -2.83,0 L 16.9,19.65 a 1.65,1.65 0 0 0 -1.82,-0.33 1.65,1.65 0 0 0 -1,1.51 V 21 a 2,2 0 0 1 -2,2 2,2 0 0 1 -2,-2 V 20.91 A 1.65,1.65 0 0 0 9,19.4 1.65,1.65 0 0 0 7.18,19.73 l -0.06,0.06 a 2,2 0 0 1 -2.83,0 2,2 0 0 1 0,-2.83 L 4.35,16.9 a 1.65,1.65 0 0 0 0.33,-1.82 1.65,1.65 0 0 0 -1.51,-1 H 3 a 2,2 0 0 1 -2,-2 2,2 0 0 1 2,-2 H 3.09 A 1.65,1.65 0 0 0 4.6,9 1.65,1.65 0 0 0 4.27,7.18 L 4.21,7.12 a 2,2 0 0 1 0,-2.83 2,2 0 0 1 2.83,0 L 7.1,4.35 A 1.65,1.65 0 0 0 8.92,4.68 H 9 A 1.65,1.65 0 0 0 10,3.17 V 3 a 2,2 0 0 1 2,-2 2,2 0 0 1 2,2 v 0.09 a 1.65,1.65 0 0 0 1,1.51 1.65,1.65 0 0 0 1.82,-0.33 l 0.06,-0.06 a 2,2 0 0 1 2.83,0 2,2 0 0 1 0,2.83 L 19.65,7.1 A 1.65,1.65 0 0 0 19.32,8.92 V 9 a 1.65,1.65 0 0 0 1.51,1 H 21 a 2,2 0 0 1 2,2 2,2 0 0 1 -2,2 h -0.09 a 1.65,1.65 0 0 0 -1.51,1 z" />
</g>
<g
inkscape:export-ydpi="96"
inkscape:export-xdpi="96"
transform="matrix(0.7484492,0,0,0.7484492,12.533904,-3.390802)"
id="g958"
style="fill:none;stroke:#d4d4d4;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
<circle
style="stroke:#d4d4d4;stroke-opacity:1"
cx="12"
cy="12"
r="10"
id="circle941" />
<path
style="stroke:#d4d4d4;stroke-opacity:1"
d="m 9.09,9 a 3,3 0 0 1 5.83,1 c 0,2 -3,3 -3,3"
id="path943" />
<line
style="stroke:#d4d4d4;stroke-opacity:1"
x1="12"
y1="17"
x2="12.01"
y2="17"
id="line945" />
</g>
<g
inkscape:export-ydpi="96"
inkscape:export-xdpi="96"
style="fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round"
id="g958-4"
transform="matrix(0.7484492,0,0,0.7484492,31.790374,-3.2213904)">
<circle
id="circle941-9"
r="10"
cy="12"
cx="12" />
<path
id="path943-1"
d="m 9.09,9 a 3,3 0 0 1 5.83,1 c 0,2 -3,3 -3,3" />
<line
id="line945-3"
y2="17"
x2="12.01"
y1="17"
x1="12" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.4 KiB

View File

Before

Width:  |  Height:  |  Size: 532 B

After

Width:  |  Height:  |  Size: 532 B

View File

Before

Width:  |  Height:  |  Size: 380 B

After

Width:  |  Height:  |  Size: 380 B

View File

Before

Width:  |  Height:  |  Size: 559 B

After

Width:  |  Height:  |  Size: 559 B

View File

Before

Width:  |  Height:  |  Size: 398 B

After

Width:  |  Height:  |  Size: 398 B

BIN
Resources/UI/trash.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 382 B

BIN
Resources/UI/trash2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -1,942 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg8"
inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
sodipodi:docname="icon-set.svg">
<defs
id="defs2">
<linearGradient
id="linearGradient856">
<stop
id="stop857"
offset="0"
stop-opacity="0.5"
stop-color="#ffffff" />
<stop
id="stop858"
offset="1"
stop-opacity="0.25"
stop-color="#ffffff" />
</linearGradient>
<linearGradient
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.79291263,0,0,1.261173,-197.94453,-91.992003)"
id="linearGradient859"
x1="174.3136"
x2="284.79895"
xlink:href="#linearGradient856"
y1="129.67796"
y2="147.37285" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#d4b0e7"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="4.1750023"
inkscape:cx="315.07811"
inkscape:cy="427.8732"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1017"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<g
id="g1126"
style="stroke:#d4d4d4;stroke-opacity:1;fill:none;fill-opacity:1;opacity:0.99800004"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\RyzStudio\Windows\Forms\Resources\edit.png"
inkscape:export-xdpi="96.300003"
inkscape:export-ydpi="96.300003">
<g
transform="matrix(0.18713591,0,0,0.18713591,97.496016,76.71581)"
id="g1083"
style="fill:none;stroke:#d4d4d4;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;fill-opacity:1">
<circle
cx="12"
cy="12"
r="10"
id="circle1072"
style="stroke:#d4d4d4;stroke-opacity:1;fill:none;fill-opacity:1" />
</g>
<g
transform="matrix(0.08592684,0,0,0.08592684,98.715721,77.925124)"
id="g1120"
style="fill:none;stroke:#d4d4d4;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill-opacity:1;stroke-opacity:1">
<path
style="fill:#d4d4d4;fill-opacity:1;stroke:#d4d4d4;stroke-opacity:1"
d="m 17,3 a 2.8284271,2.8284271 0 1 1 4,4 L 7.5,20.5 2,22 3.5,16.5 Z"
id="path1109" />
</g>
</g>
<g
style="fill:none;stroke:#d4d4d4;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="g59"
transform="matrix(0.19624737,0,0,0.19624737,73.599293,76.13193)"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\RyzStudio\Windows\Forms\Resources\plus.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
<circle
id="circle42"
r="10"
cy="12"
cx="12"
style="stroke:#d4d4d4;stroke-opacity:1" />
<line
id="line44"
y2="16"
x2="12"
y1="8"
x1="12"
style="stroke:#d4d4d4;stroke-opacity:1" />
<line
id="line46"
y2="12"
x2="16"
y1="12"
x1="8"
style="stroke:#d4d4d4;stroke-opacity:1" />
</g>
<g
style="fill:none;stroke:#d4d4d4;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="g75"
transform="matrix(0.19169164,0,0,0.19169164,79.634206,76.156058)"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\RyzStudio\Windows\Forms\Resources\g75.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
<circle
id="circle61"
r="10"
cy="12"
cx="12"
style="stroke:#d4d4d4;stroke-opacity:1" />
<line
id="line63"
y2="12"
x2="16"
y1="12"
x1="8"
style="stroke:#d4d4d4;stroke-opacity:1" />
</g>
<g
style="fill:none;stroke:#d4d4d4;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;opacity:0.99700002"
id="g94"
transform="matrix(0.1915652,0,0,0.1915652,91.177285,76.333708)"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\RyzStudio\Windows\Forms\Resources\g94.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
<circle
id="circle77"
r="10"
cy="12"
cx="12"
style="stroke:#d4d4d4;stroke-opacity:1" />
<polyline
id="polyline79"
points="8 12 12 16 16 12"
style="stroke:#d4d4d4;stroke-opacity:1" />
<line
id="line81"
y2="16"
x2="12"
y1="8"
x1="12"
style="stroke:#d4d4d4;stroke-opacity:1" />
</g>
<g
style="fill:none;stroke:#d4d4d4;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="g113"
transform="matrix(0.19800798,0,0,0.19800798,84.917109,76.248983)"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\RyzStudio\Windows\Forms\Resources\g113.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
<circle
id="circle96"
r="10"
cy="12"
cx="12"
style="stroke:#d4d4d4;stroke-opacity:1" />
<polyline
id="polyline98"
points="16 12 12 8 8 12"
style="stroke:#d4d4d4;stroke-opacity:1" />
<line
id="line100"
y2="8"
x2="12"
y1="16"
x1="12"
style="stroke:#d4d4d4;stroke-opacity:1" />
</g>
<g
transform="matrix(0.19776595,0,0,0.19776595,73.265307,81.754641)"
id="g59-0"
style="fill:none;stroke:#66609e;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
<circle
style="stroke:#66609e;stroke-opacity:1"
cx="12"
cy="12"
r="10"
id="circle42-7" />
<line
style="stroke:#66609e;stroke-opacity:1"
x1="12"
y1="8"
x2="12"
y2="16"
id="line44-4" />
<line
style="stroke:#66609e;stroke-opacity:1"
x1="8"
y1="12"
x2="16"
y2="12"
id="line46-0" />
</g>
<g
transform="matrix(0.19169164,0,0,0.19169164,79.301739,81.780287)"
id="g75-5"
style="fill:none;stroke:#66609e;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
<circle
style="stroke:#66609e;stroke-opacity:1"
cx="12"
cy="12"
r="10"
id="circle61-2" />
<line
style="stroke:#66609e;stroke-opacity:1"
x1="8"
y1="12"
x2="16"
y2="12"
id="line63-0" />
</g>
<g
transform="matrix(0.1915652,0,0,0.1915652,90.844816,81.957936)"
id="g94-6"
style="fill:none;stroke:#66609e;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
<circle
style="stroke:#66609e;stroke-opacity:1"
cx="12"
cy="12"
r="10"
id="circle77-3" />
<polyline
style="stroke:#66609e;stroke-opacity:1"
points="8 12 12 16 16 12"
id="polyline79-9" />
<line
style="stroke:#66609e;stroke-opacity:1"
x1="12"
y1="8"
x2="12"
y2="16"
id="line81-3" />
</g>
<g
transform="matrix(0.19800798,0,0,0.19800798,84.58464,81.873212)"
id="g113-6"
style="fill:none;stroke:#66609e;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
<circle
style="stroke:#66609e;stroke-opacity:1"
cx="12"
cy="12"
r="10"
id="circle96-2" />
<polyline
style="stroke:#66609e;stroke-opacity:1"
points="16 12 12 8 8 12"
id="polyline98-1" />
<line
style="stroke:#66609e;stroke-opacity:1"
x1="12"
y1="16"
x2="12"
y2="8"
id="line100-2" />
</g>
<g
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="g59-0-6"
transform="matrix(0.19776595,0,0,0.19776595,73.332125,87.467528)"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\RyzStudio\Windows\Forms\Resources\plus2.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
<circle
id="circle42-7-4"
r="10"
cy="12"
cx="12"
style="stroke:#000000;stroke-opacity:1" />
<line
id="line44-4-5"
y2="16"
x2="12"
y1="8"
x1="12"
style="stroke:#000000;stroke-opacity:1" />
<line
id="line46-0-1"
y2="12"
x2="16"
y1="12"
x1="8"
style="stroke:#000000;stroke-opacity:1" />
</g>
<g
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="g75-5-5"
transform="matrix(0.19169164,0,0,0.19169164,79.368556,87.493174)"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\RyzStudio\Windows\Forms\Resources\g75-5-5.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
<circle
id="circle61-2-3"
r="10"
cy="12"
cx="12"
style="stroke:#000000;stroke-opacity:1" />
<line
id="line63-0-8"
y2="12"
x2="16"
y1="12"
x1="8"
style="stroke:#000000;stroke-opacity:1" />
</g>
<g
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="g94-6-2"
transform="matrix(0.1915652,0,0,0.1915652,90.911634,87.670823)"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\RyzStudio\Windows\Forms\Resources\g94-6-2.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
<circle
id="circle77-3-9"
r="10"
cy="12"
cx="12"
style="stroke:#000000;stroke-opacity:1" />
<polyline
id="polyline79-9-3"
points="8 12 12 16 16 12"
style="stroke:#000000;stroke-opacity:1" />
<line
id="line81-3-7"
y2="16"
x2="12"
y1="8"
x1="12"
style="stroke:#000000;stroke-opacity:1" />
</g>
<g
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="g113-6-2"
transform="matrix(0.19800798,0,0,0.19800798,84.651458,87.586098)"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\RyzStudio\Windows\Forms\Resources\g113-6-2.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
<circle
id="circle96-2-6"
r="10"
cy="12"
cx="12"
style="stroke:#000000;stroke-opacity:1" />
<polyline
id="polyline98-1-5"
points="16 12 12 8 8 12"
style="stroke:#000000;stroke-opacity:1" />
<line
id="line100-2-7"
y2="8"
x2="12"
y1="16"
x1="12"
style="stroke:#000000;stroke-opacity:1" />
</g>
<g
style="fill:none;fill-opacity:1;stroke:#66609e;stroke-opacity:1"
id="g1126-3"
transform="translate(-0.30067804,5.1783474)">
<g
style="fill:none;fill-opacity:1;stroke:#66609e;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="g1083-1"
transform="matrix(0.18713591,0,0,0.18713591,97.496016,76.71581)">
<circle
style="fill:none;fill-opacity:1;stroke:#66609e;stroke-opacity:1"
id="circle1072-6"
r="10"
cy="12"
cx="12" />
</g>
<g
style="fill:none;fill-opacity:1;stroke:#66609e;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="g1120-7"
transform="matrix(0.08592684,0,0,0.08592684,98.715721,77.925124)">
<path
id="path1109-3"
d="m 17,3 a 2.8284271,2.8284271 0 1 1 4,4 L 7.5,20.5 2,22 3.5,16.5 Z"
style="fill:#66609e;fill-opacity:1;stroke:#66609e;stroke-opacity:1" />
</g>
</g>
<g
style="fill:none;fill-opacity:1;stroke:#000000;stroke-opacity:1"
id="g1126-5"
transform="translate(-0.28397375,10.623964)"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\RyzStudio\Windows\Forms\Resources\edit2.png"
inkscape:export-xdpi="96.300003"
inkscape:export-ydpi="96.300003">
<g
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="g1083-8"
transform="matrix(0.18713591,0,0,0.18713591,97.496016,76.71581)">
<circle
style="fill:none;fill-opacity:1;stroke:#000000;stroke-opacity:1"
id="circle1072-3"
r="10"
cy="12"
cx="12" />
</g>
<g
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="g1120-9"
transform="matrix(0.08592684,0,0,0.08592684,98.715721,77.925124)">
<path
id="path1109-2"
d="m 17,3 a 2.8284271,2.8284271 0 1 1 4,4 L 7.5,20.5 2,22 3.5,16.5 Z"
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1" />
</g>
</g>
<g
style="fill:none;fill-opacity:1;stroke:#545b6b;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="g1549"
transform="matrix(0.4024192,0,0,0.4024192,47.691701,86.479192)"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\Resources\app_icon_24.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
<rect
style="fill:none;fill-opacity:1;stroke:#545b6b;stroke-width:1.57547;stroke-opacity:1"
inkscape:export-ydpi="120"
inkscape:export-xdpi="120"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\Resources\rect1168.png"
id="rect1168"
height="5.5141511"
width="5.5141511"
y="2.7877357"
x="2.7877357" />
<rect
style="fill:none;fill-opacity:1;stroke:#545b6b;stroke-width:1.57547;stroke-opacity:1"
inkscape:export-ydpi="120"
inkscape:export-xdpi="120"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\Resources\rect1168.png"
id="rect1170"
height="5.5141511"
width="5.5141511"
y="2.7877357"
x="11.45283" />
<rect
style="fill:none;fill-opacity:1;stroke:#545b6b;stroke-width:1.57547;stroke-opacity:1"
inkscape:export-ydpi="120"
inkscape:export-xdpi="120"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\Resources\rect1168.png"
id="rect1172"
height="5.5141511"
width="5.5141511"
y="11.45283"
x="11.45283" />
<rect
style="fill:none;fill-opacity:1;stroke:#545b6b;stroke-width:1.57547;stroke-opacity:1"
inkscape:export-ydpi="120"
inkscape:export-xdpi="120"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\Resources\rect1168.png"
id="rect1174"
height="5.5141511"
width="5.5141511"
y="11.45283"
x="2.7877357" />
</g>
<g
style="fill:none;stroke:#636977;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="g1565"
transform="matrix(0.32940665,0,0,0.32940665,85.708522,93.493015)"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\Resources\toggle-left-ea-16.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
<rect
inkscape:export-ydpi="120"
inkscape:export-xdpi="120"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\Resources\rect5891.png"
style="stroke:#636977;stroke-width:1.04014;stroke-opacity:1"
id="rect5891"
ry="3.6404958"
rx="3.6404958"
height="7.2809916"
width="11.441558"
y="4.520071"
x="0.52007085" />
<circle
inkscape:export-ydpi="120"
inkscape:export-xdpi="120"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\Resources\rect5891.png"
style="stroke:#636977;stroke-width:1.04014;stroke-opacity:1"
id="circle5893"
r="1.5602125"
cy="8.1605663"
cx="4.1605668" />
</g>
<g
style="fill:none;stroke:#636977;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="g1581"
transform="matrix(0.33075013,0,0,0.33075013,91.462156,93.398154)"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\Resources\toggle-right-ea-16.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
<rect
inkscape:export-ydpi="120"
inkscape:export-xdpi="120"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\Resources\toggle-right-ea-16.png"
style="stroke:#636977;stroke-width:1.0339;stroke-opacity:1"
id="rect5915"
ry="3.618644"
rx="3.618644"
height="7.237288"
width="11.372882"
y="4.5169492"
x="0.51694918" />
<circle
inkscape:export-ydpi="120"
inkscape:export-xdpi="120"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\Resources\toggle-right-ea-16.png"
style="stroke:#636977;stroke-width:1.0339;stroke-opacity:1"
id="circle5917"
r="1.5508475"
cy="8.1355934"
cx="8.2711868" />
</g>
<g
style="fill:none;stroke:#636977;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="g1832"
transform="matrix(0.34189664,0,0,0.34189664,58.53086,85.862008)"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\Resources\folder_32.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
<path
inkscape:export-ydpi="122.18182"
inkscape:export-xdpi="122.18182"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\Resources\folder-ea-32.png"
style="stroke:#636977;stroke-opacity:1"
id="path4528"
d="m 22,19 a 2,2 0 0 1 -2,2 H 4 A 2,2 0 0 1 2,19 V 5 A 2,2 0 0 1 4,3 h 5 l 2,3 h 9 a 2,2 0 0 1 2,2 z" />
</g>
<g
style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="g1972"
transform="matrix(0.21447029,0,0,0.21447029,102.69715,99.69036)"
inkscape:export-filename="L:\gitlab-hiimray\fizzy-launcher\RyzStudio\Windows\Forms\Resources\close_16.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
<rect
id="rect1955"
ry="2"
rx="2"
height="18"
width="18"
y="3"
x="3"
style="stroke:#ffffff;stroke-opacity:1" />
<line
id="line1957"
y2="15"
x2="15"
y1="9"
x1="9"
style="stroke:#ffffff;stroke-opacity:1" />
<line
id="line1959"
y2="15"
x2="9"
y1="9"
x1="15"
style="stroke:#ffffff;stroke-opacity:1" />
</g>
<g
inkscape:export-ydpi="96"
inkscape:export-xdpi="96"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\RyzStudio\Windows\Forms\Resources\close_20.png"
transform="matrix(0.26458333,0,0,0.26458333,91.972952,99.256047)"
id="g1972-0"
style="fill:none;stroke:#9c9eab;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
<rect
style="stroke:#9c9eab;stroke-opacity:1"
x="3"
y="3"
width="18"
height="18"
rx="2"
ry="2"
id="rect1955-1" />
<line
style="stroke:#9c9eab;stroke-opacity:1"
x1="9"
y1="9"
x2="15"
y2="15"
id="line1957-7" />
<line
style="stroke:#9c9eab;stroke-opacity:1"
x1="15"
y1="9"
x2="9"
y2="15"
id="line1959-0" />
</g>
<g
inkscape:export-ydpi="96"
inkscape:export-xdpi="96"
inkscape:export-filename="L:\gitlab-hiimray\fizzy-launcher\RyzStudio\Windows\Forms\Resources\close2_16.png"
transform="matrix(0.21447029,0,0,0.21447029,103.16487,107.37436)"
id="g1972-6"
style="fill:none;stroke:#e43d5b;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1">
<rect
style="stroke:#e43d5b;stroke-opacity:1"
x="3"
y="3"
width="18"
height="18"
rx="2"
ry="2"
id="rect1955-5" />
<line
style="stroke:#e43d5b;stroke-opacity:1"
x1="9"
y1="9"
x2="15"
y2="15"
id="line1957-79" />
<line
style="stroke:#e43d5b;stroke-opacity:1"
x1="15"
y1="9"
x2="9"
y2="15"
id="line1959-9" />
</g>
<g
style="fill:none;stroke:#e43d5b;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="g1972-0-6"
transform="matrix(0.26458333,0,0,0.26458333,92.44067,106.94004)"
inkscape:export-filename="L:\gitlab-hiimray\fizzy-launcher\RyzStudio\Windows\Forms\Resources\close2_20.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
<rect
id="rect1955-1-5"
ry="2"
rx="2"
height="18"
width="18"
y="3"
x="3"
style="stroke:#e43d5b;stroke-opacity:1" />
<line
id="line1957-7-3"
y2="15"
x2="15"
y1="9"
x1="9"
style="stroke:#e43d5b;stroke-opacity:1" />
<line
id="line1959-0-0"
y2="15"
x2="9"
y1="9"
x1="15"
style="stroke:#e43d5b;stroke-opacity:1" />
</g>
<g
id="g2084"
style="stroke:#9c9eab;stroke-opacity:1"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\RyzStudio\Windows\Forms\Resources\minimise_20.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
<rect
id="rect2046"
ry="0.52916664"
rx="0.52916664"
height="4.7624998"
width="4.7624998"
y="100.26458"
x="50.264584"
style="fill:none;stroke:#9c9eab;stroke-width:0.529167;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
<line
id="line2048"
y2="103.70419"
x2="53.704166"
y1="103.70419"
x1="51.587502"
style="fill:none;stroke:#9c9eab;stroke-width:0.529167;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
</g>
<g
id="g2093"
style="stroke:#9c9eab;stroke-opacity:1"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\RyzStudio\Windows\Forms\Resources\maximise_20.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
<g
id="g2088"
style="stroke:#9c9eab;stroke-opacity:1">
<rect
id="rect2046-3"
ry="0.52916664"
rx="0.52916664"
height="4.7624998"
width="4.7624998"
y="100.23583"
x="57.506439"
style="fill:none;stroke:#9c9eab;stroke-width:0.529167;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
<line
id="line2048-3"
y2="101.55878"
x2="60.946022"
y1="101.55878"
x1="58.829357"
style="fill:none;stroke:#9c9eab;stroke-width:0.529167;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
</g>
</g>
<g
style="stroke:#ffa800;stroke-opacity:1"
id="g2084-0"
transform="translate(0.28551938,6.8433626)"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\RyzStudio\Windows\Forms\Resources\minimise2_20.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
<rect
style="fill:none;stroke:#ffa800;stroke-width:0.529167;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
x="50.264584"
y="100.26458"
width="4.7624998"
height="4.7624998"
rx="0.52916664"
ry="0.52916664"
id="rect2046-8" />
<line
style="fill:none;stroke:#ffa800;stroke-width:0.529167;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
x1="51.587502"
y1="103.70419"
x2="53.704166"
y2="103.70419"
id="line2048-0" />
</g>
<g
style="stroke:#ffa800;stroke-opacity:1"
id="g2093-0"
transform="translate(0.28551938,6.8433626)"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\RyzStudio\Windows\Forms\Resources\maximise2_20.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
<g
style="stroke:#ffa800;stroke-opacity:1"
id="g2088-0">
<rect
style="fill:none;stroke:#ffa800;stroke-width:0.529167;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
x="57.506439"
y="100.23583"
width="4.7624998"
height="4.7624998"
rx="0.52916664"
ry="0.52916664"
id="rect2046-3-0" />
<line
style="fill:none;stroke:#ffa800;stroke-width:0.529167;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
x1="58.829357"
y1="101.55878"
x2="60.946022"
y2="101.55878"
id="line2048-3-5" />
</g>
</g>
<path
inkscape:export-filename="N:\icon-16.png"
inkscape:export-ydpi="150"
inkscape:export-xdpi="150"
id="path852"
d="m 115.92909,151.32554 -10.13759,3.10677 -7.82051,-7.03087 2.31709,-10.13756 10.1376,-3.10677 7.82051,7.03082 z"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#545b6b;stroke-width:1.33802;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
style="fill:none;fill-opacity:1;stroke:#e43d5b;stroke-width:0.633999;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
inkscape:export-ydpi="120"
inkscape:export-xdpi="120"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\Resources\rect1168.png"
id="rect1168-4"
height="2.2190003"
width="2.2190003"
y="115.46481"
x="49.049667" />
<rect
style="fill:none;fill-opacity:1;stroke:#f9a400;stroke-width:0.633999;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
inkscape:export-ydpi="120"
inkscape:export-xdpi="120"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\Resources\rect1168.png"
id="rect1170-3"
height="2.2190003"
width="2.2190003"
y="115.46481"
x="52.536667" />
<rect
style="fill:none;fill-opacity:1;stroke:#6c65c4;stroke-width:0.633999;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
inkscape:export-ydpi="120"
inkscape:export-xdpi="120"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\Resources\rect1168.png"
id="rect1172-2"
height="2.2190003"
width="2.2190003"
y="118.95181"
x="52.536667" />
<rect
style="fill:none;fill-opacity:1;stroke:#00b7d1;stroke-width:0.633999;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
inkscape:export-ydpi="120"
inkscape:export-xdpi="120"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\Resources\rect1168.png"
id="rect1174-6"
height="2.2190003"
width="2.2190003"
y="118.95181"
x="49.049667" />
<g
transform="translate(-33.270941,-1.3308419)"
id="g2186-8">
<rect
style="fill:none;fill-opacity:1;stroke:#e43d5b;stroke-width:0.633999;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
inkscape:export-ydpi="120"
inkscape:export-xdpi="120"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\Resources\rect1168.png"
id="rect1168-4-6"
height="2.2190003"
width="2.2190003"
y="117.17588"
x="90.749245" />
<rect
style="fill:none;fill-opacity:1;stroke:#f9a400;stroke-width:0.633999;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
inkscape:export-ydpi="120"
inkscape:export-xdpi="120"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\Resources\rect1168.png"
id="rect1170-3-6"
height="2.2190003"
width="2.2190003"
y="117.17588"
x="94.236244" />
<rect
style="fill:none;fill-opacity:1;stroke:#6c65c4;stroke-width:0.633999;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
inkscape:export-ydpi="120"
inkscape:export-xdpi="120"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\Resources\rect1168.png"
id="rect1172-2-3"
height="2.2190003"
width="2.2190003"
y="120.66288"
x="94.236244" />
<rect
style="fill:none;fill-opacity:1;stroke:#00b7d1;stroke-width:0.633999;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
inkscape:export-ydpi="120"
inkscape:export-xdpi="120"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\Resources\rect1168.png"
id="rect1174-6-1"
height="2.2190003"
width="2.2190003"
y="120.66288"
x="90.749245" />
</g>
<g
id="g2309"
transform="matrix(0.37569687,0,0,0.37569687,37.123099,77.557604)"
inkscape:export-filename="L:\L\xData (95785206A)\2020\projects\linear-app-launcher\graphics\2\icon16.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
<path
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#545b6b;stroke-width:2.09266;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:connector-curvature="0"
d="M 88.59595,152.12833 72.74081,156.9873 60.509578,145.99106 64.133499,130.13597 79.98864,125.277 92.21988,136.27316 Z"
id="path852-6"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
inkscape:export-filename="L:\L\xData (95785206A)\2020\projects\linear-app-launcher\graphics\2\icon128.png" />
<g
id="g2186-8-3"
transform="matrix(2.6757045,0,0,2.6757045,-174.08721,-180.02964)">
<rect
x="90.749245"
y="117.17588"
width="2.2190003"
height="2.2190003"
id="rect1168-4-6-9"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\Resources\rect1168.png"
inkscape:export-xdpi="120"
inkscape:export-ydpi="120"
style="fill:none;fill-opacity:1;stroke:#e43d5b;stroke-width:0.633999;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
<rect
x="94.236244"
y="117.17588"
width="2.2190003"
height="2.2190003"
id="rect1170-3-6-7"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\Resources\rect1168.png"
inkscape:export-xdpi="120"
inkscape:export-ydpi="120"
style="fill:none;fill-opacity:1;stroke:#f9a400;stroke-width:0.633999;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
<rect
x="94.236244"
y="120.66288"
width="2.2190003"
height="2.2190003"
id="rect1172-2-3-7"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\Resources\rect1168.png"
inkscape:export-xdpi="120"
inkscape:export-ydpi="120"
style="fill:none;fill-opacity:1;stroke:#6c65c4;stroke-width:0.633999;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
<rect
x="90.749245"
y="120.66288"
width="2.2190003"
height="2.2190003"
id="rect1174-6-1-8"
inkscape:export-filename="L:\gitlab-hiimray\linear-app-launcher\Resources\rect1168.png"
inkscape:export-xdpi="120"
inkscape:export-ydpi="120"
style="fill:none;fill-opacity:1;stroke:#00b7d1;stroke-width:0.633999;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 33 KiB

View File

@ -0,0 +1,434 @@
using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
//using Resources = AppLauncher.Properties.Resources;
namespace RyzStudio.Windows.Forms
{
public class TForm : Form
{
//protected readonly Color borderColour = Color.FromArgb(200, 200, 200);
//protected readonly int borderWidth = 1;
//protected readonly int resizeBorderWidth = 4;
protected readonly Color backColour = Color.FromArgb(250, 250, 250);
//protected readonly Color titleBackColour = Color.FromArgb(235, 234, 233);
//protected readonly Color titleBorderColour = Color.FromArgb(200, 198, 196);
//protected readonly Color titleColour = Color.FromArgb(102, 102, 102);
//protected readonly int titleBarHeight = 33;
//protected readonly bool showTitleBarLine = true;
//protected Font titleFont = null;
//protected int titleFontTop = 0;
//protected readonly Size titleBarIconSize = new Size(48, 32);
//protected readonly int titleBarIconMargin = 0;
//protected readonly int titleBarIconMarginRight = 0;
//protected Image appIcon = null;
//protected const int appIconLeft = 12;
//protected const int appIconRight = 6;
//protected int appIconTop = 0;
protected bool isDragging = false;
protected Point startPosition = new Point();
//protected Point startWindowSize = new Point();
//protected bool enableMinimise { get; set; } = true;
//protected bool enableMaximise { get; set; } = true;
//protected bool enableClose { get; set; } = true;
//protected bool closeOnMinimise { get; set; } = false;
protected bool isBusy = false;
private IContainer components;
public TForm() : base()
{
InitializeComponent();
//if (!this.DesignMode)
//{
// this.FormBorderStyle = FormBorderStyle.None;
// this.StartPosition = FormStartPosition.Manual;
//}
this.AutoScaleMode = AutoScaleMode.Font;
this.BackColor = backColour;
this.FormBorderStyle = FormBorderStyle.Sizable;
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);
//if (showTitleBarLine) g.DrawLine(new Pen(titleBorderColour, 1), area.X, titleBarHeight, (area.Width + area.X), titleBarHeight);
//if (!DesignMode)
//{
// if (appIcon != null) g.DrawImageUnscaled(appIcon, appIconLeft, appIconTop);
// int iconPosX = borderWidth + appIconLeft + appIconRight + ((appIcon == null) ? 0 : appIcon.Width);
// TextRenderer.DrawText(g, this.Text, titleFont, new Point(iconPosX, 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 = backColour; }
[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.Name = "AForm";
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();
// closeBox.Image = closeBox.ImageNormal = (enableClose) ? Resources.titlebar_close : Resources.titlebar_blank;
// closeBox.ImageHover = (enableClose) ? Resources.titlebar_close3 : Resources.titlebar_blank;
// closeBox.ImageSelected = Resources.titlebar_close3;
// closeBox.MouseClick += delegate (object sender, MouseEventArgs e)
// {
// if (e.Button == MouseButtons.Left)
// {
// if (enableClose)
// {
// this.Close();
// }
// }
// };
// closeBox.Left = this.DisplayRectangle.Width - closeBox.Width - (titleBarIconMarginRight + borderWidth);
// this.Controls.Add(closeBox);
// // maximise
// TImageBox maximiseBox = generateToolbarImageBox();
// maximiseBox.Image = maximiseBox.ImageNormal = (enableMaximise) ? Resources.titlebar_maximise : Resources.titlebar_blank;
// maximiseBox.ImageHover = (enableMaximise) ? Resources.titlebar_maximise5 : Resources.titlebar_blank;
// maximiseBox.ImageSelected = Resources.titlebar_maximise3;
// maximiseBox.MouseClick += delegate (object sender, MouseEventArgs e)
// {
// if (!(sender is TImageBox)) return;
// TImageBox imageBox2 = (sender as TImageBox);
// if (imageBox2 == null) return;
// if (e.Button == MouseButtons.Left)
// {
// if (enableMaximise)
// {
// if (this.WindowState == FormWindowState.Maximized)
// {
// this.WindowState = FormWindowState.Normal;
// imageBox2.Image = imageBox2.ImageNormal = Resources.titlebar_maximise;
// }
// else
// {
// this.WindowState = FormWindowState.Maximized;
// imageBox2.Image = imageBox2.ImageNormal = Resources.titlebar_maximise5;
// }
// }
// }
// else if (e.Button == MouseButtons.Right)
// {
// this.TopMost = !this.TopMost;
// if (this.TopMost)
// {
// imageBox2.Image = imageBox2.ImageNormal = Resources.titlebar_maximise3;
// imageBox2.ImageHover = (enableMaximise) ? Resources.titlebar_maximise5 : Resources.titlebar_maximise3;
// }
// else
// {
// imageBox2.Image = imageBox2.ImageNormal = (enableMaximise) ? Resources.titlebar_maximise : Resources.titlebar_blank;
// imageBox2.ImageHover = (enableMaximise) ? Resources.titlebar_maximise5 : Resources.titlebar_blank;
// }
// }
// };
// maximiseBox.Left = closeBox.Left - maximiseBox.Width - titleBarIconMargin;
// this.Controls.Add(maximiseBox);
// // minimise
// TImageBox minimiseBox = generateToolbarImageBox();
// minimiseBox.Image = minimiseBox.ImageNormal = (enableMinimise) ? Resources.titlebar_minimise : Resources.titlebar_blank;
// minimiseBox.ImageHover = (enableMinimise) ? Resources.titlebar_minimise5 : Resources.titlebar_blank;
// //minimiseBox.ImageSelected = null;
// minimiseBox.MouseClick += delegate (object sender, MouseEventArgs e)
// {
// if (!enableMinimise) return;
// if (e.Button != MouseButtons.Left) return;
// if (closeOnMinimise)
// {
// this.Close();
// }
// else
// {
// this.WindowState = FormWindowState.Minimized;
// }
// };
// 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.BackColorHover = imageBox.BackColorSelected = Color.FromArgb(220, 220, 220);
// 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 = 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.Height) / 2) + borderWidth;
// imageBox.Anchor = (AnchorStyles.Top | AnchorStyles.Right);
// imageBox.Padding = new Padding(0);
// 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;
//}
}
}

View File

@ -0,0 +1,101 @@
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
namespace RyzStudio.Windows.Forms
{
public partial class THorizontalSeparator : System.Windows.Forms.UserControl
{
public THorizontalSeparator()
{
InitializeComponent();
this.BackColor = Color.Transparent;
this.Margin = new Padding(10, 0, 10, 0);
this.MaximumSize = new Size(SystemInformation.VirtualScreen.Width, 22);
this.MinimumSize = new Size(0, 22);
this.Padding = new Padding(0, 10, 0, 10);
}
protected override void OnPaintBackground(PaintEventArgs e)
{
base.OnPaintBackground(e);
Graphics g = e.Graphics;
g.FillRectangle(new SolidBrush(Color.FromArgb(213, 223, 229)), new Rectangle(this.DisplayRectangle.Left, 11, this.DisplayRectangle.Width, 1));
g.FillRectangle(new SolidBrush(Color.FromArgb(249, 251, 253)), new Rectangle(this.DisplayRectangle.Left, 12, this.DisplayRectangle.Width, 1));
}
[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 BorderStyle BorderStyle { get => base.BorderStyle; set => base.BorderStyle = value; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public override Cursor Cursor { get => base.Cursor; set => base.Cursor = value; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public override Font Font { get => base.Font; set => base.Font = value; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public override Color BackColor { get => base.BackColor; set => base.BackColor = value; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public override Color ForeColor { get => base.ForeColor; set => base.ForeColor = 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; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public override bool AllowDrop { get => base.AllowDrop; set => base.AllowDrop = value; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public override AutoValidate AutoValidate { get => base.AutoValidate; set => base.AutoValidate = value; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public override ContextMenuStrip ContextMenuStrip { get => base.ContextMenuStrip; set => base.ContextMenuStrip = value; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new ImeMode ImeMode { get => base.ImeMode; set => base.ImeMode = value; }
[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 bool AutoSize { get => base.AutoSize; set => base.AutoSize = value; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new AutoSizeMode AutoSizeMode { get => base.AutoSizeMode; set => base.AutoSizeMode = value; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public override Size MaximumSize { get => base.MaximumSize; set => base.MaximumSize = value; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public override Size MinimumSize { get => base.MinimumSize; set => base.MinimumSize = value; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new Padding Margin { get => base.Margin; set => base.Margin = value; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new Padding Padding { get => base.Padding; set => base.Padding = value; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new DockStyle Dock { get => base.Dock; set => base.Dock = value; }
}
}

View File

@ -7,18 +7,18 @@
using System.Windows.Forms;
[ToolboxItem(true)]
public class PanelBook : UserControl
public class TPanelBook : UserControl
{
public class PanelCollection : CollectionBase
{
protected PanelBook panelBook = null;
protected TPanelBook panelBook = null;
public PanelCollection(PanelBook parentPanelBook) : base()
public PanelCollection(TPanelBook parentPanelBook) : base()
{
panelBook = parentPanelBook;
}
public PanelBook Parent => panelBook;
public TPanelBook Parent => panelBook;
public Panel this[int index] { get => (Panel)List[index]; set => List[index] = value; }
@ -70,7 +70,7 @@
protected PanelCollection panelCollection = null;
public PanelBook()
public TPanelBook()
{
InitializeComponent();

View File

@ -4,7 +4,7 @@ using System.Windows.Forms;
namespace RyzStudio.Windows.Forms
{
public class TUserControl : System.Windows.Forms.UserControl
public class TUserControl : UserControl
{
public TUserControl() : base()
@ -12,61 +12,61 @@ namespace RyzStudio.Windows.Forms
}
[Browsable(false)]
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public override Image BackgroundImage { get => base.BackgroundImage; set => base.BackgroundImage = value; }
[Browsable(false)]
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public override ImageLayout BackgroundImageLayout { get => base.BackgroundImageLayout; set => base.BackgroundImageLayout = value; }
[Browsable(false)]
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new BorderStyle BorderStyle { get => base.BorderStyle; set => base.BorderStyle = value; }
[Browsable(false)]
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public override Cursor Cursor { get => base.Cursor; set => base.Cursor = value; }
[Browsable(false)]
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public override Font Font { get => base.Font; set => base.Font = value; }
[Browsable(false)]
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public override Color ForeColor { get => base.ForeColor; set => base.ForeColor = value; }
[Browsable(false)]
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public override RightToLeft RightToLeft { get => base.RightToLeft; set => base.RightToLeft = value; }
[Browsable(false)]
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new bool UseWaitCursor { get => base.UseWaitCursor; set => base.UseWaitCursor = value; }
[Browsable(false)]
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public override bool AllowDrop { get => base.AllowDrop; set => base.AllowDrop = value; }
[Browsable(false)]
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public override AutoValidate AutoValidate { get => base.AutoValidate; set => base.AutoValidate = value; }
//[Browsable(false)]
//[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
//public override ContextMenuStrip ContextMenuStrip { get => base.ContextMenuStrip; set => base.ContextMenuStrip = value; }
[Browsable(false)]
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new ImeMode ImeMode { get => base.ImeMode; set => base.ImeMode = value; }
[Browsable(false)]
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public override bool AutoScroll { get => base.AutoScroll; set => base.AutoScroll = value; }
[Browsable(false)]
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new Size AutoScrollMargin { get => base.AutoScrollMargin; set => base.AutoScrollMargin = value; }
[Browsable(false)]
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new Size AutoScrollMinSize { get => base.AutoScrollMinSize; set => base.AutoScrollMinSize = value; }
[Browsable(false)]
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public override bool AutoSize { get => base.AutoSize; set => base.AutoSize = value; }
[Browsable(false)]
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new AutoSizeMode AutoSizeMode { get => base.AutoSizeMode; set => base.AutoSizeMode = value; }
[Browsable(false)]
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public override Size MaximumSize { get => base.MaximumSize; set => base.MaximumSize = value; }
[Browsable(false)]
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public override Size MinimumSize { get => base.MinimumSize; set => base.MinimumSize = value; }
}

View File

@ -320,6 +320,21 @@ namespace RyzStudio.Windows.Forms
}
}
public static void SetFocus(Control control)
{
if (control.InvokeRequired)
{
control.Invoke(new MethodInvoker(() =>
{
control.Focus();
}));
}
else
{
control.Focus();
}
}
public static int GetValue(NumericUpDown sender)
{
int rv = 0;
@ -384,6 +399,22 @@ namespace RyzStudio.Windows.Forms
}
}
public static void ClientSize(Control control, int width, int height) => ClientSize(control, new Size(width, height));
public static void ClientSize(Control control, Size value)
{
if (control.InvokeRequired)
{
control.Invoke(new MethodInvoker(() => {
control.ClientSize = value;
}));
}
else
{
control.ClientSize = value;
}
}
public static void SetSize(Control control, int width, int height) => SetSize(control, new Size(width, height));
public static void SetSize(Control control, Size value)
@ -479,15 +510,15 @@ namespace RyzStudio.Windows.Forms
control.Invoke(new MethodInvoker(() => {
if (value)
{
control.ShowInTaskbar = value;
control.Opacity = 100;
//control.ShowInTaskbar = value;
//control.Opacity = 100;
control.Visible = value;
}
else
{
control.Visible = value;
control.ShowInTaskbar = value;
control.Opacity = 0;
//control.ShowInTaskbar = value;
//control.Opacity = 0;
}
}));
}
@ -495,15 +526,15 @@ namespace RyzStudio.Windows.Forms
{
if (value)
{
control.ShowInTaskbar = value;
control.Opacity = 100;
//control.ShowInTaskbar = value;
//control.Opacity = 100;
control.Visible = value;
}
else
{
control.Visible = value;
control.ShowInTaskbar = value;
control.Opacity = 0;
//control.ShowInTaskbar = value;
//control.Opacity = 0;
}
}
}
@ -522,5 +553,19 @@ namespace RyzStudio.Windows.Forms
}
}
public static void SetClientWidth(Control control, int value)
{
if (control.InvokeRequired)
{
control.Invoke(new MethodInvoker(() => {
control.ClientSize = new Size(value, control.ClientSize.Height);
}));
}
else
{
control.ClientSize = new Size(value, control.ClientSize.Height);
}
}
}
}

View File

@ -1,4 +1,6 @@
namespace RyzStudio.Windows.ThemedForms
using RyzStudio.Windows.Forms;
namespace RyzStudio.Windows.ThemedForms
{
partial class BorderlessForm
{
@ -32,10 +34,10 @@
this.label1 = new System.Windows.Forms.Label();
this.panel1 = new System.Windows.Forms.Panel();
this.area1 = new System.Windows.Forms.Panel();
this.pictureBox4 = new RyzStudio.Windows.Forms.ImageBox();
this.pictureBox2 = new RyzStudio.Windows.Forms.ImageBox();
this.pictureBox1 = new RyzStudio.Windows.Forms.ImageBox();
this.pictureBox3 = new RyzStudio.Windows.Forms.ImageBox();
this.pictureBox4 = new RyzStudio.Windows.Forms.TImageBox();
this.pictureBox2 = new RyzStudio.Windows.Forms.TImageBox();
this.pictureBox1 = new RyzStudio.Windows.Forms.TImageBox();
this.pictureBox3 = new RyzStudio.Windows.Forms.TImageBox();
((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
@ -94,7 +96,7 @@
this.pictureBox4.BackColor = System.Drawing.Color.Transparent;
this.pictureBox4.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.pictureBox4.ErrorImage = null;
this.pictureBox4.HighlightImage = global::hiim.dply.Properties.Resources.form20_menu2;
this.pictureBox4.ImageHover = global::hiim.dply.Properties.Resources.form20_menu2;
this.pictureBox4.Image = global::hiim.dply.Properties.Resources.form20_menu;
this.pictureBox4.InitialImage = null;
this.pictureBox4.Location = new System.Drawing.Point(460, 11);
@ -111,7 +113,7 @@
this.pictureBox2.BackColor = System.Drawing.Color.Transparent;
this.pictureBox2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.pictureBox2.ErrorImage = null;
this.pictureBox2.HighlightImage = global::hiim.dply.Properties.Resources.form20_maximise2;
this.pictureBox2.ImageHover = global::hiim.dply.Properties.Resources.form20_maximise2;
this.pictureBox2.Image = global::hiim.dply.Properties.Resources.form20_maximise;
this.pictureBox2.InitialImage = null;
this.pictureBox2.Location = new System.Drawing.Point(528, 11);
@ -128,7 +130,7 @@
this.pictureBox1.BackColor = System.Drawing.Color.Transparent;
this.pictureBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.pictureBox1.ErrorImage = null;
this.pictureBox1.HighlightImage = global::hiim.dply.Properties.Resources.form20_minimise2;
this.pictureBox1.ImageHover = global::hiim.dply.Properties.Resources.form20_minimise2;
this.pictureBox1.Image = global::hiim.dply.Properties.Resources.form20_minimise;
this.pictureBox1.InitialImage = null;
this.pictureBox1.Location = new System.Drawing.Point(494, 11);
@ -145,7 +147,7 @@
this.pictureBox3.BackColor = System.Drawing.Color.Transparent;
this.pictureBox3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.pictureBox3.ErrorImage = null;
this.pictureBox3.HighlightImage = global::hiim.dply.Properties.Resources.form20_close2;
this.pictureBox3.ImageHover = global::hiim.dply.Properties.Resources.form20_close2;
this.pictureBox3.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox3.Image")));
this.pictureBox3.InitialImage = null;
this.pictureBox3.Location = new System.Drawing.Point(562, 11);
@ -180,11 +182,11 @@
#endregion
protected internal Forms.ImageBox pictureBox2;
protected internal Forms.ImageBox pictureBox1;
protected internal Forms.ImageBox pictureBox3;
protected internal TImageBox pictureBox2;
protected internal TImageBox pictureBox1;
protected internal TImageBox pictureBox3;
protected internal System.Windows.Forms.Label label1;
protected internal Forms.ImageBox pictureBox4;
protected internal TImageBox pictureBox4;
protected internal System.Windows.Forms.Panel panel1;
protected internal System.Windows.Forms.Panel area1;
}

View File

@ -5,7 +5,6 @@
using System.Drawing;
using System.Drawing.Design;
using System.Windows.Forms;
using Resources = hiim.dply.Properties.Resources;
public partial class BorderlessForm : System.Windows.Forms.Form
{

Some files were not shown because too many files have changed in this diff Show More