Browse Source

格式化项目结构

liuyuqi-dellpc 3 years ago
parent
commit
a2835aac64

+ 63 - 0
.gitattributes

@@ -0,0 +1,63 @@
+###############################################################################
+# Set default behavior to automatically normalize line endings.
+###############################################################################
+* text=auto
+
+###############################################################################
+# Set default behavior for command prompt diff.
+#
+# This is need for earlier builds of msysgit that does not have it on by
+# default for csharp files.
+# Note: This is only used by command line
+###############################################################################
+#*.cs     diff=csharp
+
+###############################################################################
+# Set the merge driver for project and solution files
+#
+# Merging from the command prompt will add diff markers to the files if there
+# are conflicts (Merging from VS is not affected by the settings below, in VS
+# the diff markers are never inserted). Diff markers may cause the following 
+# file extensions to fail to load in VS. An alternative would be to treat
+# these files as binary and thus will always conflict and require user
+# intervention with every merge. To do so, just uncomment the entries below
+###############################################################################
+#*.sln       merge=binary
+#*.csproj    merge=binary
+#*.vbproj    merge=binary
+#*.vcxproj   merge=binary
+#*.vcproj    merge=binary
+#*.dbproj    merge=binary
+#*.fsproj    merge=binary
+#*.lsproj    merge=binary
+#*.wixproj   merge=binary
+#*.modelproj merge=binary
+#*.sqlproj   merge=binary
+#*.wwaproj   merge=binary
+
+###############################################################################
+# behavior for image files
+#
+# image files are treated as binary by default.
+###############################################################################
+#*.jpg   binary
+#*.png   binary
+#*.gif   binary
+
+###############################################################################
+# diff behavior for common document formats
+# 
+# Convert binary document formats to text before diffing them. This feature
+# is only available from the command line. Turn it on by uncommenting the 
+# entries below.
+###############################################################################
+#*.doc   diff=astextplain
+#*.DOC   diff=astextplain
+#*.docx  diff=astextplain
+#*.DOCX  diff=astextplain
+#*.dot   diff=astextplain
+#*.DOT   diff=astextplain
+#*.pdf   diff=astextplain
+#*.PDF   diff=astextplain
+#*.rtf   diff=astextplain
+#*.RTF   diff=astextplain

+ 242 - 0
.gitignore

