Eugene Volynko 5 years ago
parent
commit
6f616cda51
51 changed files with 895 additions and 175 deletions
  1. BIN
      .vs/quick-color-picker/v16/.suo
  2. BIN
      .vs/quick-color-picker/v16/Server/sqlite3/storage.ide
  3. 4 4
      QuickColorPicker-Setup/QuickColorPicker-Setup.vdproj
  4. BIN
      QuickColorPicker-Setup/Release/QuickColorPicker-Setup.msi
  5. 3 10
      README.md
  6. BIN
      docs/darkmode.png
  7. 18 18
      quick-color-picker/AboutForm.Designer.cs
  8. 22 8
      quick-color-picker/AboutForm.cs
  9. 135 0
      quick-color-picker/DownloadForm.Designer.cs
  10. 78 0
      quick-color-picker/DownloadForm.cs
  11. 166 0
      quick-color-picker/DownloadForm.resx
  12. 166 64
      quick-color-picker/MainForm.Designer.cs
  13. 185 39
      quick-color-picker/MainForm.cs
  14. 11 0
      quick-color-picker/MainForm.resx
  15. 1 1
      quick-color-picker/Program.cs
  16. 2 2
      quick-color-picker/Properties/AssemblyInfo.cs
  17. 10 0
      quick-color-picker/Properties/Resources.Designer.cs
  18. 3 0
      quick-color-picker/Properties/Resources.resx
  19. 54 17
      quick-color-picker/ThemeManager.cs
  20. 2 4
      quick-color-picker/UpdateChecker.cs
  21. 6 4
      quick-color-picker/UpdateForm.Designer.cs
  22. 15 4
      quick-color-picker/UpdateForm.cs
  23. BIN
      quick-color-picker/bin/Debug/quick-color-picker.exe
  24. BIN
      quick-color-picker/bin/Debug/quick-color-picker.pdb
  25. BIN
      quick-color-picker/bin/Release/quick-color-picker.exe
  26. BIN
      quick-color-picker/bin/Release/quick-color-picker.pdb
  27. BIN
      quick-color-picker/obj/Debug/DesignTimeResolveAssemblyReferences.cache
  28. BIN
      quick-color-picker/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
  29. BIN
      quick-color-picker/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll
  30. 1 0
      quick-color-picker/obj/Debug/quick-color-picker.csproj.FileListAbsolute.txt
  31. BIN
      quick-color-picker/obj/Debug/quick-color-picker.csproj.GenerateResource.cache
  32. BIN
      quick-color-picker/obj/Debug/quick-color-picker.csprojAssemblyReference.cache
  33. BIN
      quick-color-picker/obj/Debug/quick-color-picker.exe
  34. BIN
      quick-color-picker/obj/Debug/quick-color-picker.pdb
  35. BIN
      quick-color-picker/obj/Debug/quick_color_picker.DownloadForm.resources
  36. BIN
      quick-color-picker/obj/Debug/quick_color_picker.MainForm.resources
  37. BIN
      quick-color-picker/obj/Debug/quick_color_picker.Properties.Resources.resources
  38. BIN
      quick-color-picker/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache
  39. BIN
      quick-color-picker/obj/Release/TempPE/Properties.Resources.Designer.cs.dll
  40. 1 0
      quick-color-picker/obj/Release/quick-color-picker.csproj.FileListAbsolute.txt
  41. BIN
      quick-color-picker/obj/Release/quick-color-picker.csproj.GenerateResource.cache
  42. BIN
      quick-color-picker/obj/Release/quick-color-picker.csprojAssemblyReference.cache
  43. BIN
      quick-color-picker/obj/Release/quick-color-picker.exe
  44. BIN
      quick-color-picker/obj/Release/quick-color-picker.pdb
  45. BIN
      quick-color-picker/obj/Release/quick_color_picker.DownloadForm.resources
  46. BIN
      quick-color-picker/obj/Release/quick_color_picker.MainForm.resources
  47. BIN
      quick-color-picker/obj/Release/quick_color_picker.Properties.Resources.resources
  48. 12 0
      quick-color-picker/quick-color-picker.csproj
  49. BIN
      quick-color-picker/resources/imgs/dark/black-rename.png
  50. BIN
      quick-color-picker/resources/imgs/light/white-rename.png
  51. BIN
      quick-color-picker/resources/imgs/update64.png

BIN
.vs/quick-color-picker/v16/.suo


BIN
.vs/quick-color-picker/v16/Server/sqlite3/storage.ide


+ 4 - 4
QuickColorPicker-Setup/QuickColorPicker-Setup.vdproj

@@ -383,15 +383,15 @@
         {
         {
         "Name" = "8:Microsoft Visual Studio"
         "Name" = "8:Microsoft Visual Studio"
         "ProductName" = "8:Quick Color Picker"
         "ProductName" = "8:Quick Color Picker"
-        "ProductCode" = "8:{06C44308-7E70-41D2-913B-E5F1F815F49C}"
-        "PackageCode" = "8:{9ED5BB0E-CE15-48DA-A73D-572D8C1A4D95}"
+        "ProductCode" = "8:{0F737B64-7430-4295-9D11-C8D60999B5DD}"
+        "PackageCode" = "8:{DB135D4A-660D-4C24-988F-3931D6463802}"
         "UpgradeCode" = "8:{B447EAAB-B636-490E-8AC4-266A6136D6BF}"
         "UpgradeCode" = "8:{B447EAAB-B636-490E-8AC4-266A6136D6BF}"
         "AspNetVersion" = "8:2.0.50727.0"
         "AspNetVersion" = "8:2.0.50727.0"
         "RestartWWWService" = "11:FALSE"
         "RestartWWWService" = "11:FALSE"
         "RemovePreviousVersions" = "11:TRUE"
         "RemovePreviousVersions" = "11:TRUE"
         "DetectNewerInstalledVersion" = "11:TRUE"
         "DetectNewerInstalledVersion" = "11:TRUE"
         "InstallAllUsers" = "11:FALSE"
         "InstallAllUsers" = "11:FALSE"
-        "ProductVersion" = "8:1.2.2"
+        "ProductVersion" = "8:1.3.0"
         "Manufacturer" = "8:Module Art"
         "Manufacturer" = "8:Module Art"
         "ARPHELPTELEPHONE" = "8:"
         "ARPHELPTELEPHONE" = "8:"
         "ARPHELPLINK" = "8:"
         "ARPHELPLINK" = "8:"
@@ -943,7 +943,7 @@
         {
         {
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_E929A9F44EE84118A9055D6931B25A82"
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_E929A9F44EE84118A9055D6931B25A82"
             {
             {
-            "SourcePath" = "8:..\\quick-color-picker\\obj\\Release\\quick-color-picker.exe"
+            "SourcePath" = "8:..\\quick-color-picker\\obj\\Debug\\quick-color-picker.exe"
             "TargetName" = "8:"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_4E105E1FB7D74141BA826FE0A8CC7FE5"
             "Folder" = "8:_4E105E1FB7D74141BA826FE0A8CC7FE5"

BIN
QuickColorPicker-Setup/Release/QuickColorPicker-Setup.msi


+ 3 - 10
README.md

@@ -22,7 +22,7 @@
 
 
 <h2 align="center">Install</h2>
 <h2 align="center">Install</h2>
 <p align="center">
 <p align="center">
-  Windows 7, 8.1, 10  |  Size: 1 MB | v1.2.2 |  <a href="https://github.com/ModuleArt/quick-color-picker/releases/download/v1.2.2/QuickColorPicker-Setup.msi">Download</a><br>
+  Windows 7, 8.1, 10  |  <a href="https://github.com/ModuleArt/quick-color-picker/releases/tag/v1.3.0">v1.3.0</a> (1 MB) | v1.3.0 |  <a href="https://github.com/ModuleArt/quick-color-picker/releases/download/v1.3.0/QuickColorPicker-Setup.msi">Download</a><br>
   Uses <a href="https://dotnet.microsoft.com/download/dotnet-framework/net472">.Net 4.7.2</a>
   Uses <a href="https://dotnet.microsoft.com/download/dotnet-framework/net472">.Net 4.7.2</a>
 </p>
 </p>
 
 
@@ -33,19 +33,12 @@
   <img src="/docs/screenshots/about.png">
   <img src="/docs/screenshots/about.png">
 </p>
 </p>
 
 
-<h2 align="center">Additional</h2>
+<h2 align="center">Other "Quick" apps</h2>
 <p align="center">
 <p align="center">
-  How to <a href="https://www.onmsft.com/how-to/how-to-get-dark-theme-title-bars-in-windows-10-without-changing-your-accent-colour/">enable dark title bars</a> with custom accent color in Windows 10:<br><br>
-  <img src="/docs/darkmode.png">
+  <a href="https://github.com/ModuleArt/quick-picture-viewer/">Quick Picture Viewer</a> - Lightweight desktop photo viewer for Windows
 </p>
 </p>
 
 
 <h2 align="center">Inspirers</h2>
 <h2 align="center">Inspirers</h2>
 <p align="center">
 <p align="center">
   <a href="https://annystudio.com/software/colorpicker/">Just Color Picker</a> v5.1 by AnnyStudio
   <a href="https://annystudio.com/software/colorpicker/">Just Color Picker</a> v5.1 by AnnyStudio
 </p>
 </p>
-
-<h2 align="center">Other "Quick" apps</h2>
-<p align="center">
-  <a href="https://github.com/ModuleArt/quick-picture-viewer/">Quick Picture Viewer</a> - Lightweight desktop photo viewer for Windows<br>
-<a href="https://github.com/ModuleArt/quick-music-player/">Quick Music Player</a> - Lightweight desktop audio player for Windows
-</p>

BIN
docs/darkmode.png


+ 18 - 18
quick-color-picker/AboutForm.Designer.cs

@@ -41,8 +41,8 @@
 			this.updatesLink = new System.Windows.Forms.LinkLabel();
 			this.updatesLink = new System.Windows.Forms.LinkLabel();
 			this.issuesLink = new System.Windows.Forms.LinkLabel();
 			this.issuesLink = new System.Windows.Forms.LinkLabel();
 			this.pagesGroup = new System.Windows.Forms.GroupBox();
 			this.pagesGroup = new System.Windows.Forms.GroupBox();
-			this.licenseLabel = new System.Windows.Forms.Label();
 			this.licenseLink = new System.Windows.Forms.LinkLabel();
 			this.licenseLink = new System.Windows.Forms.LinkLabel();
+			this.licenseLabel = new System.Windows.Forms.Label();
 			((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).BeginInit();
 			((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).BeginInit();
 			this.infoGroup.SuspendLayout();
 			this.infoGroup.SuspendLayout();
 			this.pagesGroup.SuspendLayout();
 			this.pagesGroup.SuspendLayout();
@@ -85,9 +85,9 @@
 			this.companyLabel.Location = new System.Drawing.Point(6, 103);
 			this.companyLabel.Location = new System.Drawing.Point(6, 103);
 			this.companyLabel.Margin = new System.Windows.Forms.Padding(3, 9, 3, 3);
 			this.companyLabel.Margin = new System.Windows.Forms.Padding(3, 9, 3, 3);
 			this.companyLabel.Name = "companyLabel";
 			this.companyLabel.Name = "companyLabel";
-			this.companyLabel.Size = new System.Drawing.Size(83, 15);
+			this.companyLabel.Size = new System.Drawing.Size(127, 15);
 			this.companyLabel.TabIndex = 29;
 			this.companyLabel.TabIndex = 29;
-			this.companyLabel.Text = "by Module Art";
+			this.companyLabel.Text = "Created by Module Art";
 			// 
 			// 
 			// authorLabel
 			// authorLabel
 			// 
 			// 
@@ -141,7 +141,7 @@
 			this.okButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
 			this.okButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
 			this.okButton.FlatAppearance.BorderSize = 0;
 			this.okButton.FlatAppearance.BorderSize = 0;
 			this.okButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
 			this.okButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
-			this.okButton.Location = new System.Drawing.Point(9, 433);
+			this.okButton.Location = new System.Drawing.Point(9, 437);
 			this.okButton.Margin = new System.Windows.Forms.Padding(0);
 			this.okButton.Margin = new System.Windows.Forms.Padding(0);
 			this.okButton.Name = "okButton";
 			this.okButton.Name = "okButton";
 			this.okButton.Size = new System.Drawing.Size(256, 23);
 			this.okButton.Size = new System.Drawing.Size(256, 23);
@@ -160,7 +160,7 @@
 			this.infoGroup.Location = new System.Drawing.Point(9, 118);
 			this.infoGroup.Location = new System.Drawing.Point(9, 118);
 			this.infoGroup.Margin = new System.Windows.Forms.Padding(0, 9, 0, 0);
 			this.infoGroup.Margin = new System.Windows.Forms.Padding(0, 9, 0, 0);
 			this.infoGroup.Name = "infoGroup";
 			this.infoGroup.Name = "infoGroup";
-			this.infoGroup.Size = new System.Drawing.Size(256, 238);
+			this.infoGroup.Size = new System.Drawing.Size(256, 240);
 			this.infoGroup.TabIndex = 34;
 			this.infoGroup.TabIndex = 34;
 			this.infoGroup.TabStop = false;
 			this.infoGroup.TabStop = false;
 			this.infoGroup.Text = "Info";
 			this.infoGroup.Text = "Info";
@@ -195,24 +195,14 @@
 			this.pagesGroup.Controls.Add(this.developerLink);
 			this.pagesGroup.Controls.Add(this.developerLink);
 			this.pagesGroup.Controls.Add(this.projectLink);
 			this.pagesGroup.Controls.Add(this.projectLink);
 			this.pagesGroup.Controls.Add(this.issuesLink);
 			this.pagesGroup.Controls.Add(this.issuesLink);
-			this.pagesGroup.Location = new System.Drawing.Point(9, 365);
+			this.pagesGroup.Location = new System.Drawing.Point(9, 367);
 			this.pagesGroup.Margin = new System.Windows.Forms.Padding(0, 9, 0, 0);
 			this.pagesGroup.Margin = new System.Windows.Forms.Padding(0, 9, 0, 0);
 			this.pagesGroup.Name = "pagesGroup";
 			this.pagesGroup.Name = "pagesGroup";
-			this.pagesGroup.Size = new System.Drawing.Size(256, 60);
+			this.pagesGroup.Size = new System.Drawing.Size(256, 62);
 			this.pagesGroup.TabIndex = 37;
 			this.pagesGroup.TabIndex = 37;
 			this.pagesGroup.TabStop = false;
 			this.pagesGroup.TabStop = false;
 			this.pagesGroup.Text = "Links";
 			this.pagesGroup.Text = "Links";
 			// 
 			// 
-			// 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";
-			// 
 			// licenseLink
 			// licenseLink
 			// 
 			// 
 			this.licenseLink.AutoSize = true;
 			this.licenseLink.AutoSize = true;
@@ -225,12 +215,22 @@
 			this.licenseLink.Text = "License";
 			this.licenseLink.Text = "License";
 			this.licenseLink.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.licenseLink_LinkClicked);
 			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
 			// AboutForm
 			// 
 			// 
 			this.AcceptButton = this.okButton;
 			this.AcceptButton = this.okButton;
 			this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
 			this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
 			this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
 			this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
-			this.ClientSize = new System.Drawing.Size(274, 465);
+			this.ClientSize = new System.Drawing.Size(274, 469);
 			this.Controls.Add(this.licenseLabel);
 			this.Controls.Add(this.licenseLabel);
 			this.Controls.Add(this.pagesGroup);
 			this.Controls.Add(this.pagesGroup);
 			this.Controls.Add(this.infoGroup);
 			this.Controls.Add(this.infoGroup);

+ 22 - 8
quick-color-picker/AboutForm.cs

@@ -8,19 +8,35 @@ namespace quick_color_picker
 {
 {
 	partial class AboutForm : Form
 	partial class AboutForm : Form
 	{
 	{
-		public AboutForm()
+		public AboutForm(bool darkMode)
 		{
 		{
+			if (darkMode)
+			{
+				this.HandleCreated += new EventHandler(ThemeManager.formHandleCreated);
+			}
+
 			InitializeComponent();
 			InitializeComponent();
 
 
-			versionLabel.Text = String.Format("Version: {0}", Assembly.GetExecutingAssembly().GetName().Version.ToString().Substring(0, 5));
+			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 (ThemeManager.isDarkTheme())
+			if (darkMode)
 			{
 			{
 				this.BackColor = ThemeManager.BackColorDark;
 				this.BackColor = ThemeManager.BackColorDark;
 				this.ForeColor = Color.White;
 				this.ForeColor = Color.White;
 
 
-				infoGroup.ForeColor = Color.White;
-				pagesGroup.ForeColor = Color.White;
+				infoGroup.Paint += ThemeManager.PaintDarkGroupBox;
+				pagesGroup.Paint += ThemeManager.PaintDarkGroupBox;
 
 
 				Color linkColor = ThemeManager.AccentColorDark;
 				Color linkColor = ThemeManager.AccentColorDark;
 
 
@@ -31,8 +47,6 @@ namespace quick_color_picker
 				licenseLink.LinkColor = linkColor;
 				licenseLink.LinkColor = linkColor;
 
 
 				okButton.BackColor = ThemeManager.SecondColorDark;
 				okButton.BackColor = ThemeManager.SecondColorDark;
-
-				ThemeManager.enableDarkTitlebar(this.Handle, true);
 			}
 			}
 		}
 		}
 
 
@@ -54,8 +68,8 @@ namespace quick_color_picker
 		private void updatesLink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
 		private void updatesLink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
 		{
 		{
 			MainForm parent = (MainForm)this.Owner;
 			MainForm parent = (MainForm)this.Owner;
-
 			parent.checkForUpdates(true);
 			parent.checkForUpdates(true);
+			this.Close();
 		}
 		}
 
 
 		private void AboutForm_KeyDown(object sender, KeyEventArgs e)
 		private void AboutForm_KeyDown(object sender, KeyEventArgs e)

+ 135 - 0
quick-color-picker/DownloadForm.Designer.cs

@@ -0,0 +1,135 @@
+namespace quick_color_picker
+{
+	partial class DownloadForm
+	{
+		/// <summary>
+		/// Required designer variable.
+		/// </summary>
+		private System.ComponentModel.IContainer components = null;
+
+		/// <summary>
+		/// Clean up any resources being used.
+		/// </summary>
+		/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+		protected override void Dispose(bool disposing)
+		{
+			if (disposing && (components != null))
+			{
+				components.Dispose();
+			}
+			base.Dispose(disposing);
+		}
+
+		#region Windows Form Designer generated code
+
+		/// <summary>
+		/// Required method for Designer support - do not modify
+		/// the contents of this method with the code editor.
+		/// </summary>
+		private void InitializeComponent()
+		{
+			System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DownloadForm));
+			this.progressBar1 = new System.Windows.Forms.ProgressBar();
+			this.logoPictureBox = new System.Windows.Forms.PictureBox();
+			this.statusLabel = new System.Windows.Forms.Label();
+			this.cancelButton = new System.Windows.Forms.Button();
+			this.updateButton = new System.Windows.Forms.Button();
+			((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).BeginInit();
+			this.SuspendLayout();
+			// 
+			// progressBar1
+			// 
+			this.progressBar1.Location = new System.Drawing.Point(9, 123);
+			this.progressBar1.Margin = new System.Windows.Forms.Padding(0, 9, 0, 0);
+			this.progressBar1.Name = "progressBar1";
+			this.progressBar1.Size = new System.Drawing.Size(256, 23);
+			this.progressBar1.TabIndex = 0;
+			// 
+			// 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, 80);
+			this.logoPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
+			this.logoPictureBox.TabIndex = 13;
+			this.logoPictureBox.TabStop = false;
+			// 
+			// statusLabel
+			// 
+			this.statusLabel.AutoSize = true;
+			this.statusLabel.Location = new System.Drawing.Point(12, 98);
+			this.statusLabel.Margin = new System.Windows.Forms.Padding(3, 9, 3, 3);
+			this.statusLabel.Name = "statusLabel";
+			this.statusLabel.Size = new System.Drawing.Size(99, 13);
+			this.statusLabel.TabIndex = 14;
+			this.statusLabel.Text = "Download started...";
+			// 
+			// cancelButton
+			// 
+			this.cancelButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+			this.cancelButton.BackColor = System.Drawing.SystemColors.ControlLight;
+			this.cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+			this.cancelButton.FlatAppearance.BorderSize = 0;
+			this.cancelButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+			this.cancelButton.Location = new System.Drawing.Point(141, 156);
+			this.cancelButton.Margin = new System.Windows.Forms.Padding(0);
+			this.cancelButton.Name = "cancelButton";
+			this.cancelButton.Size = new System.Drawing.Size(124, 23);
+			this.cancelButton.TabIndex = 22;
+			this.cancelButton.Text = "Cancel";
+			this.cancelButton.UseVisualStyleBackColor = false;
+			this.cancelButton.Click += new System.EventHandler(this.cancelButton_Click);
+			// 
+			// updateButton
+			// 
+			this.updateButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+			this.updateButton.BackColor = System.Drawing.SystemColors.ControlLight;
+			this.updateButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+			this.updateButton.FlatAppearance.BorderSize = 0;
+			this.updateButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+			this.updateButton.Location = new System.Drawing.Point(9, 156);
+			this.updateButton.Margin = new System.Windows.Forms.Padding(0);
+			this.updateButton.Name = "updateButton";
+			this.updateButton.Size = new System.Drawing.Size(124, 23);
+			this.updateButton.TabIndex = 23;
+			this.updateButton.Text = "Update";
+			this.updateButton.UseVisualStyleBackColor = false;
+			this.updateButton.Visible = false;
+			this.updateButton.Click += new System.EventHandler(this.updateButton_Click);
+			// 
+			// DownloadForm
+			// 
+			this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+			this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+			this.ClientSize = new System.Drawing.Size(270, 184);
+			this.ControlBox = false;
+			this.Controls.Add(this.updateButton);
+			this.Controls.Add(this.cancelButton);
+			this.Controls.Add(this.statusLabel);
+			this.Controls.Add(this.logoPictureBox);
+			this.Controls.Add(this.progressBar1);
+			this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
+			this.MaximizeBox = false;
+			this.MinimizeBox = false;
+			this.Name = "DownloadForm";
+			this.ShowIcon = false;
+			this.ShowInTaskbar = false;
+			this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
+			this.Text = "Update downloader";
+			((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).EndInit();
+			this.ResumeLayout(false);
+			this.PerformLayout();
+
+		}
+
+		#endregion
+
+		private System.Windows.Forms.ProgressBar progressBar1;
+		private System.Windows.Forms.PictureBox logoPictureBox;
+		private System.Windows.Forms.Label statusLabel;
+		private System.Windows.Forms.Button cancelButton;
+		private System.Windows.Forms.Button updateButton;
+	}
+}

+ 78 - 0
quick-color-picker/DownloadForm.cs

@@ -0,0 +1,78 @@
+using System;
+using System.ComponentModel;
+using System.Windows.Forms;
+using System.Net;
+using System.Diagnostics;
+using System.Drawing;
+
+namespace quick_color_picker
+{
+    public partial class DownloadForm : Form
+    {
+        private string fileName;
+        private WebClient wc;
+
+        public DownloadForm(string url, bool darkMode)
+        {
+            if (darkMode)
+            {
+                this.HandleCreated += new EventHandler(ThemeManager.formHandleCreated);
+            }
+
+            fileName = System.IO.Path.GetFileName(url);
+
+            InitializeComponent();
+
+            if (darkMode)
+            {
+                this.BackColor = ThemeManager.BackColorDark;
+                this.ForeColor = Color.White;
+
+                cancelButton.BackColor = ThemeManager.SecondColorDark;
+                updateButton.BackColor = ThemeManager.SecondColorDark;
+            }
+
+            wc = new WebClient();
+
+            wc.DownloadProgressChanged += wc_DownloadProgressChanged;
+            wc.DownloadFileCompleted += wc_DownloadFileCompleted;
+
+            wc.DownloadFileAsync(new Uri(url), fileName);
+        }
+
+        private void wc_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
+        {
+            progressBar1.Value = e.ProgressPercentage;
+            statusLabel.Text = string.Format("Downloading... {0}%", e.ProgressPercentage);
+        }
+
+        private void wc_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
+        {
+            if (e.Error != null)
+            {
+                statusLabel.Text = "Update failed!";
+            }
+            else if (e.Cancelled)
+            {
+                statusLabel.Text = "Update cancelled!";
+            }
+            else
+            {
+                updateButton.Visible = true;
+                statusLabel.Text = "Download finished!";
+            }
+        }
+
+        private void updateButton_Click(object sender, EventArgs e)
+        {
+            Process.Start(fileName);
+            this.Close();
+            this.Owner.Close();
+        }
+
+        private void cancelButton_Click(object sender, EventArgs e)
+        {
+            wc.CancelAsync();
+        }
+    }
+}

+ 166 - 0
quick-color-picker/DownloadForm.resx

@@ -0,0 +1,166 @@
+<?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>
+        iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAI50lEQVR4Xu2be2xURRTGmzTh
+        DxIMCb6iiDUogZZCebTs9sWWBkRIEZCHTcE0rakKJK08hPAwjW0KlQIJiFCjbo0R5aEVkEoI2EgJEECL
+        yCNQyhaCRZC4SQGFpMl4vrtzt7eXM/feXbqlmJ7klyx753G+uTNnzkyXqG7rtm7rtodpQohoIP/5/zRx
+        +Z0YoojwErWEsMBPoMw6IpeIkc08WgbHpQgfIUTTm0L4ZgtxaYYQF18lsngapwTK+HJpMN7SB6WeKCa6
+        /mCQkx4i8Jab8kjQNCEaJghxITM8UBcDggEMDAZmUW/ZXdcxcqpN+KWcBxOtAjNEmxnaMkmQXT9cI0d6
+        E5jqUvh43vmOBLOqKwwCHCB82lSPxBu3ArGCYoN0pfONOkeE9mvrk3PQRMOBMWL7xxliWaFHzJzqEaNH
+        j2bBM5RBWdTh2gpy6XUMQq50qfMsIJ4iNKI555jk1slMTYiVYDtQF21w7YsLYyk4FlRLtzrHguItpjyE
+        e9dkiImv8KLCYUOJYhAo7kjXIm9OxNdtG9Ohwo1w/WEWSvciaySeAl6B30o83hLneEfB9Ql/pIuRMxKP
+        ra5eteYx5fNnhb/OnTAlK53tG0g3I2ckfp0WcZnOQxWfPS1NrChKEVWr3WLrelc78B2eoYyxzvhx6aJ6
+        c3Jbv6coHuxxC/FVohCVw834CC/hke4/mGlTH/u8QbQRJ+IhAML2VY0SZ2tc4srPqcJ/YrRoqfe0A9/h
+        Gcqg7NoVyRo/fenSnmt97kvhRKuoJh4sbaYBqNVSUJNw4GTNz81L1QRA2L0zqu3sflD2+pE0jWC9rUmc
+        SDvqifAGgcR7tPTW5BxAtOcE6+Ctbyp1i4v7k0MSrmSnixPnlPAGgQagmsvtse6tkhuI3/OpW9w8pg5c
+        IXEwjRMVKl4py5mR+BjV20eSwwkHuvg7CFRM3ZD5ldb+ZyM4QUFubRihwT0z4TxtpgEo5tY+3r5VovPJ
+        ymRb8bdPes4f/zaxwrsqtqB80YvZAJ/P1Lgq8SxY9iydBfhIr1G3IknMnNC2Y+AzvuPKSvyEsxOkaMqv
+        Nzqtg7zcKNgIAp7VtIc4CKXmBxFPEr2InhJ8foYYNCenb9bOTUMXtO4Y1WISEKS+JJH1AeAZV0diHw/o
+        7SeoTnmqbQ9T/9h3tEUxdcDVutTd1DSEQ6id9bi8cvA8k+NBMN0njk1n/QB4ZrMk1PFAm/q43GBS3mtH
+        MtkOQfF89TYnxTu+zyMHexOYrpzzonBGKuuDEZTh6hq4P1Ei4V7t7k2x71tN/992U6Rm6mDaU9MhXWaS
+        c0UmZ4N457nZ/jlQlmtD0v4YHRCPjI/O2IwQgIsKriOkrsq9PoxLC3Ku1uSshtW6V2ERD/yyO028x048
+        UK3/siUW+z1mE06RIdzkknPI5+9z2hjxnYI6XFtAdiffvoPLTK4DUONVHFV1Avd3RbI7W+OcvbZ2JNu3
+        E1CXa1N2Rx36Zvk5x3EnV1hgf9jRQVnlPV5TnuOrq9vrE86bnb23cZiYMs4++JlBHdQ1twdkdzQAeEOM
+        0+Hc5aEO15ZonO74BvefjxJqOIf3Lhgi8iY5D4IoizpcW62bhrXI7mgAmKhvteXZgbrm9pBXyO5s7Y/y
+        +OWc03c2JIjzH8SJE0sHirLZ6iWB5wBlUcfcDvhzdXxwRva4z1kCUR23MFwHVqAOtyPcPZ3RLPuztYXj
+        nuqPN8Q5rrMm38X2nz3B2X3BofcGvCa7i4pqPTemxewwwC0M14kV7W5uDPz7e8Zh2Z0TiyYH2Vmgkz+Z
+        3xEWzaT+mfJGrpbHIzFry0j/Pp6+n3MatzBli1PYjjhQNnhzY8JXm1Isu3NqfbhgCKx2hM/nWJ4DdPHt
+        E7MDXwyfwTkNmg+libwc+/0XZVCWawMzbGF+v/6yO0dGzuJejxWxoUAdCM+V8hEfnCmOraSm2ay0F/J1
+        znlwcleydtjhOgR4hjJcXXDom5HLqQ/HvwIhZ5Xi8fZVByGsf9WWVz712WxqGqdN3nImPR3f7ixugN6g
+        2LFRPep4hjJc3b/2ulsoIueSE7bnASrjIXBcZUWAZTnqJbm5gE94sJSoeRy5LS26smTgZFVAxNrGtbVx
+        Z8BnfKda93eOposrFfFGZyCumIDQBAk+4/BjKRz8uHhUO8FGxmemi6ZVQ9l6F0riSqRGW+uJ6cqJAbi2
+        PvWDS9R9PUoDn/EdV7b1dIbwrR+KhIN1KlQaVqmnPih/Y6Syr20FL4T0O4I+VvEAYLqrprzOlaoRyiQk
+        VOzEI91tLOMzvhsVQ2pJU4+ANIdmFQ+ccLPGLW6u4R0KFUx7K/Fgy9wE5ds/8O5LM6SskCx6oufxpHAG
+        oeVgqvCVDWadCQVEe6uAp7MiO1H41/Frn74/QVqcXMGxpg3CjaNptZxQjuZtSVr+jc4hYPt8l4bqOMqB
+        stjn7d46wLZ3ZZV6sL25z2dJLWEb9u7+uMlFXEA+bxaNSH/9ewqIZXGi+cNAxMfVtFkAUlcIwzPc0hjB
+        d3imSm85IP6X5YHB5mgsjdtCvttufU4N0wj7eDwxQgcnrrPFsdpbMCYg4dzchIIuXrXuse/npfTBDXTk
+        jDrCzS3rAOd0R4E1j0FXiafvWypn9ZtMLkb898fRnAOAc/xBQaJT9fZQyzUPcIok3zps6lsa5wDAW+JE
+        hAOE4/Lj8JJYZbTXqV0wACfOPgHvOsGQZHCO4C2tzR0e1h2eDuqiDQhHcFVNeZ1OFw9rKIlT/gHj+uoh
+        4tT7g8SuwsBgzJ3ishwQPEMZlEUd1EUbdsKx5h+KeGnKSwsdpMMQcrE0ThOFnYMDz1AGZZ2m0Hc3Dmte
+        O70vMr2HIl4zRFy8Bc7BSIJ9/uW4x9zkQucEPAvribfQWYOA9JYyPPyJ/Tmiy/xXm56ZA3ul4b6Nc7oj
+        MAgfQISd30fS8DZi5nieyMLdm11scALWOKY62qS2u6xws+HsHfilBzmOCA0ReIN2ywRlMIuOLx1YIUUj
+        9cZUD+0834UMjiNCQwTeIG5mgmcJBpTBmQM/n3lkRXdbt3Xbo2JRUf8BlsBl8kNoBr4AAAAASUVORK5C
+        YII=
+</value>
+  </data>
+</root>

+ 166 - 64
quick-color-picker/MainForm.Designer.cs

@@ -47,10 +47,10 @@
 			this.toolStrip1 = new System.Windows.Forms.ToolStrip();
 			this.toolStrip1 = new System.Windows.Forms.ToolStrip();
 			this.onTopButton = new System.Windows.Forms.ToolStripButton();
 			this.onTopButton = new System.Windows.Forms.ToolStripButton();
 			this.formatButton = 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.clearListButton = new System.Windows.Forms.ToolStripButton();
 			this.deleteButton = new System.Windows.Forms.ToolStripButton();
 			this.deleteButton = new System.Windows.Forms.ToolStripButton();
 			this.aboutButton = new System.Windows.Forms.ToolStripButton();
 			this.aboutButton = new System.Windows.Forms.ToolStripButton();
-			this.label1 = new System.Windows.Forms.Label();
 			this.gradPanel1 = new System.Windows.Forms.Panel();
 			this.gradPanel1 = new System.Windows.Forms.Panel();
 			this.gradPanel2 = new System.Windows.Forms.Panel();
 			this.gradPanel2 = new System.Windows.Forms.Panel();
 			this.gradPanel3 = new System.Windows.Forms.Panel();
 			this.gradPanel3 = new System.Windows.Forms.Panel();
@@ -62,23 +62,33 @@
 			this.cmykCopyButton = new System.Windows.Forms.Button();
 			this.cmykCopyButton = new System.Windows.Forms.Button();
 			this.htmlCopyButton = new System.Windows.Forms.Button();
 			this.htmlCopyButton = new System.Windows.Forms.Button();
 			this.rgbCopyButton = new System.Windows.Forms.Button();
 			this.rgbCopyButton = new System.Windows.Forms.Button();
-			this.pictureBox1 = new System.Windows.Forms.PictureBox();
+			this.aimPictureBox = new System.Windows.Forms.PictureBox();
 			this.hsvTextBox = new System.Windows.Forms.TextBox();
 			this.hsvTextBox = new System.Windows.Forms.TextBox();
 			this.hsvLabel = new System.Windows.Forms.Label();
 			this.hsvLabel = new System.Windows.Forms.Label();
 			this.hsvCopyButton = new System.Windows.Forms.Button();
 			this.hsvCopyButton = new System.Windows.Forms.Button();
 			this.ratioPanel = new System.Windows.Forms.Panel();
 			this.ratioPanel = new System.Windows.Forms.Panel();
 			this.ratioWhiteLabel = new System.Windows.Forms.Label();
 			this.ratioWhiteLabel = new System.Windows.Forms.Label();
 			this.ratioBlackLabel = 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();
 			this.toolStrip1.SuspendLayout();
-			((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
+			((System.ComponentModel.ISupportInitialize)(this.aimPictureBox)).BeginInit();
 			this.ratioPanel.SuspendLayout();
 			this.ratioPanel.SuspendLayout();
+			((System.ComponentModel.ISupportInitialize)(this.linearGradPictureBox)).BeginInit();
+			this.statusStrip1.SuspendLayout();
 			this.SuspendLayout();
 			this.SuspendLayout();
 			// 
 			// 
 			// colorPanel
 			// colorPanel
 			// 
 			// 
 			this.colorPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
 			this.colorPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-			this.colorPanel.Location = new System.Drawing.Point(9, 138);
-			this.colorPanel.Margin = new System.Windows.Forms.Padding(0, 10, 0, 10);
+			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.Name = "colorPanel";
 			this.colorPanel.Size = new System.Drawing.Size(40, 40);
 			this.colorPanel.Size = new System.Drawing.Size(40, 40);
 			this.colorPanel.TabIndex = 2;
 			this.colorPanel.TabIndex = 2;
@@ -93,7 +103,7 @@
 			this.rgbTextBox.Multiline = true;
 			this.rgbTextBox.Multiline = true;
 			this.rgbTextBox.Name = "rgbTextBox";
 			this.rgbTextBox.Name = "rgbTextBox";
 			this.rgbTextBox.ReadOnly = true;
 			this.rgbTextBox.ReadOnly = true;
-			this.rgbTextBox.Size = new System.Drawing.Size(153, 20);
+			this.rgbTextBox.Size = new System.Drawing.Size(137, 20);
 			this.rgbTextBox.TabIndex = 3;
 			this.rgbTextBox.TabIndex = 3;
 			this.rgbTextBox.Text = "255, 255, 255";
 			this.rgbTextBox.Text = "255, 255, 255";
 			this.rgbTextBox.WordWrap = false;
 			this.rgbTextBox.WordWrap = false;
@@ -130,7 +140,7 @@
 			this.htmlTextBox.Multiline = true;
 			this.htmlTextBox.Multiline = true;
 			this.htmlTextBox.Name = "htmlTextBox";
 			this.htmlTextBox.Name = "htmlTextBox";
 			this.htmlTextBox.ReadOnly = true;
 			this.htmlTextBox.ReadOnly = true;
-			this.htmlTextBox.Size = new System.Drawing.Size(153, 20);
+			this.htmlTextBox.Size = new System.Drawing.Size(137, 20);
 			this.htmlTextBox.TabIndex = 6;
 			this.htmlTextBox.TabIndex = 6;
 			this.htmlTextBox.Text = "#FFFFFF";
 			this.htmlTextBox.Text = "#FFFFFF";
 			this.htmlTextBox.WordWrap = false;
 			this.htmlTextBox.WordWrap = false;
@@ -139,7 +149,7 @@
 			// 
 			// 
 			this.xLabel.AutoSize = true;
 			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.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, 141);
+			this.xLabel.Location = new System.Drawing.Point(55, 12);
 			this.xLabel.Margin = new System.Windows.Forms.Padding(13, 13, 13, 3);
 			this.xLabel.Margin = new System.Windows.Forms.Padding(13, 13, 13, 3);
 			this.xLabel.Name = "xLabel";
 			this.xLabel.Name = "xLabel";
 			this.xLabel.Size = new System.Drawing.Size(26, 15);
 			this.xLabel.Size = new System.Drawing.Size(26, 15);
@@ -150,7 +160,7 @@
 			// 
 			// 
 			this.yLabel.AutoSize = true;
 			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.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, 160);
+			this.yLabel.Location = new System.Drawing.Point(55, 31);
 			this.yLabel.Margin = new System.Windows.Forms.Padding(3);
 			this.yLabel.Margin = new System.Windows.Forms.Padding(3);
 			this.yLabel.Name = "yLabel";
 			this.yLabel.Name = "yLabel";
 			this.yLabel.Size = new System.Drawing.Size(26, 15);
 			this.yLabel.Size = new System.Drawing.Size(26, 15);
@@ -164,10 +174,10 @@
 			this.colorList.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
 			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.FormattingEnabled = true;
 			this.colorList.ItemHeight = 17;
 			this.colorList.ItemHeight = 17;
-			this.colorList.Location = new System.Drawing.Point(325, 41);
+			this.colorList.Location = new System.Drawing.Point(309, 41);
 			this.colorList.Margin = new System.Windows.Forms.Padding(0);
 			this.colorList.Margin = new System.Windows.Forms.Padding(0);
 			this.colorList.Name = "colorList";
 			this.colorList.Name = "colorList";
-			this.colorList.Size = new System.Drawing.Size(135, 257);
+			this.colorList.Size = new System.Drawing.Size(151, 223);
 			this.colorList.TabIndex = 1;
 			this.colorList.TabIndex = 1;
 			this.colorList.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.colorList_DrawItem);
 			this.colorList.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.colorList_DrawItem);
 			this.colorList.SelectedIndexChanged += new System.EventHandler(this.colorList_SelectedIndexChanged);
 			this.colorList.SelectedIndexChanged += new System.EventHandler(this.colorList_SelectedIndexChanged);
@@ -182,7 +192,7 @@
 			this.cmykTextBox.Multiline = true;
 			this.cmykTextBox.Multiline = true;
 			this.cmykTextBox.Name = "cmykTextBox";
 			this.cmykTextBox.Name = "cmykTextBox";
 			this.cmykTextBox.ReadOnly = true;
 			this.cmykTextBox.ReadOnly = true;
-			this.cmykTextBox.Size = new System.Drawing.Size(153, 20);
+			this.cmykTextBox.Size = new System.Drawing.Size(137, 20);
 			this.cmykTextBox.TabIndex = 12;
 			this.cmykTextBox.TabIndex = 12;
 			this.cmykTextBox.Text = "0, 0, 0, 0";
 			this.cmykTextBox.Text = "0, 0, 0, 0";
 			this.cmykTextBox.WordWrap = false;
 			this.cmykTextBox.WordWrap = false;
@@ -208,7 +218,7 @@
 			this.hslTextBox.Multiline = true;
 			this.hslTextBox.Multiline = true;
 			this.hslTextBox.Name = "hslTextBox";
 			this.hslTextBox.Name = "hslTextBox";
 			this.hslTextBox.ReadOnly = true;
 			this.hslTextBox.ReadOnly = true;
-			this.hslTextBox.Size = new System.Drawing.Size(153, 20);
+			this.hslTextBox.Size = new System.Drawing.Size(137, 20);
 			this.hslTextBox.TabIndex = 16;
 			this.hslTextBox.TabIndex = 16;
 			this.hslTextBox.Text = "0, 0, 100";
 			this.hslTextBox.Text = "0, 0, 100";
 			this.hslTextBox.WordWrap = false;
 			this.hslTextBox.WordWrap = false;
@@ -234,7 +244,7 @@
 			this.rgbOneTextBox.Multiline = true;
 			this.rgbOneTextBox.Multiline = true;
 			this.rgbOneTextBox.Name = "rgbOneTextBox";
 			this.rgbOneTextBox.Name = "rgbOneTextBox";
 			this.rgbOneTextBox.ReadOnly = true;
 			this.rgbOneTextBox.ReadOnly = true;
-			this.rgbOneTextBox.Size = new System.Drawing.Size(153, 20);
+			this.rgbOneTextBox.Size = new System.Drawing.Size(137, 20);
 			this.rgbOneTextBox.TabIndex = 19;
 			this.rgbOneTextBox.TabIndex = 19;
 			this.rgbOneTextBox.Text = "1; 1; 1";
 			this.rgbOneTextBox.Text = "1; 1; 1";
 			this.rgbOneTextBox.WordWrap = false;
 			this.rgbOneTextBox.WordWrap = false;
@@ -259,14 +269,15 @@
 			this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
 			this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.onTopButton,
             this.onTopButton,
             this.formatButton,
             this.formatButton,
+            this.toolStripSeparator1,
             this.clearListButton,
             this.clearListButton,
             this.deleteButton,
             this.deleteButton,
             this.aboutButton});
             this.aboutButton});
-			this.toolStrip1.Location = new System.Drawing.Point(320, 0);
+			this.toolStrip1.Location = new System.Drawing.Point(304, 0);
 			this.toolStrip1.Name = "toolStrip1";
 			this.toolStrip1.Name = "toolStrip1";
 			this.toolStrip1.Padding = new System.Windows.Forms.Padding(5);
 			this.toolStrip1.Padding = new System.Windows.Forms.Padding(5);
 			this.toolStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;
 			this.toolStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;
-			this.toolStrip1.Size = new System.Drawing.Size(149, 35);
+			this.toolStrip1.Size = new System.Drawing.Size(165, 35);
 			this.toolStrip1.TabIndex = 24;
 			this.toolStrip1.TabIndex = 24;
 			this.toolStrip1.Text = "toolStrip1";
 			this.toolStrip1.Text = "toolStrip1";
 			// 
 			// 
@@ -296,6 +307,13 @@
 			this.formatButton.ToolTipText = "Another format | Ctrl + F";
 			this.formatButton.ToolTipText = "Another format | Ctrl + F";
 			this.formatButton.Click += new System.EventHandler(this.formatButton_Click);
 			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
 			// clearListButton
 			// 
 			// 
 			this.clearListButton.AutoSize = false;
 			this.clearListButton.AutoSize = false;
@@ -316,7 +334,7 @@
 			this.deleteButton.ImageTransparentColor = System.Drawing.Color.Magenta;
 			this.deleteButton.ImageTransparentColor = System.Drawing.Color.Magenta;
 			this.deleteButton.Name = "deleteButton";
 			this.deleteButton.Name = "deleteButton";
 			this.deleteButton.Size = new System.Drawing.Size(24, 25);
 			this.deleteButton.Size = new System.Drawing.Size(24, 25);
-			this.deleteButton.Text = "Remove selected color | Delete";
+			this.deleteButton.Text = "Delete selected color | Delete";
 			this.deleteButton.Click += new System.EventHandler(this.deleteButton_Click);
 			this.deleteButton.Click += new System.EventHandler(this.deleteButton_Click);
 			// 
 			// 
 			// aboutButton
 			// aboutButton
@@ -331,25 +349,14 @@
 			this.aboutButton.Text = "About | F1";
 			this.aboutButton.Text = "About | F1";
 			this.aboutButton.Click += new System.EventHandler(this.aboutButton_Click);
 			this.aboutButton.Click += new System.EventHandler(this.aboutButton_Click);
 			// 
 			// 
-			// label1
-			// 
-			this.label1.AutoSize = true;
-			this.label1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
-			this.label1.Location = new System.Drawing.Point(6, 187);
-			this.label1.Margin = new System.Windows.Forms.Padding(0, 0, 0, 10);
-			this.label1.Name = "label1";
-			this.label1.Size = new System.Drawing.Size(101, 15);
-			this.label1.TabIndex = 25;
-			this.label1.Text = "Pick color: Alt + X";
-			// 
 			// gradPanel1
 			// gradPanel1
 			// 
 			// 
 			this.gradPanel1.BackColor = System.Drawing.Color.White;
 			this.gradPanel1.BackColor = System.Drawing.Color.White;
 			this.gradPanel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
 			this.gradPanel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-			this.gradPanel1.Location = new System.Drawing.Point(9, 211);
+			this.gradPanel1.Location = new System.Drawing.Point(9, 187);
 			this.gradPanel1.Margin = new System.Windows.Forms.Padding(0);
 			this.gradPanel1.Margin = new System.Windows.Forms.Padding(0);
 			this.gradPanel1.Name = "gradPanel1";
 			this.gradPanel1.Name = "gradPanel1";
-			this.gradPanel1.Size = new System.Drawing.Size(24, 48);
+			this.gradPanel1.Size = new System.Drawing.Size(24, 24);
 			this.gradPanel1.TabIndex = 26;
 			this.gradPanel1.TabIndex = 26;
 			this.gradPanel1.Click += new System.EventHandler(this.gradPanel_Click);
 			this.gradPanel1.Click += new System.EventHandler(this.gradPanel_Click);
 			// 
 			// 
@@ -357,10 +364,10 @@
 			// 
 			// 
 			this.gradPanel2.BackColor = System.Drawing.Color.White;
 			this.gradPanel2.BackColor = System.Drawing.Color.White;
 			this.gradPanel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
 			this.gradPanel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-			this.gradPanel2.Location = new System.Drawing.Point(33, 211);
+			this.gradPanel2.Location = new System.Drawing.Point(33, 187);
 			this.gradPanel2.Margin = new System.Windows.Forms.Padding(0);
 			this.gradPanel2.Margin = new System.Windows.Forms.Padding(0);
 			this.gradPanel2.Name = "gradPanel2";
 			this.gradPanel2.Name = "gradPanel2";
-			this.gradPanel2.Size = new System.Drawing.Size(24, 48);
+			this.gradPanel2.Size = new System.Drawing.Size(24, 24);
 			this.gradPanel2.TabIndex = 27;
 			this.gradPanel2.TabIndex = 27;
 			this.gradPanel2.Click += new System.EventHandler(this.gradPanel_Click);
 			this.gradPanel2.Click += new System.EventHandler(this.gradPanel_Click);
 			// 
 			// 
@@ -368,10 +375,10 @@
 			// 
 			// 
 			this.gradPanel3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230)))));
 			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.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-			this.gradPanel3.Location = new System.Drawing.Point(81, 211);