@@ -0,0 +1,242 @@
+## Ignore Visual Studio temporary files, build results, and
+## files generated by popular Visual Studio add-ons.
+
+# User-specific files
+*.suo
+*.user
+*.userosscache
+*.sln.docstates
+
+# User-specific files (MonoDevelop/Xamarin Studio)
+*.userprefs
+
+# Build results
+[Dd]ebug/
+[Dd]ebugPublic/
+[Rr]elease/
+[Rr]eleases/
+[Xx]64/
+[Xx]86/
+[Bb]uild/
+bld/
+[Bb]in/
+[Oo]bj/
+
+# Visual Studio 2015 cache/options directory
+.vs/
+# Uncomment if you have tasks that create the project's static files in wwwroot
+#wwwroot/
+
+# MSTest test Results
+[Tt]est[Rr]esult*/
+[Bb]uild[Ll]og.*
+
+# NUNIT
+*.VisualState.xml
+TestResult.xml
+
+# Build Results of an ATL Project
+[Dd]ebugPS/
+[Rr]eleasePS/
+dlldata.c
+
+# DNX
+project.lock.json
+artifacts/
+
+*_i.c
+*_p.c
+*_i.h
+*.ilk
+*.meta
+*.obj
+*.pch
+*.pdb
+*.pgc
+*.pgd
+*.rsp
+*.sbr
+*.tlb
+*.tli
+*.tlh
+*.tmp
+*.tmp_proj
+*.log
+*.vspscc
+*.vssscc
+.builds
+*.pidb
+*.svclog
+*.scc
+
+# Chutzpah Test files
+_Chutzpah*
+
+# Visual C++ cache files
+ipch/
+*.aps
+*.ncb
+*.opendb
+*.opensdf
+*.sdf
+*.cachefile
+*.VC.db
+
+# Visual Studio profiler
+*.psess
+*.vsp
+*.vspx
+*.sap
+
+# TFS 2012 Local Workspace
+$tf/
+
+# Guidance Automation Toolkit
+*.gpState
+
+# ReSharper is a .NET coding add-in
+_ReSharper*/
+*.[Rr]e[Ss]harper
+*.DotSettings.user
+
+# JustCode is a .NET coding add-in
+.JustCode
+
+# TeamCity is a build add-in
+_TeamCity*
+
+# DotCover is a Code Coverage Tool
+*.dotCover
+
+# NCrunch
+_NCrunch_*
+.*crunch*.local.xml
+nCrunchTemp_*
+
+# MightyMoose
+*.mm.*
+AutoTest.Net/
+
+# Web workbench (sass)
+.sass-cache/
+
+# Installshield output folder
+[Ee]xpress/
+
+# DocProject is a documentation generator add-in
+DocProject/buildhelp/
+DocProject/Help/*.HxT
+DocProject/Help/*.HxC
+DocProject/Help/*.hhc
+DocProject/Help/*.hhk
+DocProject/Help/*.hhp
+DocProject/Help/Html2
+DocProject/Help/html
+
+# Click-Once directory
+publish/
+
+# Publish Web Output
+*.[Pp]ublish.xml
+*.azurePubxml
+
+# TODO: Un-comment the next line if you do not want to checkin
+# your web deploy settings because they may include unencrypted
+# passwords
+#*.pubxml
+*.publishproj
+
+# NuGet Packages
+*.nupkg
+# The packages folder can be ignored because of Package Restore
+**/packages/*
+# except build/, which is used as an MSBuild target.
+!**/packages/build/
+# Uncomment if necessary however generally it will be regenerated when needed
+#!**/packages/repositories.config
+# NuGet v3's project.json files produces more ignoreable files
+*.nuget.props
+*.nuget.targets
+
+# Microsoft Azure Build Output
+csx/
+*.build.csdef
+
+# Microsoft Azure Emulator
+ecf/
+rcf/
+
+# Windows Store app package directory
+AppPackages/
+BundleArtifacts/
+
+# Visual Studio cache files
+# files ending in .cache can be ignored
+*.[Cc]ache
+# but keep track of directories ending in .cache
+!*.[Cc]ache/
+
+# Others
+ClientBin/
+[Ss]tyle[Cc]op.*
+~$*
+*~
+*.dbmdl
+*.dbproj.schemaview
+*.pfx
+*.publishsettings
+node_modules/
+orleans.codegen.cs
+
+# RIA/Silverlight projects
+Generated_Code/
+
+# Backup & report files from converting an old project file
+# to a newer Visual Studio version. Backup files are not needed,
+# because we have git ;-)
+_UpgradeReport_Files/
+Backup*/
+UpgradeLog*.XML
+UpgradeLog*.htm
+
+# SQL Server files
+*.mdf
+*.ldf
+
+# Business Intelligence projects
+*.rdl.data
+*.bim.layout
+*.bim_*.settings
+
+# Microsoft Fakes
+FakesAssemblies/
+
+# GhostDoc plugin setting file
+*.GhostDoc.xml
+
+# Node.js Tools for Visual Studio
+.ntvs_analysis.dat
+
+# Visual Studio 6 build log
+*.plg
+
+# Visual Studio 6 workspace options file
+*.opt
+
+# Visual Studio LightSwitch build output
+**/*.HTMLClient/GeneratedArtifacts
+**/*.DesktopClient/GeneratedArtifacts
+**/*.DesktopClient/ModelManifest.xml
+**/*.Server/GeneratedArtifacts
+**/*.Server/ModelManifest.xml
+_Pvt_Extensions
+
+# LightSwitch generated files
+GeneratedArtifacts/
+ModelManifest.xml
+
+# Paket dependency manager
+.paket/paket.exe
+
+# FAKE - F# Make
+.fake/

+ 0 - 279
quick-color-picker/AboutForm.Designer.cs

@@ -1,279 +0,0 @@
-namespace quick_color_picker
-{
-	partial class AboutForm
-	{
-		/// <summary>
-		/// Required designer variable.
-		/// </summary>
-		private System.ComponentModel.IContainer components = null;
-
-		/// <summary>
-		/// Clean up any resources being used.
-		/// </summary>
-		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()
-		{
-			System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutForm));
-			this.logoPictureBox = new System.Windows.Forms.PictureBox();
-			this.productLabel = new System.Windows.Forms.Label();
-			this.versionLabel = new System.Windows.Forms.Label();
-			this.companyLabel = new System.Windows.Forms.Label();
-			this.authorLabel = new System.Windows.Forms.Label();
-			this.descriptionLabel = new System.Windows.Forms.Label();
-			this.developerLink = new System.Windows.Forms.LinkLabel();
-			this.projectLink = new System.Windows.Forms.LinkLabel();
-			this.okButton = new System.Windows.Forms.Button();
-			this.infoGroup = new System.Windows.Forms.GroupBox();
-			this.updatesLink = new System.Windows.Forms.LinkLabel();
-			this.issuesLink = new System.Windows.Forms.LinkLabel();
-			this.pagesGroup = new System.Windows.Forms.GroupBox();
-			this.licenseLink = new System.Windows.Forms.LinkLabel();
-			this.licenseLabel = new System.Windows.Forms.Label();
-			((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).BeginInit();
-			this.infoGroup.SuspendLayout();
-			this.pagesGroup.SuspendLayout();
-			this.SuspendLayout();
-			// 
-			// logoPictureBox
-			// 
-			this.logoPictureBox.Image = ((System.Drawing.Image)(resources.GetObject("logoPictureBox.Image")));
-			this.logoPictureBox.Location = new System.Drawing.Point(9, 9);
-			this.logoPictureBox.Margin = new System.Windows.Forms.Padding(0);
-			this.logoPictureBox.Name = "logoPictureBox";
-			this.logoPictureBox.Size = new System.Drawing.Size(256, 100);
-			this.logoPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
-			this.logoPictureBox.TabIndex = 12;
-			this.logoPictureBox.TabStop = false;
-			// 
-			// productLabel
-			// 
-			this.productLabel.AutoSize = true;
-			this.productLabel.Location = new System.Drawing.Point(4, 28);
-			this.productLabel.Margin = new System.Windows.Forms.Padding(3, 19, 3, 3);
-			this.productLabel.Name = "productLabel";
-			this.productLabel.Size = new System.Drawing.Size(105, 15);
-			this.productLabel.TabIndex = 27;
-			this.productLabel.Text = "Quick Color Picker";
-			// 
-			// versionLabel
-			// 
-			this.versionLabel.AutoSize = true;
-			this.versionLabel.Location = new System.Drawing.Point(6, 49);
-			this.versionLabel.Margin = new System.Windows.Forms.Padding(3);
-			this.versionLabel.Name = "versionLabel";
-			this.versionLabel.Size = new System.Drawing.Size(45, 15);
-			this.versionLabel.TabIndex = 28;
-			this.versionLabel.Text = "Version";
-			// 
-			// companyLabel
-			// 
-			this.companyLabel.AutoSize = true;
-			this.companyLabel.Location = new System.Drawing.Point(6, 103);
-			this.companyLabel.Margin = new System.Windows.Forms.Padding(3, 9, 3, 3);
-			this.companyLabel.Name = "companyLabel";
-			this.companyLabel.Size = new System.Drawing.Size(127, 15);
-			this.companyLabel.TabIndex = 29;
-			this.companyLabel.Text = "Created by Module Art";
-			// 
-			// authorLabel
-			// 
-			this.authorLabel.AutoSize = true;
-			this.authorLabel.Location = new System.Drawing.Point(6, 124);
-			this.authorLabel.Margin = new System.Windows.Forms.Padding(3);
-			this.authorLabel.Name = "authorLabel";
-			this.authorLabel.Size = new System.Drawing.Size(134, 15);
-			this.authorLabel.TabIndex = 30;
-			this.authorLabel.Text = "Author: Eugene Volynko";
-			// 
-			// descriptionLabel
-			// 
-			this.descriptionLabel.AutoSize = true;
-			this.descriptionLabel.Location = new System.Drawing.Point(6, 151);
-			this.descriptionLabel.Margin = new System.Windows.Forms.Padding(3, 9, 3, 3);
-			this.descriptionLabel.Name = "descriptionLabel";
-			this.descriptionLabel.Size = new System.Drawing.Size(239, 45);
-			this.descriptionLabel.TabIndex = 31;
-			this.descriptionLabel.Text = "Lightweight desktop color picker and color \r\neditor utility to get and save color" +
-    "s quickly \r\nfor Windows, built on top of WinForms (C#)";
-			// 
-			// developerLink
-			// 
-			this.developerLink.AutoSize = true;
-			this.developerLink.Location = new System.Drawing.Point(6, 28);
-			this.developerLink.Margin = new System.Windows.Forms.Padding(3, 9, 3, 3);
-			this.developerLink.Name = "developerLink";
-			this.developerLink.Size = new System.Drawing.Size(67, 15);
-			this.developerLink.TabIndex = 32;
-			this.developerLink.TabStop = true;
-			this.developerLink.Text = "Module Art";
-			this.developerLink.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.developerLink_LinkClicked);
-			// 
-			// projectLink
-			// 
-			this.projectLink.AutoSize = true;
-			this.projectLink.Location = new System.Drawing.Point(79, 29);
-			this.projectLink.Margin = new System.Windows.Forms.Padding(3, 10, 3, 3);
-			this.projectLink.Name = "projectLink";
-			this.projectLink.Size = new System.Drawing.Size(73, 15);
-			this.projectLink.TabIndex = 33;
-			this.projectLink.TabStop = true;
-			this.projectLink.Text = "Project page";
-			this.projectLink.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.projectLink_LinkClicked);
-			// 
-			// okButton
-			// 
-			this.okButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
-			this.okButton.BackColor = System.Drawing.SystemColors.ControlLight;
-			this.okButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
-			this.okButton.FlatAppearance.BorderSize = 0;
-			this.okButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
-			this.okButton.Location = new System.Drawing.Point(9, 437);
-			this.okButton.Margin = new System.Windows.Forms.Padding(0);
-			this.okButton.Name = "okButton";
-			this.okButton.Size = new System.Drawing.Size(256, 23);
-			this.okButton.TabIndex = 21;
-			this.okButton.Text = "Close";
-			this.okButton.UseVisualStyleBackColor = false;
-			// 
-			// infoGroup
-			// 
-			this.infoGroup.Controls.Add(this.updatesLink);
-			this.infoGroup.Controls.Add(this.versionLabel);
-			this.infoGroup.Controls.Add(this.companyLabel);
-			this.infoGroup.Controls.Add(this.productLabel);
-			this.infoGroup.Controls.Add(this.descriptionLabel);
-			this.infoGroup.Controls.Add(this.authorLabel);
-			this.infoGroup.Location = new System.Drawing.Point(9, 118);
-			this.infoGroup.Margin = new System.Windows.Forms.Padding(0, 9, 0, 0);
-			this.infoGroup.Name = "infoGroup";
-			this.infoGroup.Size = new System.Drawing.Size(256, 240);
-			this.infoGroup.TabIndex = 34;
-			this.infoGroup.TabStop = false;
-			this.infoGroup.Text = "Info";
-			// 
-			// updatesLink
-			// 
-			this.updatesLink.AutoSize = true;
-			this.updatesLink.Location = new System.Drawing.Point(6, 76);
-			this.updatesLink.Margin = new System.Windows.Forms.Padding(3, 9, 3, 3);
-			this.updatesLink.Name = "updatesLink";
-			this.updatesLink.Size = new System.Drawing.Size(103, 15);
-			this.updatesLink.TabIndex = 35;
-			this.updatesLink.TabStop = true;
-			this.updatesLink.Text = "Check for updates";
-			this.updatesLink.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.updatesLink_LinkClicked);
-			// 
-			// issuesLink
-			// 
-			this.issuesLink.AutoSize = true;
-			this.issuesLink.Location = new System.Drawing.Point(158, 29);
-			this.issuesLink.Margin = new System.Windows.Forms.Padding(3, 10, 3, 3);
-			this.issuesLink.Name = "issuesLink";
-			this.issuesLink.Size = new System.Drawing.Size(38, 15);
-			this.issuesLink.TabIndex = 34;
-			this.issuesLink.TabStop = true;
-			this.issuesLink.Text = "Issues";
-			this.issuesLink.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.issuesLink_LinkClicked);
-			// 
-			// pagesGroup
-			// 
-			this.pagesGroup.Controls.Add(this.licenseLink);
-			this.pagesGroup.Controls.Add(this.developerLink);
-			this.pagesGroup.Controls.Add(this.projectLink);
-			this.pagesGroup.Controls.Add(this.issuesLink);
-			this.pagesGroup.Location = new System.Drawing.Point(9, 367);
-			this.pagesGroup.Margin = new System.Windows.Forms.Padding(0, 9, 0, 0);
-			this.pagesGroup.Name = "pagesGroup";
-			this.pagesGroup.Size = new System.Drawing.Size(256, 62);
-			this.pagesGroup.TabIndex = 37;
-			this.pagesGroup.TabStop = false;
-			this.pagesGroup.Text = "Links";
-			// 
-			// licenseLink
-			// 
-			this.licenseLink.AutoSize = true;
-			this.licenseLink.Location = new System.Drawing.Point(202, 29);
-			this.licenseLink.Margin = new System.Windows.Forms.Padding(3, 9, 3, 3);
-			this.licenseLink.Name = "licenseLink";
-			this.licenseLink.Size = new System.Drawing.Size(46, 15);
-			this.licenseLink.TabIndex = 36;
-			this.licenseLink.TabStop = true;
-			this.licenseLink.Text = "License";
-			this.licenseLink.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.licenseLink_LinkClicked);
-			// 
-			// licenseLabel
-			// 
-			this.licenseLabel.AutoSize = true;
-			this.licenseLabel.Location = new System.Drawing.Point(15, 326);
-			this.licenseLabel.Margin = new System.Windows.Forms.Padding(3, 9, 3, 3);
-			this.licenseLabel.Name = "licenseLabel";
-			this.licenseLabel.Size = new System.Drawing.Size(93, 15);
-			this.licenseLabel.TabIndex = 38;
-			this.licenseLabel.Text = "License: GPL-3.0";
-			// 
-			// AboutForm
-			// 
-			this.AcceptButton = this.okButton;
-			this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
-			this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
-			this.ClientSize = new System.Drawing.Size(274, 469);
-			this.Controls.Add(this.licenseLabel);
-			this.Controls.Add(this.pagesGroup);
-			this.Controls.Add(this.infoGroup);
-			this.Controls.Add(this.okButton);
-			this.Controls.Add(this.logoPictureBox);
-			this.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
-			this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
-			this.KeyPreview = true;
-			this.MaximizeBox = false;
-			this.MinimizeBox = false;
-			this.Name = "AboutForm";
-			this.Padding = new System.Windows.Forms.Padding(9);
-			this.ShowIcon = false;
-			this.ShowInTaskbar = false;
-			this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
-			this.Text = "About";
-			this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.AboutForm_KeyDown);
-			((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).EndInit();
-			this.infoGroup.ResumeLayout(false);
-			this.infoGroup.PerformLayout();
-			this.pagesGroup.ResumeLayout(false);
-			this.pagesGroup.PerformLayout();
-			this.ResumeLayout(false);
-			this.PerformLayout();
-
-		}
-
-		#endregion
-
-		private System.Windows.Forms.PictureBox logoPictureBox;
-		private System.Windows.Forms.Label productLabel;
-		private System.Windows.Forms.Label versionLabel;
-		private System.Windows.Forms.Label companyLabel;
-		private System.Windows.Forms.Label authorLabel;
-		private System.Windows.Forms.Label descriptionLabel;
-		private System.Windows.Forms.LinkLabel developerLink;
-		private System.Windows.Forms.LinkLabel projectLink;
-		private System.Windows.Forms.Button okButton;
-		private System.Windows.Forms.GroupBox infoGroup;
-		private System.Windows.Forms.LinkLabel issuesLink;
-		private System.Windows.Forms.LinkLabel updatesLink;
-		private System.Windows.Forms.GroupBox pagesGroup;
-		private System.Windows.Forms.Label licenseLabel;
-		private System.Windows.Forms.LinkLabel licenseLink;
-	}
-}

+ 0 - 88
quick-color-picker/AboutForm.cs

@@ -1,88 +0,0 @@
-using System;
-using System.Diagnostics;
-using System.Drawing;
-using System.Reflection;
-using System.Windows.Forms;
-
-namespace quick_color_picker
-{
-	partial class AboutForm : Form
-	{
-		public AboutForm(bool darkMode)
-		{
-			if (darkMode)
-			{
-				this.HandleCreated += new EventHandler(ThemeManager.formHandleCreated);
-			}
-
-			InitializeComponent();
-
-			string fullVer = Assembly.GetExecutingAssembly().GetName().Version.ToString();
-			int lastDotIndex = fullVer.LastIndexOf('.');
-			versionLabel.Text = String.Format("Version: {0}", fullVer.Substring(0, lastDotIndex));
-
-			if (IntPtr.Size == 4)
-			{
-				versionLabel.Text += " (x32)";
-			}
-			else if (IntPtr.Size == 8)
-			{
-				versionLabel.Text += " (x64)";
-			}
-
-			if (darkMode)
-			{
-				this.BackColor = ThemeManager.BackColorDark;
-				this.ForeColor = Color.White;
-
-				infoGroup.Paint += ThemeManager.PaintDarkGroupBox;
-				pagesGroup.Paint += ThemeManager.PaintDarkGroupBox;
-
-				Color linkColor = ThemeManager.AccentColorDark;
-
-				updatesLink.LinkColor = linkColor;
-				developerLink.LinkColor = linkColor;
-				projectLink.LinkColor = linkColor;
-				issuesLink.LinkColor = linkColor;
-				licenseLink.LinkColor = linkColor;
-
-				okButton.BackColor = ThemeManager.SecondColorDark;
-			}
-		}
-
-		private void developerLink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
-		{
-			System.Diagnostics.Process.Start("https://moduleart.github.io/");
-		}
-
-		private void projectLink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
-		{
-			System.Diagnostics.Process.Start("https://github.com/ModuleArt/quick-color-picker/");
-		}
-
-		private void issuesLink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
-		{
-			System.Diagnostics.Process.Start("https://github.com/ModuleArt/quick-color-picker/issues/");
-		}
-
-		private void updatesLink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
-		{
-			MainForm parent = (MainForm)this.Owner;
-			parent.checkForUpdates(true);
-			this.Close();
-		}
-
-		private void AboutForm_KeyDown(object sender, KeyEventArgs e)
-		{
-			if (e.KeyCode == Keys.Escape)
-			{
-				this.Close();
-			}
-		}
-
-		private void licenseLink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
-		{
-			System.Diagnostics.Process.Start("https://github.com/ModuleArt/quick-color-picker/blob/master/LICENSE.md/");
-		}
-	}
-}

+ 5 - 5
quick-color-picker/App.config

@@ -1,12 +1,12 @@
-<?xml version="1.0" encoding="utf-8" ?>
+<?xml version="1.0" encoding="utf-8"?>
 <configuration>
     <configSections>
-        <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
-            <section name="quick_color_picker.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
+        <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+            <section name="quick_color_picker.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/>
         </sectionGroup>
     </configSections>
     <startup> 
-        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
+        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
     </startup>
     <userSettings>
         <quick_color_picker.Properties.Settings>
@@ -18,4 +18,4 @@
             </setting>
         </quick_color_picker.Properties.Settings>
     </userSettings>
-</configuration>
+</configuration>

+ 653 - 653
quick-color-picker/MainForm.Designer.cs

@@ -28,669 +28,669 @@
 		/// </summary>
 		private void InitializeComponent()
 		{
-			this.components = new System.ComponentModel.Container();
-			System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
-			this.colorPanel = new System.Windows.Forms.Panel();
-			this.rgbTextBox = new System.Windows.Forms.TextBox();
-			this.rgbLabel = new System.Windows.Forms.Label();
-			this.htmlLabel = new System.Windows.Forms.Label();
-			this.htmlTextBox = new System.Windows.Forms.TextBox();
-			this.xLabel = new System.Windows.Forms.Label();
-			this.yLabel = new System.Windows.Forms.Label();
-			this.colorList = new System.Windows.Forms.ListBox();
-			this.cmykTextBox = new System.Windows.Forms.TextBox();
-			this.cmykLabel = new System.Windows.Forms.Label();
-			this.hslTextBox = new System.Windows.Forms.TextBox();
-			this.hslLabel = new System.Windows.Forms.Label();
-			this.rgbOneTextBox = new System.Windows.Forms.TextBox();
-			this.rgbOneLabel = new System.Windows.Forms.Label();
-			this.toolStrip1 = new System.Windows.Forms.ToolStrip();
-			this.onTopButton = new System.Windows.Forms.ToolStripButton();
-			this.formatButton = new System.Windows.Forms.ToolStripButton();
-			this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
-			this.clearListButton = new System.Windows.Forms.ToolStripButton();
-			this.deleteButton = new System.Windows.Forms.ToolStripButton();
-			this.aboutButton = new System.Windows.Forms.ToolStripButton();
-			this.gradPanel1 = new System.Windows.Forms.Panel();
-			this.gradPanel2 = new System.Windows.Forms.Panel();
-			this.gradPanel3 = new System.Windows.Forms.Panel();
-			this.gradPanel4 = new System.Windows.Forms.Panel();
-			this.gradPanel = new System.Windows.Forms.Panel();
-			this.copyTooltip = new System.Windows.Forms.ToolTip(this.components);
-			this.rgbOneCopyButton = new System.Windows.Forms.Button();
-			this.hslCopyButton = new System.Windows.Forms.Button();
-			this.cmykCopyButton = new System.Windows.Forms.Button();
-			this.htmlCopyButton = new System.Windows.Forms.Button();
-			this.rgbCopyButton = new System.Windows.Forms.Button();
-			this.aimPictureBox = new System.Windows.Forms.PictureBox();
-			this.hsvTextBox = new System.Windows.Forms.TextBox();
-			this.hsvLabel = new System.Windows.Forms.Label();
-			this.hsvCopyButton = new System.Windows.Forms.Button();
-			this.ratioPanel = new System.Windows.Forms.Panel();
-			this.ratioWhiteLabel = new System.Windows.Forms.Label();
-			this.ratioBlackLabel = new System.Windows.Forms.Label();
-			this.renameTextBox = new System.Windows.Forms.TextBox();
-			this.renameButton = new System.Windows.Forms.Button();
-			this.linearGradPictureBox = new System.Windows.Forms.PictureBox();
-			this.statusStrip1 = new System.Windows.Forms.StatusStrip();
-			this.rgbStatusLabel = new System.Windows.Forms.ToolStripStatusLabel();
-			this.hexStatusLabel = new System.Windows.Forms.ToolStripStatusLabel();
-			this.pickColorStatusLabel = new System.Windows.Forms.ToolStripStatusLabel();
-			this.copyColorStatusLabel = new System.Windows.Forms.ToolStripStatusLabel();
-			this.toolStrip1.SuspendLayout();
-			((System.ComponentModel.ISupportInitialize)(this.aimPictureBox)).BeginInit();
-			this.ratioPanel.SuspendLayout();
-			((System.ComponentModel.ISupportInitialize)(this.linearGradPictureBox)).BeginInit();
-			this.statusStrip1.SuspendLayout();
-			this.SuspendLayout();
-			// 
-			// colorPanel
-			// 
-			this.colorPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-			this.colorPanel.Location = new System.Drawing.Point(9, 9);
-			this.colorPanel.Margin = new System.Windows.Forms.Padding(0, 0, 0, 9);
-			this.colorPanel.Name = "colorPanel";
-			this.colorPanel.Size = new System.Drawing.Size(40, 40);
-			this.colorPanel.TabIndex = 2;
-			// 
-			// rgbTextBox
-			// 
-			this.rgbTextBox.BackColor = System.Drawing.SystemColors.Window;
-			this.rgbTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-			this.rgbTextBox.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
-			this.rgbTextBox.Location = new System.Drawing.Point(138, 28);
-			this.rgbTextBox.Margin = new System.Windows.Forms.Padding(9, 0, 9, 9);
-			this.rgbTextBox.Multiline = true;
-			this.rgbTextBox.Name = "rgbTextBox";
-			this.rgbTextBox.ReadOnly = true;
-			this.rgbTextBox.Size = new System.Drawing.Size(137, 20);
-			this.rgbTextBox.TabIndex = 3;
-			this.rgbTextBox.Text = "255, 255, 255";
-			this.rgbTextBox.WordWrap = false;
-			// 
-			// rgbLabel
-			// 
-			this.rgbLabel.AutoSize = true;
-			this.rgbLabel.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
-			this.rgbLabel.Location = new System.Drawing.Point(135, 10);
-			this.rgbLabel.Margin = new System.Windows.Forms.Padding(3);
-			this.rgbLabel.Name = "rgbLabel";
-			this.rgbLabel.Size = new System.Drawing.Size(32, 15);
-			this.rgbLabel.TabIndex = 4;
-			this.rgbLabel.Text = "RGB:";
-			// 
-			// htmlLabel
-			// 
-			this.htmlLabel.AutoSize = true;
-			this.htmlLabel.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
-			this.htmlLabel.Location = new System.Drawing.Point(135, 60);
-			this.htmlLabel.Margin = new System.Windows.Forms.Padding(3);
-			this.htmlLabel.Name = "htmlLabel";
-			this.htmlLabel.Size = new System.Drawing.Size(32, 15);
-			this.htmlLabel.TabIndex = 5;
-			this.htmlLabel.Text = "HEX:";
-			// 
-			// htmlTextBox
-			// 
-			this.htmlTextBox.BackColor = System.Drawing.SystemColors.Window;
-			this.htmlTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-			this.htmlTextBox.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
-			this.htmlTextBox.Location = new System.Drawing.Point(138, 78);
-			this.htmlTextBox.Margin = new System.Windows.Forms.Padding(9, 0, 9, 9);
-			this.htmlTextBox.Multiline = true;
-			this.htmlTextBox.Name = "htmlTextBox";
-			this.htmlTextBox.ReadOnly = true;
-			this.htmlTextBox.Size = new System.Drawing.Size(137, 20);
-			this.htmlTextBox.TabIndex = 6;
-			this.htmlTextBox.Text = "#FFFFFF";
-			this.htmlTextBox.WordWrap = false;
-			// 
-			// xLabel
-			// 
-			this.xLabel.AutoSize = true;
-			this.xLabel.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
-			this.xLabel.Location = new System.Drawing.Point(55, 12);
-			this.xLabel.Margin = new System.Windows.Forms.Padding(13, 13, 13, 3);
-			this.xLabel.Name = "xLabel";
-			this.xLabel.Size = new System.Drawing.Size(26, 15);
-			this.xLabel.TabIndex = 7;
-			this.xLabel.Text = "X: 0";
-			// 
-			// yLabel
-			// 
-			this.yLabel.AutoSize = true;
-			this.yLabel.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
-			this.yLabel.Location = new System.Drawing.Point(55, 31);
-			this.yLabel.Margin = new System.Windows.Forms.Padding(3);
-			this.yLabel.Name = "yLabel";
-			this.yLabel.Size = new System.Drawing.Size(26, 15);
-			this.yLabel.TabIndex = 8;
-			this.yLabel.Text = "Y: 0";
-			// 
-			// colorList
-			// 
-			this.colorList.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-			this.colorList.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
-			this.colorList.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
-			this.colorList.FormattingEnabled = true;
-			this.colorList.ItemHeight = 17;
-			this.colorList.Location = new System.Drawing.Point(309, 41);
-			this.colorList.Margin = new System.Windows.Forms.Padding(0);
-			this.colorList.Name = "colorList";
-			this.colorList.Size = new System.Drawing.Size(151, 223);
-			this.colorList.TabIndex = 1;
-			this.colorList.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.colorList_DrawItem);
-			this.colorList.SelectedIndexChanged += new System.EventHandler(this.colorList_SelectedIndexChanged);
-			// 
-			// cmykTextBox
-			// 
-			this.cmykTextBox.BackColor = System.Drawing.SystemColors.Window;
-			this.cmykTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-			this.cmykTextBox.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
-			this.cmykTextBox.Location = new System.Drawing.Point(138, 128);
-			this.cmykTextBox.Margin = new System.Windows.Forms.Padding(9, 0, 9, 9);
-			this.cmykTextBox.Multiline = true;
-			this.cmykTextBox.Name = "cmykTextBox";
-			this.cmykTextBox.ReadOnly = true;
-			this.cmykTextBox.Size = new System.Drawing.Size(137, 20);
-			this.cmykTextBox.TabIndex = 12;
-			this.cmykTextBox.Text = "0, 0, 0, 0";
-			this.cmykTextBox.WordWrap = false;
-			// 
-			// cmykLabel
-			// 
-			this.cmykLabel.AutoSize = true;
-			this.cmykLabel.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
-			this.cmykLabel.Location = new System.Drawing.Point(135, 110);
-			this.cmykLabel.Margin = new System.Windows.Forms.Padding(3);
-			this.cmykLabel.Name = "cmykLabel";
-			this.cmykLabel.Size = new System.Drawing.Size(64, 15);
-			this.cmykLabel.TabIndex = 11;
-			this.cmykLabel.Text = "CMYK (%):";
-			// 
-			// hslTextBox
-			// 
-			this.hslTextBox.BackColor = System.Drawing.SystemColors.Window;
-			this.hslTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-			this.hslTextBox.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
-			this.hslTextBox.Location = new System.Drawing.Point(138, 178);
-			this.hslTextBox.Margin = new System.Windows.Forms.Padding(9, 0, 9, 9);
-			this.hslTextBox.Multiline = true;
-			this.hslTextBox.Name = "hslTextBox";
-			this.hslTextBox.ReadOnly = true;
-			this.hslTextBox.Size = new System.Drawing.Size(137, 20);
-			this.hslTextBox.TabIndex = 16;
-			this.hslTextBox.Text = "0, 0, 100";
-			this.hslTextBox.WordWrap = false;
-			// 
-			// hslLabel
-			// 
-			this.hslLabel.AutoSize = true;
-			this.hslLabel.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
-			this.hslLabel.Location = new System.Drawing.Point(135, 160);
-			this.hslLabel.Margin = new System.Windows.Forms.Padding(3);
-			this.hslLabel.Name = "hslLabel";
-			this.hslLabel.Size = new System.Drawing.Size(31, 15);
-			this.hslLabel.TabIndex = 15;
-			this.hslLabel.Text = "HSL:";
-			// 
-			// rgbOneTextBox
-			// 
-			this.rgbOneTextBox.BackColor = System.Drawing.SystemColors.Window;
-			this.rgbOneTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-			this.rgbOneTextBox.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
-			this.rgbOneTextBox.Location = new System.Drawing.Point(138, 228);
-			this.rgbOneTextBox.Margin = new System.Windows.Forms.Padding(9, 0, 9, 9);
-			this.rgbOneTextBox.Multiline = true;
-			this.rgbOneTextBox.Name = "rgbOneTextBox";
-			this.rgbOneTextBox.ReadOnly = true;
-			this.rgbOneTextBox.Size = new System.Drawing.Size(137, 20);
-			this.rgbOneTextBox.TabIndex = 19;
-			this.rgbOneTextBox.Text = "1; 1; 1";
-			this.rgbOneTextBox.WordWrap = false;
-			// 
-			// rgbOneLabel
-			// 
-			this.rgbOneLabel.AutoSize = true;
-			this.rgbOneLabel.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
-			this.rgbOneLabel.Location = new System.Drawing.Point(135, 210);
-			this.rgbOneLabel.Margin = new System.Windows.Forms.Padding(3);
-			this.rgbOneLabel.Name = "rgbOneLabel";
-			this.rgbOneLabel.Size = new System.Drawing.Size(61, 15);
-			this.rgbOneLabel.TabIndex = 18;
-			this.rgbOneLabel.Text = "RGB [0..1]:";
-			// 
-			// toolStrip1
-			// 
-			this.toolStrip1.AutoSize = false;
-			this.toolStrip1.BackColor = System.Drawing.SystemColors.Control;
-			this.toolStrip1.Dock = System.Windows.Forms.DockStyle.None;
-			this.toolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden;
-			this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.components = new System.ComponentModel.Container();
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
+            this.colorPanel = new System.Windows.Forms.Panel();
+            this.rgbTextBox = new System.Windows.Forms.TextBox();
+            this.rgbLabel = new System.Windows.Forms.Label();
+            this.htmlLabel = new System.Windows.Forms.Label();
+            this.htmlTextBox = new System.Windows.Forms.TextBox();
+            this.xLabel = new System.Windows.Forms.Label();
+            this.yLabel = new System.Windows.Forms.Label();
+            this.colorList = new System.Windows.Forms.ListBox();
+            this.cmykTextBox = new System.Windows.Forms.TextBox();
+            this.cmykLabel = new System.Windows.Forms.Label();
+            this.hslTextBox = new System.Windows.Forms.TextBox();
+            this.hslLabel = new System.Windows.Forms.Label();
+            this.rgbOneTextBox = new System.Windows.Forms.TextBox();
+            this.rgbOneLabel = new System.Windows.Forms.Label();
+            this.toolStrip1 = new System.Windows.Forms.ToolStrip();
+            this.onTopButton = new System.Windows.Forms.ToolStripButton();
+            this.formatButton = new System.Windows.Forms.ToolStripButton();
+            this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
+            this.clearListButton = new System.Windows.Forms.ToolStripButton();
+            this.deleteButton = new System.Windows.Forms.ToolStripButton();
+            this.aboutButton = new System.Windows.Forms.ToolStripButton();
+            this.gradPanel1 = new System.Windows.Forms.Panel();
+            this.gradPanel2 = new System.Windows.Forms.Panel();
+            this.gradPanel3 = new System.Windows.Forms.Panel();
+            this.gradPanel4 = new System.Windows.Forms.Panel();
+            this.gradPanel = new System.Windows.Forms.Panel();
+            this.copyTooltip = new System.Windows.Forms.ToolTip(this.components);
+            this.rgbOneCopyButton = new System.Windows.Forms.Button();
+            this.hslCopyButton = new System.Windows.Forms.Button();
+            this.cmykCopyButton = new System.Windows.Forms.Button();
+            this.htmlCopyButton = new System.Windows.Forms.Button();
+            this.rgbCopyButton = new System.Windows.Forms.Button();
+            this.aimPictureBox = new System.Windows.Forms.PictureBox();
+            this.hsvTextBox = new System.Windows.Forms.TextBox();
+            this.hsvLabel = new System.Windows.Forms.Label();
+            this.hsvCopyButton = new System.Windows.Forms.Button();
+            this.ratioPanel = new System.Windows.Forms.Panel();
+            this.ratioWhiteLabel = new System.Windows.Forms.Label();
+            this.ratioBlackLabel = new System.Windows.Forms.Label();
+            this.renameTextBox = new System.Windows.Forms.TextBox();
+            this.renameButton = new System.Windows.Forms.Button();
+            this.linearGradPictureBox = new System.Windows.Forms.PictureBox();
+            this.statusStrip1 = new System.Windows.Forms.StatusStrip();
+            this.pickColorStatusLabel = new System.Windows.Forms.ToolStripStatusLabel();
+            this.copyColorStatusLabel = new System.Windows.Forms.ToolStripStatusLabel();
+            this.rgbStatusLabel = new System.Windows.Forms.ToolStripStatusLabel();
+            this.hexStatusLabel = new System.Windows.Forms.ToolStripStatusLabel();
+            this.toolStrip1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.aimPictureBox)).BeginInit();
+            this.ratioPanel.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.linearGradPictureBox)).BeginInit();
+            this.statusStrip1.SuspendLayout();
+            this.SuspendLayout();
+            // 
+            // colorPanel
+            // 
+            this.colorPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.colorPanel.Location = new System.Drawing.Point(9, 9);
+            this.colorPanel.Margin = new System.Windows.Forms.Padding(0, 0, 0, 9);
+            this.colorPanel.Name = "colorPanel";
+            this.colorPanel.Size = new System.Drawing.Size(40, 40);
+            this.colorPanel.TabIndex = 2;
+            // 
+            // rgbTextBox
+            // 
+            this.rgbTextBox.BackColor = System.Drawing.SystemColors.Window;
+            this.rgbTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.rgbTextBox.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.rgbTextBox.Location = new System.Drawing.Point(138, 28);
+            this.rgbTextBox.Margin = new System.Windows.Forms.Padding(9, 0, 9, 9);
+            this.rgbTextBox.Multiline = true;
+            this.rgbTextBox.Name = "rgbTextBox";
+            this.rgbTextBox.ReadOnly = true;
+            this.rgbTextBox.Size = new System.Drawing.Size(137, 20);
+            this.rgbTextBox.TabIndex = 3;
+            this.rgbTextBox.Text = "255, 255, 255";
+            this.rgbTextBox.WordWrap = false;
+            // 
+            // rgbLabel
+            // 
+            this.rgbLabel.AutoSize = true;
+            this.rgbLabel.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.rgbLabel.Location = new System.Drawing.Point(135, 10);
+            this.rgbLabel.Margin = new System.Windows.Forms.Padding(3);
+            this.rgbLabel.Name = "rgbLabel";
+            this.rgbLabel.Size = new System.Drawing.Size(32, 15);
+            this.rgbLabel.TabIndex = 4;
+            this.rgbLabel.Text = "RGB:";
+            // 
+            // htmlLabel
+            // 
+            this.htmlLabel.AutoSize = true;
+            this.htmlLabel.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.htmlLabel.Location = new System.Drawing.Point(135, 60);
+            this.htmlLabel.Margin = new System.Windows.Forms.Padding(3);
+            this.htmlLabel.Name = "htmlLabel";
+            this.htmlLabel.Size = new System.Drawing.Size(32, 15);
+            this.htmlLabel.TabIndex = 5;
+            this.htmlLabel.Text = "HEX:";
+            // 
+            // htmlTextBox
+            // 
+            this.htmlTextBox.BackColor = System.Drawing.SystemColors.Window;
+            this.htmlTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.htmlTextBox.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.htmlTextBox.Location = new System.Drawing.Point(138, 78);
+            this.htmlTextBox.Margin = new System.Windows.Forms.Padding(9, 0, 9, 9);
+            this.htmlTextBox.Multiline = true;
+            this.htmlTextBox.Name = "htmlTextBox";
+            this.htmlTextBox.ReadOnly = true;
+            this.htmlTextBox.Size = new System.Drawing.Size(137, 20);
+            this.htmlTextBox.TabIndex = 6;
+            this.htmlTextBox.Text = "#FFFFFF";
+            this.htmlTextBox.WordWrap = false;
+            // 
+            // xLabel
+            // 
+            this.xLabel.AutoSize = true;
+            this.xLabel.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.xLabel.Location = new System.Drawing.Point(55, 12);
+            this.xLabel.Margin = new System.Windows.Forms.Padding(13, 13, 13, 3);
+            this.xLabel.Name = "xLabel";
+            this.xLabel.Size = new System.Drawing.Size(26, 15);
+            this.xLabel.TabIndex = 7;
+            this.xLabel.Text = "X: 0";
+            // 
+            // yLabel
+            // 
+            this.yLabel.AutoSize = true;
+            this.yLabel.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.yLabel.Location = new System.Drawing.Point(55, 31);
+            this.yLabel.Margin = new System.Windows.Forms.Padding(3);
+            this.yLabel.Name = "yLabel";
+            this.yLabel.Size = new System.Drawing.Size(26, 15);
+            this.yLabel.TabIndex = 8;
+            this.yLabel.Text = "Y: 0";
+            // 
+            // colorList
+            // 
+            this.colorList.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.colorList.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
+            this.colorList.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.colorList.FormattingEnabled = true;
+            this.colorList.ItemHeight = 17;
+            this.colorList.Location = new System.Drawing.Point(309, 41);
+            this.colorList.Margin = new System.Windows.Forms.Padding(0);
+            this.colorList.Name = "colorList";
+            this.colorList.Size = new System.Drawing.Size(151, 223);
+            this.colorList.TabIndex = 1;
+            this.colorList.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.colorList_DrawItem);
+            this.colorList.SelectedIndexChanged += new System.EventHandler(this.colorList_SelectedIndexChanged);
+            // 
+            // cmykTextBox
+            // 
+            this.cmykTextBox.BackColor = System.Drawing.SystemColors.Window;
+            this.cmykTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.cmykTextBox.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.cmykTextBox.Location = new System.Drawing.Point(138, 128);
+            this.cmykTextBox.Margin = new System.Windows.Forms.Padding(9, 0, 9, 9);
+            this.cmykTextBox.Multiline = true;
+            this.cmykTextBox.Name = "cmykTextBox";
+            this.cmykTextBox.ReadOnly = true;
+            this.cmykTextBox.Size = new System.Drawing.Size(137, 20);
+            this.cmykTextBox.TabIndex = 12;
+            this.cmykTextBox.Text = "0, 0, 0, 0";
+            this.cmykTextBox.WordWrap = false;
+            // 
+            // cmykLabel
+            // 
+            this.cmykLabel.AutoSize = true;
+            this.cmykLabel.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.cmykLabel.Location = new System.Drawing.Point(135, 110);
+            this.cmykLabel.Margin = new System.Windows.Forms.Padding(3);
+            this.cmykLabel.Name = "cmykLabel";
+            this.cmykLabel.Size = new System.Drawing.Size(64, 15);
+            this.cmykLabel.TabIndex = 11;
+            this.cmykLabel.Text = "CMYK (%):";
+            // 
+            // hslTextBox
+            // 
+            this.hslTextBox.BackColor = System.Drawing.SystemColors.Window;
+            this.hslTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.hslTextBox.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.hslTextBox.Location = new System.Drawing.Point(138, 178);
+            this.hslTextBox.Margin = new System.Windows.Forms.Padding(9, 0, 9, 9);
+            this.hslTextBox.Multiline = true;
+            this.hslTextBox.Name = "hslTextBox";
+            this.hslTextBox.ReadOnly = true;
+            this.hslTextBox.Size = new System.Drawing.Size(137, 20);
+            this.hslTextBox.TabIndex = 16;
+            this.hslTextBox.Text = "0, 0, 100";
+            this.hslTextBox.WordWrap = false;
+            // 
+            // hslLabel
+            // 
+            this.hslLabel.AutoSize = true;
+            this.hslLabel.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.hslLabel.Location = new System.Drawing.Point(135, 160);
+            this.hslLabel.Margin = new System.Windows.Forms.Padding(3);
+            this.hslLabel.Name = "hslLabel";
+            this.hslLabel.Size = new System.Drawing.Size(31, 15);
+            this.hslLabel.TabIndex = 15;
+            this.hslLabel.Text = "HSL:";
+            // 
+            // rgbOneTextBox
+            // 
+            this.rgbOneTextBox.BackColor = System.Drawing.SystemColors.Window;
+            this.rgbOneTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.rgbOneTextBox.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.rgbOneTextBox.Location = new System.Drawing.Point(138, 228);
+            this.rgbOneTextBox.Margin = new System.Windows.Forms.Padding(9, 0, 9, 9);
+            this.rgbOneTextBox.Multiline = true;
+            this.rgbOneTextBox.Name = "rgbOneTextBox";
+            this.rgbOneTextBox.ReadOnly = true;
+            this.rgbOneTextBox.Size = new System.Drawing.Size(137, 20);
+            this.rgbOneTextBox.TabIndex = 19;
+            this.rgbOneTextBox.Text = "1; 1; 1";
+            this.rgbOneTextBox.WordWrap = false;
+            // 
+            // rgbOneLabel
+            // 
+            this.rgbOneLabel.AutoSize = true;
+            this.rgbOneLabel.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.rgbOneLabel.Location = new System.Drawing.Point(135, 210);
+            this.rgbOneLabel.Margin = new System.Windows.Forms.Padding(3);
+            this.rgbOneLabel.Name = "rgbOneLabel";
+            this.rgbOneLabel.Size = new System.Drawing.Size(61, 15);
+            this.rgbOneLabel.TabIndex = 18;
+            this.rgbOneLabel.Text = "RGB [0..1]:";
+            // 
+            // toolStrip1
+            // 
+            this.toolStrip1.AutoSize = false;
+            this.toolStrip1.BackColor = System.Drawing.SystemColors.Control;
+            this.toolStrip1.Dock = System.Windows.Forms.DockStyle.None;
+            this.toolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden;
+            this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.onTopButton,
             this.formatButton,
             this.toolStripSeparator1,
             this.clearListButton,
             this.deleteButton,
             this.aboutButton});
-			this.toolStrip1.Location = new System.Drawing.Point(304, 0);
-			this.toolStrip1.Name = "toolStrip1";
-			this.toolStrip1.Padding = new System.Windows.Forms.Padding(5);
-			this.toolStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;
-			this.toolStrip1.Size = new System.Drawing.Size(165, 35);
-			this.toolStrip1.TabIndex = 24;
-			this.toolStrip1.Text = "toolStrip1";
-			// 
-			// onTopButton
-			// 
-			this.onTopButton.AutoSize = false;
-			this.onTopButton.Checked = true;
-			this.onTopButton.CheckState = System.Windows.Forms.CheckState.Checked;
-			this.onTopButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
-			this.onTopButton.Image = ((System.Drawing.Image)(resources.GetObject("onTopButton.Image")));
-			this.onTopButton.ImageTransparentColor = System.Drawing.Color.Magenta;
-			this.onTopButton.Name = "onTopButton";
-			this.onTopButton.Size = new System.Drawing.Size(24, 25);
-			this.onTopButton.Text = "Toggle always on top | Ctrl + T";
-			this.onTopButton.ToolTipText = "Always on top | Ctrl + T";
-			this.onTopButton.Click += new System.EventHandler(this.onTopButton_Click);
-			// 
-			// formatButton
-			// 
-			this.formatButton.AutoSize = false;
-			this.formatButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
-			this.formatButton.Image = ((System.Drawing.Image)(resources.GetObject("formatButton.Image")));
-			this.formatButton.ImageTransparentColor = System.Drawing.Color.Magenta;
-			this.formatButton.Name = "formatButton";
-			this.formatButton.Size = new System.Drawing.Size(24, 25);
-			this.formatButton.Text = "Clear color list | Ctrl + L";
-			this.formatButton.ToolTipText = "Another format | Ctrl + F";
-			this.formatButton.Click += new System.EventHandler(this.formatButton_Click);
-			// 
-			// toolStripSeparator1
-			// 
-			this.toolStripSeparator1.AutoSize = false;
-			this.toolStripSeparator1.Margin = new System.Windows.Forms.Padding(7, 0, 7, 0);
-			this.toolStripSeparator1.Name = "toolStripSeparator1";
-			this.toolStripSeparator1.Size = new System.Drawing.Size(2, 16);
-			// 
-			// clearListButton
-			// 
-			this.clearListButton.AutoSize = false;
-			this.clearListButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
-			this.clearListButton.Image = ((System.Drawing.Image)(resources.GetObject("clearListButton.Image")));
-			this.clearListButton.ImageTransparentColor = System.Drawing.Color.Magenta;
-			this.clearListButton.Name = "clearListButton";
-			this.clearListButton.Size = new System.Drawing.Size(24, 25);
-			this.clearListButton.Text = "Clear color list | Ctrl + L";
-			this.clearListButton.Click += new System.EventHandler(this.clearListButton_Click);
-			// 
-			// deleteButton
-			// 
-			this.deleteButton.AutoSize = false;
-			this.deleteButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
-			this.deleteButton.Enabled = false;
-			this.deleteButton.Image = ((System.Drawing.Image)(resources.GetObject("deleteButton.Image")));
-			this.deleteButton.ImageTransparentColor = System.Drawing.Color.Magenta;
-			this.deleteButton.Name = "deleteButton";
-			this.deleteButton.Size = new System.Drawing.Size(24, 25);
-			this.deleteButton.Text = "Delete selected color | Delete";
-			this.deleteButton.Click += new System.EventHandler(this.deleteButton_Click);
-			// 
-			// aboutButton
-			// 
-			this.aboutButton.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
-			this.aboutButton.AutoSize = false;
-			this.aboutButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
-			this.aboutButton.Image = ((System.Drawing.Image)(resources.GetObject("aboutButton.Image")));
-			this.aboutButton.ImageTransparentColor = System.Drawing.Color.Magenta;
-			this.aboutButton.Name = "aboutButton";
-			this.aboutButton.Size = new System.Drawing.Size(24, 25);
-			this.aboutButton.Text = "About | F1";
-			this.aboutButton.Click += new System.EventHandler(this.aboutButton_Click);
-			// 
-			// gradPanel1
-			// 
-			this.gradPanel1.BackColor = System.Drawing.Color.White;
-			this.gradPanel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-			this.gradPanel1.Location = new System.Drawing.Point(9, 187);
-			this.gradPanel1.Margin = new System.Windows.Forms.Padding(0);
-			this.gradPanel1.Name = "gradPanel1";
-			this.gradPanel1.Size = new System.Drawing.Size(24, 24);
-			this.gradPanel1.TabIndex = 26;
-			this.gradPanel1.Click += new System.EventHandler(this.gradPanel_Click);
-			// 
-			// gradPanel2
-			// 
-			this.gradPanel2.BackColor = System.Drawing.Color.White;
-			this.gradPanel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-			this.gradPanel2.Location = new System.Drawing.Point(33, 187);
-			this.gradPanel2.Margin = new System.Windows.Forms.Padding(0);
-			this.gradPanel2.Name = "gradPanel2";
-			this.gradPanel2.Size = new System.Drawing.Size(24, 24);
-			this.gradPanel2.TabIndex = 27;
-			this.gradPanel2.Click += new System.EventHandler(this.gradPanel_Click);
-			// 
-			// gradPanel3
-			// 
-			this.gradPanel3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230)))));
-			this.gradPanel3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-			this.gradPanel3.Location = new System.Drawing.Point(81, 187);
-			this.gradPanel3.Margin = new System.Windows.Forms.Padding(0);
-			this.gradPanel3.Name = "gradPanel3";
-			this.gradPanel3.Size = new System.Drawing.Size(24, 24);
-			this.gradPanel3.TabIndex = 27;
-			this.gradPanel3.Click += new System.EventHandler(this.gradPanel_Click);
-			// 
-			// gradPanel4
-			// 
-			this.gradPanel4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(205)))), ((int)(((byte)(205)))));
-			this.gradPanel4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-			this.gradPanel4.Location = new System.Drawing.Point(105, 187);
-			this.gradPanel4.Margin = new System.Windows.Forms.Padding(0);
-			this.gradPanel4.Name = "gradPanel4";
-			this.gradPanel4.Size = new System.Drawing.Size(24, 24);
-			this.gradPanel4.TabIndex = 27;
-			this.gradPanel4.Click += new System.EventHandler(this.gradPanel_Click);
-			// 
-			// gradPanel
-			// 
-			this.gradPanel.BackColor = System.Drawing.Color.White;
-			this.gradPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-			this.gradPanel.Location = new System.Drawing.Point(57, 187);
-			this.gradPanel.Margin = new System.Windows.Forms.Padding(0);
-			this.gradPanel.Name = "gradPanel";
-			this.gradPanel.Size = new System.Drawing.Size(24, 24);
-			this.gradPanel.TabIndex = 28;
-			this.gradPanel.Click += new System.EventHandler(this.gradPanel_Click);
-			// 
-			// rgbOneCopyButton
-			// 
-			this.rgbOneCopyButton.FlatAppearance.BorderSize = 0;
-			this.rgbOneCopyButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
-			this.rgbOneCopyButton.Image = ((System.Drawing.Image)(resources.GetObject("rgbOneCopyButton.Image")));
-			this.rgbOneCopyButton.Location = new System.Drawing.Point(277, 225);
-			this.rgbOneCopyButton.Name = "rgbOneCopyButton";
-			this.rgbOneCopyButton.Size = new System.Drawing.Size(25, 25);
-			this.rgbOneCopyButton.TabIndex = 20;
-			this.rgbOneCopyButton.UseVisualStyleBackColor = true;
-			this.rgbOneCopyButton.Click += new System.EventHandler(this.rgbOneCopyButton_Click);
-			// 
-			// hslCopyButton
-			// 
-			this.hslCopyButton.FlatAppearance.BorderSize = 0;
-			this.hslCopyButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
-			this.hslCopyButton.Image = ((System.Drawing.Image)(resources.GetObject("hslCopyButton.Image")));
-			this.hslCopyButton.Location = new System.Drawing.Point(277, 175);
-			this.hslCopyButton.Name = "hslCopyButton";
-			this.hslCopyButton.Size = new System.Drawing.Size(25, 25);
-			this.hslCopyButton.TabIndex = 17;
-			this.hslCopyButton.UseVisualStyleBackColor = true;
-			this.hslCopyButton.Click += new System.EventHandler(this.hslCopyButton_Click);
-			// 
-			// cmykCopyButton
-			// 
-			this.cmykCopyButton.FlatAppearance.BorderSize = 0;
-			this.cmykCopyButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
-			this.cmykCopyButton.Image = ((System.Drawing.Image)(resources.GetObject("cmykCopyButton.Image")));
-			this.cmykCopyButton.Location = new System.Drawing.Point(277, 125);
-			this.cmykCopyButton.Name = "cmykCopyButton";
-			this.cmykCopyButton.Size = new System.Drawing.Size(25, 25);
-			this.cmykCopyButton.TabIndex = 14;
-			this.cmykCopyButton.UseVisualStyleBackColor = true;
-			this.cmykCopyButton.Click += new System.EventHandler(this.cmykCopyButton_Click);
-			// 
-			// htmlCopyButton
-			// 
-			this.htmlCopyButton.FlatAppearance.BorderSize = 0;
-			this.htmlCopyButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
-			this.htmlCopyButton.Image = ((System.Drawing.Image)(resources.GetObject("htmlCopyButton.Image")));
-			this.htmlCopyButton.Location = new System.Drawing.Point(277, 75);
-			this.htmlCopyButton.Name = "htmlCopyButton";
-			this.htmlCopyButton.Size = new System.Drawing.Size(25, 25);
-			this.htmlCopyButton.TabIndex = 10;
-			this.htmlCopyButton.UseVisualStyleBackColor = true;
-			this.htmlCopyButton.Click += new System.EventHandler(this.htmlCopyButton_Click);
-			// 
-			// rgbCopyButton
-			// 
-			this.rgbCopyButton.FlatAppearance.BorderSize = 0;
-			this.rgbCopyButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
-			this.rgbCopyButton.Image = ((System.Drawing.Image)(resources.GetObject("rgbCopyButton.Image")));
-			this.rgbCopyButton.Location = new System.Drawing.Point(277, 25);
-			this.rgbCopyButton.Name = "rgbCopyButton";
-			this.rgbCopyButton.Size = new System.Drawing.Size(25, 25);
-			this.rgbCopyButton.TabIndex = 9;
-			this.rgbCopyButton.UseVisualStyleBackColor = true;
-			this.rgbCopyButton.Click += new System.EventHandler(this.rgbCopyButton_Click);
-			// 
-			// aimPictureBox
-			// 
-			this.aimPictureBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-			this.aimPictureBox.Location = new System.Drawing.Point(9, 58);
-			this.aimPictureBox.Margin = new System.Windows.Forms.Padding(0);
-			this.aimPictureBox.Name = "aimPictureBox";
-			this.aimPictureBox.Size = new System.Drawing.Size(120, 120);
-			this.aimPictureBox.TabIndex = 0;
-			this.aimPictureBox.TabStop = false;
-			// 
-			// hsvTextBox
-			// 
-			this.hsvTextBox.BackColor = System.Drawing.SystemColors.Window;
-			this.hsvTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-			this.hsvTextBox.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
-			this.hsvTextBox.Location = new System.Drawing.Point(138, 278);
-			this.hsvTextBox.Margin = new System.Windows.Forms.Padding(9, 0, 9, 9);
-			this.hsvTextBox.Multiline = true;
-			this.hsvTextBox.Name = "hsvTextBox";
-			this.hsvTextBox.ReadOnly = true;
-			this.hsvTextBox.Size = new System.Drawing.Size(137, 20);
-			this.hsvTextBox.TabIndex = 30;
-			this.hsvTextBox.Text = "0, 0, 100";
-			this.hsvTextBox.WordWrap = false;
-			// 
-			// hsvLabel
-			// 
-			this.hsvLabel.AutoSize = true;
-			this.hsvLabel.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
-			this.hsvLabel.Location = new System.Drawing.Point(135, 260);
-			this.hsvLabel.Margin = new System.Windows.Forms.Padding(3);
-			this.hsvLabel.Name = "hsvLabel";
-			this.hsvLabel.Size = new System.Drawing.Size(65, 15);
-			this.hsvLabel.TabIndex = 29;
-			this.hsvLabel.Text = "HSB / HSV:";
-			// 
-			// hsvCopyButton
-			// 
-			this.hsvCopyButton.FlatAppearance.BorderSize = 0;
-			this.hsvCopyButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
-			this.hsvCopyButton.Image = ((System.Drawing.Image)(resources.GetObject("hsvCopyButton.Image")));
-			this.hsvCopyButton.Location = new System.Drawing.Point(277, 275);
-			this.hsvCopyButton.Name = "hsvCopyButton";
-			this.hsvCopyButton.Size = new System.Drawing.Size(25, 25);
-			this.hsvCopyButton.TabIndex = 31;
-			this.hsvCopyButton.UseVisualStyleBackColor = true;
-			this.hsvCopyButton.Click += new System.EventHandler(this.hsvCopyButton_Click);
-			// 
-			// ratioPanel
-			// 
-			this.ratioPanel.BackColor = System.Drawing.Color.White;
-			this.ratioPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-			this.ratioPanel.Controls.Add(this.ratioWhiteLabel);
-			this.ratioPanel.Controls.Add(this.ratioBlackLabel);
-			this.ratioPanel.Location = new System.Drawing.Point(9, 253);
-			this.ratioPanel.Margin = new System.Windows.Forms.Padding(0);
-			this.ratioPanel.Name = "ratioPanel";
-			this.ratioPanel.Size = new System.Drawing.Size(120, 45);
-			this.ratioPanel.TabIndex = 32;
-			// 
-			// ratioWhiteLabel
-			// 
-			this.ratioWhiteLabel.AutoSize = true;
-			this.ratioWhiteLabel.BackColor = System.Drawing.Color.Transparent;
-			this.ratioWhiteLabel.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
-			this.ratioWhiteLabel.ForeColor = System.Drawing.Color.White;
-			this.ratioWhiteLabel.Location = new System.Drawing.Point(65, 14);
-			this.ratioWhiteLabel.Margin = new System.Windows.Forms.Padding(3);
-			this.ratioWhiteLabel.Name = "ratioWhiteLabel";
-			this.ratioWhiteLabel.Size = new System.Drawing.Size(41, 15);
-			this.ratioWhiteLabel.TabIndex = 34;
-			this.ratioWhiteLabel.Text = "White";
-			// 
-			// ratioBlackLabel
-			// 
-			this.ratioBlackLabel.AutoSize = true;
-			this.ratioBlackLabel.BackColor = System.Drawing.Color.Transparent;
-			this.ratioBlackLabel.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
-			this.ratioBlackLabel.ForeColor = System.Drawing.Color.Black;
-			this.ratioBlackLabel.Location = new System.Drawing.Point(13, 14);
-			this.ratioBlackLabel.Margin = new System.Windows.Forms.Padding(3);
-			this.ratioBlackLabel.Name = "ratioBlackLabel";
-			this.ratioBlackLabel.Size = new System.Drawing.Size(37, 15);
-			this.ratioBlackLabel.TabIndex = 33;
-			this.ratioBlackLabel.Text = "Black";
-			// 
-			// renameTextBox
-			// 
-			this.renameTextBox.BackColor = System.Drawing.SystemColors.Window;
-			this.renameTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-			this.renameTextBox.Enabled = false;
-			this.renameTextBox.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
-			this.renameTextBox.Location = new System.Drawing.Point(309, 278);
-			this.renameTextBox.Margin = new System.Windows.Forms.Padding(9, 0, 9, 9);
-			this.renameTextBox.Name = "renameTextBox";
-			this.renameTextBox.Size = new System.Drawing.Size(124, 23);
-			this.renameTextBox.TabIndex = 33;
-			this.renameTextBox.WordWrap = false;
-			this.renameTextBox.KeyUp += new System.Windows.Forms.KeyEventHandler(this.renameTextBox_KeyUp);
-			// 
-			// renameButton
-			// 
-			this.renameButton.Enabled = false;
-			this.renameButton.FlatAppearance.BorderSize = 0;
-			this.renameButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
-			this.renameButton.Image = ((System.Drawing.Image)(resources.GetObject("renameButton.Image")));
-			this.renameButton.Location = new System.Drawing.Point(435, 275);
-			this.renameButton.Name = "renameButton";
-			this.renameButton.Size = new System.Drawing.Size(25, 25);
-			this.renameButton.TabIndex = 34;
-			this.renameButton.UseVisualStyleBackColor = true;
-			this.renameButton.Click += new System.EventHandler(this.renameButton_Click);
-			// 
-			// linearGradPictureBox
-			// 
-			this.linearGradPictureBox.BackColor = System.Drawing.Color.White;
-			this.linearGradPictureBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-			this.linearGradPictureBox.Location = new System.Drawing.Point(9, 220);
-			this.linearGradPictureBox.Margin = new System.Windows.Forms.Padding(0, 9, 0, 9);
-			this.linearGradPictureBox.Name = "linearGradPictureBox";
-			this.linearGradPictureBox.Size = new System.Drawing.Size(120, 24);
-			this.linearGradPictureBox.TabIndex = 35;
-			this.linearGradPictureBox.TabStop = false;
-			this.linearGradPictureBox.MouseClick += new System.Windows.Forms.MouseEventHandler(this.linearGradPictureBox_MouseClick);
-			// 
-			// statusStrip1
-			// 
-			this.statusStrip1.BackColor = System.Drawing.SystemColors.ControlLight;
-			this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.toolStrip1.Location = new System.Drawing.Point(304, 0);
+            this.toolStrip1.Name = "toolStrip1";
+            this.toolStrip1.Padding = new System.Windows.Forms.Padding(5);
+            this.toolStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;
+            this.toolStrip1.Size = new System.Drawing.Size(165, 35);
+            this.toolStrip1.TabIndex = 24;
+            this.toolStrip1.Text = "toolStrip1";
+            // 
+            // onTopButton
+            // 
+            this.onTopButton.AutoSize = false;
+            this.onTopButton.Checked = true;
+            this.onTopButton.CheckState = System.Windows.Forms.CheckState.Checked;
+            this.onTopButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
+            this.onTopButton.Image = ((System.Drawing.Image)(resources.GetObject("onTopButton.Image")));
+            this.onTopButton.ImageTransparentColor = System.Drawing.Color.Magenta;
+            this.onTopButton.Name = "onTopButton";
+            this.onTopButton.Size = new System.Drawing.Size(24, 25);
+            this.onTopButton.Text = "Toggle always on top | Ctrl + T";
+            this.onTopButton.ToolTipText = "Always on top | Ctrl + T";
+            this.onTopButton.Click += new System.EventHandler(this.onTopButton_Click);
+            // 
+            // formatButton
+            // 
+            this.formatButton.AutoSize = false;
+            this.formatButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
+            this.formatButton.Image = ((System.Drawing.Image)(resources.GetObject("formatButton.Image")));
+            this.formatButton.ImageTransparentColor = System.Drawing.Color.Magenta;
+            this.formatButton.Name = "formatButton";
+            this.formatButton.Size = new System.Drawing.Size(24, 25);
+            this.formatButton.Text = "Clear color list | Ctrl + L";
+            this.formatButton.ToolTipText = "Another format | Ctrl + F";
+            this.formatButton.Click += new System.EventHandler(this.formatButton_Click);
+            // 
+            // toolStripSeparator1
+            // 
+            this.toolStripSeparator1.AutoSize = false;
+            this.toolStripSeparator1.Margin = new System.Windows.Forms.Padding(7, 0, 7, 0);
+            this.toolStripSeparator1.Name = "toolStripSeparator1";
+            this.toolStripSeparator1.Size = new System.Drawing.Size(2, 16);
+            // 
+            // clearListButton
+            // 
+            this.clearListButton.AutoSize = false;
+            this.clearListButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
+            this.clearListButton.Image = ((System.Drawing.Image)(resources.GetObject("clearListButton.Image")));
+            this.clearListButton.ImageTransparentColor = System.Drawing.Color.Magenta;
+            this.clearListButton.Name = "clearListButton";
+            this.clearListButton.Size = new System.Drawing.Size(24, 25);
+            this.clearListButton.Text = "Clear color list | Ctrl + L";
+            this.clearListButton.Click += new System.EventHandler(this.clearListButton_Click);
+            // 
+            // deleteButton
+            // 
+            this.deleteButton.AutoSize = false;
+            this.deleteButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
+            this.deleteButton.Enabled = false;
+            this.deleteButton.Image = ((System.Drawing.Image)(resources.GetObject("deleteButton.Image")));
+            this.deleteButton.ImageTransparentColor = System.Drawing.Color.Magenta;
+            this.deleteButton.Name = "deleteButton";
+            this.deleteButton.Size = new System.Drawing.Size(24, 25);
+            this.deleteButton.Text = "Delete selected color | Delete";
+            this.deleteButton.Click += new System.EventHandler(this.deleteButton_Click);
+            // 
+            // aboutButton
+            // 
+            this.aboutButton.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
+            this.aboutButton.AutoSize = false;
+            this.aboutButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
+            this.aboutButton.Image = ((System.Drawing.Image)(resources.GetObject("aboutButton.Image")));
+            this.aboutButton.ImageTransparentColor = System.Drawing.Color.Magenta;
+            this.aboutButton.Name = "aboutButton";
+            this.aboutButton.Size = new System.Drawing.Size(24, 25);
+            this.aboutButton.Text = "About | F1";
+            this.aboutButton.Click += new System.EventHandler(this.aboutButton_Click);
+            // 
+            // gradPanel1
+            // 
+            this.gradPanel1.BackColor = System.Drawing.Color.White;
+            this.gradPanel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.gradPanel1.Location = new System.Drawing.Point(9, 187);
+            this.gradPanel1.Margin = new System.Windows.Forms.Padding(0);
+            this.gradPanel1.Name = "gradPanel1";
+            this.gradPanel1.Size = new System.Drawing.Size(24, 24);
+            this.gradPanel1.TabIndex = 26;
+            this.gradPanel1.Click += new System.EventHandler(this.gradPanel_Click);
+            // 
+            // gradPanel2
+            // 
+            this.gradPanel2.BackColor = System.Drawing.Color.White;
+            this.gradPanel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.gradPanel2.Location = new System.Drawing.Point(33, 187);
+            this.gradPanel2.Margin = new System.Windows.Forms.Padding(0);
+            this.gradPanel2.Name = "gradPanel2";
+            this.gradPanel2.Size = new System.Drawing.Size(24, 24);
+            this.gradPanel2.TabIndex = 27;
+            this.gradPanel2.Click += new System.EventHandler(this.gradPanel_Click);
+            // 
+            // gradPanel3
+            // 
+            this.gradPanel3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230)))));
+            this.gradPanel3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.gradPanel3.Location = new System.Drawing.Point(81, 187);
+            this.gradPanel3.Margin = new System.Windows.Forms.Padding(0);
+            this.gradPanel3.Name = "gradPanel3";
+            this.gradPanel3.Size = new System.Drawing.Size(24, 24);
+            this.gradPanel3.TabIndex = 27;
+            this.gradPanel3.Click += new System.EventHandler(this.gradPanel_Click);
+            // 
+            // gradPanel4
+            // 
+            this.gradPanel4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(205)))), ((int)(((byte)(205)))));
+            this.gradPanel4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.gradPanel4.Location = new System.Drawing.Point(105, 187);
+            this.gradPanel4.Margin = new System.Windows.Forms.Padding(0);
+            this.gradPanel4.Name = "gradPanel4";
+            this.gradPanel4.Size = new System.Drawing.Size(24, 24);
+            this.gradPanel4.TabIndex = 27;
+            this.gradPanel4.Click += new System.EventHandler(this.gradPanel_Click);
+            // 
+            // gradPanel
+            // 
+            this.gradPanel.BackColor = System.Drawing.Color.White;
+            this.gradPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.gradPanel.Location = new System.Drawing.Point(57, 187);
+            this.gradPanel.Margin = new System.Windows.Forms.Padding(0);
+            this.gradPanel.Name = "gradPanel";
+            this.gradPanel.Size = new System.Drawing.Size(24, 24);
+            this.gradPanel.TabIndex = 28;
+            this.gradPanel.Click += new System.EventHandler(this.gradPanel_Click);
+            // 
+            // rgbOneCopyButton
+            // 
+            this.rgbOneCopyButton.FlatAppearance.BorderSize = 0;
+            this.rgbOneCopyButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.rgbOneCopyButton.Image = ((System.Drawing.Image)(resources.GetObject("rgbOneCopyButton.Image")));
+            this.rgbOneCopyButton.Location = new System.Drawing.Point(277, 225);
+            this.rgbOneCopyButton.Name = "rgbOneCopyButton";
+            this.rgbOneCopyButton.Size = new System.Drawing.Size(25, 25);
+            this.rgbOneCopyButton.TabIndex = 20;
+            this.rgbOneCopyButton.UseVisualStyleBackColor = true;
+            this.rgbOneCopyButton.Click += new System.EventHandler(this.rgbOneCopyButton_Click);
+            // 
+            // hslCopyButton
+            // 
+            this.hslCopyButton.FlatAppearance.BorderSize = 0;
+            this.hslCopyButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.hslCopyButton.Image = ((System.Drawing.Image)(resources.GetObject("hslCopyButton.Image")));
+            this.hslCopyButton.Location = new System.Drawing.Point(277, 175);
+            this.hslCopyButton.Name = "hslCopyButton";
+            this.hslCopyButton.Size = new System.Drawing.Size(25, 25);
+            this.hslCopyButton.TabIndex = 17;
+            this.hslCopyButton.UseVisualStyleBackColor = true;
+            this.hslCopyButton.Click += new System.EventHandler(this.hslCopyButton_Click);
+            // 
+            // cmykCopyButton
+            // 
+            this.cmykCopyButton.FlatAppearance.BorderSize = 0;
+            this.cmykCopyButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.cmykCopyButton.Image = ((System.Drawing.Image)(resources.GetObject("cmykCopyButton.Image")));
+            this.cmykCopyButton.Location = new System.Drawing.Point(277, 125);
+            this.cmykCopyButton.Name = "cmykCopyButton";
+            this.cmykCopyButton.Size = new System.Drawing.Size(25, 25);
+            this.cmykCopyButton.TabIndex = 14;
+            this.cmykCopyButton.UseVisualStyleBackColor = true;
+            this.cmykCopyButton.Click += new System.EventHandler(this.cmykCopyButton_Click);
+            // 
+            // htmlCopyButton
+            // 
+            this.htmlCopyButton.FlatAppearance.BorderSize = 0;
+            this.htmlCopyButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.htmlCopyButton.Image = ((System.Drawing.Image)(resources.GetObject("htmlCopyButton.Image")));
+            this.htmlCopyButton.Location = new System.Drawing.Point(277, 75);
+            this.htmlCopyButton.Name = "htmlCopyButton";
+            this.htmlCopyButton.Size = new System.Drawing.Size(25, 25);
+            this.htmlCopyButton.TabIndex = 10;
+            this.htmlCopyButton.UseVisualStyleBackColor = true;
+            this.htmlCopyButton.Click += new System.EventHandler(this.htmlCopyButton_Click);
+            // 
+            // rgbCopyButton
+            // 
+            this.rgbCopyButton.FlatAppearance.BorderSize = 0;
+            this.rgbCopyButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.rgbCopyButton.Image = ((System.Drawing.Image)(resources.GetObject("rgbCopyButton.Image")));
+            this.rgbCopyButton.Location = new System.Drawing.Point(277, 25);
+            this.rgbCopyButton.Name = "rgbCopyButton";
+            this.rgbCopyButton.Size = new System.Drawing.Size(25, 25);
+            this.rgbCopyButton.TabIndex = 9;
+            this.rgbCopyButton.UseVisualStyleBackColor = true;
+            this.rgbCopyButton.Click += new System.EventHandler(this.rgbCopyButton_Click);
+            // 
+            // aimPictureBox
+            // 
+            this.aimPictureBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.aimPictureBox.Location = new System.Drawing.Point(9, 58);
+            this.aimPictureBox.Margin = new System.Windows.Forms.Padding(0);
+            this.aimPictureBox.Name = "aimPictureBox";
+            this.aimPictureBox.Size = new System.Drawing.Size(120, 120);
+            this.aimPictureBox.TabIndex = 0;
+            this.aimPictureBox.TabStop = false;
+            // 
+            // hsvTextBox
+            // 
+            this.hsvTextBox.BackColor = System.Drawing.SystemColors.Window;
+            this.hsvTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.hsvTextBox.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.hsvTextBox.Location = new System.Drawing.Point(138, 278);
+            this.hsvTextBox.Margin = new System.Windows.Forms.Padding(9, 0, 9, 9);
+            this.hsvTextBox.Multiline = true;
+            this.hsvTextBox.Name = "hsvTextBox";
+            this.hsvTextBox.ReadOnly = true;
+            this.hsvTextBox.Size = new System.Drawing.Size(137, 20);
+            this.hsvTextBox.TabIndex = 30;
+            this.hsvTextBox.Text = "0, 0, 100";
+            this.hsvTextBox.WordWrap = false;
+            // 
+            // hsvLabel
+            // 
+            this.hsvLabel.AutoSize = true;
+            this.hsvLabel.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.hsvLabel.Location = new System.Drawing.Point(135, 260);
+            this.hsvLabel.Margin = new System.Windows.Forms.Padding(3);
+            this.hsvLabel.Name = "hsvLabel";
+            this.hsvLabel.Size = new System.Drawing.Size(65, 15);
+            this.hsvLabel.TabIndex = 29;
+            this.hsvLabel.Text = "HSB / HSV:";
+            // 
+            // hsvCopyButton
+            // 
+            this.hsvCopyButton.FlatAppearance.BorderSize = 0;
+            this.hsvCopyButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.hsvCopyButton.Image = ((System.Drawing.Image)(resources.GetObject("hsvCopyButton.Image")));
+            this.hsvCopyButton.Location = new System.Drawing.Point(277, 275);
+            this.hsvCopyButton.Name = "hsvCopyButton";
+            this.hsvCopyButton.Size = new System.Drawing.Size(25, 25);
+            this.hsvCopyButton.TabIndex = 31;
+            this.hsvCopyButton.UseVisualStyleBackColor = true;
+            this.hsvCopyButton.Click += new System.EventHandler(this.hsvCopyButton_Click);
+            // 
+            // ratioPanel
+            // 
+            this.ratioPanel.BackColor = System.Drawing.Color.White;
+            this.ratioPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.ratioPanel.Controls.Add(this.ratioWhiteLabel);
+            this.ratioPanel.Controls.Add(this.ratioBlackLabel);
+            this.ratioPanel.Location = new System.Drawing.Point(9, 253);
+            this.ratioPanel.Margin = new System.Windows.Forms.Padding(0);
+            this.ratioPanel.Name = "ratioPanel";
+            this.ratioPanel.Size = new System.Drawing.Size(120, 45);
+            this.ratioPanel.TabIndex = 32;
+            // 
+            // ratioWhiteLabel
+            // 
+            this.ratioWhiteLabel.AutoSize = true;
+            this.ratioWhiteLabel.BackColor = System.Drawing.Color.Transparent;
+            this.ratioWhiteLabel.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.ratioWhiteLabel.ForeColor = System.Drawing.Color.White;
+            this.ratioWhiteLabel.Location = new System.Drawing.Point(65, 14);
+            this.ratioWhiteLabel.Margin = new System.Windows.Forms.Padding(3);
+            this.ratioWhiteLabel.Name = "ratioWhiteLabel";
+            this.ratioWhiteLabel.Size = new System.Drawing.Size(41, 15);
+            this.ratioWhiteLabel.TabIndex = 34;
+            this.ratioWhiteLabel.Text = "White";
+            // 
+            // ratioBlackLabel
+            // 
+            this.ratioBlackLabel.AutoSize = true;
+            this.ratioBlackLabel.BackColor = System.Drawing.Color.Transparent;
+            this.ratioBlackLabel.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.ratioBlackLabel.ForeColor = System.Drawing.Color.Black;
+            this.ratioBlackLabel.Location = new System.Drawing.Point(13, 14);
+            this.ratioBlackLabel.Margin = new System.Windows.Forms.Padding(3);
+            this.ratioBlackLabel.Name = "ratioBlackLabel";
+            this.ratioBlackLabel.Size = new System.Drawing.Size(37, 15);
+            this.ratioBlackLabel.TabIndex = 33;
+            this.ratioBlackLabel.Text = "Black";
+            // 
+            // renameTextBox
+            // 
+            this.renameTextBox.BackColor = System.Drawing.SystemColors.Window;
+            this.renameTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.renameTextBox.Enabled = false;
+            this.renameTextBox.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.renameTextBox.Location = new System.Drawing.Point(309, 278);
+            this.renameTextBox.Margin = new System.Windows.Forms.Padding(9, 0, 9, 9);
+            this.renameTextBox.Name = "renameTextBox";
+            this.renameTextBox.Size = new System.Drawing.Size(124, 23);
+            this.renameTextBox.TabIndex = 33;
+            this.renameTextBox.WordWrap = false;
+            this.renameTextBox.KeyUp += new System.Windows.Forms.KeyEventHandler(this.renameTextBox_KeyUp);
+            // 
+            // renameButton
+            // 
+            this.renameButton.Enabled = false;
+            this.renameButton.FlatAppearance.BorderSize = 0;
+            this.renameButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.renameButton.Image = ((System.Drawing.Image)(resources.GetObject("renameButton.Image")));
+            this.renameButton.Location = new System.Drawing.Point(435, 275);
+            this.renameButton.Name = "renameButton";
+            this.renameButton.Size = new System.Drawing.Size(25, 25);
+            this.renameButton.TabIndex = 34;
+            this.renameButton.UseVisualStyleBackColor = true;
+            this.renameButton.Click += new System.EventHandler(this.renameButton_Click);
+            // 
+            // linearGradPictureBox
+            // 
+            this.linearGradPictureBox.BackColor = System.Drawing.Color.White;
+            this.linearGradPictureBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.linearGradPictureBox.Location = new System.Drawing.Point(9, 220);
+            this.linearGradPictureBox.Margin = new System.Windows.Forms.Padding(0, 9, 0, 9);
+            this.linearGradPictureBox.Name = "linearGradPictureBox";
+            this.linearGradPictureBox.Size = new System.Drawing.Size(120, 24);
+            this.linearGradPictureBox.TabIndex = 35;
+            this.linearGradPictureBox.TabStop = false;
+            this.linearGradPictureBox.MouseClick += new System.Windows.Forms.MouseEventHandler(this.linearGradPictureBox_MouseClick);
+            // 
+            // statusStrip1
+            // 
+            this.statusStrip1.BackColor = System.Drawing.SystemColors.ControlLight;
+            this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.pickColorStatusLabel,
             this.copyColorStatusLabel,
             this.rgbStatusLabel,
             this.hexStatusLabel});
-			this.statusStrip1.Location = new System.Drawing.Point(0, 307);
-			this.statusStrip1.Name = "statusStrip1";
-			this.statusStrip1.Size = new System.Drawing.Size(469, 25);
-			this.statusStrip1.TabIndex = 36;
-			this.statusStrip1.Text = "statusStrip1";
-			// 
-			// rgbStatusLabel
-			// 
-			this.rgbStatusLabel.Margin = new System.Windows.Forms.Padding(5);
-			this.rgbStatusLabel.Name = "rgbStatusLabel";
-			this.rgbStatusLabel.Size = new System.Drawing.Size(101, 15);
-			this.rgbStatusLabel.Text = "RGB: 255, 255, 255";
-			// 
-			// hexStatusLabel
-			// 
-			this.hexStatusLabel.Margin = new System.Windows.Forms.Padding(5);
-			this.hexStatusLabel.Name = "hexStatusLabel";
-			this.hexStatusLabel.Size = new System.Drawing.Size(78, 15);
-			this.hexStatusLabel.Text = "HEX: #FFFFFF";
-			// 
-			// pickColorStatusLabel
-			// 
-			this.pickColorStatusLabel.Margin = new System.Windows.Forms.Padding(5);
-			this.pickColorStatusLabel.Name = "pickColorStatusLabel";
-			this.pickColorStatusLabel.Size = new System.Drawing.Size(98, 15);
-			this.pickColorStatusLabel.Text = "Pick color: Alt +X";
-			// 
-			// copyColorStatusLabel
-			// 
-			this.copyColorStatusLabel.Margin = new System.Windows.Forms.Padding(5);
-			this.copyColorStatusLabel.Name = "copyColorStatusLabel";
-			this.copyColorStatusLabel.Size = new System.Drawing.Size(108, 15);
-			this.copyColorStatusLabel.Text = "Copy color: Alt + C";
-			// 
-			// MainForm
-			// 
-			this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
-			this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
-			this.ClientSize = new System.Drawing.Size(469, 332);
-			this.Controls.Add(this.statusStrip1);
-			this.Controls.Add(this.linearGradPictureBox);
-			this.Controls.Add(this.renameButton);
-			this.Controls.Add(this.renameTextBox);
-			this.Controls.Add(this.ratioPanel);
-			this.Controls.Add(this.hsvCopyButton);
-			this.Controls.Add(this.hsvTextBox);
-			this.Controls.Add(this.hsvLabel);
-			this.Controls.Add(this.gradPanel);
-			this.Controls.Add(this.gradPanel4);
-			this.Controls.Add(this.gradPanel3);
-			this.Controls.Add(this.gradPanel2);
-			this.Controls.Add(this.gradPanel1);
-			this.Controls.Add(this.toolStrip1);
-			this.Controls.Add(this.rgbOneCopyButton);
-			this.Controls.Add(this.rgbOneTextBox);
-			this.Controls.Add(this.rgbOneLabel);
-			this.Controls.Add(this.hslCopyButton);
-			this.Controls.Add(this.hslTextBox);
-			this.Controls.Add(this.hslLabel);
-			this.Controls.Add(this.cmykCopyButton);
-			this.Controls.Add(this.cmykTextBox);
-			this.Controls.Add(this.cmykLabel);
-			this.Controls.Add(this.htmlCopyButton);
-			this.Controls.Add(this.rgbCopyButton);
-			this.Controls.Add(this.yLabel);
-			this.Controls.Add(this.xLabel);
-			this.Controls.Add(this.htmlTextBox);
-			this.Controls.Add(this.htmlLabel);
-			this.Controls.Add(this.rgbLabel);
-			this.Controls.Add(this.rgbTextBox);
-			this.Controls.Add(this.colorPanel);
-			this.Controls.Add(this.colorList);
-			this.Controls.Add(this.aimPictureBox);
-			this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
-			this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
-			this.KeyPreview = true;
-			this.MaximizeBox = false;
-			this.Name = "MainForm";
-			this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
-			this.Text = "Quick Color Picker";
-			this.TopMost = true;
-			this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing);
-			this.Load += new System.EventHandler(this.MainForm_Load);
-			this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.MainForm_KeyDown);
-			this.toolStrip1.ResumeLayout(false);
-			this.toolStrip1.PerformLayout();
-			((System.ComponentModel.ISupportInitialize)(this.aimPictureBox)).EndInit();
-			this.ratioPanel.ResumeLayout(false);
-			this.ratioPanel.PerformLayout();
-			((System.ComponentModel.ISupportInitialize)(this.linearGradPictureBox)).EndInit();
-			this.statusStrip1.ResumeLayout(false);
-			this.statusStrip1.PerformLayout();
-			this.ResumeLayout(false);
-			this.PerformLayout();
+            this.statusStrip1.Location = new System.Drawing.Point(0, 307);
+            this.statusStrip1.Name = "statusStrip1";
+            this.statusStrip1.Size = new System.Drawing.Size(469, 25);
+            this.statusStrip1.TabIndex = 36;
+            this.statusStrip1.Text = "statusStrip1";
+            // 
+            // pickColorStatusLabel
+            // 
+            this.pickColorStatusLabel.Margin = new System.Windows.Forms.Padding(5);
+            this.pickColorStatusLabel.Name = "pickColorStatusLabel";
+            this.pickColorStatusLabel.Size = new System.Drawing.Size(98, 15);
+            this.pickColorStatusLabel.Text = "Pick color: Alt +X";
+            // 
+            // copyColorStatusLabel
+            // 
+            this.copyColorStatusLabel.Margin = new System.Windows.Forms.Padding(5);
+            this.copyColorStatusLabel.Name = "copyColorStatusLabel";
+            this.copyColorStatusLabel.Size = new System.Drawing.Size(108, 15);
+            this.copyColorStatusLabel.Text = "Copy color: Alt + C";
+            // 
+            // rgbStatusLabel
+            // 
+            this.rgbStatusLabel.Margin = new System.Windows.Forms.Padding(5);
+            this.rgbStatusLabel.Name = "rgbStatusLabel";
+            this.rgbStatusLabel.Size = new System.Drawing.Size(101, 15);
+            this.rgbStatusLabel.Text = "RGB: 255, 255, 255";
+            // 
+            // hexStatusLabel
+            // 
+            this.hexStatusLabel.Margin = new System.Windows.Forms.Padding(5);
+            this.hexStatusLabel.Name = "hexStatusLabel";
+            this.hexStatusLabel.Size = new System.Drawing.Size(78, 15);
+            this.hexStatusLabel.Text = "HEX: #FFFFFF";
+            // 
+            // MainForm
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
+            this.ClientSize = new System.Drawing.Size(469, 332);
+            this.Controls.Add(this.linearGradPictureBox);
+            this.Controls.Add(this.renameButton);
+            this.Controls.Add(this.renameTextBox);
+            this.Controls.Add(this.ratioPanel);
+            this.Controls.Add(this.hsvCopyButton);
+            this.Controls.Add(this.hsvTextBox);
+            this.Controls.Add(this.hsvLabel);
+            this.Controls.Add(this.gradPanel);
+            this.Controls.Add(this.gradPanel4);
+            this.Controls.Add(this.gradPanel3);
+            this.Controls.Add(this.gradPanel2);
+            this.Controls.Add(this.gradPanel1);
+            this.Controls.Add(this.toolStrip1);
+            this.Controls.Add(this.rgbOneCopyButton);
+            this.Controls.Add(this.rgbOneTextBox);
+            this.Controls.Add(this.rgbOneLabel);
+            this.Controls.Add(this.hslCopyButton);
+            this.Controls.Add(this.hslTextBox);
+            this.Controls.Add(this.hslLabel);
+            this.Controls.Add(this.cmykCopyButton);
+            this.Controls.Add(this.cmykTextBox);
+            this.Controls.Add(this.cmykLabel);
+            this.Controls.Add(this.htmlCopyButton);
+            this.Controls.Add(this.rgbCopyButton);
+            this.Controls.Add(this.yLabel);
+            this.Controls.Add(this.xLabel);
+            this.Controls.Add(this.htmlTextBox);
+            this.Controls.Add(this.htmlLabel);
+            this.Controls.Add(this.rgbLabel);
+            this.Controls.Add(this.rgbTextBox);
+            this.Controls.Add(this.colorPanel);
+            this.Controls.Add(this.colorList);
+            this.Controls.Add(this.aimPictureBox);
+            this.Controls.Add(this.statusStrip1);
+            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
+            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+            this.KeyPreview = true;
+            this.MaximizeBox = false;
+            this.Name = "MainForm";
+            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+            this.Text = "Quick Color Picker";
+            this.TopMost = true;
+            this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing);
+            this.Load += new System.EventHandler(this.MainForm_Load);
+            this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.MainForm_KeyDown);
+            this.toolStrip1.ResumeLayout(false);
+            this.toolStrip1.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.aimPictureBox)).EndInit();
+            this.ratioPanel.ResumeLayout(false);
+            this.ratioPanel.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.linearGradPictureBox)).EndInit();
+            this.statusStrip1.ResumeLayout(false);
+            this.statusStrip1.PerformLayout();
+            this.ResumeLayout(false);
+            this.PerformLayout();
 
 		}
 

+ 749 - 754
quick-color-picker/MainForm.cs

@@ -9,757 +9,752 @@ using System.Windows.Forms;
 
 namespace quick_color_picker
 {
-	public partial class MainForm : Form
-	{
-		private Pen aimPen = new Pen(Color.Red, 1);
-		private Color aimColor;
-		private bool alwaysOnTop = true;
-		private bool anotherFormat = false;
-		private bool darkMode;
-		private List<string> colors = new List<string>();
-
-		private enum KeyModifier
-		{
-			None = 0,
-			Alt = 1,
-			Control = 2,
-			Shift = 4,
-			WinKey = 8
-		}
-
-		public MainForm(bool darkMode)
-		{
-			this.darkMode = darkMode;
-
-			if (darkMode)
-			{
-				this.HandleCreated += new EventHandler(ThemeManager.formHandleCreated);
-			}
-
-			InitializeComponent();
-
-			copyTooltip.SetToolTip(rgbCopyButton, "Copy value");
-			copyTooltip.SetToolTip(htmlCopyButton, "Copy value");
-			copyTooltip.SetToolTip(cmykCopyButton, "Copy value");
-			copyTooltip.SetToolTip(hslCopyButton, "Copy value");
-			copyTooltip.SetToolTip(rgbOneCopyButton, "Copy value");
-			copyTooltip.SetToolTip(hsvCopyButton, "Copy value");
-			copyTooltip.SetToolTip(renameButton, "Rename selected color");
-
-			toolStrip1.Renderer = new ToolStripOverride();
-
-			renameTextBox.AutoSize = false;
-			renameTextBox.Height = 20;
-
-			if (darkMode)
-			{
-				applyDarkTheme();
-			}
-		}
-
-		private void CaptureScreen()
-		{
-			try
-			{
-				Bitmap bmp = new Bitmap(120, 120);
-				using (Graphics g = Graphics.FromImage(bmp))
-				{
-					g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
-					g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;
-					g.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighSpeed;
-					g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.None;
-
-					g.CopyFromScreen(
-						Cursor.Position.X - 20,
-						Cursor.Position.Y - 20, 0, 0,
-						new Size(40, 40)
-					);
-
-					Bitmap scaledBmp = new Bitmap(bmp, 120, 120);
-
-					g.Clear(Color.Black);
-					g.DrawImage(scaledBmp, 0, 0, 360, 360);
-
-					scaledBmp.Dispose();
-
-					if (aimPictureBox.Image != null) aimPictureBox.Image.Dispose();
-
-					aimPictureBox.Image = bmp;
-
-					aimColor = bmp.GetPixel(aimPictureBox.Width / 2, aimPictureBox.Height / 2);
-					colorPanel.BackColor = aimColor;
-
-					g.DrawLine(aimPen, 0, aimPictureBox.Height / 2, aimPictureBox.Width, aimPictureBox.Height / 2);
-					g.DrawLine(aimPen, aimPictureBox.Width / 2, 0, aimPictureBox.Height / 2, aimPictureBox.Height);
-				}
-
-				xLabel.Invoke((MethodInvoker)(() => xLabel.Text = "X: " + Cursor.Position.X));
-				yLabel.Invoke((MethodInvoker)(() => yLabel.Text = "Y: " + Cursor.Position.Y));
-
-				rgbStatusLabel.GetCurrentParent().Invoke((MethodInvoker)(() => rgbStatusLabel.Text = "RGB: " + aimColor.R + ", " + aimColor.G + ", " + aimColor.B));
-				hexStatusLabel.GetCurrentParent().Invoke((MethodInvoker)(() => hexStatusLabel.Text = "HEX: " + ColorTranslator.ToHtml(aimColor).ToString()));
-			
-				this.Invoke((MethodInvoker)(() => this.Text = aimColor.R + ", " + aimColor.G + ", " + aimColor.B + " - Quick Color Picker"));
-			}
-			catch
-			{
-
-			}
-		}
-
-		[System.Runtime.InteropServices.DllImport("user32.dll")]
-		public static extern bool RegisterHotKey(IntPtr hWnd, int id, int fsModifiers, int vk);
-
-		[System.Runtime.InteropServices.DllImport("user32.dll")]
-		public static extern bool UnregisterHotKey(IntPtr hWnd, int id);
-
-		private void MainForm_Load(object sender, EventArgs e)
-		{
-			RegisterHotKey(this.Handle, 0, (int) KeyModifier.Alt, Keys.X.GetHashCode());
-			RegisterHotKey(this.Handle, 1, (int)KeyModifier.Alt, Keys.C.GetHashCode());
-
-			Task task = new Task(() =>
-			{
-				while (true)
-				{
-					CaptureScreen();
-					Thread.Sleep(100);
-				}
-			});
-
-			task.Start();
-
-			LoadColorList();
-
-			checkForUpdates(false);
-
-			setAlwaysOnTop(Properties.Settings.Default.AlwaysOnTop, false);
-			setAnotherFormat(Properties.Settings.Default.AnotherFormat, false);
-		}
-
-		protected override void WndProc(ref Message m)
-		{
-			base.WndProc(ref m);
-
-			if (m.Msg == 0x0312)
-			{
-				Keys key = (Keys)(((int)m.LParam >> 16) & 0xFFFF);             
-				KeyModifier modifier = (KeyModifier)((int)m.LParam & 0xFFFF);  
-
-				if (modifier == KeyModifier.Alt)
-				{
-					if (key == Keys.X)
-					{
-						GetColor();
-					}
-					else if (key == Keys.C)
-					{
-						CopyColor();
-					}
-				}
-			}
-		}
-
-		private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
-		{
-			UnregisterHotKey(this.Handle, 0);
-		}
-
-		private void CopyColor()
-		{
-			Clipboard.SetText(this.Text = aimColor.R + ", " + aimColor.G + ", " + aimColor.B);
-		}
-
-		private void GetColor()
-		{
-			AddColor(aimColor);
-			colorList.SetSelected(colorList.Items.Count - 1, true);
-			SaveColorList();
-			SaveColorNames();
-		}
-
-		private void AddColor(Color c)
-		{
-			colors.Add(c.R + ", " + c.G + ", " + c.B);
-			colorList.Items.Add(c.R + ", " + c.G + ", " + c.B);
-		}
-
-		private void AddColor(string color, string name)
-		{
-			try
-			{
-				ColorManager.TextToColor(color);
-				colors.Add(color);
-				colorList.Items.Add(name);
-			}
-			catch
-			{
-
-			}
-		}
-
-		private void colorList_DrawItem(object sender, DrawItemEventArgs e)
-		{
-			if (e.Index != -1)
-			{
-				e.DrawBackground();
-
-				int itemIndex = e.Index;
-				string itemText = colorList.Items[itemIndex].ToString();
-				string colorText = colors[itemIndex]; ;
-
-				if (itemIndex >= 0 && itemIndex < colorList.Items.Count)
-				{
-					Graphics g = e.Graphics;
-
-					Color c = ColorManager.TextToColor(colorText);
-
-					// Background color
-					SolidBrush backgroundColorBrush = new SolidBrush(c);
-					g.FillRectangle(backgroundColorBrush, e.Bounds);
-
-					// Item text
-					SolidBrush itemTextColorBrush;
-					if (c.GetBrightness() > 0.5) { 
-						itemTextColorBrush = new SolidBrush(Color.Black);
-					} 
-					else
-					{
-						itemTextColorBrush = new SolidBrush(Color.White);
-					}
-					if (e.Index == colorList.SelectedIndex)
-					{
-						Font f = new Font(e.Font, FontStyle.Bold);
-						Point p = new Point(
-							colorList.GetItemRectangle(itemIndex).Location.X + 10, 
-							colorList.GetItemRectangle(itemIndex).Location.Y
-						);
-
-						g.DrawString(itemText, f, itemTextColorBrush, p);
-					}
-					else
-					{
-						g.DrawString(itemText, e.Font, itemTextColorBrush, colorList.GetItemRectangle(itemIndex).Location);
-					}
-
-					// Clean up
-					backgroundColorBrush.Dispose();
-					itemTextColorBrush.Dispose();
-				}
-			}
-		}
-
-		private void colorList_SelectedIndexChanged(object sender, EventArgs e)
-		{
-			if (colorList.SelectedIndex != -1)
-			{
-				deleteButton.Enabled = true;
-				renameButton.Enabled = true;
-				renameTextBox.Enabled = true;
-				renameTextBox.Text = colorList.Items[colorList.SelectedIndex].ToString();
-
-				string t = colors[colorList.SelectedIndex];
-				Color c = ColorManager.TextToColor(t);
-
-				string htmlText = ColorTranslator.ToHtml(c).ToString();
-				int[] cmyk = ColorManager.ColorToCMYK(c);
-				int[] hsl = ColorManager.ColorToHSL(c);
-				int[] hsv = ColorManager.ColorToHSV(c);
-
-				double rOne = c.R / (double)255;
-				double gOne = c.G / (double)255;
-				double bOne = c.B / (double)255;
-
-				if (anotherFormat)
-				{
-					rgbTextBox.Text = "rgb(" + c.R + ", " + c.G + ", " + c.B + ")";
-					htmlTextBox.Text = "0x" + htmlText.Substring(1, htmlText.Length - 1);
-					cmykTextBox.Text = "cmyk(" + cmyk[0] + "%, " + cmyk[1] + "%, " + cmyk[2] + "%, " + cmyk[3] + "%)";
-					hslTextBox.Text = "hsl(" + hsl[0] + ", " + hsl[1] + "%, " + hsl[2] + "%)";
-					rgbOneTextBox.Text = rOne.ToString("0.####") + " / " + gOne.ToString("0.####") + " / " + bOne.ToString("0.####");
-					hsvTextBox.Text = hsv[0] + "°, " + hsv[1] + "%, " + hsv[2] + "%";
-				}
-				else
-				{
-					rgbTextBox.Text = t;
-					htmlTextBox.Text = htmlText;
-					cmykTextBox.Text = cmyk[0] + ", " + cmyk[1] + ", " + cmyk[2] + ", " + cmyk[3];
-					hslTextBox.Text = hsl[0] + ", " + hsl[1] + ", " + hsl[2];
-					rgbOneTextBox.Text = rOne.ToString("0.##") + "; " + gOne.ToString("0.##") + "; " + bOne.ToString("0.##");
-					hsvTextBox.Text = hsv[0] + ", " + hsv[1] + ", " + hsv[2];
-				}
-
-				gradPanel.BackColor = c;
-				ratioPanel.BackColor = c;
-
-				int r1 = c.R - 50;
-				int g1 = c.G - 50;
-				int b1 = c.B - 50;
-
-				if (r1 < 0 || g1 < 0 || b1 < 0)
-				{
-					r1 = 0;
-					g1 = 0;
-					b1 = 0;
-				}
-
-				gradPanel1.BackColor = Color.FromArgb(r1, g1, b1);
-
-				int r2 = c.R - 25;
-				int g2 = c.G - 25;
-				int b2 = c.B - 25;
-
-				if (r2 < 0 || g2 < 0 || b2 < 0)
-				{
-					r2 = 0;
-					g2 = 0;
-					b2 = 0;
-				}
-
-				gradPanel2.BackColor = Color.FromArgb(r2, g2, b2);
-
-				int r3 = c.R + 25;
-				int g3 = c.G + 25;
-				int b3 = c.B + 25;
-
-				if (r3 > 255 || g3 > 255 || b3 > 255)
-				{
-					r3 = 255;
-					g3 = 255;
-					b3 = 255;
-				}
-
-				gradPanel3.BackColor = Color.FromArgb(r3, g3, b3);
-
-				int r4 = c.R + 50;
-				int g4 = c.G + 50;
-				int b4 = c.B + 50;
-
-				if (r4 > 255 || g4 > 255 || b4 > 255)
-				{
-					r4 = 255;
-					g4 = 255;
-					b4 = 255;
-				}
-
-				gradPanel4.BackColor = Color.FromArgb(r4, g4, b4);
-
-				CreateLinearGradient(gradPanel1.BackColor, gradPanel.BackColor, gradPanel4.BackColor);
-			}
-			else
-			{
-				deleteButton.Enabled = false;
-				renameButton.Enabled = false;
-				renameTextBox.Enabled = false;
-				renameTextBox.Text = "";
-			}
-
-			colorList.Refresh();
-		}
-
-		private void rgbCopyButton_Click(object sender, EventArgs e)
-		{
-			Clipboard.SetText(rgbTextBox.Text);
-		}
-
-		private void htmlCopyButton_Click(object sender, EventArgs e)
-		{
-			Clipboard.SetText(htmlTextBox.Text);
-		}
-
-		private void cmykCopyButton_Click(object sender, EventArgs e)
-		{
-			Clipboard.SetText(cmykTextBox.Text);
-		}
-
-		private void applyDarkTheme()
-		{
-			ThemeManager.setDarkModeToControl(colorList.Handle);
-
-			this.BackColor = ThemeManager.BackColorDark;
-			this.ForeColor = Color.White;
-			toolStrip1.BackColor = ThemeManager.BackColorDark;
-			colorList.BackColor = ThemeManager.SecondColorDark;
-			statusStrip1.BackColor = ThemeManager.SecondColorDark;
-
-			rgbTextBox.BackColor = ThemeManager.SecondColorDark;
-			rgbTextBox.ForeColor = Color.White;
-
-			htmlTextBox.BackColor = ThemeManager.SecondColorDark;
-			htmlTextBox.ForeColor = Color.White;
-
-			cmykTextBox.BackColor = ThemeManager.SecondColorDark;
-			cmykTextBox.ForeColor = Color.White;
-
-			hslTextBox.BackColor = ThemeManager.SecondColorDark;
-			hslTextBox.ForeColor = Color.White;
-
-			rgbOneTextBox.BackColor = ThemeManager.SecondColorDark;
-			rgbOneTextBox.ForeColor = Color.White;
-
-			hsvTextBox.BackColor = ThemeManager.SecondColorDark;
-			hsvTextBox.ForeColor = Color.White;
-
-			rgbCopyButton.Image = Properties.Resources.white_copy;
-			htmlCopyButton.Image = Properties.Resources.white_copy;
-			cmykCopyButton.Image = Properties.Resources.white_copy;
-			hslCopyButton.Image = Properties.Resources.white_copy;
-			rgbOneCopyButton.Image = Properties.Resources.white_copy;
-			hsvCopyButton.Image = Properties.Resources.white_copy;
-
-			onTopButton.Image = Properties.Resources.white_ontop;
-			clearListButton.Image = Properties.Resources.white_broom;
-			deleteButton.Image = Properties.Resources.white_trash;
-			formatButton.Image = Properties.Resources.white_format;
-			aboutButton.Image = Properties.Resources.white_about;
-
-			renameTextBox.BackColor = ThemeManager.SecondColorDark;
-			renameTextBox.ForeColor = Color.White;
-			renameButton.Image = Properties.Resources.white_rename;
-		}
-
-		private void hslCopyButton_Click(object sender, EventArgs e)
-		{
-			Clipboard.SetText(hslTextBox.Text);
-		}
-
-		private void rgbOneCopyButton_Click(object sender, EventArgs e)
-		{
-			Clipboard.SetText(rgbOneTextBox.Text);
-		}
-
-		private void onTopButton_Click(object sender, EventArgs e)
-		{
-			setAlwaysOnTop(!alwaysOnTop, true);
-		}
-
-		private void setAlwaysOnTop(bool b, bool saveToDisk)
-		{
-			alwaysOnTop = b;
-			this.TopMost = b;
-			onTopButton.Checked = b;
-
-			if (saveToDisk)
-			{
-				Properties.Settings.Default.AlwaysOnTop = b;
-				Properties.Settings.Default.Save();
-			}
-		}
-
-		private void setAnotherFormat(bool b, bool saveToDisk)
-		{
-			anotherFormat = b;
-			formatButton.Checked = b;
-
-			if (colorList.SelectedIndex != -1)
-			{
-				colorList.SetSelected(colorList.SelectedIndex, true);
-			}
-
-			if (saveToDisk)
-			{
-				Properties.Settings.Default.AnotherFormat = b;
-				Properties.Settings.Default.Save();
-			}
-		}
-
-		private void MainForm_KeyDown(object sender, KeyEventArgs e)
-		{
-			if (e.Control)
-			{
-				if (e.KeyCode == Keys.T)
-				{
-					onTopButton.PerformClick();
-				}
-				else if (e.KeyCode == Keys.L)
-				{
-					clearListButton.PerformClick();
-				}
-				else if (e.KeyCode == Keys.F)
-				{
-					formatButton.PerformClick();
-				}
-			} 
-			else
-			{
-				if (e.KeyCode == Keys.Delete)
-				{
-					deleteButton.PerformClick();
-				}
-				else if (e.KeyCode == Keys.F1)
-				{
-					aboutButton.PerformClick();
-				}
-			}
-		}
-
-		private void clearListButton_Click(object sender, EventArgs e)
-		{
-			colors.Clear();
-			colorList.Items.Clear();
-			SaveColorList();
-			SaveColorNames();
-			deleteButton.Enabled = false;
-			renameButton.Enabled = false;
-			renameTextBox.Enabled = false;
-			renameTextBox.Text = "";
-		}
-
-		private void deleteButton_Click(object sender, EventArgs e)
-		{
-			if (colorList.SelectedIndex != -1)
-			{
-				int curIndex = colorList.SelectedIndex;
-				colorList.Items.RemoveAt(curIndex);
-				colors.RemoveAt(curIndex);
-
-				if (colorList.Items.Count > 0)
-				{
-					if (colorList.Items.Count - 1 >= curIndex)
-					{
-						colorList.SetSelected(curIndex, true);
-					}
-					else if (colorList.Items.Count >= curIndex)
-					{
-						colorList.SetSelected(curIndex - 1, true);
-					}
-				}
-
-				SaveColorList();
-				SaveColorNames();
-			}
-		}
-
-		private void aboutButton_Click(object sender, EventArgs e)
-		{
-			AboutForm aboutBox = new AboutForm(darkMode);
-			aboutBox.Owner = this;
-			if (alwaysOnTop)
-			{
-				aboutBox.TopMost = true;
-			}
-			aboutBox.FormClosed += aboutBox_FormClosed;
-			aboutBox.ShowDialog();
-		}
-
-		private void aboutBox_FormClosed(object sender, EventArgs e)
-		{
-			AboutForm aboutBox = sender as AboutForm;
-			aboutBox.Dispose();
-			aboutBox = null;
-		}
-
-		public async void checkForUpdates(bool showUpToDateDialog)
-		{
-			try
-			{
-				UpdateChecker checker = new UpdateChecker("ModuleArt", "quick-color-picker");
-
-				bool update = await checker.CheckUpdate();
-
-				if (update == false)
-				{
-					if (showUpToDateDialog)
-					{
-						MessageBox.Show("Application is up to date", "Updator", MessageBoxButtons.OK, MessageBoxIcon.Information);
-					}
-				}
-				else
-				{
-					UpdateForm updateDialog = new UpdateForm(checker, "Quick Color Picker", darkMode);
-
-					if (alwaysOnTop)
-					{
-						updateDialog.TopMost = true;
-					}
-
-					DialogResult result = updateDialog.ShowDialog();
-					if (result == DialogResult.Yes)
-					{
-						DownloadForm downloadBox = new DownloadForm(checker.GetAssetUrl("QuickColorPicker-Setup.msi"), darkMode);
-						downloadBox.Owner = this;
-						if (alwaysOnTop)
-						{
-							downloadBox.TopMost = true;
-						}
-						downloadBox.ShowDialog();
-					}
-					else
-					{
-						updateDialog.Dispose();
-					}
-				}
-			}
-			catch
-			{
-				if (showUpToDateDialog)
-				{
-					MessageBox.Show("Connection error", "Updator", MessageBoxButtons.OK, MessageBoxIcon.Information);
-				}
-			}
-		}
-
-		private void SaveColorList()
-		{
-			try
-			{
-				string appDataFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Quick Color Picker");
-				DirectoryInfo di = new DirectoryInfo(appDataFolder);
-
-				if (!di.Exists)
-				{
-					di.Create();
-				}
-
-				string colorListPath = Path.Combine(appDataFolder, "color-list.txt");
-				FileInfo fiColors = new FileInfo(colorListPath);
-
-				using (StreamWriter sw = fiColors.CreateText())
-				{
-					string[] linesToWrite = new string[colors.Count];
-					for (int i = 0; i < colors.Count; i++)
-					{
-						sw.WriteLine(colors[i].ToString());
-					}
-				}
-			}
-			catch
-			{
-
-			}
-		}
-
-		private void SaveColorNames()
-		{
-			try
-			{
-				string appDataFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Quick Color Picker");
-				DirectoryInfo di = new DirectoryInfo(appDataFolder);
-
-				if (!di.Exists)
-				{
-					di.Create();
-				}
-
-				string colorNamesPath = Path.Combine(appDataFolder, "color-names.txt");
-				FileInfo fiNames = new FileInfo(colorNamesPath);
-
-				using (StreamWriter sw = fiNames.CreateText())
-				{
-					string[] linesToWrite = new string[colorList.Items.Count];
-					for (int i = 0; i < colorList.Items.Count; i++)
-					{
-						sw.WriteLine(colorList.Items[i].ToString());
-					}
-				}
-			}
-			catch 
-			{
-
-			}
-		}
-
-		private void LoadColorList()
-		{
-			try
-			{
-				string colorListTxt = Path.Combine(
-					Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
-					"Quick Color Picker",
-					"color-list.txt"
-				);
-
-				string colorNamesTxt = Path.Combine(
-					Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
-					"Quick Color Picker",
-					"color-names.txt"
-				);
-
-				string[] colorsLines = File.ReadAllLines(colorListTxt);
-				string[] namesLines = File.ReadAllLines(colorNamesTxt);
-
-				for (int i = 0; i < colorsLines.Length; i++)
-				{
-					try
-					{
-						AddColor(colorsLines[i], namesLines[i]);
-					}
-					catch
-					{
-
-					}
-				}
-
-				colorList.SetSelected(colorList.Items.Count - 1, true);
-			}
-			catch
-			{
-
-			}
-		}
-
-		private void gradPanel_Click(object sender, EventArgs e)
-		{
-			AddColor((sender as Panel).BackColor);
-		}
-
-		private void formatButton_Click(object sender, EventArgs e)
-		{
-			setAnotherFormat(!anotherFormat, true);
-		}
-
-		private void hsvCopyButton_Click(object sender, EventArgs e)
-		{
-			Clipboard.SetText(hsvTextBox.Text);
-		}
-
-		private void renameButton_Click(object sender, EventArgs e)
-		{
-			if (colorList.SelectedIndex != -1)
-			{
-				colorList.Items[colorList.SelectedIndex] = renameTextBox.Text;
-				colorList.Items[colorList.SelectedIndex] = colorList.Items[colorList.SelectedIndex];
-			}
-			SaveColorNames();
-		}
-
-		private void renameTextBox_KeyUp(object sender, KeyEventArgs e)
-		{
-			if (e.KeyCode == Keys.Enter)
-			{
-				renameButton.PerformClick();
-			}
-		}
-
-		private void CreateLinearGradient(Color from, Color middle, Color to)
-		{
-			Bitmap bmp = new Bitmap(linearGradPictureBox.Width, linearGradPictureBox.Height);
-			Graphics g = Graphics.FromImage(bmp);
-
-			LinearGradientBrush linearGradientBrush = new LinearGradientBrush(
-			   new Point(0, 0),
-			   new Point(bmp.Width, bmp.Height),
-			   from, to
-			);
-
-			ColorBlend cblend = new ColorBlend(3);
-			cblend.Colors = new Color[3] { from, middle, to };
-			cblend.Positions = new float[3] { 0f, 0.5f, 1f };
-
-			linearGradientBrush.InterpolationColors = cblend;
-
-			g.FillRectangle(linearGradientBrush, 0, 0, bmp.Width, bmp.Height);
-
-			linearGradPictureBox.Image = bmp;
-		}
-
-		private void linearGradPictureBox_MouseClick(object sender, MouseEventArgs e)
-		{
-			Bitmap b = new Bitmap(linearGradPictureBox.ClientSize.Width, linearGradPictureBox.Height);
-			linearGradPictureBox.DrawToBitmap(b, linearGradPictureBox.ClientRectangle);
-			Color colour = b.GetPixel(e.Location.X, e.Location.Y);
-
-			AddColor(colour);
-		}
-	}
-}
+    public partial class MainForm : Form
+    {
+        private Pen aimPen = new Pen(Color.Red, 1);
+        private Color aimColor;
+        private bool alwaysOnTop = true;
+        private bool anotherFormat = false;
+        private bool darkMode;
+        private List<string> colors = new List<string>();
+
+        private enum KeyModifier
+        {
+            None = 0,
+            Alt = 1,
+            Control = 2,
+            Shift = 4,
+            WinKey = 8
+        }
+
+        public MainForm(bool darkMode)
+        {
+            this.darkMode = darkMode;
+
+            if (darkMode)
+            {
+                this.HandleCreated += new EventHandler(ThemeManager.formHandleCreated);
+            }
+
+            InitializeComponent();
+
+            copyTooltip.SetToolTip(rgbCopyButton, "Copy value");
+            copyTooltip.SetToolTip(htmlCopyButton, "Copy value");
+            copyTooltip.SetToolTip(cmykCopyButton, "Copy value");
+            copyTooltip.SetToolTip(hslCopyButton, "Copy value");
+            copyTooltip.SetToolTip(rgbOneCopyButton, "Copy value");
+            copyTooltip.SetToolTip(hsvCopyButton, "Copy value");
+            copyTooltip.SetToolTip(renameButton, "Rename selected color");
+
+            toolStrip1.Renderer = new ToolStripOverride();
+
+            renameTextBox.AutoSize = false;
+            renameTextBox.Height = 20;
+
+            if (darkMode)
+            {
+                applyDarkTheme();
+            }
+        }
+
+        private void CaptureScreen()
+        {
+            try
+            {
+                Bitmap bmp = new Bitmap(120, 120);
+                using (Graphics g = Graphics.FromImage(bmp))
+                {
+                    g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
+                    g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;
+                    g.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighSpeed;
+                    g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.None;
+
+                    g.CopyFromScreen(
+                        Cursor.Position.X - 20,
+                        Cursor.Position.Y - 20, 0, 0,
+                        new Size(40, 40)
+                    );
+
+                    Bitmap scaledBmp = new Bitmap(bmp, 120, 120);
+
+                    g.Clear(Color.Black);
+                    g.DrawImage(scaledBmp, 0, 0, 360, 360);
+
+                    scaledBmp.Dispose();
+
+                    if (aimPictureBox.Image != null) aimPictureBox.Image.Dispose();
+
+                    aimPictureBox.Image = bmp;
+
+                    aimColor = bmp.GetPixel(aimPictureBox.Width / 2, aimPictureBox.Height / 2);
+                    colorPanel.BackColor = aimColor;
+
+                    g.DrawLine(aimPen, 0, aimPictureBox.Height / 2, aimPictureBox.Width, aimPictureBox.Height / 2);
+                    g.DrawLine(aimPen, aimPictureBox.Width / 2, 0, aimPictureBox.Height / 2, aimPictureBox.Height);
+                }
+
+                xLabel.Invoke((MethodInvoker)(() => xLabel.Text = "X: " + Cursor.Position.X));
+                yLabel.Invoke((MethodInvoker)(() => yLabel.Text = "Y: " + Cursor.Position.Y));
+
+                rgbStatusLabel.GetCurrentParent().Invoke((MethodInvoker)(() => rgbStatusLabel.Text = "RGB: " + aimColor.R + ", " + aimColor.G + ", " + aimColor.B));
+                hexStatusLabel.GetCurrentParent().Invoke((MethodInvoker)(() => hexStatusLabel.Text = "HEX: " + ColorTranslator.ToHtml(aimColor).ToString()));
+
+                this.Invoke((MethodInvoker)(() => this.Text = aimColor.R + ", " + aimColor.G + ", " + aimColor.B + " - Quick Color Picker"));
+            }
+            catch
+            {
+            }
+        }
+
+        [System.Runtime.InteropServices.DllImport("user32.dll")]
+        public static extern bool RegisterHotKey(IntPtr hWnd, int id, int fsModifiers, int vk);
+
+        [System.Runtime.InteropServices.DllImport("user32.dll")]
+        public static extern bool UnregisterHotKey(IntPtr hWnd, int id);
+
+        private void MainForm_Load(object sender, EventArgs e)
+        {
+            RegisterHotKey(this.Handle, 0, (int)KeyModifier.Alt, Keys.X.GetHashCode());
+            RegisterHotKey(this.Handle, 1, (int)KeyModifier.Alt, Keys.C.GetHashCode());
+
+            Task task = new Task(() =>
+            {
+                while (true)
+                {
+                    CaptureScreen();
+                    Thread.Sleep(100);
+                }
+            });
+
+            task.Start();
+
+            LoadColorList();
+
+            checkForUpdates(false);
+
+            setAlwaysOnTop(Properties.Settings.Default.AlwaysOnTop, false);
+            setAnotherFormat(Properties.Settings.Default.AnotherFormat, false);
+        }
+
+        protected override void WndProc(ref Message m)
+        {
+            base.WndProc(ref m);
+
+            if (m.Msg == 0x0312)
+            {
+                Keys key = (Keys)(((int)m.LParam >> 16) & 0xFFFF);
+                KeyModifier modifier = (KeyModifier)((int)m.LParam & 0xFFFF);
+
+                if (modifier == KeyModifier.Alt)
+                {
+                    if (key == Keys.X)
+                    {
+                        GetColor();
+                    }
+                    else if (key == Keys.C)
+                    {
+                        CopyColor();
+                    }
+                }
+            }
+        }
+
+        private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
+        {
+            UnregisterHotKey(this.Handle, 0);
+        }
+
+        private void CopyColor()
+        {
+            Clipboard.SetText(this.Text = aimColor.R + ", " + aimColor.G + ", " + aimColor.B);
+        }
+
+        private void GetColor()
+        {
+            AddColor(aimColor);
+            colorList.SetSelected(colorList.Items.Count - 1, true);
+            SaveColorList();
+            SaveColorNames();
+        }
+
+        private void AddColor(Color c)
+        {
+            colors.Add(c.R + ", " + c.G + ", " + c.B);
+            colorList.Items.Add(c.R + ", " + c.G + ", " + c.B);
+        }
+
+        private void AddColor(string color, string name)
+        {
+            try
+            {
+                ColorManager.TextToColor(color);
+                colors.Add(color);
+                colorList.Items.Add(name);
+            }
+            catch
+            {
+            }
+        }
+
+        private void colorList_DrawItem(object sender, DrawItemEventArgs e)
+        {
+            if (e.Index != -1)
+            {
+                e.DrawBackground();
+
+                int itemIndex = e.Index;
+                string itemText = colorList.Items[itemIndex].ToString();
+                string colorText = colors[itemIndex]; ;
+
+                if (itemIndex >= 0 && itemIndex < colorList.Items.Count)
+                {
+                    Graphics g = e.Graphics;
+
+                    Color c = ColorManager.TextToColor(colorText);
+
+                    // Background color
+                    SolidBrush backgroundColorBrush = new SolidBrush(c);
+                    g.FillRectangle(backgroundColorBrush, e.Bounds);
+
+                    // Item text
+                    SolidBrush itemTextColorBrush;
+                    if (c.GetBrightness() > 0.5)
+                    {
+                        itemTextColorBrush = new SolidBrush(Color.Black);
+                    }
+                    else
+                    {
+                        itemTextColorBrush = new SolidBrush(Color.White);
+                    }
+                    if (e.Index == colorList.SelectedIndex)
+                    {
+                        Font f = new Font(e.Font, FontStyle.Bold);
+                        Point p = new Point(
+                            colorList.GetItemRectangle(itemIndex).Location.X + 10,
+                            colorList.GetItemRectangle(itemIndex).Location.Y
+                        );
+
+                        g.DrawString(itemText, f, itemTextColorBrush, p);
+                    }
+                    else
+                    {
+                        g.DrawString(itemText, e.Font, itemTextColorBrush, colorList.GetItemRectangle(itemIndex).Location);
+                    }
+
+                    // Clean up
+                    backgroundColorBrush.Dispose();
+                    itemTextColorBrush.Dispose();
+                }
+            }
+        }
+
+        private void colorList_SelectedIndexChanged(object sender, EventArgs e)
+        {
+            if (colorList.SelectedIndex != -1)
+            {
+                deleteButton.Enabled = true;
+                renameButton.Enabled = true;
+                renameTextBox.Enabled = true;
+                renameTextBox.Text = colorList.Items[colorList.SelectedIndex].ToString();
+
+                string t = colors[colorList.SelectedIndex];
+                Color c = ColorManager.TextToColor(t);
+
+                string htmlText = ColorTranslator.ToHtml(c).ToString();
+                int[] cmyk = ColorManager.ColorToCMYK(c);
+                int[] hsl = ColorManager.ColorToHSL(c);
+                int[] hsv = ColorManager.ColorToHSV(c);
+
+                double rOne = c.R / (double)255;
+                double gOne = c.G / (double)255;
+                double bOne = c.B / (double)255;
+
+                if (anotherFormat)
+                {
+                    rgbTextBox.Text = "rgb(" + c.R + ", " + c.G + ", " + c.B + ")";
+                    htmlTextBox.Text = "0x" + htmlText.Substring(1, htmlText.Length - 1);
+                    cmykTextBox.Text = "cmyk(" + cmyk[0] + "%, " + cmyk[1] + "%, " + cmyk[2] + "%, " + cmyk[3] + "%)";
+                    hslTextBox.Text = "hsl(" + hsl[0] + ", " + hsl[1] + "%, " + hsl[2] + "%)";
+                    rgbOneTextBox.Text = rOne.ToString("0.####") + " / " + gOne.ToString("0.####") + " / " + bOne.ToString("0.####");
+                    hsvTextBox.Text = hsv[0] + "°, " + hsv[1] + "%, " + hsv[2] + "%";
+                }
+                else
+                {
+                    rgbTextBox.Text = t;
+                    htmlTextBox.Text = htmlText;
+                    cmykTextBox.Text = cmyk[0] + ", " + cmyk[1] + ", " + cmyk[2] + ", " + cmyk[3];
+                    hslTextBox.Text = hsl[0] + ", " + hsl[1] + ", " + hsl[2];
+                    rgbOneTextBox.Text = rOne.ToString("0.##") + "; " + gOne.ToString("0.##") + "; " + bOne.ToString("0.##");
+                    hsvTextBox.Text = hsv[0] + ", " + hsv[1] + ", " + hsv[2];
+                }
+
+                gradPanel.BackColor = c;
+                ratioPanel.BackColor = c;
+
+                int r1 = c.R - 50;
+                int g1 = c.G - 50;
+                int b1 = c.B - 50;
+
+                if (r1 < 0 || g1 < 0 || b1 < 0)
+                {
+                    r1 = 0;
+                    g1 = 0;
+                    b1 = 0;
+                }
+
+                gradPanel1.BackColor = Color.FromArgb(r1, g1, b1);
+
+                int r2 = c.R - 25;
+                int g2 = c.G - 25;
+                int b2 = c.B - 25;
+
+                if (r2 < 0 || g2 < 0 || b2 < 0)
+                {
+                    r2 = 0;
+                    g2 = 0;
+                    b2 = 0;
+                }
+
+                gradPanel2.BackColor = Color.FromArgb(r2, g2, b2);
+
+                int r3 = c.R + 25;
+                int g3 = c.G + 25;
+                int b3 = c.B + 25;
+
+                if (r3 > 255 || g3 > 255 || b3 > 255)
+                {
+                    r3 = 255;
+                    g3 = 255;
+                    b3 = 255;
+                }
+
+                gradPanel3.BackColor = Color.FromArgb(r3, g3, b3);
+
+                int r4 = c.R + 50;
+                int g4 = c.G + 50;
+                int b4 = c.B + 50;
+
+                if (r4 > 255 || g4 > 255 || b4 > 255)
+                {
+                    r4 = 255;
+                    g4 = 255;
+                    b4 = 255;
+                }
+
+                gradPanel4.BackColor = Color.FromArgb(r4, g4, b4);
+
+                CreateLinearGradient(gradPanel1.BackColor, gradPanel.BackColor, gradPanel4.BackColor);
+            }
+            else
+            {
+                deleteButton.Enabled = false;
+                renameButton.Enabled = false;
+                renameTextBox.Enabled = false;
+                renameTextBox.Text = "";
+            }
+
+            colorList.Refresh();
+        }
+
+        private void rgbCopyButton_Click(object sender, EventArgs e)
+        {
+            Clipboard.SetText(rgbTextBox.Text);
+        }
+
+        private void htmlCopyButton_Click(object sender, EventArgs e)
+        {
+            Clipboard.SetText(htmlTextBox.Text);
+        }
+
+        private void cmykCopyButton_Click(object sender, EventArgs e)
+        {
+            Clipboard.SetText(cmykTextBox.Text);
+        }
+
+        private void applyDarkTheme()
+        {
+            ThemeManager.setDarkModeToControl(colorList.Handle);
+
+            this.BackColor = ThemeManager.BackColorDark;
+            this.ForeColor = Color.White;
+            toolStrip1.BackColor = ThemeManager.BackColorDark;
+            colorList.BackColor = ThemeManager.SecondColorDark;
+            statusStrip1.BackColor = ThemeManager.SecondColorDark;
+
+            rgbTextBox.BackColor = ThemeManager.SecondColorDark;
+            rgbTextBox.ForeColor = Color.White;
+
+            htmlTextBox.BackColor = ThemeManager.SecondColorDark;
+            htmlTextBox.ForeColor = Color.White;
+
+            cmykTextBox.BackColor = ThemeManager.SecondColorDark;
+            cmykTextBox.ForeColor = Color.White;
+
+            hslTextBox.BackColor = ThemeManager.SecondColorDark;
+            hslTextBox.ForeColor = Color.White;
+
+            rgbOneTextBox.BackColor = ThemeManager.SecondColorDark;
+            rgbOneTextBox.ForeColor = Color.White;
+
+            hsvTextBox.BackColor = ThemeManager.SecondColorDark;
+            hsvTextBox.ForeColor = Color.White;
+
+            rgbCopyButton.Image = Properties.Resources.white_copy;
+            htmlCopyButton.Image = Properties.Resources.white_copy;
+            cmykCopyButton.Image = Properties.Resources.white_copy;
+            hslCopyButton.Image = Properties.Resources.white_copy;
+            rgbOneCopyButton.Image = Properties.Resources.white_copy;
+            hsvCopyButton.Image = Properties.Resources.white_copy;
+
+            onTopButton.Image = Properties.Resources.white_ontop;
+            clearListButton.Image = Properties.Resources.white_broom;
+            deleteButton.Image = Properties.Resources.white_trash;
+            formatButton.Image = Properties.Resources.white_format;
+            aboutButton.Image = Properties.Resources.white_about;
+
+            renameTextBox.BackColor = ThemeManager.SecondColorDark;
+            renameTextBox.ForeColor = Color.White;
+            renameButton.Image = Properties.Resources.white_rename;
+        }
+
+        private void hslCopyButton_Click(object sender, EventArgs e)
+        {
+            Clipboard.SetText(hslTextBox.Text);
+        }
+
+        private void rgbOneCopyButton_Click(object sender, EventArgs e)
+        {
+            Clipboard.SetText(rgbOneTextBox.Text);
+        }
+
+        private void onTopButton_Click(object sender, EventArgs e)
+        {
+            setAlwaysOnTop(!alwaysOnTop, true);
+        }
+
+        private void setAlwaysOnTop(bool b, bool saveToDisk)
+        {
+            alwaysOnTop = b;
+            this.TopMost = b;
+            onTopButton.Checked = b;
+
+            if (saveToDisk)
+            {
+                Properties.Settings.Default.AlwaysOnTop = b;
+                Properties.Settings.Default.Save();
+            }
+        }
+
+        private void setAnotherFormat(bool b, bool saveToDisk)
+        {
+            anotherFormat = b;
+            formatButton.Checked = b;
+
+            if (colorList.SelectedIndex != -1)
+            {
+                colorList.SetSelected(colorList.SelectedIndex, true);
+            }
+
+            if (saveToDisk)
+            {
+                Properties.Settings.Default.AnotherFormat = b;
+                Properties.Settings.Default.Save();
+            }
+        }
+
+        private void MainForm_KeyDown(object sender, KeyEventArgs e)
+        {
+            if (e.Control)
+            {
+                if (e.KeyCode == Keys.T)
+                {
+                    onTopButton.PerformClick();
+                }
+                else if (e.KeyCode == Keys.L)
+                {
+                    clearListButton.PerformClick();
+                }
+                else if (e.KeyCode == Keys.F)
+                {
+                    formatButton.PerformClick();
+                }
+            }
+            else
+            {
+                if (e.KeyCode == Keys.Delete)
+                {
+                    deleteButton.PerformClick();
+                }
+                else if (e.KeyCode == Keys.F1)
+                {
+                    aboutButton.PerformClick();
+                }
+            }
+        }
+
+        private void clearListButton_Click(object sender, EventArgs e)
+        {
+            colors.Clear();
+            colorList.Items.Clear();
+            SaveColorList();
+            SaveColorNames();
+            deleteButton.Enabled = false;
+            renameButton.Enabled = false;
+            renameTextBox.Enabled = false;
+            renameTextBox.Text = "";
+        }
+
+        private void deleteButton_Click(object sender, EventArgs e)
+        {
+            if (colorList.SelectedIndex != -1)
+            {
+                int curIndex = colorList.SelectedIndex;
+                colorList.Items.RemoveAt(curIndex);
+                colors.RemoveAt(curIndex);
+
+                if (colorList.Items.Count > 0)
+                {
+                    if (colorList.Items.Count - 1 >= curIndex)
+                    {
+                        colorList.SetSelected(curIndex, true);
+                    }
+                    else if (colorList.Items.Count >= curIndex)
+                    {
+                        colorList.SetSelected(curIndex - 1, true);
+                    }
+                }
+
+                SaveColorList();
+                SaveColorNames();
+            }
+        }
+
+        private void aboutButton_Click(object sender, EventArgs e)
+        {
+            AboutForm aboutBox = new AboutForm(darkMode);
+            aboutBox.Owner = this;
+            if (alwaysOnTop)
+            {
+                aboutBox.TopMost = true;
+            }
+            aboutBox.FormClosed += aboutBox_FormClosed;
+            aboutBox.ShowDialog();
+        }
+
+        private void aboutBox_FormClosed(object sender, EventArgs e)
+        {
+            AboutForm aboutBox = sender as AboutForm;
+            aboutBox.Dispose();
+            aboutBox = null;
+        }
+
+        public async void checkForUpdates(bool showUpToDateDialog)
+        {
+            try
+            {
+                UpdateChecker checker = new UpdateChecker("ModuleArt", "quick-color-picker");
+
+                bool update = await checker.CheckUpdate();
+
+                if (update == false)
+                {
+                    if (showUpToDateDialog)
+                    {
+                        MessageBox.Show("Application is up to date", "Updator", MessageBoxButtons.OK, MessageBoxIcon.Information);
+                    }
+                }
+                else
+                {
+                    UpdateForm updateDialog = new UpdateForm(checker, "Quick Color Picker", darkMode);
+
+                    if (alwaysOnTop)
+                    {
+                        updateDialog.TopMost = true;
+                    }
+
+                    DialogResult result = updateDialog.ShowDialog();
+                    if (result == DialogResult.Yes)
+                    {
+                        DownloadForm downloadBox = new DownloadForm(checker.GetAssetUrl("QuickColorPicker-Setup.msi"), darkMode);
+                        downloadBox.Owner = this;
+                        if (alwaysOnTop)
+                        {
+                            downloadBox.TopMost = true;
+                        }
+                        downloadBox.ShowDialog();
+                    }
+                    else
+                    {
+                        updateDialog.Dispose();
+                    }
+                }
+            }
+            catch
+            {
+                if (showUpToDateDialog)
+                {
+                    MessageBox.Show("Connection error", "Updator", MessageBoxButtons.OK, MessageBoxIcon.Information);
+                }
+            }
+        }
+
+        private void SaveColorList()
+        {
+            try
+            {
+                string appDataFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Quick Color Picker");
+                DirectoryInfo di = new DirectoryInfo(appDataFolder);
+
+                if (!di.Exists)
+                {
+                    di.Create();
+                }
+
+                string colorListPath = Path.Combine(appDataFolder, "color-list.txt");
+                FileInfo fiColors = new FileInfo(colorListPath);
+
+                using (StreamWriter sw = fiColors.CreateText())
+                {
+                    string[] linesToWrite = new string[colors.Count];
+                    for (int i = 0; i < colors.Count; i++)
+                    {
+                        sw.WriteLine(colors[i].ToString());
+                    }
+                }
+            }
+            catch
+            {
+            }
+        }
+
+        private void SaveColorNames()
+        {
+            try
+            {
+                string appDataFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Quick Color Picker");
+                DirectoryInfo di = new DirectoryInfo(appDataFolder);
+
+                if (!di.Exists)
+                {
+                    di.Create();
+                }
+
+                string colorNamesPath = Path.Combine(appDataFolder, "color-names.txt");
+                FileInfo fiNames = new FileInfo(colorNamesPath);
+
+                using (StreamWriter sw = fiNames.CreateText())
+                {
+                    string[] linesToWrite = new string[colorList.Items.Count];
+                    for (int i = 0; i < colorList.Items.Count; i++)
+                    {
+                        sw.WriteLine(colorList.Items[i].ToString());
+                    }
+                }
+            }
+            catch
+            {
+            }
+        }
+
+        private void LoadColorList()
+        {
+            try
+            {
+                string colorListTxt = Path.Combine(
+                    Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
+                    "Quick Color Picker",
+                    "color-list.txt"
+                );
+
+                string colorNamesTxt = Path.Combine(
+                    Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
+                    "Quick Color Picker",
+                    "color-names.txt"
+                );
+
+                string[] colorsLines = File.ReadAllLines(colorListTxt);
+                string[] namesLines = File.ReadAllLines(colorNamesTxt);
+
+                for (int i = 0; i < colorsLines.Length; i++)
+                {
+                    try
+                    {
+                        AddColor(colorsLines[i], namesLines[i]);
+                    }
+                    catch
+                    {
+                    }
+                }
+
+                colorList.SetSelected(colorList.Items.Count - 1, true);
+            }
+            catch
+            {
+            }
+        }
+
+        private void gradPanel_Click(object sender, EventArgs e)
+        {
+            AddColor((sender as Panel).BackColor);
+        }
+
+        private void formatButton_Click(object sender, EventArgs e)
+        {
+            setAnotherFormat(!anotherFormat, true);
+        }
+
+        private void hsvCopyButton_Click(object sender, EventArgs e)
+        {
+            Clipboard.SetText(hsvTextBox.Text);
+        }
+
+        private void renameButton_Click(object sender, EventArgs e)
+        {
+            if (colorList.SelectedIndex != -1)
+            {
+                colorList.Items[colorList.SelectedIndex] = renameTextBox.Text;
+                colorList.Items[colorList.SelectedIndex] = colorList.Items[colorList.SelectedIndex];
+            }
+            SaveColorNames();
+        }
+
+        private void renameTextBox_KeyUp(object sender, KeyEventArgs e)
+        {
+            if (e.KeyCode == Keys.Enter)
+            {
+                renameButton.PerformClick();
+            }
+        }
+
+        private void CreateLinearGradient(Color from, Color middle, Color to)
+        {
+            Bitmap bmp = new Bitmap(linearGradPictureBox.Width, linearGradPictureBox.Height);
+            Graphics g = Graphics.FromImage(bmp);
+
+            LinearGradientBrush linearGradientBrush = new LinearGradientBrush(
+               new Point(0, 0),
+               new Point(bmp.Width, bmp.Height),
+               from, to
+            );
+
+            ColorBlend cblend = new ColorBlend(3);
+            cblend.Colors = new Color[3] { from, middle, to };
+            cblend.Positions = new float[3] { 0f, 0.5f, 1f };
+
+            linearGradientBrush.InterpolationColors = cblend;
+
+            g.FillRectangle(linearGradientBrush, 0, 0, bmp.Width, bmp.Height);
+
+            linearGradPictureBox.Image = bmp;
+        }
+
+        private void linearGradPictureBox_MouseClick(object sender, MouseEventArgs e)
+        {
+            Bitmap b = new Bitmap(linearGradPictureBox.ClientSize.Width, linearGradPictureBox.Height);
+            linearGradPictureBox.DrawToBitmap(b, linearGradPictureBox.ClientRectangle);
+            Color colour = b.GetPixel(e.Location.X, e.Location.Y);
+
+            AddColor(colour);
+        }
+    }
+}

+ 18 - 18
quick-color-picker/Program.cs

@@ -3,24 +3,24 @@ using System.Windows.Forms;
 
 namespace quick_color_picker
 {
-	static class Program
-	{
-		[STAThread]
-		static void Main()
-		{
-			if (Environment.OSVersion.Version.Major >= 6)
-			{
-				SetProcessDPIAware();
-			}
+    internal static class Program
+    {
+        [STAThread]
+        private static void Main()
+        {
+            if (Environment.OSVersion.Version.Major >= 6)
+            {
+                SetProcessDPIAware();
+            }
 
-			ThemeManager.allowDarkModeForApp(true);
+            ThemeManager.allowDarkModeForApp(true);
 
-			Application.EnableVisualStyles();
-			Application.SetCompatibleTextRenderingDefault(false);
-			Application.Run(new MainForm(ThemeManager.isDarkTheme()));
-		}
+            Application.EnableVisualStyles();
+            Application.SetCompatibleTextRenderingDefault(false);
+            Application.Run(new MainForm(ThemeManager.isDarkTheme()));
+        }
 
-		[System.Runtime.InteropServices.DllImport("user32.dll")]
-		private static extern bool SetProcessDPIAware();
-	}
-}
+        [System.Runtime.InteropServices.DllImport("user32.dll")]
+        private static extern bool SetProcessDPIAware();
+    }
+}

+ 1 - 1
quick-color-picker/Properties/Resources.Designer.cs

@@ -19,7 +19,7 @@ namespace quick_color_picker.Properties {
     // class via a tool like ResGen or Visual Studio.
     // To add or remove a member, edit your .ResX file then rerun ResGen
     // with the /str option, or rebuild your VS project.
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
     internal class Resources {

+ 1 - 1
quick-color-picker/Properties/Settings.Designer.cs

@@ -12,7 +12,7 @@ namespace quick_color_picker.Properties {
     
     
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.3.0.0")]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.5.0.0")]
     internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
         
         private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));

+ 10 - 6
quick-color-picker/ToolStripOverride.cs

@@ -2,10 +2,14 @@
 
 namespace quick_color_picker
 {
-	public class ToolStripOverride : ToolStripSystemRenderer
-	{
-		public ToolStripOverride() { }
+    public class ToolStripOverride : ToolStripSystemRenderer
+    {
+        public ToolStripOverride()
+        {
+        }
 
-		protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e) { }
-	}
-}
+        protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
+        {
+        }
+    }
+}

+ 0 - 0
quick-color-picker/UpdateChecker.cs → quick-color-picker/Utils/Updater/UpdateChecker.cs


+ 279 - 0
quick-color-picker/Views/AboutForm.Designer.cs

@@ -0,0 +1,279 @@
+namespace quick_color_picker
+{
+	partial class AboutForm
+	{
+		/// <summary>
+		/// Required designer variable.
+		/// </summary>
+		private System.ComponentModel.IContainer components = null;
+
+		/// <summary>
+		/// Clean up any resources being used.
+		/// </summary>
+		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()
+		{
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutForm));
+            this.logoPictureBox = new System.Windows.Forms.PictureBox();
+            this.productLabel = new System.Windows.Forms.Label();
+            this.versionLabel = new System.Windows.Forms.Label();
+            this.companyLabel = new System.Windows.Forms.Label();
+            this.authorLabel = new System.Windows.Forms.Label();
+            this.descriptionLabel = new System.Windows.Forms.Label();
+            this.developerLink = new System.Windows.Forms.LinkLabel();
+            this.projectLink = new System.Windows.Forms.LinkLabel();
+            this.okButton = new System.Windows.Forms.Button();
+            this.infoGroup = new System.Windows.Forms.GroupBox();
+            this.updatesLink = new System.Windows.Forms.LinkLabel();
+            this.issuesLink = new System.Windows.Forms.LinkLabel();
+            this.pagesGroup = new System.Windows.Forms.GroupBox();
+            this.licenseLink = new System.Windows.Forms.LinkLabel();
+            this.licenseLabel = new System.Windows.Forms.Label();
+            ((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).BeginInit();
+            this.infoGroup.SuspendLayout();
+            this.pagesGroup.SuspendLayout();
+            this.SuspendLayout();
+            // 
+            // logoPictureBox
+            // 
+            this.logoPictureBox.Image = ((System.Drawing.Image)(resources.GetObject("logoPictureBox.Image")));
+            this.logoPictureBox.Location = new System.Drawing.Point(0, 0);
+            this.logoPictureBox.Margin = new System.Windows.Forms.Padding(0);
+            this.logoPictureBox.Name = "logoPictureBox";
+            this.logoPictureBox.Size = new System.Drawing.Size(256, 100);
+            this.logoPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
+            this.logoPictureBox.TabIndex = 12;
+            this.logoPictureBox.TabStop = false;
+            // 
+            // productLabel
+            // 
+            this.productLabel.AutoSize = true;
+            this.productLabel.Location = new System.Drawing.Point(4, 28);
+            this.productLabel.Margin = new System.Windows.Forms.Padding(3, 19, 3, 3);
+            this.productLabel.Name = "productLabel";
+            this.productLabel.Size = new System.Drawing.Size(105, 15);
+            this.productLabel.TabIndex = 27;
+            this.productLabel.Text = "Quick Color Picker";
+            // 
+            // versionLabel
+            // 
+            this.versionLabel.AutoSize = true;
+            this.versionLabel.Location = new System.Drawing.Point(6, 49);
+            this.versionLabel.Margin = new System.Windows.Forms.Padding(3);
+            this.versionLabel.Name = "versionLabel";
+            this.versionLabel.Size = new System.Drawing.Size(45, 15);
+            this.versionLabel.TabIndex = 28;
+            this.versionLabel.Text = "Version";
+            // 
+            // companyLabel
+            // 
+            this.companyLabel.AutoSize = true;
+            this.companyLabel.Location = new System.Drawing.Point(6, 103);
+            this.companyLabel.Margin = new System.Windows.Forms.Padding(3, 9, 3, 3);
+            this.companyLabel.Name = "companyLabel";
+            this.companyLabel.Size = new System.Drawing.Size(127, 15);
+            this.companyLabel.TabIndex = 29;
+            this.companyLabel.Text = "Created by Module Art";
+            // 
+            // authorLabel
+            // 
+            this.authorLabel.AutoSize = true;
+            this.authorLabel.Location = new System.Drawing.Point(6, 124);
+            this.authorLabel.Margin = new System.Windows.Forms.Padding(3);
+            this.authorLabel.Name = "authorLabel";
+            this.authorLabel.Size = new System.Drawing.Size(134, 15);
+            this.authorLabel.TabIndex = 30;
+            this.authorLabel.Text = "Author: Eugene Volynko";
+            // 
+            // descriptionLabel
+            // 
+            this.descriptionLabel.AutoSize = true;
+            this.descriptionLabel.Location = new System.Drawing.Point(6, 151);
+            this.descriptionLabel.Margin = new System.Windows.Forms.Padding(3, 9, 3, 3);
+            this.descriptionLabel.Name = "descriptionLabel";
+            this.descriptionLabel.Size = new System.Drawing.Size(239, 45);
+            this.descriptionLabel.TabIndex = 31;
+            this.descriptionLabel.Text = "Lightweight desktop color picker and color \r\neditor utility to get and save color" +
+    "s quickly \r\nfor Windows, built on top of WinForms (C#)";
+            // 
+            // developerLink
+            // 
+            this.developerLink.AutoSize = true;
+            this.developerLink.Location = new System.Drawing.Point(6, 28);
+            this.developerLink.Margin = new System.Windows.Forms.Padding(3, 9, 3, 3);
+            this.developerLink.Name = "developerLink";
+            this.developerLink.Size = new System.Drawing.Size(67, 15);
+            this.developerLink.TabIndex = 32;
+            this.developerLink.TabStop = true;
+            this.developerLink.Text = "Module Art";
+            this.developerLink.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.developerLink_LinkClicked);
+            // 
+            // projectLink
+            // 
+            this.projectLink.AutoSize = true;
+            this.projectLink.Location = new System.Drawing.Point(79, 29);
+            this.projectLink.Margin = new System.Windows.Forms.Padding(3, 10, 3, 3);
+            this.projectLink.Name = "projectLink";
+            this.projectLink.Size = new System.Drawing.Size(73, 15);
+            this.projectLink.TabIndex = 33;
+            this.projectLink.TabStop = true;
+            this.projectLink.Text = "Project page";
+            this.projectLink.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.projectLink_LinkClicked);
+            // 
+            // okButton
+            // 
+            this.okButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+            this.okButton.BackColor = System.Drawing.SystemColors.ControlLight;
+            this.okButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+            this.okButton.FlatAppearance.BorderSize = 0;
+            this.okButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.okButton.Location = new System.Drawing.Point(9, 437);
+            this.okButton.Margin = new System.Windows.Forms.Padding(0);
+            this.okButton.Name = "okButton";
+            this.okButton.Size = new System.Drawing.Size(256, 23);
+            this.okButton.TabIndex = 21;
+            this.okButton.Text = "Close";
+            this.okButton.UseVisualStyleBackColor = false;
+            // 
+            // infoGroup
+            // 
+            this.infoGroup.Controls.Add(this.updatesLink);
+            this.infoGroup.Controls.Add(this.versionLabel);
+            this.infoGroup.Controls.Add(this.companyLabel);
+            this.infoGroup.Controls.Add(this.productLabel);
+            this.infoGroup.Controls.Add(this.descriptionLabel);
+            this.infoGroup.Controls.Add(this.authorLabel);
+            this.infoGroup.Location = new System.Drawing.Point(9, 118);
+            this.infoGroup.Margin = new System.Windows.Forms.Padding(0, 9, 0, 0);
+            this.infoGroup.Name = "infoGroup";
+            this.infoGroup.Size = new System.Drawing.Size(256, 240);
+            this.infoGroup.TabIndex = 34;
+            this.infoGroup.TabStop = false;
+            this.infoGroup.Text = "Info";
+            // 
+            // updatesLink
+            // 
+            this.updatesLink.AutoSize = true;
+            this.updatesLink.Location = new System.Drawing.Point(6, 76);
+            this.updatesLink.Margin = new System.Windows.Forms.Padding(3, 9, 3, 3);
+            this.updatesLink.Name = "updatesLink";
+            this.updatesLink.Size = new System.Drawing.Size(103, 15);
+            this.updatesLink.TabIndex = 35;
+            this.updatesLink.TabStop = true;
+            this.updatesLink.Text = "Check for updates";
+            this.updatesLink.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.updatesLink_LinkClicked);
+            // 
+            // issuesLink
+            // 
+            this.issuesLink.AutoSize = true;
+            this.issuesLink.Location = new System.Drawing.Point(158, 29);
+            this.issuesLink.Margin = new System.Windows.Forms.Padding(3, 10, 3, 3);
+            this.issuesLink.Name = "issuesLink";
+            this.issuesLink.Size = new System.Drawing.Size(38, 15);
+            this.issuesLink.TabIndex = 34;
+            this.issuesLink.TabStop = true;
+            this.issuesLink.Text = "Issues";
+            this.issuesLink.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.issuesLink_LinkClicked);
+            // 
+            // pagesGroup
+            // 
+            this.pagesGroup.Controls.Add(this.licenseLink);
+            this.pagesGroup.Controls.Add(this.developerLink);
+            this.pagesGroup.Controls.Add(this.projectLink);
+            this.pagesGroup.Controls.Add(this.issuesLink);
+            this.pagesGroup.Location = new System.Drawing.Point(9, 367);
+            this.pagesGroup.Margin = new System.Windows.Forms.Padding(0, 9, 0, 0);
+            this.pagesGroup.Name = "pagesGroup";
+            this.pagesGroup.Size = new System.Drawing.Size(256, 62);
+            this.pagesGroup.TabIndex = 37;
+            this.pagesGroup.TabStop = false;
+            this.pagesGroup.Text = "Links";
+            // 
+            // licenseLink
+            // 
+            this.licenseLink.AutoSize = true;
+            this.licenseLink.Location = new System.Drawing.Point(202, 29);
+            this.licenseLink.Margin = new System.Windows.Forms.Padding(3, 9, 3, 3);
+            this.licenseLink.Name = "licenseLink";
+            this.licenseLink.Size = new System.Drawing.Size(46, 15);
+            this.licenseLink.TabIndex = 36;
+            this.licenseLink.TabStop = true;
+            this.licenseLink.Text = "License";
+            this.licenseLink.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.licenseLink_LinkClicked);
+            // 
+            // licenseLabel
+            // 
+            this.licenseLabel.AutoSize = true;
+            this.licenseLabel.Location = new System.Drawing.Point(15, 326);
+            this.licenseLabel.Margin = new System.Windows.Forms.Padding(3, 9, 3, 3);
+            this.licenseLabel.Name = "licenseLabel";
+            this.licenseLabel.Size = new System.Drawing.Size(93, 15);
+            this.licenseLabel.TabIndex = 38;
+            this.licenseLabel.Text = "License: GPL-3.0";
+            // 
+            // AboutForm
+            // 
+            this.AcceptButton = this.okButton;
+            this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
+            this.ClientSize = new System.Drawing.Size(274, 469);
+            this.Controls.Add(this.logoPictureBox);
+            this.Controls.Add(this.licenseLabel);
+            this.Controls.Add(this.infoGroup);
+            this.Controls.Add(this.pagesGroup);
+            this.Controls.Add(this.okButton);
+            this.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+            this.KeyPreview = true;
+            this.MaximizeBox = false;
+            this.MinimizeBox = false;
+            this.Name = "AboutForm";
+            this.Padding = new System.Windows.Forms.Padding(9);
+            this.ShowIcon = false;
+            this.ShowInTaskbar = false;
+            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
+            this.Text = "About";
+            this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.AboutForm_KeyDown);
+            ((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).EndInit();
+            this.infoGroup.ResumeLayout(false);
+            this.infoGroup.PerformLayout();
+            this.pagesGroup.ResumeLayout(false);
+            this.pagesGroup.PerformLayout();
+            this.ResumeLayout(false);
+            this.PerformLayout();
+
+		}
+
+		#endregion
+
+		private System.Windows.Forms.PictureBox logoPictureBox;
+		private System.Windows.Forms.Label productLabel;
+		private System.Windows.Forms.Label versionLabel;
+		private System.Windows.Forms.Label companyLabel;
+		private System.Windows.Forms.Label authorLabel;
+		private System.Windows.Forms.Label descriptionLabel;
+		private System.Windows.Forms.LinkLabel developerLink;
+		private System.Windows.Forms.LinkLabel projectLink;
+		private System.Windows.Forms.Button okButton;
+		private System.Windows.Forms.GroupBox infoGroup;
+		private System.Windows.Forms.LinkLabel issuesLink;
+		private System.Windows.Forms.LinkLabel updatesLink;
+		private System.Windows.Forms.GroupBox pagesGroup;
+		private System.Windows.Forms.Label licenseLabel;
+		private System.Windows.Forms.LinkLabel licenseLink;
+	}
+}

+ 87 - 0
quick-color-picker/Views/AboutForm.cs

@@ -0,0 +1,87 @@
+using System;
+using System.Drawing;
+using System.Reflection;
+using System.Windows.Forms;
+
+namespace quick_color_picker
+{
+    partial class AboutForm : Form
+    {
+        public AboutForm(bool darkMode)
+        {
+            if (darkMode)
+            {
+                this.HandleCreated += new EventHandler(ThemeManager.formHandleCreated);
+            }
+
+            InitializeComponent();
+
+            string fullVer = Assembly.GetExecutingAssembly().GetName().Version.ToString();
+            int lastDotIndex = fullVer.LastIndexOf('.');
+            versionLabel.Text = String.Format("Version: {0}", fullVer.Substring(0, lastDotIndex));
+
+            if (IntPtr.Size == 4)
+            {
+                versionLabel.Text += " (x32)";
+            }
+            else if (IntPtr.Size == 8)
+            {
+                versionLabel.Text += " (x64)";
+            }
+
+            if (darkMode)
+            {
+                this.BackColor = ThemeManager.BackColorDark;
+                this.ForeColor = Color.White;
+
+                infoGroup.Paint += ThemeManager.PaintDarkGroupBox;
+                pagesGroup.Paint += ThemeManager.PaintDarkGroupBox;
+
+                Color linkColor = ThemeManager.AccentColorDark;
+
+                updatesLink.LinkColor = linkColor;
+                developerLink.LinkColor = linkColor;
+                projectLink.LinkColor = linkColor;
+                issuesLink.LinkColor = linkColor;
+                licenseLink.LinkColor = linkColor;
+
+                okButton.BackColor = ThemeManager.SecondColorDark;
+            }
+        }
+
+        private void developerLink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
+        {
+            System.Diagnostics.Process.Start("https://moduleart.github.io/");
+        }
+
+        private void projectLink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
+        {
+            System.Diagnostics.Process.Start("https://github.com/ModuleArt/quick-color-picker/");
+        }
+
+        private void issuesLink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
+        {
+            System.Diagnostics.Process.Start("https://github.com/ModuleArt/quick-color-picker/issues/");
+        }
+
+        private void updatesLink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
+        {
+            MainForm parent = (MainForm)this.Owner;
+            parent.checkForUpdates(true);
+            this.Close();
+        }
+
+        private void AboutForm_KeyDown(object sender, KeyEventArgs e)
+        {
+            if (e.KeyCode == Keys.Escape)
+            {
+                this.Close();
+            }
+        }
+
+        private void licenseLink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
+        {
+            System.Diagnostics.Process.Start("https://github.com/ModuleArt/quick-color-picker/blob/master/LICENSE.md/");
+        }
+    }
+}

+ 151 - 151
quick-color-picker/AboutForm.resx → quick-color-picker/Views/AboutForm.resx

@@ -1,152 +1,152 @@
-<?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.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
-  <data name="logoPictureBox.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAABGdBTUEAALGPC/xhBQAABdJJREFUeF7t
-        nV9MW1Ucx+/m3OZMfHK0dGv5E43G+STGJ0l8XxwvTmM0im0li4iLJLo4DJzswUSz0daoHVOyDOafEBkB
-        dItBUWP809YHH4Yvm1sysw5KXDJo4d4CO/4u+xXubs+lve25e7m/T/INoS3nnHx+5557zoUEhSAIgiAI
-        giAIgiAI4hb8E6WZx5UYP66ch1yDXIfvr8LXv3if8j6834QfJWQCkh+FTIBoXjJ9ytf8U6UBf5SoFhD6
-        MohVi0RvnDm4GvZhE0SlgPx2kHnTJLfc5OGqeQqbIuxSpfxbiSsZ/rHixyaJcgH5h4VCK8sQNkuUA8za
-        10FadTP/9qzwE8oebJ7YCMkzfz1x5Qh2QVgBojogMmf+euLKr9gNIQIEdQnFyQoc1rArwgwsO2+AJGdm
-        /noWsTvCiOMzfz1p7NJ9cFa/PcdqDkA+ynZ735pnnprV148rByFOz/xCEquDcRsq8zTmmOfvXI+Hr4V5
-        MvljO/oFkpyLG3dB88z7CMievk3+WhFq+HJ0m1iWE+lTHsNhuYMN5Rdy54owjsNyB2XJL8T5IuRcdQpe
-        ZL4AyL8ilG0VvQixrSJ51Ua/wbfg0NzBAvNMCiWXijNF6MRhuYMs2+kVyi03q0WQshytwK7nVRyWe1Df
-        3fmgUKydVH8lrMCOJ4xDchecKZth/U8LxdpJ5UVwr/wCuW7vXijCslCsndgvAskvsMC8z4DEpSKpdqMX
-        obwt6gokhN0TjPPN3w/Ff5xnu8Ri7aR0EUi+EV1+NKmdhPCx0RHucBH03U4QuyZ0+bGE1q/LL2Rs9Iyk
-        InjMRSD5Rjjnm6Ip9TOjfAeLQPKNrMpPqidE8gs5e+Y0z7JasVg7geUof/TeXuya0Ikk81GRdHOkXQk9
-        nhsLXT76YyudaDIfEcm2ytnhQSlXQrbbewiH4F5iqfwxkeRSkVMEbxyH4U5g5h8VyS0354YHqitCt7cd
-        h+I+IkntHZFUu6miCBc48+3A4bgL2Oe/LZJZacZGh+3emC8vdtXW4XDcRSShdookVpuyi8A8l1wsX+sS
-        yZOVn76KfQeSrR/guVq+pDXfMik1rh/mFpj3WZBdXAQ3y48mtENCaZISSap9unzsTsl1e1pA+kxBfran
-        5udF5q3Ht91FLKF2gKSbZmnSktJO6Q/wsLs1OFO2zDHfwzl2vw9fch+RlNoOkhyTD/eUgaEhfhd2RxiB
-        Q9ZrIMm5mZ/UBkm+BbFE/gAIclL+5yTfglgq3waCnJOf0L4g+RZEE/mXQNJKkTR5+ZLkWwByXoQsG2TJ
-        TUob6fuT343dEUbgkPUCSHJOflIbZVN8K3ZHGIGt4PMgyDH5saQ2RvItAEHPQZyc+eMk34JYSmsBQXmT
-        MGmB9r8h+RZEU+o+kKSZpclKLJmf6P2N34PdEUZ6k+rTIMkx+XCC/oHkWxBJqHtBknPyU/lJ2Gq689eE
-        pehNLDWDpGyRNHn5/cM/+H3YHWHk2u7QEzOB0ByEO5PwRNrXRjNfxGwg3ASSbhRLk5S60MjUnv202xEx
-        0xD2gKR/i6RJynQg9O3l+tbt2B1hhCtsC0j6xSxNVjKB4PiFBzq2YXeEmWl/8LBInKQMcmU/PdW0Yrau
-        rRYk5UzS5MQfGuZNbfRUcyNgV/KBUF71GSL5JeCKsglEpU3iZOQk3FeK/nqBMDHbEHxIIK/KhE/Tml8m
-        0/7Qm2KJlSZ8iuSXib4+g7SLxRIrCxSzn5YdG8z4g0dEIitLsI/k2wAORk+CuKVikfYDJ9z39Js5Nk2U
-        QuLznqWMP9iKzRLlAEtFI4irfttZF8rA6Zn+24RdMoHQpFCovYxm6lu92CRhh3RDqA4EXjIJLRlY56/A
-        14FZf/BxbIqolHRjWwBk/mMUbJGLsFPq1Jct/FFCFvjsf8okvBAVZvxB2lY6zFXfK36QbT6IXc/4w834
-        EcJp8Eo4j/KhGLTc3HH+2xXeDdvKc/oNGl8iCIIgCIIgCIIgCIKwRFH+B0gKh6DZrMiWAAAAAElFTkSu
-        QmCC
-</value>
-  </data>
+<?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.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="logoPictureBox.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAABGdBTUEAALGPC/xhBQAABdJJREFUeF7t
+        nV9MW1Ucx+/m3OZMfHK0dGv5E43G+STGJ0l8XxwvTmM0im0li4iLJLo4DJzswUSz0daoHVOyDOafEBkB
+        dItBUWP809YHH4Yvm1sysw5KXDJo4d4CO/4u+xXubs+lve25e7m/T/INoS3nnHx+5557zoUEhSAIgiAI
+        giAIgiAI4hb8E6WZx5UYP66ch1yDXIfvr8LXv3if8j6834QfJWQCkh+FTIBoXjJ9ytf8U6UBf5SoFhD6
+        MohVi0RvnDm4GvZhE0SlgPx2kHnTJLfc5OGqeQqbIuxSpfxbiSsZ/rHixyaJcgH5h4VCK8sQNkuUA8za
+        10FadTP/9qzwE8oebJ7YCMkzfz1x5Qh2QVgBojogMmf+euLKr9gNIQIEdQnFyQoc1rArwgwsO2+AJGdm
+        /noWsTvCiOMzfz1p7NJ9cFa/PcdqDkA+ynZ735pnnprV148rByFOz/xCEquDcRsq8zTmmOfvXI+Hr4V5
+        MvljO/oFkpyLG3dB88z7CMievk3+WhFq+HJ0m1iWE+lTHsNhuYMN5Rdy54owjsNyB2XJL8T5IuRcdQpe
+        ZL4AyL8ilG0VvQixrSJ51Ua/wbfg0NzBAvNMCiWXijNF6MRhuYMs2+kVyi03q0WQshytwK7nVRyWe1Df
+        3fmgUKydVH8lrMCOJ4xDchecKZth/U8LxdpJ5UVwr/wCuW7vXijCslCsndgvAskvsMC8z4DEpSKpdqMX
+        obwt6gokhN0TjPPN3w/Ff5xnu8Ri7aR0EUi+EV1+NKmdhPCx0RHucBH03U4QuyZ0+bGE1q/LL2Rs9Iyk
+        InjMRSD5Rjjnm6Ip9TOjfAeLQPKNrMpPqidE8gs5e+Y0z7JasVg7geUof/TeXuya0Ikk81GRdHOkXQk9
+        nhsLXT76YyudaDIfEcm2ytnhQSlXQrbbewiH4F5iqfwxkeRSkVMEbxyH4U5g5h8VyS0354YHqitCt7cd
+        h+I+IkntHZFUu6miCBc48+3A4bgL2Oe/LZJZacZGh+3emC8vdtXW4XDcRSShdookVpuyi8A8l1wsX+sS
+        yZOVn76KfQeSrR/guVq+pDXfMik1rh/mFpj3WZBdXAQ3y48mtENCaZISSap9unzsTsl1e1pA+kxBfran
+        5udF5q3Ht91FLKF2gKSbZmnSktJO6Q/wsLs1OFO2zDHfwzl2vw9fch+RlNoOkhyTD/eUgaEhfhd2RxiB
+        Q9ZrIMm5mZ/UBkm+BbFE/gAIclL+5yTfglgq3waCnJOf0L4g+RZEE/mXQNJKkTR5+ZLkWwByXoQsG2TJ
+        TUob6fuT343dEUbgkPUCSHJOflIbZVN8K3ZHGIGt4PMgyDH5saQ2RvItAEHPQZyc+eMk34JYSmsBQXmT
+        MGmB9r8h+RZEU+o+kKSZpclKLJmf6P2N34PdEUZ6k+rTIMkx+XCC/oHkWxBJqHtBknPyU/lJ2Gq689eE
+        pehNLDWDpGyRNHn5/cM/+H3YHWHk2u7QEzOB0ByEO5PwRNrXRjNfxGwg3ASSbhRLk5S60MjUnv202xEx
+        0xD2gKR/i6RJynQg9O3l+tbt2B1hhCtsC0j6xSxNVjKB4PiFBzq2YXeEmWl/8LBInKQMcmU/PdW0Yrau
+        rRYk5UzS5MQfGuZNbfRUcyNgV/KBUF71GSL5JeCKsglEpU3iZOQk3FeK/nqBMDHbEHxIIK/KhE/Tml8m
+        0/7Qm2KJlSZ8iuSXib4+g7SLxRIrCxSzn5YdG8z4g0dEIitLsI/k2wAORk+CuKVikfYDJ9z39Js5Nk2U
+        QuLznqWMP9iKzRLlAEtFI4irfttZF8rA6Zn+24RdMoHQpFCovYxm6lu92CRhh3RDqA4EXjIJLRlY56/A
+        14FZf/BxbIqolHRjWwBk/mMUbJGLsFPq1Jct/FFCFvjsf8okvBAVZvxB2lY6zFXfK36QbT6IXc/4w834
+        EcJp8Eo4j/KhGLTc3HH+2xXeDdvKc/oNGl8iCIIgCIIgCIIgCIKwRFH+B0gKh6DZrMiWAAAAAElFTkSu
+        QmCC
+</value>
+  </data>
 </root>

+ 0 - 0
quick-color-picker/DownloadForm.Designer.cs → quick-color-picker/Views/DownloadForm.Designer.cs


+ 0 - 0
quick-color-picker/DownloadForm.cs → quick-color-picker/Views/DownloadForm.cs


+ 0 - 0
quick-color-picker/DownloadForm.resx → quick-color-picker/Views/DownloadForm.resx


+ 0 - 0
quick-color-picker/UpdateForm.Designer.cs → quick-color-picker/Views/UpdateForm.Designer.cs


+ 0 - 0
quick-color-picker/UpdateForm.cs → quick-color-picker/Views/UpdateForm.cs


BIN
quick-color-picker/bin/Release/Octokit.dll


BIN
quick-color-picker/bin/Release/quick-color-picker.exe


BIN
quick-color-picker/obj/Debug/DesignTimeResolveAssemblyReferences.cache


BIN
quick-color-picker/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache


BIN
quick-color-picker/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll


+ 12 - 10
quick-color-picker/quick-color-picker.csproj

@@ -8,10 +8,11 @@
     <OutputType>WinExe</OutputType>
     <RootNamespace>quick_color_picker</RootNamespace>
     <AssemblyName>quick-color-picker</AssemblyName>
-    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+    <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
     <FileAlignment>512</FileAlignment>
     <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
     <Deterministic>true</Deterministic>
+    <TargetFrameworkProfile />
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
     <PlatformTarget>AnyCPU</PlatformTarget>
@@ -57,17 +58,17 @@
     <Reference Include="System.Xml" />
   </ItemGroup>
   <ItemGroup>
-    <Compile Include="AboutForm.cs">
+    <Compile Include="Views\AboutForm.cs">
       <SubType>Form</SubType>
     </Compile>
-    <Compile Include="AboutForm.Designer.cs">
+    <Compile Include="Views\AboutForm.Designer.cs">
       <DependentUpon>AboutForm.cs</DependentUpon>
     </Compile>
     <Compile Include="ColorManager.cs" />
-    <Compile Include="DownloadForm.cs">
+    <Compile Include="Views\DownloadForm.cs">
       <SubType>Form</SubType>
     </Compile>
-    <Compile Include="DownloadForm.Designer.cs">
+    <Compile Include="Views\DownloadForm.Designer.cs">
       <DependentUpon>DownloadForm.cs</DependentUpon>
     </Compile>
     <Compile Include="Properties\Resources.Designer.cs">
@@ -85,17 +86,17 @@
     <Compile Include="Program.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="ThemeManager.cs" />
-    <Compile Include="UpdateChecker.cs" />
-    <Compile Include="UpdateForm.cs">
+    <Compile Include="Utils\Updater\UpdateChecker.cs" />
+    <Compile Include="Views\UpdateForm.cs">
       <SubType>Form</SubType>
     </Compile>
-    <Compile Include="UpdateForm.Designer.cs">
+    <Compile Include="Views\UpdateForm.Designer.cs">
       <DependentUpon>UpdateForm.cs</DependentUpon>
     </Compile>
-    <EmbeddedResource Include="AboutForm.resx">
+    <EmbeddedResource Include="Views\AboutForm.resx">
       <DependentUpon>AboutForm.cs</DependentUpon>
     </EmbeddedResource>
-    <EmbeddedResource Include="DownloadForm.resx">
+    <EmbeddedResource Include="Views\DownloadForm.resx">
       <DependentUpon>DownloadForm.cs</DependentUpon>
     </EmbeddedResource>
     <EmbeddedResource Include="MainForm.resx">
@@ -134,5 +135,6 @@
     <Content Include="picker.ico" />
     <None Include="resources\imgs\light\white-rename.png" />
   </ItemGroup>
+  <ItemGroup />
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
 </Project>