+			this.gradPanel3.Location = new System.Drawing.Point(81, 187);
 			this.gradPanel3.Margin = new System.Windows.Forms.Padding(0);
 			this.gradPanel3.Margin = new System.Windows.Forms.Padding(0);
 			this.gradPanel3.Name = "gradPanel3";
 			this.gradPanel3.Name = "gradPanel3";
-			this.gradPanel3.Size = new System.Drawing.Size(24, 48);
+			this.gradPanel3.Size = new System.Drawing.Size(24, 24);
 			this.gradPanel3.TabIndex = 27;
 			this.gradPanel3.TabIndex = 27;
 			this.gradPanel3.Click += new System.EventHandler(this.gradPanel_Click);
 			this.gradPanel3.Click += new System.EventHandler(this.gradPanel_Click);
 			// 
 			// 
@@ -379,10 +386,10 @@
 			// 
 			// 
 			this.gradPanel4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(205)))), ((int)(((byte)(205)))));
 			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.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-			this.gradPanel4.Location = new System.Drawing.Point(105, 211);
+			this.gradPanel4.Location = new System.Drawing.Point(105, 187);
 			this.gradPanel4.Margin = new System.Windows.Forms.Padding(0);
 			this.gradPanel4.Margin = new System.Windows.Forms.Padding(0);
 			this.gradPanel4.Name = "gradPanel4";
 			this.gradPanel4.Name = "gradPanel4";
-			this.gradPanel4.Size = new System.Drawing.Size(24, 48);
+			this.gradPanel4.Size = new System.Drawing.Size(24, 24);
 			this.gradPanel4.TabIndex = 27;
 			this.gradPanel4.TabIndex = 27;
 			this.gradPanel4.Click += new System.EventHandler(this.gradPanel_Click);
 			this.gradPanel4.Click += new System.EventHandler(this.gradPanel_Click);
 			// 
 			// 
@@ -390,10 +397,10 @@
 			// 
 			// 
 			this.gradPanel.BackColor = System.Drawing.Color.White;
 			this.gradPanel.BackColor = System.Drawing.Color.White;
 			this.gradPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
 			this.gradPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-			this.gradPanel.Location = new System.Drawing.Point(57, 211);
+			this.gradPanel.Location = new System.Drawing.Point(57, 187);
 			this.gradPanel.Margin = new System.Windows.Forms.Padding(0);
 			this.gradPanel.Margin = new System.Windows.Forms.Padding(0);
 			this.gradPanel.Name = "gradPanel";
 			this.gradPanel.Name = "gradPanel";
-			this.gradPanel.Size = new System.Drawing.Size(24, 48);
+			this.gradPanel.Size = new System.Drawing.Size(24, 24);
 			this.gradPanel.TabIndex = 28;
 			this.gradPanel.TabIndex = 28;
 			this.gradPanel.Click += new System.EventHandler(this.gradPanel_Click);
 			this.gradPanel.Click += new System.EventHandler(this.gradPanel_Click);
 			// 
 			// 
@@ -402,7 +409,7 @@
 			this.rgbOneCopyButton.FlatAppearance.BorderSize = 0;
 			this.rgbOneCopyButton.FlatAppearance.BorderSize = 0;
 			this.rgbOneCopyButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
 			this.rgbOneCopyButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
 			this.rgbOneCopyButton.Image = ((System.Drawing.Image)(resources.GetObject("rgbOneCopyButton.Image")));
 			this.rgbOneCopyButton.Image = ((System.Drawing.Image)(resources.GetObject("rgbOneCopyButton.Image")));
-			this.rgbOneCopyButton.Location = new System.Drawing.Point(293, 225);
+			this.rgbOneCopyButton.Location = new System.Drawing.Point(277, 225);
 			this.rgbOneCopyButton.Name = "rgbOneCopyButton";
 			this.rgbOneCopyButton.Name = "rgbOneCopyButton";
 			this.rgbOneCopyButton.Size = new System.Drawing.Size(25, 25);
 			this.rgbOneCopyButton.Size = new System.Drawing.Size(25, 25);
 			this.rgbOneCopyButton.TabIndex = 20;
 			this.rgbOneCopyButton.TabIndex = 20;
@@ -414,7 +421,7 @@
 			this.hslCopyButton.FlatAppearance.BorderSize = 0;
 			this.hslCopyButton.FlatAppearance.BorderSize = 0;
 			this.hslCopyButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
 			this.hslCopyButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
 			this.hslCopyButton.Image = ((System.Drawing.Image)(resources.GetObject("hslCopyButton.Image")));
 			this.hslCopyButton.Image = ((System.Drawing.Image)(resources.GetObject("hslCopyButton.Image")));
-			this.hslCopyButton.Location = new System.Drawing.Point(293, 175);
+			this.hslCopyButton.Location = new System.Drawing.Point(277, 175);
 			this.hslCopyButton.Name = "hslCopyButton";
 			this.hslCopyButton.Name = "hslCopyButton";
 			this.hslCopyButton.Size = new System.Drawing.Size(25, 25);
 			this.hslCopyButton.Size = new System.Drawing.Size(25, 25);
 			this.hslCopyButton.TabIndex = 17;
 			this.hslCopyButton.TabIndex = 17;
@@ -426,7 +433,7 @@
 			this.cmykCopyButton.FlatAppearance.BorderSize = 0;
 			this.cmykCopyButton.FlatAppearance.BorderSize = 0;
 			this.cmykCopyButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
 			this.cmykCopyButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
 			this.cmykCopyButton.Image = ((System.Drawing.Image)(resources.GetObject("cmykCopyButton.Image")));
 			this.cmykCopyButton.Image = ((System.Drawing.Image)(resources.GetObject("cmykCopyButton.Image")));
-			this.cmykCopyButton.Location = new System.Drawing.Point(293, 125);
+			this.cmykCopyButton.Location = new System.Drawing.Point(277, 125);
 			this.cmykCopyButton.Name = "cmykCopyButton";
 			this.cmykCopyButton.Name = "cmykCopyButton";
 			this.cmykCopyButton.Size = new System.Drawing.Size(25, 25);
 			this.cmykCopyButton.Size = new System.Drawing.Size(25, 25);
 			this.cmykCopyButton.TabIndex = 14;
 			this.cmykCopyButton.TabIndex = 14;
@@ -438,7 +445,7 @@
 			this.htmlCopyButton.FlatAppearance.BorderSize = 0;
 			this.htmlCopyButton.FlatAppearance.BorderSize = 0;
 			this.htmlCopyButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
 			this.htmlCopyButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
 			this.htmlCopyButton.Image = ((System.Drawing.Image)(resources.GetObject("htmlCopyButton.Image")));
 			this.htmlCopyButton.Image = ((System.Drawing.Image)(resources.GetObject("htmlCopyButton.Image")));
-			this.htmlCopyButton.Location = new System.Drawing.Point(293, 75);
+			this.htmlCopyButton.Location = new System.Drawing.Point(277, 75);
 			this.htmlCopyButton.Name = "htmlCopyButton";
 			this.htmlCopyButton.Name = "htmlCopyButton";
 			this.htmlCopyButton.Size = new System.Drawing.Size(25, 25);
 			this.htmlCopyButton.Size = new System.Drawing.Size(25, 25);
 			this.htmlCopyButton.TabIndex = 10;
 			this.htmlCopyButton.TabIndex = 10;
@@ -450,22 +457,22 @@
 			this.rgbCopyButton.FlatAppearance.BorderSize = 0;
 			this.rgbCopyButton.FlatAppearance.BorderSize = 0;
 			this.rgbCopyButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
 			this.rgbCopyButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
 			this.rgbCopyButton.Image = ((System.Drawing.Image)(resources.GetObject("rgbCopyButton.Image")));
 			this.rgbCopyButton.Image = ((System.Drawing.Image)(resources.GetObject("rgbCopyButton.Image")));
-			this.rgbCopyButton.Location = new System.Drawing.Point(293, 25);
+			this.rgbCopyButton.Location = new System.Drawing.Point(277, 25);
 			this.rgbCopyButton.Name = "rgbCopyButton";
 			this.rgbCopyButton.Name = "rgbCopyButton";
 			this.rgbCopyButton.Size = new System.Drawing.Size(25, 25);
 			this.rgbCopyButton.Size = new System.Drawing.Size(25, 25);
 			this.rgbCopyButton.TabIndex = 9;
 			this.rgbCopyButton.TabIndex = 9;
 			this.rgbCopyButton.UseVisualStyleBackColor = true;
 			this.rgbCopyButton.UseVisualStyleBackColor = true;
 			this.rgbCopyButton.Click += new System.EventHandler(this.rgbCopyButton_Click);
 			this.rgbCopyButton.Click += new System.EventHandler(this.rgbCopyButton_Click);
 			// 
 			// 
-			// pictureBox1
+			// aimPictureBox
 			// 
 			// 
-			this.pictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-			this.pictureBox1.Location = new System.Drawing.Point(9, 9);
-			this.pictureBox1.Margin = new System.Windows.Forms.Padding(0);
-			this.pictureBox1.Name = "pictureBox1";
-			this.pictureBox1.Size = new System.Drawing.Size(120, 120);
-			this.pictureBox1.TabIndex = 0;
-			this.pictureBox1.TabStop = false;
+			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
 			// hsvTextBox
 			// 
 			// 
@@ -477,7 +484,7 @@
 			this.hsvTextBox.Multiline = true;
 			this.hsvTextBox.Multiline = true;
 			this.hsvTextBox.Name = "hsvTextBox";
 			this.hsvTextBox.Name = "hsvTextBox";
 			this.hsvTextBox.ReadOnly = true;
 			this.hsvTextBox.ReadOnly = true;
-			this.hsvTextBox.Size = new System.Drawing.Size(153, 20);
+			this.hsvTextBox.Size = new System.Drawing.Size(137, 20);
 			this.hsvTextBox.TabIndex = 30;
 			this.hsvTextBox.TabIndex = 30;
 			this.hsvTextBox.Text = "0, 0, 100";
 			this.hsvTextBox.Text = "0, 0, 100";
 			this.hsvTextBox.WordWrap = false;
 			this.hsvTextBox.WordWrap = false;
@@ -498,7 +505,7 @@
 			this.hsvCopyButton.FlatAppearance.BorderSize = 0;
 			this.hsvCopyButton.FlatAppearance.BorderSize = 0;
 			this.hsvCopyButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
 			this.hsvCopyButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
 			this.hsvCopyButton.Image = ((System.Drawing.Image)(resources.GetObject("hsvCopyButton.Image")));
 			this.hsvCopyButton.Image = ((System.Drawing.Image)(resources.GetObject("hsvCopyButton.Image")));
-			this.hsvCopyButton.Location = new System.Drawing.Point(293, 275);
+			this.hsvCopyButton.Location = new System.Drawing.Point(277, 275);
 			this.hsvCopyButton.Name = "hsvCopyButton";
 			this.hsvCopyButton.Name = "hsvCopyButton";
 			this.hsvCopyButton.Size = new System.Drawing.Size(25, 25);
 			this.hsvCopyButton.Size = new System.Drawing.Size(25, 25);
 			this.hsvCopyButton.TabIndex = 31;
 			this.hsvCopyButton.TabIndex = 31;
@@ -511,10 +518,10 @@
 			this.ratioPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
 			this.ratioPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
 			this.ratioPanel.Controls.Add(this.ratioWhiteLabel);
 			this.ratioPanel.Controls.Add(this.ratioWhiteLabel);
 			this.ratioPanel.Controls.Add(this.ratioBlackLabel);
 			this.ratioPanel.Controls.Add(this.ratioBlackLabel);
-			this.ratioPanel.Location = new System.Drawing.Point(9, 265);
-			this.ratioPanel.Margin = new System.Windows.Forms.Padding(3, 6, 3, 3);
+			this.ratioPanel.Location = new System.Drawing.Point(9, 253);
+			this.ratioPanel.Margin = new System.Windows.Forms.Padding(0);
 			this.ratioPanel.Name = "ratioPanel";
 			this.ratioPanel.Name = "ratioPanel";
-			this.ratioPanel.Size = new System.Drawing.Size(120, 33);
+			this.ratioPanel.Size = new System.Drawing.Size(120, 45);
 			this.ratioPanel.TabIndex = 32;
 			this.ratioPanel.TabIndex = 32;
 			// 
 			// 
 			// ratioWhiteLabel
 			// ratioWhiteLabel
@@ -523,7 +530,7 @@
 			this.ratioWhiteLabel.BackColor = System.Drawing.Color.Transparent;
 			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.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.ForeColor = System.Drawing.Color.White;
-			this.ratioWhiteLabel.Location = new System.Drawing.Point(65, 8);
+			this.ratioWhiteLabel.Location = new System.Drawing.Point(65, 14);
 			this.ratioWhiteLabel.Margin = new System.Windows.Forms.Padding(3);
 			this.ratioWhiteLabel.Margin = new System.Windows.Forms.Padding(3);
 			this.ratioWhiteLabel.Name = "ratioWhiteLabel";
 			this.ratioWhiteLabel.Name = "ratioWhiteLabel";
 			this.ratioWhiteLabel.Size = new System.Drawing.Size(41, 15);
 			this.ratioWhiteLabel.Size = new System.Drawing.Size(41, 15);
@@ -536,18 +543,103 @@
 			this.ratioBlackLabel.BackColor = System.Drawing.Color.Transparent;
 			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.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.ForeColor = System.Drawing.Color.Black;
-			this.ratioBlackLabel.Location = new System.Drawing.Point(13, 8);
+			this.ratioBlackLabel.Location = new System.Drawing.Point(13, 14);
 			this.ratioBlackLabel.Margin = new System.Windows.Forms.Padding(3);
 			this.ratioBlackLabel.Margin = new System.Windows.Forms.Padding(3);
 			this.ratioBlackLabel.Name = "ratioBlackLabel";
 			this.ratioBlackLabel.Name = "ratioBlackLabel";
 			this.ratioBlackLabel.Size = new System.Drawing.Size(37, 15);
 			this.ratioBlackLabel.Size = new System.Drawing.Size(37, 15);
 			this.ratioBlackLabel.TabIndex = 33;
 			this.ratioBlackLabel.TabIndex = 33;
 			this.ratioBlackLabel.Text = "Black";
 			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
 			// MainForm
 			// 
 			// 
 			this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
 			this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
 			this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
 			this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
-			this.ClientSize = new System.Drawing.Size(469, 307);
+			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.ratioPanel);
 			this.Controls.Add(this.hsvCopyButton);
 			this.Controls.Add(this.hsvCopyButton);
 			this.Controls.Add(this.hsvTextBox);
 			this.Controls.Add(this.hsvTextBox);
@@ -557,7 +649,6 @@
 			this.Controls.Add(this.gradPanel3);
 			this.Controls.Add(this.gradPanel3);
 			this.Controls.Add(this.gradPanel2);
 			this.Controls.Add(this.gradPanel2);
 			this.Controls.Add(this.gradPanel1);
 			this.Controls.Add(this.gradPanel1);
-			this.Controls.Add(this.label1);
 			this.Controls.Add(this.toolStrip1);
 			this.Controls.Add(this.toolStrip1);
 			this.Controls.Add(this.rgbOneCopyButton);
 			this.Controls.Add(this.rgbOneCopyButton);
 			this.Controls.Add(this.rgbOneTextBox);
 			this.Controls.Add(this.rgbOneTextBox);
@@ -578,7 +669,7 @@
 			this.Controls.Add(this.rgbTextBox);
 			this.Controls.Add(this.rgbTextBox);
 			this.Controls.Add(this.colorPanel);
 			this.Controls.Add(this.colorPanel);
 			this.Controls.Add(this.colorList);
 			this.Controls.Add(this.colorList);
-			this.Controls.Add(this.pictureBox1);
+			this.Controls.Add(this.aimPictureBox);
 			this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
 			this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
 			this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
 			this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
 			this.KeyPreview = true;
 			this.KeyPreview = true;
@@ -592,9 +683,12 @@
 			this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.MainForm_KeyDown);
 			this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.MainForm_KeyDown);
 			this.toolStrip1.ResumeLayout(false);
 			this.toolStrip1.ResumeLayout(false);
 			this.toolStrip1.PerformLayout();
 			this.toolStrip1.PerformLayout();
-			((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
+			((System.ComponentModel.ISupportInitialize)(this.aimPictureBox)).EndInit();
 			this.ratioPanel.ResumeLayout(false);
 			this.ratioPanel.ResumeLayout(false);
 			this.ratioPanel.PerformLayout();
 			this.ratioPanel.PerformLayout();
+			((System.ComponentModel.ISupportInitialize)(this.linearGradPictureBox)).EndInit();
+			this.statusStrip1.ResumeLayout(false);
+			this.statusStrip1.PerformLayout();
 			this.ResumeLayout(false);
 			this.ResumeLayout(false);
 			this.PerformLayout();
 			this.PerformLayout();
 
 
@@ -602,7 +696,7 @@
 
 
 		#endregion
 		#endregion
 
 
-		private System.Windows.Forms.PictureBox pictureBox1;
+		private System.Windows.Forms.PictureBox aimPictureBox;
 		private System.Windows.Forms.Panel colorPanel;
 		private System.Windows.Forms.Panel colorPanel;
 		private System.Windows.Forms.TextBox rgbTextBox;
 		private System.Windows.Forms.TextBox rgbTextBox;
 		private System.Windows.Forms.Label rgbLabel;
 		private System.Windows.Forms.Label rgbLabel;
@@ -627,7 +721,6 @@
 		private System.Windows.Forms.ToolStripButton clearListButton;
 		private System.Windows.Forms.ToolStripButton clearListButton;
 		private System.Windows.Forms.ToolStripButton aboutButton;
 		private System.Windows.Forms.ToolStripButton aboutButton;
 		private System.Windows.Forms.ToolStripButton deleteButton;
 		private System.Windows.Forms.ToolStripButton deleteButton;
-		private System.Windows.Forms.Label label1;
 		private System.Windows.Forms.Panel gradPanel1;
 		private System.Windows.Forms.Panel gradPanel1;
 		private System.Windows.Forms.Panel gradPanel2;
 		private System.Windows.Forms.Panel gradPanel2;
 		private System.Windows.Forms.Panel gradPanel3;
 		private System.Windows.Forms.Panel gradPanel3;
@@ -641,6 +734,15 @@
 		private System.Windows.Forms.Panel ratioPanel;
 		private System.Windows.Forms.Panel ratioPanel;
 		private System.Windows.Forms.Label ratioBlackLabel;
 		private System.Windows.Forms.Label ratioBlackLabel;
 		private System.Windows.Forms.Label ratioWhiteLabel;
 		private System.Windows.Forms.Label ratioWhiteLabel;
+		private System.Windows.Forms.TextBox renameTextBox;
+		private System.Windows.Forms.Button renameButton;
+		private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
+		private System.Windows.Forms.PictureBox linearGradPictureBox;
+		private System.Windows.Forms.StatusStrip statusStrip1;
+		private System.Windows.Forms.ToolStripStatusLabel rgbStatusLabel;
+		private System.Windows.Forms.ToolStripStatusLabel hexStatusLabel;
+		private System.Windows.Forms.ToolStripStatusLabel pickColorStatusLabel;
+		private System.Windows.Forms.ToolStripStatusLabel copyColorStatusLabel;
 	}
 	}
 }
 }
 
 

+ 185 - 39
quick-color-picker/MainForm.cs

@@ -1,5 +1,7 @@
 using System;
 using System;
+using System.Collections.Generic;
 using System.Drawing;
 using System.Drawing;
+using System.Drawing.Drawing2D;
 using System.IO;
 using System.IO;
 using System.Threading;
 using System.Threading;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
@@ -11,9 +13,10 @@ namespace quick_color_picker
 	{
 	{
 		private Pen aimPen = new Pen(Color.Red, 1);
 		private Pen aimPen = new Pen(Color.Red, 1);
 		private Color aimColor;
 		private Color aimColor;
-		private bool darkMode = false;
 		private bool alwaysOnTop = true;
 		private bool alwaysOnTop = true;
 		private bool anotherFormat = false;
 		private bool anotherFormat = false;
+		private bool darkMode;
+		private List<string> colors = new List<string>();
 
 
 		private enum KeyModifier
 		private enum KeyModifier
 		{
 		{
@@ -24,8 +27,15 @@ namespace quick_color_picker
 			WinKey = 8
 			WinKey = 8
 		}
 		}
 
 
-		public MainForm()
+		public MainForm(bool darkMode)
 		{
 		{
+			this.darkMode = darkMode;
+
+			if (darkMode)
+			{
+				this.HandleCreated += new EventHandler(ThemeManager.formHandleCreated);
+			}
+
 			InitializeComponent();
 			InitializeComponent();
 
 
 			copyTooltip.SetToolTip(rgbCopyButton, "Copy value");
 			copyTooltip.SetToolTip(rgbCopyButton, "Copy value");
@@ -34,9 +44,17 @@ namespace quick_color_picker
 			copyTooltip.SetToolTip(hslCopyButton, "Copy value");
 			copyTooltip.SetToolTip(hslCopyButton, "Copy value");
 			copyTooltip.SetToolTip(rgbOneCopyButton, "Copy value");
 			copyTooltip.SetToolTip(rgbOneCopyButton, "Copy value");
 			copyTooltip.SetToolTip(hsvCopyButton, "Copy value");
 			copyTooltip.SetToolTip(hsvCopyButton, "Copy value");
+			copyTooltip.SetToolTip(renameButton, "Rename selected color");
 
 
-			setAlwaysOnTop(Properties.Settings.Default.AlwaysOnTop, false);
-			setAnotherFormat(Properties.Settings.Default.AnotherFormat, false);
+			toolStrip1.Renderer = new ToolStripOverride();
+
+			renameTextBox.AutoSize = false;
+			renameTextBox.Height = 20;
+
+			if (darkMode)
+			{
+				applyDarkTheme();
+			}
 		}
 		}
 
 
 		private void CaptureScreen()
 		private void CaptureScreen()
@@ -64,19 +82,24 @@ namespace quick_color_picker
 
 
 					scaledBmp.Dispose();
 					scaledBmp.Dispose();
 
 
-					if (pictureBox1.Image != null) pictureBox1.Image.Dispose();
+					if (aimPictureBox.Image != null) aimPictureBox.Image.Dispose();
 
 
-					pictureBox1.Image = bmp;
+					aimPictureBox.Image = bmp;
 
 
-					aimColor = bmp.GetPixel(pictureBox1.Width / 2, pictureBox1.Height / 2);
+					aimColor = bmp.GetPixel(aimPictureBox.Width / 2, aimPictureBox.Height / 2);
 					colorPanel.BackColor = aimColor;
 					colorPanel.BackColor = aimColor;
 
 
-					g.DrawLine(aimPen, 0, pictureBox1.Height / 2, pictureBox1.Width, pictureBox1.Height / 2);
-					g.DrawLine(aimPen, pictureBox1.Width / 2, 0, pictureBox1.Height / 2, pictureBox1.Height);
+					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));
 				xLabel.Invoke((MethodInvoker)(() => xLabel.Text = "X: " + Cursor.Position.X));
 				yLabel.Invoke((MethodInvoker)(() => yLabel.Text = "Y: " + Cursor.Position.Y));
 				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
 			catch
 			{
 			{
@@ -93,14 +116,7 @@ namespace quick_color_picker
 		private void MainForm_Load(object sender, EventArgs e)
 		private void MainForm_Load(object sender, EventArgs e)
 		{
 		{
 			RegisterHotKey(this.Handle, 0, (int) KeyModifier.Alt, Keys.X.GetHashCode());
 			RegisterHotKey(this.Handle, 0, (int) KeyModifier.Alt, Keys.X.GetHashCode());
-
-			toolStrip1.Renderer = new ToolStripOverride();
-
-			darkMode = ThemeManager.isDarkTheme();
-			if (darkMode)
-			{
-				applyDarkTheme();
-			}
+			RegisterHotKey(this.Handle, 1, (int)KeyModifier.Alt, Keys.C.GetHashCode());
 
 
 			Task task = new Task(() =>
 			Task task = new Task(() =>
 			{
 			{
@@ -116,6 +132,9 @@ namespace quick_color_picker
 			LoadColorList();
 			LoadColorList();
 
 
 			checkForUpdates(false);
 			checkForUpdates(false);
+
+			setAlwaysOnTop(Properties.Settings.Default.AlwaysOnTop, false);
+			setAnotherFormat(Properties.Settings.Default.AnotherFormat, false);
 		}
 		}
 
 
 		protected override void WndProc(ref Message m)
 		protected override void WndProc(ref Message m)
@@ -126,9 +145,18 @@ namespace quick_color_picker
 			{
 			{
 				Keys key = (Keys)(((int)m.LParam >> 16) & 0xFFFF);             
 				Keys key = (Keys)(((int)m.LParam >> 16) & 0xFFFF);             
 				KeyModifier modifier = (KeyModifier)((int)m.LParam & 0xFFFF);  
 				KeyModifier modifier = (KeyModifier)((int)m.LParam & 0xFFFF);  
-				int id = m.WParam.ToInt32();
 
 
-				GetColor();
+				if (modifier == KeyModifier.Alt)
+				{
+					if (key == Keys.X)
+					{
+						GetColor();
+					}
+					else if (key == Keys.C)
+					{
+						CopyColor();
+					}
+				}
 			}
 			}
 		}
 		}
 
 
@@ -137,24 +165,32 @@ namespace quick_color_picker
 			UnregisterHotKey(this.Handle, 0);
 			UnregisterHotKey(this.Handle, 0);
 		}
 		}
 
 
+		private void CopyColor()
+		{
+			Clipboard.SetText(this.Text = aimColor.R + ", " + aimColor.G + ", " + aimColor.B);
+		}
+
 		private void GetColor()
 		private void GetColor()
 		{
 		{
 			AddColor(aimColor);
 			AddColor(aimColor);
 			colorList.SetSelected(colorList.Items.Count - 1, true);
 			colorList.SetSelected(colorList.Items.Count - 1, true);
 			SaveColorList();
 			SaveColorList();
+			SaveColorNames();
 		}
 		}
 
 
 		private void AddColor(Color c)
 		private void AddColor(Color c)
 		{
 		{
+			colors.Add(c.R + ", " + c.G + ", " + c.B);
 			colorList.Items.Add(c.R + ", " + c.G + ", " + c.B);
 			colorList.Items.Add(c.R + ", " + c.G + ", " + c.B);
 		}
 		}
 
 
-		private void AddColor(string s)
+		private void AddColor(string color, string name)
 		{
 		{
 			try
 			try
 			{
 			{
-				ColorManager.TextToColor(s);
-				colorList.Items.Add(s);
+				ColorManager.TextToColor(color);
+				colors.Add(color);
+				colorList.Items.Add(name);
 			}
 			}
 			catch
 			catch
 			{
 			{
@@ -170,12 +206,13 @@ namespace quick_color_picker
 
 
 				int itemIndex = e.Index;
 				int itemIndex = e.Index;
 				string itemText = colorList.Items[itemIndex].ToString();
 				string itemText = colorList.Items[itemIndex].ToString();
+				string colorText = colors[itemIndex]; ;
 
 
 				if (itemIndex >= 0 && itemIndex < colorList.Items.Count)
 				if (itemIndex >= 0 && itemIndex < colorList.Items.Count)
 				{
 				{
 					Graphics g = e.Graphics;
 					Graphics g = e.Graphics;
 
 
-					Color c = ColorManager.TextToColor(itemText);
+					Color c = ColorManager.TextToColor(colorText);
 
 
 					// Background color
 					// Background color
 					SolidBrush backgroundColorBrush = new SolidBrush(c);
 					SolidBrush backgroundColorBrush = new SolidBrush(c);
@@ -217,8 +254,11 @@ namespace quick_color_picker
 			if (colorList.SelectedIndex != -1)
 			if (colorList.SelectedIndex != -1)
 			{
 			{
 				deleteButton.Enabled = true;
 				deleteButton.Enabled = true;
+				renameButton.Enabled = true;
+				renameTextBox.Enabled = true;
+				renameTextBox.Text = colorList.Items[colorList.SelectedIndex].ToString();
 
 
-				string t = colorList.Items[colorList.SelectedIndex].ToString();
+				string t = colors[colorList.SelectedIndex];
 				Color c = ColorManager.TextToColor(t);
 				Color c = ColorManager.TextToColor(t);
 
 
 				string htmlText = ColorTranslator.ToHtml(c).ToString();
 				string htmlText = ColorTranslator.ToHtml(c).ToString();
@@ -303,10 +343,15 @@ namespace quick_color_picker
 				}
 				}
 
 
 				gradPanel4.BackColor = Color.FromArgb(r4, g4, b4);
 				gradPanel4.BackColor = Color.FromArgb(r4, g4, b4);
+
+				CreateLinearGradient(gradPanel1.BackColor, gradPanel.BackColor, gradPanel4.BackColor);
 			}
 			}
 			else
 			else
 			{
 			{
 				deleteButton.Enabled = false;
 				deleteButton.Enabled = false;
+				renameButton.Enabled = false;
+				renameTextBox.Enabled = false;
+				renameTextBox.Text = "";
 			}
 			}
 
 
 			colorList.Refresh();
 			colorList.Refresh();
@@ -335,6 +380,7 @@ namespace quick_color_picker
 			this.ForeColor = Color.White;
 			this.ForeColor = Color.White;
 			toolStrip1.BackColor = ThemeManager.BackColorDark;
 			toolStrip1.BackColor = ThemeManager.BackColorDark;
 			colorList.BackColor = ThemeManager.SecondColorDark;
 			colorList.BackColor = ThemeManager.SecondColorDark;
+			statusStrip1.BackColor = ThemeManager.SecondColorDark;
 
 
 			rgbTextBox.BackColor = ThemeManager.SecondColorDark;
 			rgbTextBox.BackColor = ThemeManager.SecondColorDark;
 			rgbTextBox.ForeColor = Color.White;
 			rgbTextBox.ForeColor = Color.White;
@@ -367,7 +413,9 @@ namespace quick_color_picker
 			formatButton.Image = Properties.Resources.white_format;
 			formatButton.Image = Properties.Resources.white_format;
 			aboutButton.Image = Properties.Resources.white_about;
 			aboutButton.Image = Properties.Resources.white_about;
 
 
-			ThemeManager.enableDarkTitlebar(this.Handle, true);
+			renameTextBox.BackColor = ThemeManager.SecondColorDark;
+			renameTextBox.ForeColor = Color.White;
+			renameButton.Image = Properties.Resources.white_rename;
 		}
 		}
 
 
 		private void hslCopyButton_Click(object sender, EventArgs e)
 		private void hslCopyButton_Click(object sender, EventArgs e)
@@ -447,9 +495,14 @@ namespace quick_color_picker
 
 
 		private void clearListButton_Click(object sender, EventArgs e)
 		private void clearListButton_Click(object sender, EventArgs e)
 		{
 		{
+			colors.Clear();
 			colorList.Items.Clear();
 			colorList.Items.Clear();
 			SaveColorList();
 			SaveColorList();
+			SaveColorNames();
 			deleteButton.Enabled = false;
 			deleteButton.Enabled = false;
+			renameButton.Enabled = false;
+			renameTextBox.Enabled = false;
+			renameTextBox.Text = "";
 		}
 		}
 
 
 		private void deleteButton_Click(object sender, EventArgs e)
 		private void deleteButton_Click(object sender, EventArgs e)
@@ -458,6 +511,7 @@ namespace quick_color_picker
 			{
 			{
 				int curIndex = colorList.SelectedIndex;
 				int curIndex = colorList.SelectedIndex;
 				colorList.Items.RemoveAt(curIndex);
 				colorList.Items.RemoveAt(curIndex);
+				colors.RemoveAt(curIndex);
 
 
 				if (colorList.Items.Count > 0)
 				if (colorList.Items.Count > 0)
 				{
 				{
@@ -472,12 +526,13 @@ namespace quick_color_picker
 				}
 				}
 
 
 				SaveColorList();
 				SaveColorList();
+				SaveColorNames();
 			}
 			}
 		}
 		}
 
 
 		private void aboutButton_Click(object sender, EventArgs e)
 		private void aboutButton_Click(object sender, EventArgs e)
 		{
 		{
-			AboutForm aboutBox = new AboutForm();
+			AboutForm aboutBox = new AboutForm(darkMode);
 			aboutBox.Owner = this;
 			aboutBox.Owner = this;
 			if (alwaysOnTop)
 			if (alwaysOnTop)
 			{
 			{
@@ -511,18 +566,23 @@ namespace quick_color_picker
 				}
 				}
 				else
 				else
 				{
 				{
-					UpdateForm updateDialog = new UpdateForm(checker, "Quick Picture Viewer");
+					UpdateForm updateDialog = new UpdateForm(checker, "Quick Color Picker", darkMode);
 
 
 					if (alwaysOnTop)
 					if (alwaysOnTop)
 					{
 					{
 						updateDialog.TopMost = true;
 						updateDialog.TopMost = true;
 					}
 					}
 
 
-					var result = updateDialog.ShowDialog();
+					DialogResult result = updateDialog.ShowDialog();
 					if (result == DialogResult.Yes)
 					if (result == DialogResult.Yes)
 					{
 					{
-						checker.DownloadAsset("QuickColorPicker-Setup.msi");
-						this.Close();
+						DownloadForm downloadBox = new DownloadForm(checker.GetAssetUrl("QuickColorPicker-Setup.msi"), darkMode);
+						downloadBox.Owner = this;
+						if (alwaysOnTop)
+						{
+							downloadBox.TopMost = true;
+						}
+						downloadBox.ShowDialog();
 					}
 					}
 					else
 					else
 					{
 					{
@@ -551,10 +611,40 @@ namespace quick_color_picker
 					di.Create();
 					di.Create();
 				}
 				}
 
 
-				string path = Path.Combine(appDataFolder, "color-list.txt");
-				FileInfo fi = new FileInfo(path);
+				string colorListPath = Path.Combine(appDataFolder, "color-list.txt");
+				FileInfo fiColors = new FileInfo(colorListPath);
 
 
-				using (StreamWriter sw = fi.CreateText())
+				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];
 					string[] linesToWrite = new string[colorList.Items.Count];
 					for (int i = 0; i < colorList.Items.Count; i++)
 					for (int i = 0; i < colorList.Items.Count; i++)
@@ -563,7 +653,7 @@ namespace quick_color_picker
 					}
 					}
 				}
 				}
 			}
 			}
-			catch
+			catch 
 			{
 			{
 
 
 			}
 			}
@@ -573,19 +663,26 @@ namespace quick_color_picker
 		{
 		{
 			try
 			try
 			{
 			{
-				string path = Path.Combine(
-					Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), 
+				string colorListTxt = Path.Combine(
+					Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
 					"Quick Color Picker",
 					"Quick Color Picker",
 					"color-list.txt"
 					"color-list.txt"
 				);
 				);
 
 
-				string[] lines = File.ReadAllLines(path);
+				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 < lines.Length; i++)
+				for (int i = 0; i < colorsLines.Length; i++)
 				{
 				{
 					try
 					try
 					{
 					{
-						AddColor(lines[i]);
+						AddColor(colorsLines[i], namesLines[i]);
 					}
 					}
 					catch
 					catch
 					{
 					{
@@ -615,5 +712,54 @@ namespace quick_color_picker
 		{
 		{
 			Clipboard.SetText(hsvTextBox.Text);
 			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);
+		}
 	}
 	}
 }
 }

+ 11 - 0
quick-color-picker/MainForm.resx

@@ -215,6 +215,17 @@
         W3VLWwAAAABJRU5ErkJggg==
         W3VLWwAAAABJRU5ErkJggg==
 </value>
 </value>
   </data>
   </data>
+  <data name="renameButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAJNJREFUOE/N
+        klEKgkAURacN1G9urAXYYgRbjC2g3fjjV19BiUGe6/jgKSlaPx44vLkw3lGZsHl2WOENT1hgias44hk/
+        /UzwJ1QwyQWfqE3fFH5qb9alnhr3cTmJFYgDvuIy4tu9ntlswR40PbP570/I8Y128ljhZ4ODn7gEK1iN
+        XjdFFWgqL0ZX+YF2la94x80QQgtWuTcMJdaciAAAAABJRU5ErkJggg==
+</value>
+  </data>
+  <metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>238, 17</value>
+  </metadata>
   <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
   <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
     <value>
         AAABAAUAYGAAAAEAIAColAAAVgAAAEBAAAABACAAKEIAAP6UAAAwMAAAAQAgAKglAAAm1wAAICAAAAEA
         AAABAAUAYGAAAAEAIAColAAAVgAAAEBAAAABACAAKEIAAP6UAAAwMAAAAQAgAKglAAAm1wAAICAAAAEA

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

@@ -17,7 +17,7 @@ namespace quick_color_picker
 
 
 			Application.EnableVisualStyles();
 			Application.EnableVisualStyles();
 			Application.SetCompatibleTextRenderingDefault(false);
 			Application.SetCompatibleTextRenderingDefault(false);
-			Application.Run(new MainForm());
+			Application.Run(new MainForm(ThemeManager.isDarkTheme()));
 		}
 		}
 
 
 		[System.Runtime.InteropServices.DllImport("user32.dll")]
 		[System.Runtime.InteropServices.DllImport("user32.dll")]

+ 2 - 2
quick-color-picker/Properties/AssemblyInfo.cs

@@ -32,6 +32,6 @@ using System.Runtime.InteropServices;
 // You can specify all the values or you can default the Build and Revision Numbers
 // You can specify all the values or you can default the Build and Revision Numbers
 // by using the '*' as shown below:
 // by using the '*' as shown below:
 // [assembly: AssemblyVersion("1.0.*")]
 // [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.2.2")]
-[assembly: AssemblyFileVersion("1.2.2")]
+[assembly: AssemblyVersion("1.3.0")]
+[assembly: AssemblyFileVersion("1.3.0")]
 [assembly: NeutralResourcesLanguage("en")]
 [assembly: NeutralResourcesLanguage("en")]

+ 10 - 0
quick-color-picker/Properties/Resources.Designer.cs

@@ -110,6 +110,16 @@ namespace quick_color_picker.Properties {
             }
             }
         }
         }
         
         
+        /// <summary>
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
+        /// </summary>
+        internal static System.Drawing.Bitmap white_rename {
+            get {
+                object obj = ResourceManager.GetObject("white_rename", resourceCulture);
+                return ((System.Drawing.Bitmap)(obj));
+            }
+        }
+        
         /// <summary>
         /// <summary>
         ///   Looks up a localized resource of type System.Drawing.Bitmap.
         ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         /// </summary>

+ 3 - 0
quick-color-picker/Properties/Resources.resx

@@ -136,4 +136,7 @@
   <data name="white-trash" type="System.Resources.ResXFileRef, System.Windows.Forms">
   <data name="white-trash" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\resources\imgs\light\white-trash.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
     <value>..\resources\imgs\light\white-trash.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
   </data>
+  <data name="white_rename" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\resources\imgs\light\white-rename.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
 </root>
 </root>

+ 54 - 17
quick-color-picker/ThemeManager.cs

@@ -1,7 +1,9 @@
 using Microsoft.Win32;
 using Microsoft.Win32;
 using System;
 using System;
 using System.Drawing;
 using System.Drawing;
+using System.Drawing.Text;
 using System.Runtime.InteropServices;
 using System.Runtime.InteropServices;
+using System.Windows.Forms;
 
 
 namespace quick_color_picker
 namespace quick_color_picker
 {
 {
@@ -9,7 +11,7 @@ namespace quick_color_picker
 	{
 	{
 		public static Color MainColorDark = Color.Black;
 		public static Color MainColorDark = Color.Black;
 		public static Color BackColorDark = Color.FromArgb(32, 32, 32);
 		public static Color BackColorDark = Color.FromArgb(32, 32, 32);
-		public static Color SecondColorDark = Color.FromArgb(51, 51, 51);
+		public static Color SecondColorDark = Color.FromArgb(56, 56, 56);
 		public static Color AccentColorDark = Color.FromArgb(73, 169, 207);
 		public static Color AccentColorDark = Color.FromArgb(73, 169, 207);
 
 
 		private enum WindowCompositionAttribute
 		private enum WindowCompositionAttribute
@@ -63,15 +65,7 @@ namespace quick_color_picker
 		[DllImport("user32.dll")]
 		[DllImport("user32.dll")]
 		private static extern bool SetWindowCompositionAttribute(IntPtr hwnd, ref WindowCompositionAttribData data);
 		private static extern bool SetWindowCompositionAttribute(IntPtr hwnd, ref WindowCompositionAttribData data);
 
 
-		[DllImport("user32.dll")]
-		private static extern bool UpdateWindow(IntPtr hWnd);
-
-		public static void allowDarkModeForApp(bool dark)
-		{
-			AllowDarkModeForApp(dark);
-		}
-
-		public static void enableDarkTitlebar(IntPtr handle, bool dark)
+		private static void enableDarkTitlebar(IntPtr handle, bool dark)
 		{
 		{
 			AllowDarkModeForWindow(handle, dark);
 			AllowDarkModeForWindow(handle, dark);
 
 
@@ -86,7 +80,18 @@ namespace quick_color_picker
 			};
 			};
 			SetWindowCompositionAttribute(handle, ref data);
 			SetWindowCompositionAttribute(handle, ref data);
 
 
-			UpdateWindow(handle);
+			Marshal.FreeHGlobal(dataPtr);
+		}
+
+		public static void allowDarkModeForApp(bool dark)
+		{
+			AllowDarkModeForApp(dark);
+		}
+
+		public static void formHandleCreated(object sender, EventArgs e)
+		{
+			Form f = sender as Form;
+			enableDarkTitlebar(f.Handle, true);
 		}
 		}
 
 
 		public static void setDarkModeToControl(IntPtr handle)
 		public static void setDarkModeToControl(IntPtr handle)
@@ -98,9 +103,16 @@ namespace quick_color_picker
 		{
 		{
 			if (isWindows10())
 			if (isWindows10())
 			{
 			{
-				string root = "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize";
-				string str = Registry.GetValue(root, "AppsUseLightTheme", null).ToString();
-				return (str == "0");
+				try
+				{
+					string root = "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize";
+					string str = Registry.GetValue(root, "AppsUseLightTheme", null).ToString();
+					return (str == "0");
+				}
+				catch
+				{
+					return false;
+				}
 			}
 			}
 			else
 			else
 			{
 			{
@@ -110,9 +122,34 @@ namespace quick_color_picker
 
 
 		public static bool isWindows10()
 		public static bool isWindows10()
 		{
 		{
-			var reg = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion");
-			string productName = (string)reg.GetValue("ProductName");
-			return productName.StartsWith("Windows 10");
+			try
+			{
+				var reg = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion");
+				string productName = (string)reg.GetValue("ProductName");
+				return productName.StartsWith("Windows 10");
+			}
+			catch
+			{
+				return false;
+			}
+		}
+
+		public static void PaintDarkGroupBox(object sender, PaintEventArgs p)
+		{
+			GroupBox box = (GroupBox)sender;
+
+			SolidBrush brush = new SolidBrush(ThemeManager.SecondColorDark);
+			Pen pen = new Pen(brush, 1);
+
+			p.Graphics.Clear(ThemeManager.BackColorDark);
+
+			p.Graphics.TextRenderingHint = TextRenderingHint.AntiAlias;
+			p.Graphics.DrawString(box.Text, box.Font, Brushes.White, -1, -3);
+
+			p.Graphics.DrawLine(pen, 0, 16, 0, box.Height - 2);
+			p.Graphics.DrawLine(pen, 0, 16, box.Width - 1, 16);
+			p.Graphics.DrawLine(pen, box.Width - 1, 16, box.Width - 1, box.Height - 2);
+			p.Graphics.DrawLine(pen, 0, box.Height - 2, box.Width - 1, box.Height - 2);
 		}
 		}
 	}
 	}
 }
 }

+ 2 - 4
quick-color-picker/UpdateChecker.cs

@@ -75,12 +75,10 @@ namespace quick_color_picker
 			return await Github.Miscellaneous.RenderRawMarkdown(LatestRelease.Body);
 			return await Github.Miscellaneous.RenderRawMarkdown(LatestRelease.Body);
 		}
 		}
 
 
-		public void DownloadAsset(string assetname)
+		public string GetAssetUrl(string assetname)
 		{
 		{
 			const string template = "https://github.com/{0}/{1}/releases/download/{2}/{3}";
 			const string template = "https://github.com/{0}/{1}/releases/download/{2}/{3}";
-			var url = string.Format(template, RepositoryOwner, RepostoryName, LatestRelease.TagName, assetname);
-
-			System.Diagnostics.Process.Start(url);
+			return string.Format(template, RepositoryOwner, RepostoryName, LatestRelease.TagName, assetname);
 		}
 		}
 	}
 	}
 }
 }

+ 6 - 4
quick-color-picker/UpdateForm.Designer.cs

@@ -46,12 +46,12 @@
 			this.buttonNo.FlatAppearance.BorderSize = 0;
 			this.buttonNo.FlatAppearance.BorderSize = 0;
 			this.buttonNo.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
 			this.buttonNo.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
 			this.buttonNo.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
 			this.buttonNo.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
-			this.buttonNo.Location = new System.Drawing.Point(206, 108);
+			this.buttonNo.Location = new System.Drawing.Point(290, 108);
 			this.buttonNo.Margin = new System.Windows.Forms.Padding(0);
 			this.buttonNo.Margin = new System.Windows.Forms.Padding(0);
 			this.buttonNo.Name = "buttonNo";
 			this.buttonNo.Name = "buttonNo";
 			this.buttonNo.Size = new System.Drawing.Size(75, 23);
 			this.buttonNo.Size = new System.Drawing.Size(75, 23);
 			this.buttonNo.TabIndex = 2;
 			this.buttonNo.TabIndex = 2;
-			this.buttonNo.Text = "No";
+			this.buttonNo.Text = "Close";
 			this.buttonNo.UseVisualStyleBackColor = false;
 			this.buttonNo.UseVisualStyleBackColor = false;
 			// 
 			// 
 			// buttonYes
 			// buttonYes
@@ -62,12 +62,12 @@
 			this.buttonYes.FlatAppearance.BorderSize = 0;
 			this.buttonYes.FlatAppearance.BorderSize = 0;
 			this.buttonYes.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
 			this.buttonYes.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
 			this.buttonYes.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
 			this.buttonYes.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
-			this.buttonYes.Location = new System.Drawing.Point(290, 108);
+			this.buttonYes.Location = new System.Drawing.Point(205, 108);
 			this.buttonYes.Margin = new System.Windows.Forms.Padding(0);
 			this.buttonYes.Margin = new System.Windows.Forms.Padding(0);
 			this.buttonYes.Name = "buttonYes";
 			this.buttonYes.Name = "buttonYes";
 			this.buttonYes.Size = new System.Drawing.Size(75, 23);
 			this.buttonYes.Size = new System.Drawing.Size(75, 23);
 			this.buttonYes.TabIndex = 1;
 			this.buttonYes.TabIndex = 1;
-			this.buttonYes.Text = "Yes";
+			this.buttonYes.Text = "Download";
 			this.buttonYes.UseVisualStyleBackColor = false;
 			this.buttonYes.UseVisualStyleBackColor = false;
 			// 
 			// 
 			// label1
 			// label1
@@ -171,11 +171,13 @@
 			this.Controls.Add(this.label2);
 			this.Controls.Add(this.label2);
 			this.Controls.Add(this.label1);
 			this.Controls.Add(this.label1);
 			this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
 			this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+			this.KeyPreview = true;
 			this.MinimumSize = new System.Drawing.Size(320, 39);
 			this.MinimumSize = new System.Drawing.Size(320, 39);
 			this.Name = "UpdateForm";
 			this.Name = "UpdateForm";
 			this.ShowInTaskbar = false;
 			this.ShowInTaskbar = false;
 			this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
 			this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
 			this.Text = "Update available!";
 			this.Text = "Update available!";
+			this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.UpdateForm_KeyDown);
 			this.ResumeLayout(false);
 			this.ResumeLayout(false);
 			this.PerformLayout();
 			this.PerformLayout();
 
 

+ 15 - 4
quick-color-picker/UpdateForm.cs

@@ -9,8 +9,13 @@ namespace quick_color_picker
 		private readonly UpdateChecker _checker;
 		private readonly UpdateChecker _checker;
 		private bool _loadednotes;
 		private bool _loadednotes;
 
 
-		public UpdateForm(UpdateChecker checker, string appName)
+		public UpdateForm(UpdateChecker checker, string appName, bool darkMode)
 		{
 		{
+			if (darkMode)
+			{
+				this.HandleCreated += new EventHandler(ThemeManager.formHandleCreated);
+			}
+
 			_checker = checker;
 			_checker = checker;
 
 
 			InitializeComponent();
 			InitializeComponent();
@@ -21,7 +26,7 @@ namespace quick_color_picker
 			currentLabel.Text = string.Format(currentLabel.Text, _checker.CurrentVersion);
 			currentLabel.Text = string.Format(currentLabel.Text, _checker.CurrentVersion);
 			latestLabel.Text = string.Format(latestLabel.Text, _checker.LatestRelease.TagName);
 			latestLabel.Text = string.Format(latestLabel.Text, _checker.LatestRelease.TagName);
 
 
-			if (ThemeManager.isDarkTheme())
+			if (darkMode)
 			{
 			{
 				this.BackColor = ThemeManager.BackColorDark;
 				this.BackColor = ThemeManager.BackColorDark;
 				this.ForeColor = Color.White;
 				this.ForeColor = Color.White;
@@ -29,8 +34,6 @@ namespace quick_color_picker
 				buttonYes.BackColor = ThemeManager.SecondColorDark;
 				buttonYes.BackColor = ThemeManager.SecondColorDark;
 				buttonNo.BackColor = ThemeManager.SecondColorDark;
 				buttonNo.BackColor = ThemeManager.SecondColorDark;
 				boxReleaseNotes.BackColor = ThemeManager.SecondColorDark;
 				boxReleaseNotes.BackColor = ThemeManager.SecondColorDark;
-
-				ThemeManager.enableDarkTitlebar(this.Handle, true);
 			}
 			}
 		}
 		}
 
 
@@ -52,5 +55,13 @@ namespace quick_color_picker
 			ReleaseNotes.DocumentText = await _checker.RenderReleaseNotes();
 			ReleaseNotes.DocumentText = await _checker.RenderReleaseNotes();
 			_loadednotes = true;
 			_loadednotes = true;
 		}
 		}
+
+		private void UpdateForm_KeyDown(object sender, KeyEventArgs e)
+		{
+			if (e.KeyCode == Keys.Escape)
+			{
+				this.Close();
+			}
+		}
 	}
 	}
 }
 }

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


BIN
quick-color-picker/bin/Debug/quick-color-picker.pdb


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


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


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


+ 1 - 0
quick-color-picker/obj/Debug/quick-color-picker.csproj.FileListAbsolute.txt

@@ -10,3 +10,4 @@ D:\Projects\DotNet\quick-color-picker\quick-color-picker\obj\Debug\quick_color_p
 D:\Projects\DotNet\quick-color-picker\quick-color-picker\bin\Debug\Octokit.dll
 D:\Projects\DotNet\quick-color-picker\quick-color-picker\bin\Debug\Octokit.dll
 D:\Projects\DotNet\quick-color-picker\quick-color-picker\obj\Debug\quick_color_picker.AboutForm.resources
 D:\Projects\DotNet\quick-color-picker\quick-color-picker\obj\Debug\quick_color_picker.AboutForm.resources
 D:\Projects\DotNet\quick-color-picker\quick-color-picker\obj\Debug\quick-color-picker.csproj.CopyComplete
 D:\Projects\DotNet\quick-color-picker\quick-color-picker\obj\Debug\quick-color-picker.csproj.CopyComplete
+D:\Projects\DotNet\quick-color-picker\quick-color-picker\obj\Debug\quick_color_picker.DownloadForm.resources

BIN
quick-color-picker/obj/Debug/quick-color-picker.csproj.GenerateResource.cache


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


BIN
quick-color-picker/obj/Debug/quick-color-picker.exe


BIN
quick-color-picker/obj/Debug/quick-color-picker.pdb


BIN
quick-color-picker/obj/Debug/quick_color_picker.DownloadForm.resources


BIN
quick-color-picker/obj/Debug/quick_color_picker.MainForm.resources


BIN
quick-color-picker/obj/Debug/quick_color_picker.Properties.Resources.resources


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


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


+ 1 - 0
quick-color-picker/obj/Release/quick-color-picker.csproj.FileListAbsolute.txt

@@ -10,3 +10,4 @@ D:\Projects\DotNet\quick-color-picker\quick-color-picker\obj\Release\quick-color
 D:\Projects\DotNet\quick-color-picker\quick-color-picker\obj\Release\quick-color-picker.csproj.CopyComplete
 D:\Projects\DotNet\quick-color-picker\quick-color-picker\obj\Release\quick-color-picker.csproj.CopyComplete
 D:\Projects\DotNet\quick-color-picker\quick-color-picker\obj\Release\quick-color-picker.exe
 D:\Projects\DotNet\quick-color-picker\quick-color-picker\obj\Release\quick-color-picker.exe
 D:\Projects\DotNet\quick-color-picker\quick-color-picker\obj\Release\quick-color-picker.pdb
 D:\Projects\DotNet\quick-color-picker\quick-color-picker\obj\Release\quick-color-picker.pdb
+D:\Projects\DotNet\quick-color-picker\quick-color-picker\obj\Release\quick_color_picker.DownloadForm.resources

BIN
quick-color-picker/obj/Release/quick-color-picker.csproj.GenerateResource.cache


BIN
quick-color-picker/obj/Release/quick-color-picker.csprojAssemblyReference.cache


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


BIN
quick-color-picker/obj/Release/quick-color-picker.pdb


BIN
quick-color-picker/obj/Release/quick_color_picker.DownloadForm.resources


BIN
quick-color-picker/obj/Release/quick_color_picker.MainForm.resources


BIN
quick-color-picker/obj/Release/quick_color_picker.Properties.Resources.resources


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

@@ -22,6 +22,7 @@
     <DefineConstants>DEBUG;TRACE</DefineConstants>
     <DefineConstants>DEBUG;TRACE</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
     <WarningLevel>4</WarningLevel>
+    <Prefer32Bit>false</Prefer32Bit>
   </PropertyGroup>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
     <PlatformTarget>AnyCPU</PlatformTarget>
     <PlatformTarget>AnyCPU</PlatformTarget>
@@ -31,6 +32,7 @@
     <DefineConstants>TRACE</DefineConstants>
     <DefineConstants>TRACE</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
     <WarningLevel>4</WarningLevel>
+    <Prefer32Bit>false</Prefer32Bit>
   </PropertyGroup>
   </PropertyGroup>
   <PropertyGroup>
   <PropertyGroup>
     <StartupObject>quick_color_picker.Program</StartupObject>
     <StartupObject>quick_color_picker.Program</StartupObject>
@@ -62,6 +64,12 @@
       <DependentUpon>AboutForm.cs</DependentUpon>
       <DependentUpon>AboutForm.cs</DependentUpon>
     </Compile>
     </Compile>
     <Compile Include="ColorManager.cs" />
     <Compile Include="ColorManager.cs" />
+    <Compile Include="DownloadForm.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="DownloadForm.Designer.cs">
+      <DependentUpon>DownloadForm.cs</DependentUpon>
+    </Compile>
     <Compile Include="Properties\Resources.Designer.cs">
     <Compile Include="Properties\Resources.Designer.cs">
       <AutoGen>True</AutoGen>
       <AutoGen>True</AutoGen>
       <DesignTime>True</DesignTime>
       <DesignTime>True</DesignTime>
@@ -87,6 +95,9 @@
     <EmbeddedResource Include="AboutForm.resx">
     <EmbeddedResource Include="AboutForm.resx">
       <DependentUpon>AboutForm.cs</DependentUpon>
       <DependentUpon>AboutForm.cs</DependentUpon>
     </EmbeddedResource>
     </EmbeddedResource>
+    <EmbeddedResource Include="DownloadForm.resx">
+      <DependentUpon>DownloadForm.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="MainForm.resx">
     <EmbeddedResource Include="MainForm.resx">
       <DependentUpon>MainForm.cs</DependentUpon>
       <DependentUpon>MainForm.cs</DependentUpon>
     </EmbeddedResource>
     </EmbeddedResource>
@@ -121,6 +132,7 @@
   </ItemGroup>
   </ItemGroup>
   <ItemGroup>
   <ItemGroup>
     <Content Include="picker.ico" />
     <Content Include="picker.ico" />
+    <None Include="resources\imgs\light\white-rename.png" />
   </ItemGroup>
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
 </Project>
 </Project>

BIN
quick-color-picker/resources/imgs/dark/black-rename.png


BIN
quick-color-picker/resources/imgs/light/white-rename.png


BIN
quick-color-picker/resources/imgs/update64.png