Jake Volynko 4 years ago
parent
commit
2a9faeb324
80 changed files with 3548 additions and 0 deletions
  1. BIN
      QuickColorPicker-Setup/Debug/QuickColorPicker-Setup.msi
  2. BIN
      QuickColorPicker-Setup/Debug/setup.exe
  3. 1028 0
      QuickColorPicker-Setup/QuickColorPicker-Setup.vdproj
  4. BIN
      QuickColorPicker-Setup/Release/QuickColorPicker-Setup.msi
  5. BIN
      QuickColorPicker-Setup/Release/setup.exe
  6. BIN
      packages/GitHubUpdate.1.2.0.0/GitHubUpdate.1.2.0.0.nupkg
  7. BIN
      packages/GitHubUpdate.1.2.0.0/lib/net45/GitHubUpdate.dll
  8. 19 0
      packages/Octokit.0.3.4/LICENSE.txt
  9. BIN
      packages/Octokit.0.3.4/Octokit.0.3.4.nupkg
  10. 81 0
      packages/Octokit.0.3.4/README.md
  11. 111 0
      packages/Octokit.0.3.4/ReleaseNotes.md
  12. BIN
      packages/Octokit.0.3.4/lib/net45/Octokit.dll
  13. BIN
      packages/Octokit.0.3.4/lib/netcore45/Octokit.dll
  14. BIN
      packages/Octokit.0.3.4/lib/portable-net45+wp80+win/Octokit.dll
  15. BIN
      packages/semver.1.1.2/lib/net20/Semver.dll
  16. BIN
      packages/semver.1.1.2/lib/net35/Semver.dll
  17. BIN
      packages/semver.1.1.2/lib/net40/Semver.dll
  18. BIN
      packages/semver.1.1.2/lib/net45/Semver.dll
  19. BIN
      packages/semver.1.1.2/lib/net451/Semver.dll
  20. BIN
      packages/semver.1.1.2/semver.1.1.2.nupkg
  21. 29 0
      quick-color-picker.sln
  22. 243 0
      quick-color-picker/AboutForm.Designer.cs
  23. 58 0
      quick-color-picker/AboutForm.cs
  24. 155 0
      quick-color-picker/AboutForm.resx
  25. 6 0
      quick-color-picker/App.config
  26. 500 0
      quick-color-picker/MainForm.Designer.cs
  27. 474 0
      quick-color-picker/MainForm.cs
  28. 307 0
      quick-color-picker/MainForm.resx
  29. 24 0
      quick-color-picker/Program.cs
  30. 38 0
      quick-color-picker/Properties/AssemblyInfo.cs
  31. 71 0
      quick-color-picker/Properties/Resources.Designer.cs
  32. 117 0
      quick-color-picker/Properties/Resources.resx
  33. 30 0
      quick-color-picker/Properties/Settings.Designer.cs
  34. 7 0
      quick-color-picker/Properties/Settings.settings
  35. 62 0
      quick-color-picker/ThemeManager.cs
  36. 11 0
      quick-color-picker/ToolStripOverride.cs
  37. BIN
      quick-color-picker/bin/Debug/GitHubUpdate.dll
  38. BIN
      quick-color-picker/bin/Debug/Octokit.dll
  39. BIN
      quick-color-picker/bin/Debug/Semver.dll
  40. 11 0
      quick-color-picker/bin/Debug/color-list.txt
  41. BIN
      quick-color-picker/bin/Debug/quick-color-picker.exe
  42. 6 0
      quick-color-picker/bin/Debug/quick-color-picker.exe.config
  43. BIN
      quick-color-picker/bin/Debug/quick-color-picker.pdb
  44. BIN
      quick-color-picker/bin/Release/GitHubUpdate.dll
  45. BIN
      quick-color-picker/bin/Release/Octokit.dll
  46. BIN
      quick-color-picker/bin/Release/Semver.dll
  47. BIN
      quick-color-picker/bin/Release/quick-color-picker.exe
  48. 6 0
      quick-color-picker/bin/Release/quick-color-picker.exe.config
  49. BIN
      quick-color-picker/bin/Release/quick-color-picker.pdb
  50. BIN
      quick-color-picker/obj/Debug/DesignTimeResolveAssemblyReferences.cache
  51. BIN
      quick-color-picker/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
  52. 14 0
      quick-color-picker/obj/Debug/quick-color-picker.csproj.FileListAbsolute.txt
  53. BIN
      quick-color-picker/obj/Debug/quick-color-picker.csproj.GenerateResource.cache
  54. BIN
      quick-color-picker/obj/Debug/quick-color-picker.csprojAssemblyReference.cache
  55. BIN
      quick-color-picker/obj/Debug/quick-color-picker.exe
  56. BIN
      quick-color-picker/obj/Debug/quick-color-picker.pdb
  57. BIN
      quick-color-picker/obj/Debug/quick_color_picker.AboutForm.resources
  58. BIN
      quick-color-picker/obj/Debug/quick_color_picker.MainForm.resources
  59. BIN
      quick-color-picker/obj/Debug/quick_color_picker.Properties.Resources.resources
  60. 14 0
      quick-color-picker/obj/Release/quick-color-picker.csproj.FileListAbsolute.txt
  61. BIN
      quick-color-picker/obj/Release/quick-color-picker.csproj.GenerateResource.cache
  62. BIN
      quick-color-picker/obj/Release/quick-color-picker.csprojAssemblyReference.cache
  63. BIN
      quick-color-picker/obj/Release/quick-color-picker.exe
  64. BIN
      quick-color-picker/obj/Release/quick-color-picker.pdb
  65. BIN
      quick-color-picker/obj/Release/quick_color_picker.AboutForm.resources
  66. BIN
      quick-color-picker/obj/Release/quick_color_picker.MainForm.resources
  67. BIN
      quick-color-picker/obj/Release/quick_color_picker.Properties.Resources.resources
  68. 6 0
      quick-color-picker/packages.config
  69. BIN
      quick-color-picker/picker.ico
  70. 113 0
      quick-color-picker/quick-color-picker.csproj
  71. BIN
      quick-color-picker/resources/imgs/about.png
  72. BIN
      quick-color-picker/resources/imgs/broom.png
  73. BIN
      quick-color-picker/resources/imgs/copy.png
  74. BIN
      quick-color-picker/resources/imgs/on-top.png
  75. BIN
      quick-color-picker/resources/imgs/picker.ico
  76. BIN
      quick-color-picker/resources/imgs/picker.png
  77. BIN
      quick-color-picker/resources/imgs/picker32.png
  78. BIN
      quick-color-picker/resources/imgs/picker80.png
  79. BIN
      quick-color-picker/resources/imgs/trash.png
  80. 7 0
      quick-color-picker/resources/quick-color-picker.VisualElementsManifest.xml

BIN
QuickColorPicker-Setup/Debug/QuickColorPicker-Setup.msi


BIN
QuickColorPicker-Setup/Debug/setup.exe


+ 1028 - 0
QuickColorPicker-Setup/QuickColorPicker-Setup.vdproj

@@ -0,0 +1,1028 @@
+"DeployProject"
+{
+"VSVersion" = "3:800"
+"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}"
+"IsWebType" = "8:FALSE"
+"ProjectName" = "8:QuickColorPicker-Setup"
+"LanguageId" = "3:1033"
+"CodePage" = "3:1252"
+"UILanguageId" = "3:1033"
+"SccProjectName" = "8:"
+"SccLocalPath" = "8:"
+"SccAuxPath" = "8:"
+"SccProvider" = "8:"
+    "Hierarchy"
+    {
+        "Entry"
+        {
+        "MsmKey" = "8:_1C4238FC2275402FB9C933FEF021CE4E"
+        "OwnerKey" = "8:_UNDEFINED"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_64079B7422FD4ECFAA884C55F4ADD6D8"
+        "OwnerKey" = "8:_UNDEFINED"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_737284792620041AA725AC471B11769A"
+        "OwnerKey" = "8:_EFE069039AD4B6DA733D547CDD64B8C8"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_737284792620041AA725AC471B11769A"
+        "OwnerKey" = "8:_E929A9F44EE84118A9055D6931B25A82"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_AB402BA3D08386C004B3D13444827BC5"
+        "OwnerKey" = "8:_E929A9F44EE84118A9055D6931B25A82"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_B4642CAD627F9383DFD215DD66BB57C8"
+        "OwnerKey" = "8:_EFE069039AD4B6DA733D547CDD64B8C8"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_B4642CAD627F9383DFD215DD66BB57C8"
+        "OwnerKey" = "8:_E929A9F44EE84118A9055D6931B25A82"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_BF57E0CBB28BCA74671101FE09DC693E"
+        "OwnerKey" = "8:_737284792620041AA725AC471B11769A"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_E929A9F44EE84118A9055D6931B25A82"
+        "OwnerKey" = "8:_UNDEFINED"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_EFE069039AD4B6DA733D547CDD64B8C8"
+        "OwnerKey" = "8:_E929A9F44EE84118A9055D6931B25A82"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_UNDEFINED"
+        "OwnerKey" = "8:_E929A9F44EE84118A9055D6931B25A82"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_UNDEFINED"
+        "OwnerKey" = "8:_EFE069039AD4B6DA733D547CDD64B8C8"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_UNDEFINED"
+        "OwnerKey" = "8:_B4642CAD627F9383DFD215DD66BB57C8"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_UNDEFINED"
+        "OwnerKey" = "8:_737284792620041AA725AC471B11769A"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_UNDEFINED"
+        "OwnerKey" = "8:_BF57E0CBB28BCA74671101FE09DC693E"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_UNDEFINED"
+        "OwnerKey" = "8:_AB402BA3D08386C004B3D13444827BC5"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+    }
+    "Configurations"
+    {
+        "Debug"
+        {
+        "DisplayName" = "8:Debug"
+        "IsDebugOnly" = "11:TRUE"
+        "IsReleaseOnly" = "11:FALSE"
+        "OutputFilename" = "8:Debug\\QuickColorPicker-Setup.msi"
+        "PackageFilesAs" = "3:2"
+        "PackageFileSize" = "3:-2147483648"
+        "CabType" = "3:1"
+        "Compression" = "3:2"
+        "SignOutput" = "11:FALSE"
+        "CertificateFile" = "8:"
+        "PrivateKeyFile" = "8:"
+        "TimeStampServer" = "8:"
+        "InstallerBootstrapper" = "3:2"
+            "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
+            {
+            "Enabled" = "11:TRUE"
+            "PromptEnabled" = "11:TRUE"
+            "PrerequisitesLocation" = "2:1"
+            "Url" = "8:"
+            "ComponentsUrl" = "8:"
+            }
+        }
+        "Release"
+        {
+        "DisplayName" = "8:Release"
+        "IsDebugOnly" = "11:FALSE"
+        "IsReleaseOnly" = "11:TRUE"
+        "OutputFilename" = "8:Release\\QuickColorPicker-Setup.msi"
+        "PackageFilesAs" = "3:2"
+        "PackageFileSize" = "3:-2147483648"
+        "CabType" = "3:1"
+        "Compression" = "3:2"
+        "SignOutput" = "11:FALSE"
+        "CertificateFile" = "8:"
+        "PrivateKeyFile" = "8:"
+        "TimeStampServer" = "8:"
+        "InstallerBootstrapper" = "3:2"
+            "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
+            {
+            "Enabled" = "11:TRUE"
+            "PromptEnabled" = "11:TRUE"
+            "PrerequisitesLocation" = "2:1"
+            "Url" = "8:"
+            "ComponentsUrl" = "8:"
+                "Items"
+                {
+                    "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.6.1"
+                    {
+                    "Name" = "8:Microsoft .NET Framework 4.6.1 (x86 and x64)"
+                    "ProductCode" = "8:.NETFramework,Version=v4.6.1"
+                    }
+                }
+            }
+        }
+    }
+    "Deployable"
+    {
+        "CustomAction"
+        {
+        }
+        "DefaultFeature"
+        {
+        "Name" = "8:DefaultFeature"
+        "Title" = "8:"
+        "Description" = "8:"
+        }
+        "ExternalPersistence"
+        {
+            "LaunchCondition"
+            {
+                "{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_FD4955BCFF8845AD9B019A55558B920D"
+                {
+                "Name" = "8:.NET Framework"
+                "Message" = "8:[VSDNETMSG]"
+                "FrameworkVersion" = "8:.NETFramework,Version=v4.6.1"
+                "AllowLaterVersions" = "11:FALSE"
+                "InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=671728"
+                }
+            }
+        }
+        "File"
+        {
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1C4238FC2275402FB9C933FEF021CE4E"
+            {
+            "SourcePath" = "8:..\\quick-color-picker\\resources\\imgs\\picker.ico"
+            "TargetName" = "8:picker.ico"
+            "Tag" = "8:"
+            "Folder" = "8:_4E105E1FB7D74141BA826FE0A8CC7FE5"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Vital" = "11:TRUE"
+            "ReadOnly" = "11:FALSE"
+            "Hidden" = "11:FALSE"
+            "System" = "11:FALSE"
+            "Permanent" = "11:FALSE"
+            "SharedLegacy" = "11:FALSE"
+            "PackageAs" = "3:1"
+            "Register" = "3:1"
+            "Exclude" = "11:FALSE"
+            "IsDependency" = "11:FALSE"
+            "IsolateTo" = "8:"
+            }
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_64079B7422FD4ECFAA884C55F4ADD6D8"
+            {
+            "SourcePath" = "8:..\\quick-color-picker\\resources\\quick-color-picker.VisualElementsManifest.xml"
+            "TargetName" = "8:quick-color-picker.VisualElementsManifest.xml"
+            "Tag" = "8:"
+            "Folder" = "8:_4E105E1FB7D74141BA826FE0A8CC7FE5"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Vital" = "11:TRUE"
+            "ReadOnly" = "11:FALSE"
+            "Hidden" = "11:FALSE"
+            "System" = "11:FALSE"
+            "Permanent" = "11:FALSE"
+            "SharedLegacy" = "11:FALSE"
+            "PackageAs" = "3:1"
+            "Register" = "3:1"
+            "Exclude" = "11:FALSE"
+            "IsDependency" = "11:FALSE"
+            "IsolateTo" = "8:"
+            }
+            "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_737284792620041AA725AC471B11769A"
+            {
+            "AssemblyRegister" = "3:1"
+            "AssemblyIsInGAC" = "11:FALSE"
+            "AssemblyAsmDisplayName" = "8:Octokit, Version=0.3.4.0, Culture=neutral, processorArchitecture=MSIL"
+                "ScatterAssemblies"
+                {
+                    "_737284792620041AA725AC471B11769A"
+                    {
+                    "Name" = "8:Octokit.dll"
+                    "Attributes" = "3:512"
+                    }
+                }
+            "SourcePath" = "8:Octokit.dll"
+            "TargetName" = "8:"
+            "Tag" = "8:"
+            "Folder" = "8:_4E105E1FB7D74141BA826FE0A8CC7FE5"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Vital" = "11:TRUE"
+            "ReadOnly" = "11:FALSE"
+            "Hidden" = "11:FALSE"
+            "System" = "11:FALSE"
+            "Permanent" = "11:FALSE"
+            "SharedLegacy" = "11:FALSE"
+            "PackageAs" = "3:1"
+            "Register" = "3:1"
+            "Exclude" = "11:FALSE"
+            "IsDependency" = "11:TRUE"
+            "IsolateTo" = "8:"
+            }
+            "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_AB402BA3D08386C004B3D13444827BC5"
+            {
+            "AssemblyRegister" = "3:1"
+            "AssemblyIsInGAC" = "11:FALSE"
+            "AssemblyAsmDisplayName" = "8:System.Net.Http, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+                "ScatterAssemblies"
+                {
+                    "_AB402BA3D08386C004B3D13444827BC5"
+                    {
+                    "Name" = "8:System.Net.Http.dll"
+                    "Attributes" = "3:512"
+                    }
+                }
+            "SourcePath" = "8:System.Net.Http.dll"
+            "TargetName" = "8:"
+            "Tag" = "8:"
+            "Folder" = "8:_4E105E1FB7D74141BA826FE0A8CC7FE5"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Vital" = "11:TRUE"
+            "ReadOnly" = "11:FALSE"
+            "Hidden" = "11:FALSE"
+            "System" = "11:FALSE"
+            "Permanent" = "11:FALSE"
+            "SharedLegacy" = "11:FALSE"
+            "PackageAs" = "3:1"
+            "Register" = "3:1"
+            "Exclude" = "11:FALSE"
+            "IsDependency" = "11:TRUE"
+            "IsolateTo" = "8:"
+            }
+            "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_B4642CAD627F9383DFD215DD66BB57C8"
+            {
+            "AssemblyRegister" = "3:1"
+            "AssemblyIsInGAC" = "11:FALSE"
+            "AssemblyAsmDisplayName" = "8:Semver, Version=1.1.2.0, Culture=neutral, processorArchitecture=MSIL"
+                "ScatterAssemblies"
+                {
+                    "_B4642CAD627F9383DFD215DD66BB57C8"
+                    {
+                    "Name" = "8:Semver.dll"
+                    "Attributes" = "3:512"
+                    }
+                }
+            "SourcePath" = "8:Semver.dll"
+            "TargetName" = "8:"
+            "Tag" = "8:"
+            "Folder" = "8:_4E105E1FB7D74141BA826FE0A8CC7FE5"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Vital" = "11:TRUE"
+            "ReadOnly" = "11:FALSE"
+            "Hidden" = "11:FALSE"
+            "System" = "11:FALSE"
+            "Permanent" = "11:FALSE"
+            "SharedLegacy" = "11:FALSE"
+            "PackageAs" = "3:1"
+            "Register" = "3:1"
+            "Exclude" = "11:FALSE"
+            "IsDependency" = "11:TRUE"
+            "IsolateTo" = "8:"
+            }
+            "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_BF57E0CBB28BCA74671101FE09DC693E"
+            {
+            "AssemblyRegister" = "3:1"
+            "AssemblyIsInGAC" = "11:TRUE"
+            "AssemblyAsmDisplayName" = "8:System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
+                "ScatterAssemblies"
+                {
+                    "_BF57E0CBB28BCA74671101FE09DC693E"
+                    {
+                    "Name" = "8:System.Net.Http.dll"
+                    "Attributes" = "3:512"
+                    }
+                }
+            "SourcePath" = "8:System.Net.Http.dll"
+            "TargetName" = "8:"
+            "Tag" = "8:"
+            "Folder" = "8:_4E105E1FB7D74141BA826FE0A8CC7FE5"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Vital" = "11:TRUE"
+            "ReadOnly" = "11:FALSE"
+            "Hidden" = "11:FALSE"
+            "System" = "11:FALSE"
+            "Permanent" = "11:FALSE"
+            "SharedLegacy" = "11:FALSE"
+            "PackageAs" = "3:1"
+            "Register" = "3:1"
+            "Exclude" = "11:FALSE"
+            "IsDependency" = "11:TRUE"
+            "IsolateTo" = "8:"
+            }
+            "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_EFE069039AD4B6DA733D547CDD64B8C8"
+            {
+            "AssemblyRegister" = "3:1"
+            "AssemblyIsInGAC" = "11:FALSE"
+            "AssemblyAsmDisplayName" = "8:GitHubUpdate, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL"
+                "ScatterAssemblies"
+                {
+                    "_EFE069039AD4B6DA733D547CDD64B8C8"
+                    {
+                    "Name" = "8:GitHubUpdate.dll"
+                    "Attributes" = "3:512"
+                    }
+                }
+            "SourcePath" = "8:GitHubUpdate.dll"
+            "TargetName" = "8:"
+            "Tag" = "8:"
+            "Folder" = "8:_4E105E1FB7D74141BA826FE0A8CC7FE5"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Vital" = "11:TRUE"
+            "ReadOnly" = "11:FALSE"
+            "Hidden" = "11:FALSE"
+            "System" = "11:FALSE"
+            "Permanent" = "11:FALSE"
+            "SharedLegacy" = "11:FALSE"
+            "PackageAs" = "3:1"
+            "Register" = "3:1"
+            "Exclude" = "11:FALSE"
+            "IsDependency" = "11:TRUE"
+            "IsolateTo" = "8:"
+            }
+        }
+        "FileType"
+        {
+        }
+        "Folder"
+        {
+            "{1525181F-901A-416C-8A58-119130FE478E}:_235B87E663A3497F9BBBCFFB15A86970"
+            {
+            "Name" = "8:#1919"
+            "AlwaysCreate" = "11:FALSE"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Property" = "8:ProgramMenuFolder"
+                "Folders"
+                {
+                }
+            }
+            "{3C67513D-01DD-4637-8A68-80971EB9504F}:_4E105E1FB7D74141BA826FE0A8CC7FE5"
+            {
+            "DefaultLocation" = "8:[ProgramFilesFolder][Manufacturer]\\[ProductName]"
+            "Name" = "8:#1925"
+            "AlwaysCreate" = "11:FALSE"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Property" = "8:TARGETDIR"
+                "Folders"
+                {
+                }
+            }
+            "{1525181F-901A-416C-8A58-119130FE478E}:_C911743A80B947F2AE4CB3EDE85BFABA"
+            {
+            "Name" = "8:#1916"
+            "AlwaysCreate" = "11:FALSE"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Property" = "8:DesktopFolder"
+                "Folders"
+                {
+                }
+            }
+        }
+        "LaunchCondition"
+        {
+        }
+        "Locator"
+        {
+        }
+        "MsiBootstrapper"
+        {
+        "LangId" = "3:1033"
+        "RequiresElevation" = "11:FALSE"
+        }
+        "Product"
+        {
+        "Name" = "8:Microsoft Visual Studio"
+        "ProductName" = "8:Quick Color Picker"
+        "ProductCode" = "8:{737E2161-2CC2-4FC8-AB38-F3EBF697F910}"
+        "PackageCode" = "8:{C0FDB1BE-BF99-43B3-9AED-97823B30F01A}"
+        "UpgradeCode" = "8:{B447EAAB-B636-490E-8AC4-266A6136D6BF}"
+        "AspNetVersion" = "8:2.0.50727.0"
+        "RestartWWWService" = "11:FALSE"
+        "RemovePreviousVersions" = "11:TRUE"
+        "DetectNewerInstalledVersion" = "11:TRUE"
+        "InstallAllUsers" = "11:FALSE"
+        "ProductVersion" = "8:1.0.0"
+        "Manufacturer" = "8:Module Art"
+        "ARPHELPTELEPHONE" = "8:"
+        "ARPHELPLINK" = "8:"
+        "Title" = "8:Quick Color Picker"
+        "Subject" = "8:"
+        "ARPCONTACT" = "8:Module Art"
+        "Keywords" = "8:"
+        "ARPCOMMENTS" = "8:Lightweight color picker utility for Windows"
+        "ARPURLINFOABOUT" = "8:https://moduleart.github.io"
+        "ARPPRODUCTICON" = "8:_1C4238FC2275402FB9C933FEF021CE4E"
+        "ARPIconIndex" = "3:0"
+        "SearchPath" = "8:"
+        "UseSystemSearchPath" = "11:TRUE"
+        "TargetPlatform" = "3:0"
+        "PreBuildEvent" = "8:"
+        "PostBuildEvent" = "8:"
+        "RunPostBuildEvent" = "3:0"
+        }
+        "Registry"
+        {
+            "HKLM"
+            {
+                "Keys"
+                {
+                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_B73B40B6220E4C8498EC886170FC7DC9"
+                    {
+                    "Name" = "8:Software"
+                    "Condition" = "8:"
+                    "AlwaysCreate" = "11:FALSE"
+                    "DeleteAtUninstall" = "11:FALSE"
+                    "Transitive" = "11:FALSE"
+                        "Keys"
+                        {
+                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_3733C1378EC44A68A7037478BBFD3D10"
+                            {
+                            "Name" = "8:[Manufacturer]"
+                            "Condition" = "8:"
+                            "AlwaysCreate" = "11:FALSE"
+                            "DeleteAtUninstall" = "11:FALSE"
+                            "Transitive" = "11:FALSE"
+                                "Keys"
+                                {
+                                }
+                                "Values"
+                                {
+                                }
+                            }
+                        }
+                        "Values"
+                        {
+                        }
+                    }
+                }
+            }
+            "HKCU"
+            {
+                "Keys"
+                {
+                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_62864820EA8D40E0ABFBC37D4720CDD3"
+                    {
+                    "Name" = "8:Software"
+                    "Condition" = "8:"
+                    "AlwaysCreate" = "11:FALSE"
+                    "DeleteAtUninstall" = "11:FALSE"
+                    "Transitive" = "11:FALSE"
+                        "Keys"
+                        {
+                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_B83E0174AE3C4CDEBF89654EC9BBD5A3"
+                            {
+                            "Name" = "8:[Manufacturer]"
+                            "Condition" = "8:"
+                            "AlwaysCreate" = "11:FALSE"
+                            "DeleteAtUninstall" = "11:FALSE"
+                            "Transitive" = "11:FALSE"
+                                "Keys"
+                                {
+                                }
+                                "Values"
+                                {
+                                }
+                            }
+                        }
+                        "Values"
+                        {
+                        }
+                    }
+                }
+            }
+            "HKCR"
+            {
+                "Keys"
+                {
+                }
+            }
+            "HKU"
+            {
+                "Keys"
+                {
+                }
+            }
+            "HKPU"
+            {
+                "Keys"
+                {
+                }
+            }
+        }
+        "Sequences"
+        {
+        }
+        "Shortcut"
+        {
+            "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_576AED5304354B12A1AE7491D758D021"
+            {
+            "Name" = "8:Quick Color Picker"
+            "Arguments" = "8:"
+            "Description" = "8:"
+            "ShowCmd" = "3:1"
+            "IconIndex" = "3:0"
+            "Transitive" = "11:FALSE"
+            "Target" = "8:_E929A9F44EE84118A9055D6931B25A82"
+            "Folder" = "8:_235B87E663A3497F9BBBCFFB15A86970"
+            "WorkingFolder" = "8:_4E105E1FB7D74141BA826FE0A8CC7FE5"
+            "Icon" = "8:_1C4238FC2275402FB9C933FEF021CE4E"
+            "Feature" = "8:"
+            }
+            "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_E23AF44F3606444B99E2AE1170BD12A3"
+            {
+            "Name" = "8:Quick Color Picker"
+            "Arguments" = "8:"
+            "Description" = "8:"
+            "ShowCmd" = "3:1"
+            "IconIndex" = "3:0"
+            "Transitive" = "11:FALSE"
+            "Target" = "8:_E929A9F44EE84118A9055D6931B25A82"
+            "Folder" = "8:_C911743A80B947F2AE4CB3EDE85BFABA"
+            "WorkingFolder" = "8:_4E105E1FB7D74141BA826FE0A8CC7FE5"
+            "Icon" = "8:_1C4238FC2275402FB9C933FEF021CE4E"
+            "Feature" = "8:"
+            }
+        }
+        "UserInterface"
+        {
+            "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_0081C9F2BC764B02A3EFB023112F7161"
+            {
+            "UseDynamicProperties" = "11:FALSE"
+            "IsDependency" = "11:FALSE"
+            "SourcePath" = "8:<VsdDialogDir>\\VsdUserInterface.wim"
+            }
+            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_2C1B1AB5BC5B49A4ACA229BD591DED33"
+            {
+            "Name" = "8:#1901"
+            "Sequence" = "3:1"
+            "Attributes" = "3:2"
+                "Dialogs"
+                {
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_DE834FFFAE554D348300E6E5CFC6DB78"
+                    {
+                    "Sequence" = "3:100"
+                    "DisplayName" = "8:Progress"
+                    "UseDynamicProperties" = "11:TRUE"
+                    "IsDependency" = "11:FALSE"
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdProgressDlg.wid"
+                        "Properties"
+                        {
+                            "BannerBitmap"
+                            {
+                            "Name" = "8:BannerBitmap"
+                            "DisplayName" = "8:#1001"
+                            "Description" = "8:#1101"
+                            "Type" = "3:8"
+                            "ContextData" = "8:Bitmap"
+                            "Attributes" = "3:4"
+                            "Setting" = "3:1"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                            "ShowProgress"
+                            {
+                            "Name" = "8:ShowProgress"
+                            "DisplayName" = "8:#1009"
+                            "Description" = "8:#1109"
+                            "Type" = "3:5"
+                            "ContextData" = "8:1;True=1;False=0"
+                            "Attributes" = "3:0"
+                            "Setting" = "3:0"
+                            "Value" = "3:1"
+                            "DefaultValue" = "3:1"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                        }
+                    }
+                }
+            }
+            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_93BB91297B174BD2BD1754240DF3410E"
+            {
+            "Name" = "8:#1901"
+            "Sequence" = "3:2"
+            "Attributes" = "3:2"
+                "Dialogs"
+                {
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_3BA13700315B4616960CFAD5CC476335"
+                    {
+                    "Sequence" = "3:100"
+                    "DisplayName" = "8:Progress"
+                    "UseDynamicProperties" = "11:TRUE"
+                    "IsDependency" = "11:FALSE"
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminProgressDlg.wid"
+                        "Properties"
+                        {
+                            "BannerBitmap"
+                            {
+                            "Name" = "8:BannerBitmap"
+                            "DisplayName" = "8:#1001"
+                            "Description" = "8:#1101"
+                            "Type" = "3:8"
+                            "ContextData" = "8:Bitmap"
+                            "Attributes" = "3:4"
+                            "Setting" = "3:1"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                            "ShowProgress"
+                            {
+                            "Name" = "8:ShowProgress"
+                            "DisplayName" = "8:#1009"
+                            "Description" = "8:#1109"
+                            "Type" = "3:5"
+                            "ContextData" = "8:1;True=1;False=0"
+                            "Attributes" = "3:0"
+                            "Setting" = "3:0"
+                            "Value" = "3:1"
+                            "DefaultValue" = "3:1"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                        }
+                    }
+                }
+            }
+            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_BAB46DE43D5341EB988D8CAEAD97B93C"
+            {
+            "Name" = "8:#1900"
+            "Sequence" = "3:2"
+            "Attributes" = "3:1"
+                "Dialogs"
+                {
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_4FF2892FA91A43D7B533A26C63CC4863"
+                    {
+                    "Sequence" = "3:100"
+                    "DisplayName" = "8:Welcome"
+                    "UseDynamicProperties" = "11:TRUE"
+                    "IsDependency" = "11:FALSE"
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminWelcomeDlg.wid"
+                        "Properties"
+                        {
+                            "BannerBitmap"
+                            {
+                            "Name" = "8:BannerBitmap"
+                            "DisplayName" = "8:#1001"
+                            "Description" = "8:#1101"
+                            "Type" = "3:8"
+                            "ContextData" = "8:Bitmap"
+                            "Attributes" = "3:4"
+                            "Setting" = "3:1"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                            "CopyrightWarning"
+                            {
+                            "Name" = "8:CopyrightWarning"
+                            "DisplayName" = "8:#1002"
+                            "Description" = "8:#1102"
+                            "Type" = "3:3"
+                            "ContextData" = "8:"
+                            "Attributes" = "3:0"
+                            "Setting" = "3:1"
+                            "Value" = "8:#1202"
+                            "DefaultValue" = "8:#1202"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                            "Welcome"
+                            {
+                            "Name" = "8:Welcome"
+                            "DisplayName" = "8:#1003"
+                            "Description" = "8:#1103"
+                            "Type" = "3:3"
+                            "ContextData" = "8:"
+                            "Attributes" = "3:0"
+                            "Setting" = "3:1"
+                            "Value" = "8:#1203"
+                            "DefaultValue" = "8:#1203"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                        }
+                    }
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_B9CE2FD4B9EC44DF9699FEAC646F98F3"
+                    {
+                    "Sequence" = "3:300"
+                    "DisplayName" = "8:Confirm Installation"
+                    "UseDynamicProperties" = "11:TRUE"
+                    "IsDependency" = "11:FALSE"
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminConfirmDlg.wid"
+                        "Properties"
+                        {
+                            "BannerBitmap"
+                            {
+                            "Name" = "8:BannerBitmap"
+                            "DisplayName" = "8:#1001"
+                            "Description" = "8:#1101"
+                            "Type" = "3:8"
+                            "ContextData" = "8:Bitmap"
+                            "Attributes" = "3:4"
+                            "Setting" = "3:1"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                        }
+                    }
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_F83FF08D80E94B70BE54817CA3A0AC36"
+                    {
+                    "Sequence" = "3:200"
+                    "DisplayName" = "8:Installation Folder"
+                    "UseDynamicProperties" = "11:TRUE"
+                    "IsDependency" = "11:FALSE"
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminFolderDlg.wid"
+                        "Properties"
+                        {
+                            "BannerBitmap"
+                            {
+                            "Name" = "8:BannerBitmap"
+                            "DisplayName" = "8:#1001"
+                            "Description" = "8:#1101"
+                            "Type" = "3:8"
+                            "ContextData" = "8:Bitmap"
+                            "Attributes" = "3:4"
+                            "Setting" = "3:1"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                        }
+                    }
+                }
+            }
+            "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_C3E9BE9F49974DF183E705DDFBF13D94"
+            {
+            "UseDynamicProperties" = "11:FALSE"
+            "IsDependency" = "11:FALSE"
+            "SourcePath" = "8:<VsdDialogDir>\\VsdBasicDialogs.wim"
+            }
+            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_DA6A6FD16F0149C388E012FBC3D9D6A1"
+            {
+            "Name" = "8:#1902"
+            "Sequence" = "3:1"
+            "Attributes" = "3:3"
+                "Dialogs"
+                {
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_28DDD672269347989D6DE317055ABC5C"
+                    {
+                    "Sequence" = "3:100"
+                    "DisplayName" = "8:Finished"
+                    "UseDynamicProperties" = "11:TRUE"
+                    "IsDependency" = "11:FALSE"
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdFinishedDlg.wid"
+                        "Properties"
+                        {
+                            "BannerBitmap"
+                            {
+                            "Name" = "8:BannerBitmap"
+                            "DisplayName" = "8:#1001"
+                            "Description" = "8:#1101"
+                            "Type" = "3:8"
+                            "ContextData" = "8:Bitmap"
+                            "Attributes" = "3:4"
+                            "Setting" = "3:1"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                            "UpdateText"
+                            {
+                            "Name" = "8:UpdateText"
+                            "DisplayName" = "8:#1058"
+                            "Description" = "8:#1158"
+                            "Type" = "3:15"
+                            "ContextData" = "8:"
+                            "Attributes" = "3:0"
+                            "Setting" = "3:1"
+                            "Value" = "8:#1258"
+                            "DefaultValue" = "8:#1258"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                        }
+                    }
+                }
+            }
+            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_F49AB796B30C48F6A19AF724BBF5FC8D"
+            {
+            "Name" = "8:#1900"
+            "Sequence" = "3:1"
+            "Attributes" = "3:1"
+                "Dialogs"
+                {
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_032F974E611049A4B7E6E5A693B7A540"
+                    {
+                    "Sequence" = "3:200"
+                    "DisplayName" = "8:Installation Folder"
+                    "UseDynamicProperties" = "11:TRUE"
+                    "IsDependency" = "11:FALSE"
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdFolderDlg.wid"
+                        "Properties"
+                        {
+                            "BannerBitmap"
+                            {
+                            "Name" = "8:BannerBitmap"
+                            "DisplayName" = "8:#1001"
+                            "Description" = "8:#1101"
+                            "Type" = "3:8"
+                            "ContextData" = "8:Bitmap"
+                            "Attributes" = "3:4"
+                            "Setting" = "3:1"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                            "InstallAllUsersVisible"
+                            {
+                            "Name" = "8:InstallAllUsersVisible"
+                            "DisplayName" = "8:#1059"
+                            "Description" = "8:#1159"
+                            "Type" = "3:5"
+                            "ContextData" = "8:1;True=1;False=0"
+                            "Attributes" = "3:0"
+                            "Setting" = "3:0"
+                            "Value" = "3:1"
+                            "DefaultValue" = "3:1"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                        }
+                    }
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_62F2B4D31E074B51A98C4BFFD4BC68DE"
+                    {
+                    "Sequence" = "3:100"
+                    "DisplayName" = "8:Welcome"
+                    "UseDynamicProperties" = "11:TRUE"
+                    "IsDependency" = "11:FALSE"
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdWelcomeDlg.wid"
+                        "Properties"
+                        {
+                            "BannerBitmap"
+                            {
+                            "Name" = "8:BannerBitmap"
+                            "DisplayName" = "8:#1001"
+                            "Description" = "8:#1101"
+                            "Type" = "3:8"
+                            "ContextData" = "8:Bitmap"
+                            "Attributes" = "3:4"
+                            "Setting" = "3:1"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                            "CopyrightWarning"
+                            {
+                            "Name" = "8:CopyrightWarning"
+                            "DisplayName" = "8:#1002"
+                            "Description" = "8:#1102"
+                            "Type" = "3:3"
+                            "ContextData" = "8:"
+                            "Attributes" = "3:0"
+                            "Setting" = "3:1"
+                            "Value" = "8:#1202"
+                            "DefaultValue" = "8:#1202"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                            "Welcome"
+                            {
+                            "Name" = "8:Welcome"
+                            "DisplayName" = "8:#1003"
+                            "Description" = "8:#1103"
+                            "Type" = "3:3"
+                            "ContextData" = "8:"
+                            "Attributes" = "3:0"
+                            "Setting" = "3:1"
+                            "Value" = "8:#1203"
+                            "DefaultValue" = "8:#1203"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                        }
+                    }
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_A7D18522A7604350915EA6DA7A99A004"
+                    {
+                    "Sequence" = "3:300"
+                    "DisplayName" = "8:Confirm Installation"
+                    "UseDynamicProperties" = "11:TRUE"
+                    "IsDependency" = "11:FALSE"
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdConfirmDlg.wid"
+                        "Properties"
+                        {
+                            "BannerBitmap"
+                            {
+                            "Name" = "8:BannerBitmap"
+                            "DisplayName" = "8:#1001"
+                            "Description" = "8:#1101"
+                            "Type" = "3:8"
+                            "ContextData" = "8:Bitmap"
+                            "Attributes" = "3:4"
+                            "Setting" = "3:1"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                        }
+                    }
+                }
+            }
+            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_F6C4A6C4F5914972A34CAEF2034FFDDE"
+            {
+            "Name" = "8:#1902"
+            "Sequence" = "3:2"
+            "Attributes" = "3:3"
+                "Dialogs"
+                {
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_3CF32BAD87614EB5B8B5808D0F19C63A"
+                    {
+                    "Sequence" = "3:100"
+                    "DisplayName" = "8:Finished"
+                    "UseDynamicProperties" = "11:TRUE"
+                    "IsDependency" = "11:FALSE"
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminFinishedDlg.wid"
+                        "Properties"
+                        {
+                            "BannerBitmap"
+                            {
+                            "Name" = "8:BannerBitmap"
+                            "DisplayName" = "8:#1001"
+                            "Description" = "8:#1101"
+                            "Type" = "3:8"
+                            "ContextData" = "8:Bitmap"
+                            "Attributes" = "3:4"
+                            "Setting" = "3:1"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                        }
+                    }
+                }
+            }
+        }
+        "MergeModule"
+        {
+        }
+        "ProjectOutput"
+        {
+            "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_E929A9F44EE84118A9055D6931B25A82"
+            {
+            "SourcePath" = "8:..\\quick-color-picker\\obj\\Release\\quick-color-picker.exe"
+            "TargetName" = "8:"
+            "Tag" = "8:"
+            "Folder" = "8:_4E105E1FB7D74141BA826FE0A8CC7FE5"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Vital" = "11:TRUE"
+            "ReadOnly" = "11:FALSE"
+            "Hidden" = "11:FALSE"
+            "System" = "11:FALSE"
+            "Permanent" = "11:FALSE"
+            "SharedLegacy" = "11:FALSE"
+            "PackageAs" = "3:1"
+            "Register" = "3:1"
+            "Exclude" = "11:FALSE"
+            "IsDependency" = "11:FALSE"
+            "IsolateTo" = "8:"
+            "ProjectOutputGroupRegister" = "3:1"
+            "OutputConfiguration" = "8:"
+            "OutputGroupCanonicalName" = "8:Built"
+            "OutputProjectGuid" = "8:{623FD142-66F0-417C-8833-43832B11CF49}"
+            "ShowKeyOutput" = "11:TRUE"
+                "ExcludeFilters"
+                {
+                }
+            }
+        }
+    }
+}

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


BIN
QuickColorPicker-Setup/Release/setup.exe


BIN
packages/GitHubUpdate.1.2.0.0/GitHubUpdate.1.2.0.0.nupkg


BIN
packages/GitHubUpdate.1.2.0.0/lib/net45/GitHubUpdate.dll


+ 19 - 0
packages/Octokit.0.3.4/LICENSE.txt

@@ -0,0 +1,19 @@
+Copyright (c) 2012 GitHub, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of 
+this software and associated documentation files (the "Software"), to deal in 
+the Software without restriction, including without limitation the rights to 
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so, 
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all 
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+          

BIN
packages/Octokit.0.3.4/Octokit.0.3.4.nupkg


+ 81 - 0
packages/Octokit.0.3.4/README.md

@@ -0,0 +1,81 @@
+# Octokit - GitHub API Client Library for .NET
+
+Octokit is a client library targeting .NET 4.5 and above that provides an easy
+way to interact with the [GitHub API](http://developer.github.com/v3/).
+
+## Usage examples
+
+Get public info on a specific user.
+
+```c#
+var github = new GitHubClient(new ProductHeaderValue("MyAmazingApp"));
+var user = await github.User.Get("half-ogre");
+Console.WriteLine(user.Followers + " folks love the half ogre!");
+```
+
+## Supported Platforms
+
+* .NET 4.5 (Desktop / Server)
+* Xamarin.iOS / Xamarin.Android / Xamarin.Mac
+* Mono 3.x
+* Windows 8 / 8.1 Store Apps
+
+## Getting Started
+
+Octokit is available on NuGet.
+
+```
+Install-Package Octokit
+```
+
+## Build
+
+Octokit is a single assembly designed to be easy to deploy anywhere. If you 
+prefer to compile it yourself, you’ll need:
+
+* Visual Studio 2012 or later, or Xamarin Studio
+* Windows 8 or higher to build and test the WinRT projects
+
+To clone it locally click the "Clone in Windows" button above or run the 
+following git commands.
+
+```
+git clone git@github.com:octokit/Octokit.net.git Octokit
+cd Octokit
+.\build.cmd
+```
+
+## Contribute
+
+Visit the [Contributor Guidelines](https://github.com/octokit/octokit.net/blob/master/CONTRIBUTING.md) 
+for more details.
+
+## Build Server
+
+The builds and tests for Octokit.net are run on [qed](https://github.com/half-ogre/qed/). This enables us to build and test incoming pull requests: http://half-ogre-qed.cloudapp.net/octokit/octokit.net
+
+## Problems?
+
+Octokit is 100% certified to be bug free. If you find an issue with our 
+certification, please visit the [issue tracker](https://github.com/octokit/octokit.net/issues) 
+and report the issue. 
+
+Please be kind and search to see if the issue is already logged before creating
+a new one. If you're pressed for time, log it anyways.
+
+When creating an issue, clearly explain
+
+* What you were trying to do.
+* What you expected to happen.
+* What actually happened.
+* Steps to reproduce the problem.
+
+Also include any other information you think is relevant to reproduce the 
+problem.
+
+
+## Copyright and License
+
+Copyright 2013 GitHub, Inc.
+
+Licensed under the [MIT License](https://github.com/octokit/octokit.net/blob/master/LICENSE.txt)

+ 111 - 0
packages/Octokit.0.3.4/ReleaseNotes.md

@@ -0,0 +1,111 @@
+### New in 0.3.4 (Released 2014/05/01)
+* Improvements to "repository exists" exception result - #473 via @shiftkey
+* Encoding query parameters impacts search clients - #467 via @shiftkey
+
+### New in 0.3.3 (Released 2014/04/22)
+* Add methods to retrieve a team's members and to check if a user is a member of a team - #449 via @kzu
+* Add OAuth web flow methods - #462 via @haacked
+
+### New in 0.3.2 (Released 2014/04/16)
+* Allow passing a parameter to the Patch method - #440 via @nigel-sampson
+* Remove the redundant Team suffix from ITeamsClient - #451 via @kzu
+* Remove Immutable Collections dependency to support .NET 4 builds - #453 via @paulcbetts
+* Add method to retrieve raw bytes from a request - #457 via @haacked
+* Fix readonly deserialization bug in NetCore45 and related projects - #455 via @nigel-sampson
+
+### New in 0.3.1 (Released 2014/03/31)
+* Add support for comparing two commits - #428 via @shiftkey 
+* Fix regression in throwing proper 2FA exception - #437 via @Haacked 
+
+### New in 0.3.0 (Released 2014/03/19)
+* Add Portable Class Library support for Octokit package - #401 via @trsneed
+* Filter repository issues by users - #427 via @shiftkey
+
+### New in 0.2.2 (Released 2014/03/06)
+* Task-based and Observable-based APIs are now consistent - #361 #376 #378 via @shiftkey and @ammeep
+* "_links" JSON field serialization convention fix - #387 via @haacked
+* Added Feeds client - #386 via @sgwill
+* Added support for creating Gists - #391 via @Therzok and @rgmills
+* Make readonly collections truly readonly - #394 #399 via @Haacked
+* Internalize ProductHeaderValue - #406 via @trsneed
+* HttpClient.Send without cancellation token - #410 via @ammeep
+* Implement Repository Comments API - #413 via @Haacked @wfroese
+* Corrected Search response to match API - #412 #417 #419 #420 via @shiftkey
+
+### New in 0.2.1 (Released 2014/02/19)
+* Reverted the dependency on Reactive Extensions 2.2.2 which introduced breaking changes
+
+### New in 0.2.0 (Released 2014/02/19)
+* Fixed an issue where some new observable clients were not accessible - #376 via @shiftkey
+
+### New in 0.1.9 (Released 2014/02/19)
+* New client for searching users - #289 via @hahmed
+* New client for the statistics API - #296 via @ammeep
+* New client for managing deployments and deployment status - #298 via @pmacn
+* Added methods to repositories client for getting metadata such as contributors, languages, tags, etc. - #319 via @pmacn
+* Added GetAll and Add methods to the user emails client - #323 via @pmacn
+* New client for managing user followers - #343 via @alfhenrik
+* Add more methods for managing releases - #344 via @alfhenrik
+* New client for the activity watching API - #350 via @nigel-sampson
+* ObservableStarredClient can now be accessed via a property - #351 via @nigel-sampson
+* Emoji api now has Emoji type rather than dictionary - #354 via @haacked
+* New client for the Pull Requests API - #360 via @jpsullivan and @shiftkey
+* Now throws RepositoryExistsException when repository already exists - #377 via @haacked
+* Now throws PrivateRepositoryQuotaExceededException when private repository quota would be exceeded by a new repository - #379 via @haacked
+
+### New in 0.1.8 (Released 2014/01/22)
+* Added IRepositoryClient.GetAllBranches - #270 via @goalie7960
+* Install-Package should add reference to System.Net.Http - #286 via @alfhenrik
+* Return a more helpful error if invalid refs path provided - #288 via @alfhenrik
+* Refactor SearchIssuesRequest to match the API - #290 via @alfhenrik
+* Deprecate custom Releases Accept header - #291 via @shiftkey
+* Fix date format used in DateRange - #293 via @alfhenrik
+* Add base class for search requests - #301 via @hahmed
+* Deprecate IGitHubClient.Blob - #305 via @shiftkey
+* Improving Proxy Server support - #306 via @shiftkey
+* Add integration tests for IRepositoryClient.GetAllBranches - #309 via @lbargaoanu
+* Refactor SearchCodeRequest to match the API - #311 from @alfhenrik
+* Implemented Delete for IssueCommentsClient - #315 from @pmacn
+* Implemented missing methods for IssueLabels - #316 from @pmacn
+
+### New in 0.1.7 (Released 2013/12/27)
+* New client for repository search - #226 and @273 via @hahmed
+* Bugfix for creating/updating issue comments - #262 via @tpeczek
+* Bugfix for retrieving events - #264 via @shiftkey
+
+### New in 0.1.6 (Released 2013/12/18)
+* New client for managing Gists -  #225 via @SimonCropp
+* New client for managing Git references - #238 via @khellang
+* Added missing Observable versions for Git objects client - #251 by @khellang
+* New client for Gist comments - #252 by @khellang
+* Lots of documentation - #253 by @pmacn
+* New client for managing issue labels - #256 by @andrerod
+
+### New in 0.1.5 (Released 2013/11/19)
+* New client for starring repositories
+* New client for retrieving commits
+* New client for managing an organization's teams and members
+* New client for managing blobs
+* New client for retrieving and creating trees
+* New client for managing collaborators of a repository
+
+### New in 0.1.4 (Released 2013/11/6)
+* New client for retrieving activity events
+* Fixed bug where concealing an org's member actually shows the member
+
+### New in 0.1.3 (Released 2013/11/5)
+* New Xamarin Component store versions of Octokit.net
+* New clients for managing assignees, milestones, and tags
+* New clients for managing issues, issue events, and issue comments
+* New client for managing organization members
+* Fixed bug in applying query parameters that could cause paging to continually request the same page
+
+### New in 0.1.2 (Released 2013/10/31)
+* New default constructors in Octokit.Reactive
+* New IObservableAssigneesClient in Octokit.Reactive
+
+### New in 0.1.1 (Released 2013/10/30)
+* Fixed problems with Microsoft.Threading.Tasks
+
+### New in 0.1.0 (Released 2013/10/30)
+* Initial release

BIN
packages/Octokit.0.3.4/lib/net45/Octokit.dll


BIN
packages/Octokit.0.3.4/lib/netcore45/Octokit.dll


BIN
packages/Octokit.0.3.4/lib/portable-net45+wp80+win/Octokit.dll


BIN
packages/semver.1.1.2/lib/net20/Semver.dll


BIN
packages/semver.1.1.2/lib/net35/Semver.dll


BIN
packages/semver.1.1.2/lib/net40/Semver.dll


BIN
packages/semver.1.1.2/lib/net45/Semver.dll


BIN
packages/semver.1.1.2/lib/net451/Semver.dll


BIN
packages/semver.1.1.2/semver.1.1.2.nupkg


+ 29 - 0
quick-color-picker.sln

@@ -0,0 +1,29 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.29418.71
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "quick-color-picker", "quick-color-picker\quick-color-picker.csproj", "{623FD142-66F0-417C-8833-43832B11CF49}"
+EndProject
+Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "QuickColorPicker-Setup", "QuickColorPicker-Setup\QuickColorPicker-Setup.vdproj", "{8B699739-BFE6-4AEB-8C52-B99C68FEFD4C}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{623FD142-66F0-417C-8833-43832B11CF49}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{623FD142-66F0-417C-8833-43832B11CF49}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{623FD142-66F0-417C-8833-43832B11CF49}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{623FD142-66F0-417C-8833-43832B11CF49}.Release|Any CPU.Build.0 = Release|Any CPU
+		{8B699739-BFE6-4AEB-8C52-B99C68FEFD4C}.Debug|Any CPU.ActiveCfg = Debug
+		{8B699739-BFE6-4AEB-8C52-B99C68FEFD4C}.Release|Any CPU.ActiveCfg = Release
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {BB89604D-1E0B-405E-82D4-5EDA220A59CE}
+	EndGlobalSection
+EndGlobal

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

@@ -0,0 +1,243 @@
+namespace quick_color_picker
+{
+	partial class AboutForm
+	{
+		/// <summary>
+		/// Required designer variable.
+		/// </summary>
+		private System.ComponentModel.IContainer components = null;
+
+		/// <summary>
+		/// Clean up any resources being used.
+		/// </summary>
+		protected override void Dispose(bool disposing)
+		{
+			if (disposing && (components != null))
+			{
+				components.Dispose();
+			}
+			base.Dispose(disposing);
+		}
+
+		#region Windows Form Designer generated code
+
+		/// <summary>
+		/// Required method for Designer support - do not modify
+		/// the contents of this method with the code editor.
+		/// </summary>
+		private void InitializeComponent()
+		{
+			System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutForm));
+			this.logoPictureBox = new System.Windows.Forms.PictureBox();
+			this.productLabel = new System.Windows.Forms.Label();
+			this.versionLabel = new System.Windows.Forms.Label();
+			this.companyLabel = new System.Windows.Forms.Label();
+			this.authorLabel = new System.Windows.Forms.Label();
+			this.descriptionLabel = new System.Windows.Forms.Label();
+			this.developerLink = new System.Windows.Forms.LinkLabel();
+			this.projectLink = new System.Windows.Forms.LinkLabel();
+			this.okButton = new System.Windows.Forms.Button();
+			this.infoGroup = new System.Windows.Forms.GroupBox();
+			this.updatesLink = new System.Windows.Forms.LinkLabel();
+			this.issuesLink = new System.Windows.Forms.LinkLabel();
+			this.pagesGroup = new System.Windows.Forms.GroupBox();
+			((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).BeginInit();
+			this.infoGroup.SuspendLayout();
+			this.pagesGroup.SuspendLayout();
+			this.SuspendLayout();
+			// 
+			// logoPictureBox
+			// 
+			this.logoPictureBox.Image = ((System.Drawing.Image)(resources.GetObject("logoPictureBox.Image")));
+			this.logoPictureBox.Location = new System.Drawing.Point(9, 9);
+			this.logoPictureBox.Margin = new System.Windows.Forms.Padding(0);
+			this.logoPictureBox.Name = "logoPictureBox";
+			this.logoPictureBox.Size = new System.Drawing.Size(256, 100);
+			this.logoPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
+			this.logoPictureBox.TabIndex = 12;
+			this.logoPictureBox.TabStop = false;
+			// 
+			// productLabel
+			// 
+			this.productLabel.AutoSize = true;
+			this.productLabel.Location = new System.Drawing.Point(6, 26);
+			this.productLabel.Margin = new System.Windows.Forms.Padding(3, 10, 3, 3);
+			this.productLabel.Name = "productLabel";
+			this.productLabel.Size = new System.Drawing.Size(95, 13);
+			this.productLabel.TabIndex = 27;
+			this.productLabel.Text = "Quick Color Picker";
+			// 
+			// versionLabel
+			// 
+			this.versionLabel.AutoSize = true;
+			this.versionLabel.Location = new System.Drawing.Point(6, 45);
+			this.versionLabel.Margin = new System.Windows.Forms.Padding(3);
+			this.versionLabel.Name = "versionLabel";
+			this.versionLabel.Size = new System.Drawing.Size(42, 13);
+			this.versionLabel.TabIndex = 28;
+			this.versionLabel.Text = "Version";
+			// 
+			// companyLabel
+			// 
+			this.companyLabel.AutoSize = true;
+			this.companyLabel.Location = new System.Drawing.Point(6, 97);
+			this.companyLabel.Margin = new System.Windows.Forms.Padding(3, 10, 3, 3);
+			this.companyLabel.Name = "companyLabel";
+			this.companyLabel.Size = new System.Drawing.Size(72, 13);
+			this.companyLabel.TabIndex = 29;
+			this.companyLabel.Text = "by Module Art";
+			// 
+			// authorLabel
+			// 
+			this.authorLabel.AutoSize = true;
+			this.authorLabel.Location = new System.Drawing.Point(6, 116);
+			this.authorLabel.Margin = new System.Windows.Forms.Padding(3);
+			this.authorLabel.Name = "authorLabel";
+			this.authorLabel.Size = new System.Drawing.Size(122, 13);
+			this.authorLabel.TabIndex = 30;
+			this.authorLabel.Text = "Author: Eugene Volynko";
+			// 
+			// descriptionLabel
+			// 
+			this.descriptionLabel.AutoSize = true;
+			this.descriptionLabel.Location = new System.Drawing.Point(6, 142);
+			this.descriptionLabel.Margin = new System.Windows.Forms.Padding(3, 10, 3, 3);
+			this.descriptionLabel.Name = "descriptionLabel";
+			this.descriptionLabel.Size = new System.Drawing.Size(181, 13);
+			this.descriptionLabel.TabIndex = 31;
+			this.descriptionLabel.Text = "Lightweight color picker for Windows";
+			// 
+			// developerLink
+			// 
+			this.developerLink.AutoSize = true;
+			this.developerLink.Location = new System.Drawing.Point(6, 26);
+			this.developerLink.Margin = new System.Windows.Forms.Padding(3, 10, 3, 3);
+			this.developerLink.Name = "developerLink";
+			this.developerLink.Size = new System.Drawing.Size(58, 13);
+			this.developerLink.TabIndex = 32;
+			this.developerLink.TabStop = true;
+			this.developerLink.Text = "Module Art";
+			this.developerLink.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.developerLink_LinkClicked);
+			// 
+			// projectLink
+			// 
+			this.projectLink.AutoSize = true;
+			this.projectLink.Location = new System.Drawing.Point(70, 26);
+			this.projectLink.Margin = new System.Windows.Forms.Padding(3, 10, 3, 3);
+			this.projectLink.Name = "projectLink";
+			this.projectLink.Size = new System.Drawing.Size(67, 13);
+			this.projectLink.TabIndex = 33;
+			this.projectLink.TabStop = true;
+			this.projectLink.Text = "Project page";
+			this.projectLink.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.projectLink_LinkClicked);
+			// 
+			// okButton
+			// 
+			this.okButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+			this.okButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+			this.okButton.FlatStyle = System.Windows.Forms.FlatStyle.System;
+			this.okButton.Location = new System.Drawing.Point(190, 357);
+			this.okButton.Margin = new System.Windows.Forms.Padding(0);
+			this.okButton.Name = "okButton";
+			this.okButton.Size = new System.Drawing.Size(75, 23);
+			this.okButton.TabIndex = 21;
+			this.okButton.Text = "&OK";
+			// 
+			// infoGroup
+			// 
+			this.infoGroup.Controls.Add(this.updatesLink);
+			this.infoGroup.Controls.Add(this.versionLabel);
+			this.infoGroup.Controls.Add(this.companyLabel);
+			this.infoGroup.Controls.Add(this.productLabel);
+			this.infoGroup.Controls.Add(this.descriptionLabel);
+			this.infoGroup.Controls.Add(this.authorLabel);
+			this.infoGroup.Location = new System.Drawing.Point(9, 109);
+			this.infoGroup.Margin = new System.Windows.Forms.Padding(0);
+			this.infoGroup.Name = "infoGroup";
+			this.infoGroup.Size = new System.Drawing.Size(256, 173);
+			this.infoGroup.TabIndex = 34;
+			this.infoGroup.TabStop = false;
+			this.infoGroup.Text = "Info";
+			// 
+			// updatesLink
+			// 
+			this.updatesLink.AutoSize = true;
+			this.updatesLink.Location = new System.Drawing.Point(6, 71);
+			this.updatesLink.Margin = new System.Windows.Forms.Padding(3, 10, 3, 3);
+			this.updatesLink.Name = "updatesLink";
+			this.updatesLink.Size = new System.Drawing.Size(94, 13);
+			this.updatesLink.TabIndex = 35;
+			this.updatesLink.TabStop = true;
+			this.updatesLink.Text = "Check for updates";
+			this.updatesLink.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.updatesLink_LinkClicked);
+			// 
+			// issuesLink
+			// 
+			this.issuesLink.AutoSize = true;
+			this.issuesLink.Location = new System.Drawing.Point(143, 26);
+			this.issuesLink.Margin = new System.Windows.Forms.Padding(3, 10, 3, 3);
+			this.issuesLink.Name = "issuesLink";
+			this.issuesLink.Size = new System.Drawing.Size(37, 13);
+			this.issuesLink.TabIndex = 34;
+			this.issuesLink.TabStop = true;
+			this.issuesLink.Text = "Issues";
+			this.issuesLink.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.issuesLink_LinkClicked);
+			// 
+			// pagesGroup
+			// 
+			this.pagesGroup.Controls.Add(this.developerLink);
+			this.pagesGroup.Controls.Add(this.projectLink);
+			this.pagesGroup.Controls.Add(this.issuesLink);
+			this.pagesGroup.Location = new System.Drawing.Point(9, 292);
+			this.pagesGroup.Margin = new System.Windows.Forms.Padding(0, 10, 0, 0);
+			this.pagesGroup.Name = "pagesGroup";
+			this.pagesGroup.Size = new System.Drawing.Size(256, 58);
+			this.pagesGroup.TabIndex = 37;
+			this.pagesGroup.TabStop = false;
+			this.pagesGroup.Text = "Links";
+			// 
+			// AboutForm
+			// 
+			this.AcceptButton = this.okButton;
+			this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
+			this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
+			this.ClientSize = new System.Drawing.Size(274, 389);
+			this.Controls.Add(this.pagesGroup);
+			this.Controls.Add(this.infoGroup);
+			this.Controls.Add(this.okButton);
+			this.Controls.Add(this.logoPictureBox);
+			this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+			this.MaximizeBox = false;
+			this.MinimizeBox = false;
+			this.Name = "AboutForm";
+			this.Padding = new System.Windows.Forms.Padding(9);
+			this.ShowIcon = false;
+			this.ShowInTaskbar = false;
+			this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
+			this.Text = "About";
+			((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).EndInit();
+			this.infoGroup.ResumeLayout(false);
+			this.infoGroup.PerformLayout();
+			this.pagesGroup.ResumeLayout(false);
+			this.pagesGroup.PerformLayout();
+			this.ResumeLayout(false);
+
+		}
+
+		#endregion
+
+		private System.Windows.Forms.PictureBox logoPictureBox;
+		private System.Windows.Forms.Label productLabel;
+		private System.Windows.Forms.Label versionLabel;
+		private System.Windows.Forms.Label companyLabel;
+		private System.Windows.Forms.Label authorLabel;
+		private System.Windows.Forms.Label descriptionLabel;
+		private System.Windows.Forms.LinkLabel developerLink;
+		private System.Windows.Forms.LinkLabel projectLink;
+		private System.Windows.Forms.Button okButton;
+		private System.Windows.Forms.GroupBox infoGroup;
+		private System.Windows.Forms.LinkLabel issuesLink;
+		private System.Windows.Forms.LinkLabel updatesLink;
+		private System.Windows.Forms.GroupBox pagesGroup;
+	}
+}

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

@@ -0,0 +1,58 @@
+using System;
+using System.Diagnostics;
+using System.Drawing;
+using System.Reflection;
+using System.Windows.Forms;
+
+namespace quick_color_picker
+{
+	partial class AboutForm : Form
+	{
+		public AboutForm()
+		{
+			InitializeComponent();
+
+			versionLabel.Text = String.Format("Version: {0}", Assembly.GetExecutingAssembly().GetName().Version.ToString().Substring(0, 5));
+
+			if (ThemeManager.isDarkTheme())
+			{
+				this.BackColor = ThemeManager.BackColorDark;
+				this.ForeColor = Color.White;
+
+				infoGroup.ForeColor = Color.White;
+				pagesGroup.ForeColor = Color.White;
+
+				Color linkColor = ThemeManager.getColorizationColor();
+
+				updatesLink.LinkColor = linkColor;
+				developerLink.LinkColor = linkColor;
+				projectLink.LinkColor = linkColor;
+				issuesLink.LinkColor = linkColor;
+
+				okButton.BackColor = ThemeManager.MainColorDark;
+			}
+		}
+
+		private void developerLink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
+		{
+			System.Diagnostics.Process.Start("https://moduleart.github.io/");
+		}
+
+		private void projectLink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
+		{
+			System.Diagnostics.Process.Start("https://github.com/ModuleArt/quick-color-picker/");
+		}
+
+		private void issuesLink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
+		{
+			System.Diagnostics.Process.Start("https://github.com/ModuleArt/quick-color-picker/issues/");
+		}
+
+		private void updatesLink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
+		{
+			MainForm parent = (MainForm)this.Owner;
+
+			parent.checkForUpdates(true);
+		}
+	}
+}

+ 155 - 0
quick-color-picker/AboutForm.resx

@@ -0,0 +1,155 @@
+<?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>
+        iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAaISURBVHhe7ZrbbxRVHMfrJYIPGo0P+qTx8qJ/gA8aE+IbiTGxO1O6bREkJsQQEGh3txBMqgar
+        ICKF3ZnZa1uKQLkVEGijdLc7l91taQuJkGqihEpL0ULbvdVa2PH8tmfqUge6O7tbO5dv8k2T3e25fPL7
+        nd85Z6bEkCFD/5daW8lHgvZSgqfLWnmaHOZoMs5SRJKjiZsCQ55jKdMa4RvycfxzQ5nqot57GwG72u0x
+        R6+eWJu69cNGccJfI0aRb/24SRw8+ZHY76uK8jQxGqRNVfjfDIE4iqzlGTIx9P06MRG0PtA32zeIEXd5
+        nGcIj79u2aO4Cf2Kpclvu93libHzm2WByTkaqBH7GiuTKNW9uBl9Kg3PU56Y6KyWBfUgQ2qHXSsSnMO0
+        CjenL3F0WQOCl4R1Tg5QNoZ0RuvmLb9v9VLcrD6EKuseSNt84Enub66KsVTpSty0tiWKJQ+xdFlTD0pb
+        WMfkgORqqM6oAHXgLrQtiLwIrHn+3Ne8+xm2OwjgCO5CuyoGPDBEMkebpnA32tNs2norCpa2mYZqzKHT
+        Cu5Oe0LHsIaZglHYyJM8ilJYoMnruDv1CE4B6Ly6C3mcpYkx5G0Qbfjr2ci74K2IFyPyJF89vvYuxxD7
+        cbfqEIbX1tdUGYMTBJxVezzmWJApdUkQ0fFsb4/XHIcUk5t4oYz6mEDr6zvpgalBZxuWL+Ep4vzF5pXx
+        eJdldiLRgEXs9VbE0HrUwjtWOLq95mSx4Q2dWYcqMPGLWFf3MB7e4hbAY2lT58XmqnvgSQaIKGX/Fpiy
+        6WhnceFB5MMFBIq+ZXh4i188U/ZVb2NlPIZAyU0KDFHX66sQBw6tkf2+EIaCFHGXxzgHsRUPTR1CFTWa
+        za0JFI00xMOFhzjeuVmMuMrjCN4XeFjqEcuQY1Aw5CY212mIjYWFCNHdA5HHkHvxkNQlFIE1F1C1jWW5
+        LSkkxPFOlLZqjbxMcZSpHtafbCssFJb+pirxysEPxESX/G/ms2bgSQKI3Z7s93gQsUohag4eaJODfamJ
+        rk+EPCtT2R7RlEDUJLxqOviajRHG9odG7ra3uURlEFfPC3EWHkVsx12rX5nwgiOiCC4GxDQ8tw7gZUIU
+        PFUFgag7eJIVQzz075oIz0jCsM/TEjyrPfTqfPAkn2tzKoaoe3iSlULkGXKaZ3QOT7ISiH2NlVMIYnPm
+        paxqlQ88yefaGCUQY6qHOAsvrBzejFNix7E9Ytj7firbK/2Y3yLCWZuliGo8HHVpk114pZYJjeYPTzKC
+        eDQ3iHDbw9HkbTwk9ajw8CTnBhHuGzmKnMDDUoeq9/Ev1DpDIz526I48hHydEtuP7J4XItx0o3UQbaLJ
+        ejy0xS+IPFtRIu9euwO/T7cw2yciHnNc7qUiKCIXvOYYTxPfqeYh0ULCq3UK1yx2/3McTeyE+8RMiDPw
+        KmI8ZcD7jzPhQb+wRYHnx/AcGdY7eMYB2xeWNp1QzSu7CwXPNQeepPRbC47SbejYFkMRmUBVd4cBb47v
+        B0/VsjD8ywY8hTLg5SEDXh5Kw3OG/jTgKZABLw8Z8PLQgsHzaxheS8SAl7MMeHnIgJeH4F0VA55CGfDy
+        0ILCc4UGNQcPRcQfBjwFWjB4gUEDnlIb8PJwGp4zpK2CUbO368WFhPexK/ws7lr9snq4JxC8a038cJGe
+        2864kR26g9J2BJ4T4661oa2uyAF7+69/yU26UNYsvPUN4SetjJA8PzgtO/FCGOCh/eRNzcEDWSnh9c9a
+        +sblJl4Ie4ND0zYmdEOT8EAWB/fW5wf6x+Qmn699QZS2Tg2mbaY27vY/ZXMKk4HhlCwEpdYFPElb3OGL
+        Ry/dlgWhxJrcqjxIVorfsPvUQEIORq7WHTyQ1cGt2ubrTsoBycXw/h+krY3hnsdNa18I3rtofzZ58kpU
+        Fkq2lqqtruDVOLiKLc5Q8vRAXBZKttZl2lpowZyG97MBT5GsdOjMl0d+muzKY/viZa/rb82TtL7h7BI0
+        ef/XJ64k5faAkNaf+HoSu04OTB7uGxUDw3dnv+u8fkekOn6bQv8/pEt4kgAiSuPAzuP3Qjw9EBPR5wl0
+        SvmwhuZtW93hAQvFT9ft7x37tKV33MYIU2jveLDWwT6Nm9Kv6nz+peig799x7HI8cCMlnkLwUGTFq+1c
+        Kf5JWlv2RZ7ZbBfesFDBN+H6C39sCCRBrG+9lER/E3PhGcpCda2XH0Nn4jabg1uOPzJkyNAiU0nJP9Zp
+        FOZ13Y6SAAAAAElFTkSuQmCC
+</value>
+  </data>
+</root>

+ 6 - 0
quick-color-picker/App.config

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+    <startup> 
+        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
+    </startup>
+</configuration>

+ 500 - 0
quick-color-picker/MainForm.Designer.cs

@@ -0,0 +1,500 @@
+namespace quick_color_picker
+{
+	partial class MainForm
+	{
+		/// <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(MainForm));
+			this.pictureBox1 = new System.Windows.Forms.PictureBox();
+			this.colorPanel = new System.Windows.Forms.Panel();
+			this.rgbTextBox = new System.Windows.Forms.TextBox();
+			this.rgbLabel = new System.Windows.Forms.Label();
+			this.htmlLabel = new System.Windows.Forms.Label();
+			this.htmlTextBox = new System.Windows.Forms.TextBox();
+			this.xLabel = new System.Windows.Forms.Label();
+			this.yLabel = new System.Windows.Forms.Label();
+			this.colorList = new System.Windows.Forms.ListBox();
+			this.rgbCopyButton = new System.Windows.Forms.Button();
+			this.htmlCopyButton = new System.Windows.Forms.Button();
+			this.cmykCopyButton = new System.Windows.Forms.Button();
+			this.cmykTextBox = new System.Windows.Forms.TextBox();
+			this.cmykLabel = new System.Windows.Forms.Label();
+			this.hslCopyButton = new System.Windows.Forms.Button();
+			this.hslTextBox = new System.Windows.Forms.TextBox();
+			this.hslLabel = new System.Windows.Forms.Label();
+			this.rgbOneCopyButton = new System.Windows.Forms.Button();
+			this.rgbOneTextBox = new System.Windows.Forms.TextBox();
+			this.rgbOneLabel = new System.Windows.Forms.Label();
+			this.toolStrip1 = new System.Windows.Forms.ToolStrip();
+			this.onTopButton = new System.Windows.Forms.ToolStripButton();
+			this.clearListButton = new System.Windows.Forms.ToolStripButton();
+			this.deleteButton = 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.gradPanel2 = new System.Windows.Forms.Panel();
+			this.gradPanel3 = new System.Windows.Forms.Panel();
+			this.gradPanel4 = new System.Windows.Forms.Panel();
+			this.gridPanel = new System.Windows.Forms.Panel();
+			((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
+			this.toolStrip1.SuspendLayout();
+			this.SuspendLayout();
+			// 
+			// pictureBox1
+			// 
+			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;
+			// 
+			// colorPanel
+			// 
+			this.colorPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+			this.colorPanel.Location = new System.Drawing.Point(9, 139);
+			this.colorPanel.Margin = new System.Windows.Forms.Padding(0, 10, 0, 10);
+			this.colorPanel.Name = "colorPanel";
+			this.colorPanel.Size = new System.Drawing.Size(40, 40);
+			this.colorPanel.TabIndex = 2;
+			// 
+			// rgbTextBox
+			// 
+			this.rgbTextBox.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+			this.rgbTextBox.Location = new System.Drawing.Point(139, 27);
+			this.rgbTextBox.Margin = new System.Windows.Forms.Padding(10, 3, 3, 10);
+			this.rgbTextBox.Name = "rgbTextBox";
+			this.rgbTextBox.ReadOnly = true;
+			this.rgbTextBox.Size = new System.Drawing.Size(100, 23);
+			this.rgbTextBox.TabIndex = 3;
+			this.rgbTextBox.Text = "255,255,255";
+			// 
+			// rgbLabel
+			// 
+			this.rgbLabel.AutoSize = true;
+			this.rgbLabel.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+			this.rgbLabel.Location = new System.Drawing.Point(136, 9);
+			this.rgbLabel.Name = "rgbLabel";
+			this.rgbLabel.Size = new System.Drawing.Size(32, 15);
+			this.rgbLabel.TabIndex = 4;
+			this.rgbLabel.Text = "RGB:";
+			// 
+			// htmlLabel
+			// 
+			this.htmlLabel.AutoSize = true;
+			this.htmlLabel.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+			this.htmlLabel.Location = new System.Drawing.Point(136, 61);
+			this.htmlLabel.Name = "htmlLabel";
+			this.htmlLabel.Size = new System.Drawing.Size(42, 15);
+			this.htmlLabel.TabIndex = 5;
+			this.htmlLabel.Text = "HTML:";
+			// 
+			// htmlTextBox
+			// 
+			this.htmlTextBox.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+			this.htmlTextBox.Location = new System.Drawing.Point(139, 79);
+			this.htmlTextBox.Margin = new System.Windows.Forms.Padding(10, 3, 10, 10);
+			this.htmlTextBox.Name = "htmlTextBox";
+			this.htmlTextBox.ReadOnly = true;
+			this.htmlTextBox.Size = new System.Drawing.Size(100, 23);
+			this.htmlTextBox.TabIndex = 6;
+			this.htmlTextBox.Text = "#FFFFFF";
+			// 
+			// xLabel
+			// 
+			this.xLabel.AutoSize = true;
+			this.xLabel.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+			this.xLabel.Location = new System.Drawing.Point(55, 142);
+			this.xLabel.Margin = new System.Windows.Forms.Padding(13, 13, 13, 3);
+			this.xLabel.Name = "xLabel";
+			this.xLabel.Size = new System.Drawing.Size(26, 15);
+			this.xLabel.TabIndex = 7;
+			this.xLabel.Text = "X: 0";
+			// 
+			// yLabel
+			// 
+			this.yLabel.AutoSize = true;
+			this.yLabel.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+			this.yLabel.Location = new System.Drawing.Point(55, 161);
+			this.yLabel.Margin = new System.Windows.Forms.Padding(3);
+			this.yLabel.Name = "yLabel";
+			this.yLabel.Size = new System.Drawing.Size(26, 15);
+			this.yLabel.TabIndex = 8;
+			this.yLabel.Text = "Y: 0";
+			// 
+			// colorList
+			// 
+			this.colorList.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+			this.colorList.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
+			this.colorList.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+			this.colorList.FormattingEnabled = true;
+			this.colorList.ItemHeight = 17;
+			this.colorList.Location = new System.Drawing.Point(275, 36);
+			this.colorList.Margin = new System.Windows.Forms.Padding(0);
+			this.colorList.Name = "colorList";
+			this.colorList.Size = new System.Drawing.Size(120, 223);
+			this.colorList.TabIndex = 1;
+			this.colorList.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.colorList_DrawItem);
+			this.colorList.SelectedIndexChanged += new System.EventHandler(this.colorList_SelectedIndexChanged);
+			// 
+			// rgbCopyButton
+			// 
+			this.rgbCopyButton.FlatAppearance.BorderSize = 0;
+			this.rgbCopyButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+			this.rgbCopyButton.Image = ((System.Drawing.Image)(resources.GetObject("rgbCopyButton.Image")));
+			this.rgbCopyButton.Location = new System.Drawing.Point(240, 26);
+			this.rgbCopyButton.Name = "rgbCopyButton";
+			this.rgbCopyButton.Size = new System.Drawing.Size(25, 25);
+			this.rgbCopyButton.TabIndex = 9;
+			this.rgbCopyButton.UseVisualStyleBackColor = true;
+			this.rgbCopyButton.Click += new System.EventHandler(this.rgbCopyButton_Click);
+			// 
+			// htmlCopyButton
+			// 
+			this.htmlCopyButton.FlatAppearance.BorderSize = 0;
+			this.htmlCopyButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+			this.htmlCopyButton.Image = ((System.Drawing.Image)(resources.GetObject("htmlCopyButton.Image")));
+			this.htmlCopyButton.Location = new System.Drawing.Point(240, 78);
+			this.htmlCopyButton.Name = "htmlCopyButton";
+			this.htmlCopyButton.Size = new System.Drawing.Size(25, 25);
+			this.htmlCopyButton.TabIndex = 10;
+			this.htmlCopyButton.UseVisualStyleBackColor = true;
+			this.htmlCopyButton.Click += new System.EventHandler(this.htmlCopyButton_Click);
+			// 
+			// cmykCopyButton
+			// 
+			this.cmykCopyButton.FlatAppearance.BorderSize = 0;
+			this.cmykCopyButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+			this.cmykCopyButton.Image = ((System.Drawing.Image)(resources.GetObject("cmykCopyButton.Image")));
+			this.cmykCopyButton.Location = new System.Drawing.Point(240, 130);
+			this.cmykCopyButton.Name = "cmykCopyButton";
+			this.cmykCopyButton.Size = new System.Drawing.Size(25, 25);
+			this.cmykCopyButton.TabIndex = 14;
+			this.cmykCopyButton.UseVisualStyleBackColor = true;
+			this.cmykCopyButton.Click += new System.EventHandler(this.cmykCopyButton_Click);
+			// 
+			// cmykTextBox
+			// 
+			this.cmykTextBox.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+			this.cmykTextBox.Location = new System.Drawing.Point(139, 131);
+			this.cmykTextBox.Margin = new System.Windows.Forms.Padding(10, 3, 10, 10);
+			this.cmykTextBox.Name = "cmykTextBox";
+			this.cmykTextBox.ReadOnly = true;
+			this.cmykTextBox.Size = new System.Drawing.Size(100, 23);
+			this.cmykTextBox.TabIndex = 12;
+			this.cmykTextBox.Text = "0,0,0,0";
+			// 
+			// cmykLabel
+			// 
+			this.cmykLabel.AutoSize = true;
+			this.cmykLabel.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+			this.cmykLabel.Location = new System.Drawing.Point(136, 113);
+			this.cmykLabel.Name = "cmykLabel";
+			this.cmykLabel.Size = new System.Drawing.Size(64, 15);
+			this.cmykLabel.TabIndex = 11;
+			this.cmykLabel.Text = "CMYK (%):";
+			// 
+			// hslCopyButton
+			// 
+			this.hslCopyButton.FlatAppearance.BorderSize = 0;
+			this.hslCopyButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+			this.hslCopyButton.Image = ((System.Drawing.Image)(resources.GetObject("hslCopyButton.Image")));
+			this.hslCopyButton.Location = new System.Drawing.Point(240, 182);
+			this.hslCopyButton.Name = "hslCopyButton";
+			this.hslCopyButton.Size = new System.Drawing.Size(25, 25);
+			this.hslCopyButton.TabIndex = 17;
+			this.hslCopyButton.UseVisualStyleBackColor = true;
+			this.hslCopyButton.Click += new System.EventHandler(this.hslCopyButton_Click);
+			// 
+			// hslTextBox
+			// 
+			this.hslTextBox.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+			this.hslTextBox.Location = new System.Drawing.Point(139, 183);
+			this.hslTextBox.Margin = new System.Windows.Forms.Padding(10, 3, 10, 10);
+			this.hslTextBox.Name = "hslTextBox";
+			this.hslTextBox.ReadOnly = true;
+			this.hslTextBox.Size = new System.Drawing.Size(100, 23);
+			this.hslTextBox.TabIndex = 16;
+			this.hslTextBox.Text = "0,0,100";
+			// 
+			// hslLabel
+			// 
+			this.hslLabel.AutoSize = true;
+			this.hslLabel.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+			this.hslLabel.Location = new System.Drawing.Point(136, 165);
+			this.hslLabel.Name = "hslLabel";
+			this.hslLabel.Size = new System.Drawing.Size(52, 15);
+			this.hslLabel.TabIndex = 15;
+			this.hslLabel.Text = "HSL (%):";
+			// 
+			// rgbOneCopyButton
+			// 
+			this.rgbOneCopyButton.FlatAppearance.BorderSize = 0;
+			this.rgbOneCopyButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+			this.rgbOneCopyButton.Image = ((System.Drawing.Image)(resources.GetObject("rgbOneCopyButton.Image")));
+			this.rgbOneCopyButton.Location = new System.Drawing.Point(240, 234);
+			this.rgbOneCopyButton.Name = "rgbOneCopyButton";
+			this.rgbOneCopyButton.Size = new System.Drawing.Size(25, 25);
+			this.rgbOneCopyButton.TabIndex = 20;
+			this.rgbOneCopyButton.UseVisualStyleBackColor = true;
+			this.rgbOneCopyButton.Click += new System.EventHandler(this.rgbOneCopyButton_Click);
+			// 
+			// rgbOneTextBox
+			// 
+			this.rgbOneTextBox.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+			this.rgbOneTextBox.Location = new System.Drawing.Point(139, 235);
+			this.rgbOneTextBox.Margin = new System.Windows.Forms.Padding(10, 3, 10, 10);
+			this.rgbOneTextBox.Name = "rgbOneTextBox";
+			this.rgbOneTextBox.ReadOnly = true;
+			this.rgbOneTextBox.Size = new System.Drawing.Size(100, 23);
+			this.rgbOneTextBox.TabIndex = 19;
+			this.rgbOneTextBox.Text = "1/1/1";
+			// 
+			// rgbOneLabel
+			// 
+			this.rgbOneLabel.AutoSize = true;
+			this.rgbOneLabel.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+			this.rgbOneLabel.Location = new System.Drawing.Point(136, 217);
+			this.rgbOneLabel.Name = "rgbOneLabel";
+			this.rgbOneLabel.Size = new System.Drawing.Size(61, 15);
+			this.rgbOneLabel.TabIndex = 18;
+			this.rgbOneLabel.Text = "RGB [0..1]:";
+			// 
+			// toolStrip1
+			// 
+			this.toolStrip1.AutoSize = false;
+			this.toolStrip1.Dock = System.Windows.Forms.DockStyle.None;
+			this.toolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden;
+			this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.onTopButton,
+            this.clearListButton,
+            this.deleteButton,
+            this.aboutButton});
+			this.toolStrip1.Location = new System.Drawing.Point(270, 0);
+			this.toolStrip1.Name = "toolStrip1";
+			this.toolStrip1.Padding = new System.Windows.Forms.Padding(5);
+			this.toolStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;
+			this.toolStrip1.Size = new System.Drawing.Size(134, 35);
+			this.toolStrip1.TabIndex = 24;
+			this.toolStrip1.Text = "toolStrip1";
+			// 
+			// onTopButton
+			// 
+			this.onTopButton.AutoSize = false;
+			this.onTopButton.Checked = true;
+			this.onTopButton.CheckState = System.Windows.Forms.CheckState.Checked;
+			this.onTopButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
+			this.onTopButton.Image = ((System.Drawing.Image)(resources.GetObject("onTopButton.Image")));
+			this.onTopButton.ImageTransparentColor = System.Drawing.Color.Magenta;
+			this.onTopButton.Name = "onTopButton";
+			this.onTopButton.Size = new System.Drawing.Size(24, 25);
+			this.onTopButton.Text = "Toggle always on top | Ctrl + T";
+			this.onTopButton.Click += new System.EventHandler(this.onTopButton_Click);
+			// 
+			// clearListButton
+			// 
+			this.clearListButton.AutoSize = false;
+			this.clearListButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
+			this.clearListButton.Image = ((System.Drawing.Image)(resources.GetObject("clearListButton.Image")));
+			this.clearListButton.ImageTransparentColor = System.Drawing.Color.Magenta;
+			this.clearListButton.Name = "clearListButton";
+			this.clearListButton.Size = new System.Drawing.Size(24, 25);
+			this.clearListButton.Text = "Clear color list | Ctrl + L";
+			this.clearListButton.Click += new System.EventHandler(this.clearListButton_Click);
+			// 
+			// deleteButton
+			// 
+			this.deleteButton.AutoSize = false;
+			this.deleteButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
+			this.deleteButton.Image = ((System.Drawing.Image)(resources.GetObject("deleteButton.Image")));
+			this.deleteButton.ImageTransparentColor = System.Drawing.Color.Magenta;
+			this.deleteButton.Name = "deleteButton";
+			this.deleteButton.Size = new System.Drawing.Size(24, 25);
+			this.deleteButton.Text = "Remove selected color | Delete";
+			this.deleteButton.Click += new System.EventHandler(this.deleteButton_Click);
+			// 
+			// aboutButton
+			// 
+			this.aboutButton.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
+			this.aboutButton.AutoSize = false;
+			this.aboutButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
+			this.aboutButton.Image = ((System.Drawing.Image)(resources.GetObject("aboutButton.Image")));
+			this.aboutButton.ImageTransparentColor = System.Drawing.Color.Magenta;
+			this.aboutButton.Name = "aboutButton";
+			this.aboutButton.Size = new System.Drawing.Size(24, 25);
+			this.aboutButton.Text = "About | F1";
+			this.aboutButton.Click += new System.EventHandler(this.aboutButton_Click);
+			// 
+			// 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, 188);
+			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
+			// 
+			this.gradPanel1.BackColor = System.Drawing.Color.White;
+			this.gradPanel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+			this.gradPanel1.Location = new System.Drawing.Point(9, 213);
+			this.gradPanel1.Margin = new System.Windows.Forms.Padding(0);
+			this.gradPanel1.Name = "gradPanel1";
+			this.gradPanel1.Size = new System.Drawing.Size(24, 46);
+			this.gradPanel1.TabIndex = 26;
+			// 
+			// gradPanel2
+			// 
+			this.gradPanel2.BackColor = System.Drawing.Color.White;
+			this.gradPanel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+			this.gradPanel2.Location = new System.Drawing.Point(33, 213);
+			this.gradPanel2.Margin = new System.Windows.Forms.Padding(0);
+			this.gradPanel2.Name = "gradPanel2";
+			this.gradPanel2.Size = new System.Drawing.Size(24, 46);
+			this.gradPanel2.TabIndex = 27;
+			// 
+			// gradPanel3
+			// 
+			this.gradPanel3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(230)))), ((int)(((byte)(230)))), ((int)(((byte)(230)))));
+			this.gradPanel3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+			this.gradPanel3.Location = new System.Drawing.Point(81, 213);
+			this.gradPanel3.Margin = new System.Windows.Forms.Padding(0);
+			this.gradPanel3.Name = "gradPanel3";
+			this.gradPanel3.Size = new System.Drawing.Size(24, 46);
+			this.gradPanel3.TabIndex = 27;
+			// 
+			// gradPanel4
+			// 
+			this.gradPanel4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(205)))), ((int)(((byte)(205)))), ((int)(((byte)(205)))));
+			this.gradPanel4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+			this.gradPanel4.Location = new System.Drawing.Point(105, 213);
+			this.gradPanel4.Margin = new System.Windows.Forms.Padding(0);
+			this.gradPanel4.Name = "gradPanel4";
+			this.gradPanel4.Size = new System.Drawing.Size(24, 46);
+			this.gradPanel4.TabIndex = 27;
+			// 
+			// gridPanel
+			// 
+			this.gridPanel.BackColor = System.Drawing.Color.White;
+			this.gridPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+			this.gridPanel.Location = new System.Drawing.Point(57, 213);
+			this.gridPanel.Margin = new System.Windows.Forms.Padding(0);
+			this.gridPanel.Name = "gridPanel";
+			this.gridPanel.Size = new System.Drawing.Size(24, 46);
+			this.gridPanel.TabIndex = 28;
+			// 
+			// MainForm
+			// 
+			this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
+			this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
+			this.ClientSize = new System.Drawing.Size(404, 268);
+			this.Controls.Add(this.gridPanel);
+			this.Controls.Add(this.gradPanel4);
+			this.Controls.Add(this.gradPanel3);
+			this.Controls.Add(this.gradPanel2);
+			this.Controls.Add(this.gradPanel1);
+			this.Controls.Add(this.label1);
+			this.Controls.Add(this.toolStrip1);
+			this.Controls.Add(this.rgbOneCopyButton);
+			this.Controls.Add(this.rgbOneTextBox);
+			this.Controls.Add(this.rgbOneLabel);
+			this.Controls.Add(this.hslCopyButton);
+			this.Controls.Add(this.hslTextBox);
+			this.Controls.Add(this.hslLabel);
+			this.Controls.Add(this.cmykCopyButton);
+			this.Controls.Add(this.cmykTextBox);
+			this.Controls.Add(this.cmykLabel);
+			this.Controls.Add(this.htmlCopyButton);
+			this.Controls.Add(this.rgbCopyButton);
+			this.Controls.Add(this.yLabel);
+			this.Controls.Add(this.xLabel);
+			this.Controls.Add(this.htmlTextBox);
+			this.Controls.Add(this.htmlLabel);
+			this.Controls.Add(this.rgbLabel);
+			this.Controls.Add(this.rgbTextBox);
+			this.Controls.Add(this.colorPanel);
+			this.Controls.Add(this.colorList);
+			this.Controls.Add(this.pictureBox1);
+			this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
+			this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+			this.KeyPreview = true;
+			this.MaximizeBox = false;
+			this.Name = "MainForm";
+			this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+			this.Text = "Quick Color Picker";
+			this.TopMost = true;
+			this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing);
+			this.Load += new System.EventHandler(this.MainForm_Load);
+			this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.MainForm_KeyDown);
+			((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
+			this.toolStrip1.ResumeLayout(false);
+			this.toolStrip1.PerformLayout();
+			this.ResumeLayout(false);
+			this.PerformLayout();
+
+		}
+
+		#endregion
+
+		private System.Windows.Forms.PictureBox pictureBox1;
+		private System.Windows.Forms.Panel colorPanel;
+		private System.Windows.Forms.TextBox rgbTextBox;
+		private System.Windows.Forms.Label rgbLabel;
+		private System.Windows.Forms.Label htmlLabel;
+		private System.Windows.Forms.TextBox htmlTextBox;
+		private System.Windows.Forms.Label xLabel;
+		private System.Windows.Forms.Label yLabel;
+		private System.Windows.Forms.ListBox colorList;
+		private System.Windows.Forms.Button rgbCopyButton;
+		private System.Windows.Forms.Button htmlCopyButton;
+		private System.Windows.Forms.Button cmykCopyButton;
+		private System.Windows.Forms.TextBox cmykTextBox;
+		private System.Windows.Forms.Label cmykLabel;
+		private System.Windows.Forms.Button hslCopyButton;
+		private System.Windows.Forms.TextBox hslTextBox;
+		private System.Windows.Forms.Label hslLabel;
+		private System.Windows.Forms.Button rgbOneCopyButton;
+		private System.Windows.Forms.TextBox rgbOneTextBox;
+		private System.Windows.Forms.Label rgbOneLabel;
+		private System.Windows.Forms.ToolStrip toolStrip1;
+		private System.Windows.Forms.ToolStripButton onTopButton;
+		private System.Windows.Forms.ToolStripButton clearListButton;
+		private System.Windows.Forms.ToolStripButton aboutButton;
+		private System.Windows.Forms.ToolStripButton deleteButton;
+		private System.Windows.Forms.Label label1;
+		private System.Windows.Forms.Panel gradPanel1;
+		private System.Windows.Forms.Panel gradPanel2;
+		private System.Windows.Forms.Panel gradPanel3;
+		private System.Windows.Forms.Panel gradPanel4;
+		private System.Windows.Forms.Panel gridPanel;
+	}
+}
+

+ 474 - 0
quick-color-picker/MainForm.cs

@@ -0,0 +1,474 @@
+using GitHubUpdate;
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.IO;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace quick_color_picker
+{
+	public partial class MainForm : Form
+	{
+		private Pen aimPen = new Pen(Color.Red, 1);
+		private Color aimColor;
+		private bool darkMode = false;
+		private bool alwaysOnTop = true;
+
+		public MainForm()
+		{
+			InitializeComponent();
+		}
+
+		private void CaptureScreen()
+		{
+			try
+			{
+				Bitmap bmp = new Bitmap(120, 120);
+				using (Graphics g = Graphics.FromImage(bmp))
+				{
+					g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
+					g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;
+					g.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighSpeed;
+					g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.None;
+
+					g.CopyFromScreen(
+						Cursor.Position.X - 20,
+						Cursor.Position.Y - 20, 0, 0,
+						new Size(40, 40)
+					);
+
+					Bitmap scaledBmp = new Bitmap(bmp, 120, 120);
+
+					g.Clear(Color.Black);
+					g.DrawImage(scaledBmp, 0, 0, 360, 360);
+
+					scaledBmp.Dispose();
+
+					if (pictureBox1.Image != null) pictureBox1.Image.Dispose();
+
+					pictureBox1.Image = bmp;
+
+					aimColor = bmp.GetPixel(pictureBox1.Width / 2, pictureBox1.Height / 2);
+					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);
+				}
+
+				xLabel.Invoke((MethodInvoker)(() => xLabel.Text = "X: " + Cursor.Position.X));
+				yLabel.Invoke((MethodInvoker)(() => yLabel.Text = "Y: " + Cursor.Position.Y));
+			}
+			catch
+			{
+
+			}
+		}
+
+		[System.Runtime.InteropServices.DllImport("user32.dll")]
+		public static extern bool RegisterHotKey(IntPtr hWnd, int id, int fsModifiers, int vk);
+
+		[System.Runtime.InteropServices.DllImport("user32.dll")]
+		public static extern bool UnregisterHotKey(IntPtr hWnd, int id);
+
+		private void MainForm_Load(object sender, EventArgs e)
+		{
+			RegisterHotKey(this.Handle, 0, (int) KeyModifier.Alt, Keys.X.GetHashCode());
+
+			toolStrip1.Renderer = new ToolStripOverride();
+
+			darkMode = ThemeManager.isDarkTheme();
+			if (darkMode)
+			{
+				applyDarkTheme();
+			}
+
+			Task task = new Task(() =>
+			{
+				while (true)
+				{
+					CaptureScreen();
+					Thread.Sleep(100);
+				}
+			});
+
+			task.Start();
+
+			LoadColorList();
+
+			checkForUpdates(false);
+		}
+
+		enum KeyModifier
+		{
+			None = 0,
+			Alt = 1,
+			Control = 2,
+			Shift = 4,
+			WinKey = 8
+		}
+
+		protected override void WndProc(ref Message m)
+		{
+			base.WndProc(ref m);
+
+			if (m.Msg == 0x0312)
+			{
+				Keys key = (Keys)(((int)m.LParam >> 16) & 0xFFFF);             
+				KeyModifier modifier = (KeyModifier)((int)m.LParam & 0xFFFF);  
+				int id = m.WParam.ToInt32();
+
+				GetColor();
+			}
+		}
+
+		private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
+		{
+			UnregisterHotKey(this.Handle, 0);
+		}
+
+		private void GetColor()
+		{
+			colorList.Items.Add(aimColor.R + "," + aimColor.G + "," + aimColor.B);
+			colorList.SetSelected(colorList.Items.Count - 1, true);
+			SaveColorList();
+		}
+
+		private void colorList_DrawItem(object sender, DrawItemEventArgs e)
+		{
+			if (e.Index != -1)
+			{
+				e.DrawBackground();
+
+				int itemIndex = e.Index;
+				string itemText = colorList.Items[itemIndex].ToString();
+
+				if (itemIndex >= 0 && itemIndex < colorList.Items.Count)
+				{
+					Graphics g = e.Graphics;
+
+					Color c = textToColor(itemText);
+
+					// Background color
+					SolidBrush backgroundColorBrush = new SolidBrush(c);
+					g.FillRectangle(backgroundColorBrush, e.Bounds);
+
+					// Item text
+					SolidBrush itemTextColorBrush;
+					if (c.GetBrightness() > 0.5) { 
+						itemTextColorBrush = new SolidBrush(Color.Black);
+					} 
+					else
+					{
+						itemTextColorBrush = new SolidBrush(Color.White);
+					}
+					if (e.Index == colorList.SelectedIndex)
+					{
+						Font f = new Font(e.Font, FontStyle.Bold);
+						Point p = new Point(
+							colorList.GetItemRectangle(itemIndex).Location.X + 10, 
+							colorList.GetItemRectangle(itemIndex).Location.Y
+						);
+
+						g.DrawString(itemText, f, itemTextColorBrush, p);
+					}
+					else
+					{
+						g.DrawString(itemText, e.Font, itemTextColorBrush, colorList.GetItemRectangle(itemIndex).Location);
+					}
+
+					// Clean up
+					backgroundColorBrush.Dispose();
+					itemTextColorBrush.Dispose();
+				}
+			}
+		}
+
+		private void colorList_SelectedIndexChanged(object sender, EventArgs e)
+		{
+			if (colorList.SelectedIndex != -1)
+			{
+				string t = colorList.Items[colorList.SelectedIndex].ToString();
+				Color c = textToColor(t);
+
+				rgbTextBox.Text = t;
+				htmlTextBox.Text = ColorTranslator.ToHtml(c).ToString();
+
+				int[] cmyk = RgbToCmyk(c.R, c.G, c.B);
+				cmykTextBox.Text = cmyk[0] + "," + cmyk[1] + "," + cmyk[2] + "," + cmyk[3];
+
+				int[] hsl = ColorToHsl(c);
+				hslTextBox.Text = hsl[0] + "," + hsl[1] + "," + hsl[2];
+
+				double rOne = c.R / (double)255;
+				double gOne = c.G / (double)255;
+				double bOne = c.B / (double)255;
+				rgbOneTextBox.Text = rOne.ToString("0.##") + "/" + gOne.ToString("0.##") + "/" + bOne.ToString("0.##");
+
+				gridPanel.BackColor = c;
+
+				int r1 = c.R - 50;
+				int g1 = c.G - 50;
+				int b1 = c.B - 50;
+
+				if (r1 < 0 || g1 < 0 || b1 < 0)
+				{
+					r1 = 0;
+					g1 = 0;
+					b1 = 0;
+				}
+
+				gradPanel1.BackColor = Color.FromArgb(r1, g1, b1);
+
+				int r2 = c.R - 25;
+				int g2 = c.G - 25;
+				int b2 = c.B - 25;
+
+				if (r2 < 0 || g2 < 0 || b2 < 0)
+				{
+					r2 = 0;
+					g2 = 0;
+					b2 = 0;
+				}
+
+				gradPanel2.BackColor = Color.FromArgb(r2, g2, b2);
+
+				int r3 = c.R + 25;
+				int g3 = c.G + 25;
+				int b3 = c.B + 25;
+
+				if (r3 > 255 || g3 > 255 || b3 > 255)
+				{
+					r3 = 255;
+					g3 = 255;
+					b3 = 255;
+				}
+
+				gradPanel3.BackColor = Color.FromArgb(r3, g3, b3);
+
+				int r4 = c.R + 50;
+				int g4 = c.G + 50;
+				int b4 = c.B + 50;
+
+				if (r4 > 255 || g4 > 255 || b4 > 255)
+				{
+					r4 = 255;
+					g4 = 255;
+					b4 = 255;
+				}
+
+				gradPanel4.BackColor = Color.FromArgb(r4, g4, b4);
+			}
+			colorList.Refresh();
+		}
+
+		private Color textToColor(string text)
+		{
+			string[] strArr = text.Split(',');
+			int[] arr = Array.ConvertAll(strArr, s => int.Parse(s));
+			return Color.FromArgb(arr[0], arr[1], arr[2]);
+		}
+
+		private int[] RgbToCmyk(int intR, int intG, int intB)
+		{
+			double c, m, y, k;
+			double r = intR, g = intG, b = intB;
+			double r1 = r / 255, g1 = g / 255, b1 = b / 255;
+
+			k = 1 - Math.Max(Math.Max(r1, g1), b1);
+
+			if (k == 1)
+			{
+				return new int[] { 0, 0, 0, 1 };
+			}
+			else
+			{
+				c = (1 - r1 - k) / (1 - k);
+				m = (1 - g1 - k) / (1 - k);
+				y = (1 - b1 - k) / (1 - k);
+
+				int intC = Convert.ToInt32(c * 100);
+				int intM = Convert.ToInt32(m * 100);
+				int intY = Convert.ToInt32(y * 100);
+				int intK = Convert.ToInt32(k * 100);
+
+				return new int[] { intC, intM, intY, intK };
+			}
+		}
+
+		private int[] ColorToHsl(Color color)
+		{
+			float hue = color.GetHue();
+			float saturation = color.GetSaturation();
+			float lightness = color.GetBrightness();
+
+			int intHue = Convert.ToInt32(hue);
+			int intSaturation = Convert.ToInt32(saturation * 100);
+			int intLightness = Convert.ToInt32(lightness * 100);
+
+			return new int[] { intHue, intSaturation, intLightness }; 
+		}
+
+		private void rgbCopyButton_Click(object sender, EventArgs e)
+		{
+			Clipboard.SetText(rgbTextBox.Text);
+		}
+
+		private void htmlCopyButton_Click(object sender, EventArgs e)
+		{
+			Clipboard.SetText(htmlTextBox.Text);
+		}
+
+		private void cmykCopyButton_Click(object sender, EventArgs e)
+		{
+			Clipboard.SetText(cmykTextBox.Text);
+		}
+
+		private void applyDarkTheme()
+		{
+			this.ForeColor = Color.White;
+
+			toolStrip1.BackColor = ThemeManager.BackColorDark;
+
+			this.BackColor = ThemeManager.BackColorDark;
+
+			colorList.BackColor = ThemeManager.SecondColorDark;
+		}
+
+		private void hslCopyButton_Click(object sender, EventArgs e)
+		{
+			Clipboard.SetText(hslTextBox.Text);
+		}
+
+		private void rgbOneCopyButton_Click(object sender, EventArgs e)
+		{
+			Clipboard.SetText(rgbOneTextBox.Text);
+		}
+
+		private void onTopButton_Click(object sender, EventArgs e)
+		{
+			setAlwaysOnTop(!alwaysOnTop);
+		}
+
+		private void setAlwaysOnTop(bool b)
+		{
+			alwaysOnTop = b;
+			this.TopMost = b;
+			onTopButton.Checked = b;
+		}
+
+		private void MainForm_KeyDown(object sender, KeyEventArgs e)
+		{
+			if (e.Control)
+			{
+				if (e.KeyCode == Keys.T)
+				{
+					onTopButton.PerformClick();
+				}
+				else if (e.KeyCode == Keys.L)
+				{
+					clearListButton.PerformClick();
+				}
+			} 
+			else
+			{
+				if (e.KeyCode == Keys.Delete)
+				{
+					deleteButton.PerformClick();
+				}
+				else if (e.KeyCode == Keys.F1)
+				{
+					aboutButton.PerformClick();
+				}
+			}
+		}
+
+		private void clearListButton_Click(object sender, EventArgs e)
+		{
+			colorList.Items.Clear();
+			SaveColorList();
+		}
+
+		private void deleteButton_Click(object sender, EventArgs e)
+		{
+			if (colorList.SelectedIndex != -1)
+			{
+				colorList.Items.RemoveAt(colorList.SelectedIndex);
+				SaveColorList();
+			}
+		}
+
+		private void aboutButton_Click(object sender, EventArgs e)
+		{
+			setAlwaysOnTop(false);
+			AboutForm aboutBox = new AboutForm();
+			aboutBox.Owner = this;
+			aboutBox.ShowDialog();
+		}
+
+		public async void checkForUpdates(bool showUpToDateDialog)
+		{
+			try
+			{
+				var checker = new UpdateChecker("ModuleArt", "quick-color-picker");
+
+				UpdateType update = await checker.CheckUpdate();
+
+				if (update == UpdateType.None)
+				{
+					if (showUpToDateDialog)
+					{
+						MessageBox.Show("Application is up to date", "Updator", MessageBoxButtons.OK, MessageBoxIcon.Information);
+					}
+				}
+				else
+				{
+					var result = new UpdateNotifyDialog(checker).ShowDialog();
+					if (result == DialogResult.Yes)
+					{
+						checker.DownloadAsset("QuickColorPicker-Setup.msi");
+					}
+				}
+			}
+			catch
+			{
+				if (showUpToDateDialog)
+				{
+					MessageBox.Show("Connection error", "Updator", MessageBoxButtons.OK, MessageBoxIcon.Information);
+				}
+			}
+		}
+
+		private void SaveColorList()
+		{
+			string[] linesToWrite = new string[colorList.Items.Count];
+			for (int i = 0; i < colorList.Items.Count; i++)
+			{
+				linesToWrite[i] = colorList.Items[i].ToString();
+			}
+
+			System.IO.File.WriteAllLines("color-list.txt", linesToWrite);
+		}
+
+		private void LoadColorList()
+		{
+			try
+			{
+				string[] lines = File.ReadAllLines("color-list.txt");
+
+				for (int i = 0; i < lines.Length; i++)
+				{
+					colorList.Items.Add(lines[i]);
+				}
+
+				colorList.SetSelected(colorList.Items.Count - 1, true);
+			}
+			catch
+			{
+
+			}
+		}
+	}
+}

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

@@ -0,0 +1,307 @@
+<?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="rgbCopyButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAJ5JREFUOE9j
+        wAYquuf8x4XrJiw4BVWGG4AUfvr1HwODxPvmrvnfOHnRCahS7ACfAd9//PzfP28tyCUX4Ypx4enLtmIY
+        AAIgQ/rmrflXN3HBcbAB2ABIHKjo/8wV21AMQMd4DQA7d/7a/5OXbERxCbKBeA0AAZAhvfNW/5+B5BKi
+        DUDHJBmADkYNgCjGhkkyAJx00QFVDCAWQ7UgAQYGALlC9GaPsO0DAAAAAElFTkSuQmCC
+</value>
+  </data>
+  <data name="htmlCopyButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAJ5JREFUOE9j
+        wAYquuf8x4XrJiw4BVWGG4AUfvr1HwODxPvmrvnfOHnRCahS7ACfAd9//PzfP28tyCUX4Ypx4enLtmIY
+        AAIgQ/rmrflXN3HBcbAB2ABIHKjo/8wV21AMQMd4DQA7d/7a/5OXbERxCbKBeA0AAZAhvfNW/5+B5BKi
+        DUDHJBmADkYNgCjGhkkyAJx00QFVDCAWQ7UgAQYGALlC9GaPsO0DAAAAAElFTkSuQmCC
+</value>
+  </data>
+  <data name="cmykCopyButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAJ5JREFUOE9j
+        wAYquuf8x4XrJiw4BVWGG4AUfvr1HwODxPvmrvnfOHnRCahS7ACfAd9//PzfP28tyCUX4Ypx4enLtmIY
+        AAIgQ/rmrflXN3HBcbAB2ABIHKjo/8wV21AMQMd4DQA7d/7a/5OXbERxCbKBeA0AAZAhvfNW/5+B5BKi
+        DUDHJBmADkYNgCjGhkkyAJx00QFVDCAWQ7UgAQYGALlC9GaPsO0DAAAAAElFTkSuQmCC
+</value>
+  </data>
+  <data name="hslCopyButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAJ5JREFUOE9j
+        wAYquuf8x4XrJiw4BVWGG4AUfvr1HwODxPvmrvnfOHnRCahS7ACfAd9//PzfP28tyCUX4Ypx4enLtmIY
+        AAIgQ/rmrflXN3HBcbAB2ABIHKjo/8wV21AMQMd4DQA7d/7a/5OXbERxCbKBeA0AAZAhvfNW/5+B5BKi
+        DUDHJBmADkYNgCjGhkkyAJx00QFVDCAWQ7UgAQYGALlC9GaPsO0DAAAAAElFTkSuQmCC
+</value>
+  </data>
+  <data name="rgbOneCopyButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAJ5JREFUOE9j
+        wAYquuf8x4XrJiw4BVWGG4AUfvr1HwODxPvmrvnfOHnRCahS7ACfAd9//PzfP28tyCUX4Ypx4enLtmIY
+        AAIgQ/rmrflXN3HBcbAB2ABIHKjo/8wV21AMQMd4DQA7d/7a/5OXbERxCbKBeA0AAZAhvfNW/5+B5BKi
+        DUDHJBmADkYNgCjGhkkyAJx00QFVDCAWQ7UgAQYGALlC9GaPsO0DAAAAAElFTkSuQmCC
+</value>
+  </data>
+  <metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+  <data name="onTopButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABDSURBVDhPY6AYpFX2/ycVQ7VCADYFhDBUKwSABG5++k80
+        HhwGIOOBMQCZPUgMIBWjGIAMkCWJwYPUAFIxVCu5gIEBAG1lha+atpQEAAAAAElFTkSuQmCC
+</value>
+  </data>
+  <data name="clearListButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJ5SURBVDhPYyAXBNXumB1Yvf0EQ1rVRN+s6gkvM6snvsys
+        6vOGyuMF/hXbvPyqtv4PrN15myG9ZuKbeesP/5+z7tD/zKpJr6FqcILQ8t38/tVb3/pXbfnnW7klhiG9
+        esK7+RuO/AcZkl4z4Q1UHU4QVLdrVWTLgT/+1dufh4auYgZ7Ib2m/11G1aS32LxgX7+fw69muzqI7Ve9
+        xSW4YdfX2I4jXwJqtuaDFeAD6eXtCv5V254H1m//Eli7445/zfZXRfNu/A+o3v7JtXgnN1QZBKRW9u5P
+        q+zfC+WCQULVzKfxnQf/d29//79iyd3/WdMv/k6eePob0EWToEoQIKWy73BKZe9BELu+vp5peo37tAlN
+        ad+yO9b8j27e8a96xUOgQR/+F86//te/dse3gJrtlWCN6GBKhav5nHrPKyu7A76/OVb3/8vZ1v97Nk37
+        H9u06X9i5/7/jWuf/W/d+Oq/f+WW38DwYWFYVR/KNq3SOWpGjeusmXUej4Caf5xamfb389mW/2+O1f//
+        CqS/nmv9/+F02//ly2f/D6vb8j+x+/D/kOr1H6F2MjDMqHC2nFXn+mxFp/+vDycb/7893vD/1PL0/y8O
+        14A1I+P7+xr/59W2/8quaEuEaoeA3kILzpnVrtOn17j9Wtzq+//5IUzNH083/1/c4v1pWrVrNlQbJpha
+        4ZI4vcbl0/HFKT++QJ3/+UwzmN41M/bLzDr3Tf8ZGBihyrGDafWuYrPrPQ8sbvP5fnhR8v9XR2r/n1yW
+        /gcYRjfm19tzQJXhB6ConFrlOm1mjdu3gwsT/86sdXk3rcJZCSpNPJhe6aQ1q9b99LRyZ0OoEBJgYAAA
+        cV1erCU5K48AAAAASUVORK5CYII=
+</value>
+  </data>
+  <data name="deleteButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADUSURBVDhPpY1NDoIwFIQ5mnHpz2mwKuEE2ABHQKgew7gm
+        rt0pGtfKwgtgJzx8iTz/J5lMOp2vdSQFKh0EKim0Sit4Nkr3tuvR9XvZ8Um7SYeOjnazbqDmRzq2FfuL
+        TfPbp459kxNuf7DFbnv9ymAIrx/4xYTXQiH9JLkFQ80Djyl1SMJY0ggpdUjCWNIIKXVIwljSCCl1SMJY
+        0ggpdUjCWNIIKXVIwljSCCl1SMJYoZeV+fpwh545XxVV6C3PhLH0JBtGninx+itHU3PRY9Mn7F85zg2x
+        bQhr3tf1CAAAAABJRU5ErkJggg==
+</value>
+  </data>
+  <data name="aboutButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHPSURBVDhPnVNvL8NgEC9fA/F9iHYtCeZLIDHZ2q0v2ASJ
+        SIQ3RIJIJBIh06frwtjeiIhXssUyXuCVYbo//kRrp/dYZx0Tccnl6XP3u1/vnrtjakWW5WZWJAO8Xztw
+        SdoDK5FnPLtlLcZ5FTf6K9DvwntIKy9Fku5Qoji6dgmh8B1MhO/piXd3KF4UJPWs0xduqYR8SYe42+4S
+        1bvhpZQ5rerQSIeWzw1OimQ5MdJWCf1MW5Ai6aHl1LsNXIwX4CZnwMtbGW4eDHq3ffgTIaCmquVgbf3B
+        w4INQL22guLpF5jby0PCOq/ujaoPtS94UOBEpZcS8AEt4Vm9cADMd4AZ7fN7NpqHN7Ps8HtWM4APTQms
+        2vPBnawDUKtbp0+QLZgO27iF50X1kRJ0+Yg5RXIOgK0bxyX6DpsnJYd9UskB5901KAErKXqjDEqvZVg/
+        Kn6zYwYuv5qjBEJAi45YNdWDUFF+siNekKOEErBe0oND8hMQu1BvmyI6WF0rsr4wTwmwn1YnzgeXktU5
+        QF2I5WkG8/tOksHFpIkTyzDQRAlQGk1ifQZ0Ev11k2hL7S54VjIwtn1rBT3SE2v+dRdsqd1GTiI661OA
+        8xP9T9v4P2GYDwbcQmLQbIxgAAAAAElFTkSuQmCC
+</value>
+  </data>
+  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        AAABAAIAICAAAAEAIACoEAAAJgAAABAQAAABACAAaAQAAM4QAAAoAAAAIAAAAEAAAAABACAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+        /wD///8A////AP///wD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wAAAAAAAAAAAMSYc0XHmnix1aqABgAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AAAAAADDl3VMx5p39tOq
+        iPjHmnfMyJx5zMeZd/DIm3eetpJtBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8AAAAAAMeZ
+        d7bUq4j3/ebA/+PBnP3u0Kv/+d+5/9ixjvbHmnnAtpJtBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP//
+        /wAAAAAAv5+ACMeaeMziwZz9/+jC///owv//6ML//+fB/9izj/XHmnnAtpJtBwAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAD///8A////AAAAAAAAAAAAyJt5zOzOqf//6ML//+jC///owv//6ML//ufB/9mxjvbHmnjAtpJtBwAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAP///wD///8AAAAAAAAAAADGmXfx+N64///owv//6ML//+jC///owv//6ML//ufB/9mx
+        jvbHmnjAtpJtBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAA////AP///wAAAAAAAAAAAMebeKjYsI32/ufB///owv//6ML//+jC///o
+        wv//6ML//ufB/9ixjvbHmnjAtpJtBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AAAAAAAAAAAAyJJtDsaaec/btZL2/+jB///o
+        wv//6ML//+jC///owv//6ML//ubA/9Wvi/TImne4zJlmBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8AAAAAAAAAAAAAAAAAyJJtDsaa
+        ec/btZL2/+jB///owv//6ML//+jC///owv//6ML//ubA/9Wvi/TImne4zJlmBQAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wAAAAAAAAAAAAAA
+        AAAAAAAAyJJtDsaaec/btZL2/+jB///owv//6ML//+jC///owv//6ML//ubA/9Wvi/TImne4zJlmBQAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAyJJtDsaaec/btZL2/+jB///owv//6ML//+jC///owv//6ML//ubA/9Wv
+        i/TImne4zJlmBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//
+        /wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyJJtDsaaec/btZL2/+jB///owv//6ML//+jC///o
+        wv//6ML//ubA/9Wvi/TImne4zJlmBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAA////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyJJtDsaaec/ZtJD3/+fB///o
+        wv//6ML//+jC///owv//6ML//ubA/9Wvi/TImne4zJlmBWaZzAVUlcFGVarVBgAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyJJtDsaa
+        ec/Zs5D3/+fB///owv//6ML//+jC///owv//6ML//ubA/9WtivTDmnq6VpnFwFaax/ZVmMXDYJ+/CAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAyJJtDsaaec/Zs5D3/+fB///owv//6ML//+jC///owv//6ML/++XA/3qfs/xho878dcDz/12j
+        0fVVmcW5VarVBgAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAzJmACsead8jXsIz2/ubB///owv//6ML//+jC//vnwv+ArMT/Y6XQ/3bC
+        9P92wvX/dsL0/1+k0/dVmsauAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxJ12Dcaaec/Zs5D3/+fB///owv/758L/ga3E/2Sl
+        0P92wvT/dsL1/3bC9f92wfX/YKbW9lWZxq8AAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8AAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxJ12Dcaaec/Zs5D3/ObB/4qx
+        xP9jo87/dsH0/3bC9f92wvX/dsL1/2Gn1/1UmcXyVZzGEgAAAAAAAAAAAAAAAAAAAAAAAAAA////AP//
+        /wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzJmACsWb
+        ecp9n7T9YqPO/3bB9P92wvX/dsL1/3bC9f9hp9f9V5vH/V6j0fVVmMTBYJ+/CAAAAAAAAAAAAAAAAAAA
+        AAD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AABmmcwFV5jDvmKkz/x2wvT/dsL1/3bC9f92wvT/X6bU/VeayP10v/H/dsH0/12j0fVUmMS6VarVBgAA
+        AAAAAAAAAAAAAP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAFSWxElWmcb3dcH0/3bC9f92wvX/dsL0/1+l0/xXmsj9dL/x/3bC9f92wvX/dsH0/12j
+        0fRVmMW6VarVBgAAAAAAAAAA////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAYJ+/CFWZxshfpdP4dsL0/3bC9P9epNP+V5vI/XW/8v92wvX/dsL1/3bC
+        9f92wvX/dsL0/16l0vNUmMPDVarVBgAAAAD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATZnMClWaxslepdP5X6XS+lWZxfNfpdX2dsH1/3bC
+        9f92wvX/dsL1/3bC9f92wvX/dsL0/1yhzvRTl8SHAAAAAP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVY7GCVWYxrBWmcexTZnMFFWY
+        xMZfptP2dsH1/3bC9f92wvX/dsL1/3bC9f92wvX/cLrt/1WZxuQAAAAA////AP///wAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAVY7GCVWXxsVfptP2dsH1/3bC9f92wvX/dsL1/3bC9f90v/L/VJfD9wAAAAD///8A////AAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAVY7GCVWaxsRfptP2dsH1/3bC9f92wvX/dsL1/2mz4/5VmcXLAAAAAP//
+        /wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYJ+/CFWYxcJcos/0b7rr/3O+8P9ps+P+VZjE81KV
+        wEEAAAAA////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZpnMBVSYxYNVmsbgVZjF8VWZ
+        xcVSl8I7AAAAAAAAAAD///8A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+        /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+        /wD///8A////AP///wD///8A////AP///wD///8A////AP//////////4////8A////AH///wA///+AH
+        ///gA///4AH//+AA///wAH//+AA///wAH//+AA///wAA//+AAH//wAA//+AAP//wAD//+AA///wAH//8
+        AA///AAH//wAA//+AAP//wAD///wA///+AP///wD///+B///////////KAAAABAAAAAgAAAAAQAgAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMaTcS3GmXfIwpRyQ8KYcyoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADGmHXExJZ0/82igPPInHn1x5l2gAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxZRzPsyigPH/6ML/++K9/82igPPHmneDAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMeVdinJnHn0+uG6///owv/64rz/zaKA88eZ
+        doQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxpt5h8yhfvX64bv//+jC//ri
+        vP/MoYDyx5l4hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADGmXeUzqOB8/vi
+        vf//6ML/+eC6/8ufffXGmHh5AAAAAAD//wFbksgOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMaZ
+        dpPOpIHz++K9///owv/54Lr/y5999cSZeXpXmceeVZjE7lGUwyYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAx5p5ks6kgfP74r3//+jC//jeu/98m6z8XaDN+Wmy4v5Vl8TwU5fBMQAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAADFmXeFzKF+9Pjgu/+Ms8T/YqPO/3XA8/92wvX/Za3c/1WYxOgAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMeceZOBnaz7YKHM/3TA8/92wvX/cLns/1WYxf1WmcRfAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAFWqqgNVmMatXqDM+XXA8/92wvX/brjq/1WYxP9Zn8v5U5jDyF2L
+        uQsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABZmb8UU5fD9Wmy4/52wvX/b7jq/1SYxP9kq9z/dsH0/12j
+        0fRUmMW8VarVBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFWWwzNVmMPzZa3c/lWZxf1bn836dsH1/3bC
+        9f92wvT/XqTR9lSYxKQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVZbDM1WYw+hSmMFXVZnGyGCm
+        1vZ2wfX/dsL1/3S/8v9Ul8P3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFWO
+        xglVmcbFX6bV9nO+8f9psuL+VZnF1wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAYJ+/CFWZxqVUmMTzVJjF11GVwSkP/wAAB/8AAAP/AAAB/wAAgP8AAMBPAADgBwAA8AMAAPgD
+        AAD8AwAA+AEAAPgAAAD8AAAA/gAAAP/AAAD/4AAA
+</value>
+  </data>
+</root>

+ 24 - 0
quick-color-picker/Program.cs

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

+ 38 - 0
quick-color-picker/Properties/AssemblyInfo.cs

@@ -0,0 +1,38 @@
+using System.Resources;
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Quick Color Picker")]
+[assembly: AssemblyDescription("Lightweight color picker utility for Windows")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Module Art")]
+[assembly: AssemblyProduct("Quick Color Picker")]
+[assembly: AssemblyCopyright("Copyright © 2019 Module Art")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components.  If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("623fd142-66f0-417c-8833-43832b11cf49")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0")]
+[assembly: AssemblyFileVersion("1.0.0")]
+[assembly: NeutralResourcesLanguage("en")]

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

@@ -0,0 +1,71 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.42000
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace quick_color_picker.Properties
+{
+
+
+	/// <summary>
+	///   A strongly-typed resource class, for looking up localized strings, etc.
+	/// </summary>
+	// This class was auto-generated by the StronglyTypedResourceBuilder
+	// class via a tool like ResGen or Visual Studio.
+	// To add or remove a member, edit your .ResX file then rerun ResGen
+	// with the /str option, or rebuild your VS project.
+	[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+	[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+	[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+	internal class Resources
+	{
+
+		private static global::System.Resources.ResourceManager resourceMan;
+
+		private static global::System.Globalization.CultureInfo resourceCulture;
+
+		[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+		internal Resources()
+		{
+		}
+
+		/// <summary>
+		///   Returns the cached ResourceManager instance used by this class.
+		/// </summary>
+		[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+		internal static global::System.Resources.ResourceManager ResourceManager
+		{
+			get
+			{
+				if ((resourceMan == null))
+				{
+					global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("quick_color_picker.Properties.Resources", typeof(Resources).Assembly);
+					resourceMan = temp;
+				}
+				return resourceMan;
+			}
+		}
+
+		/// <summary>
+		///   Overrides the current thread's CurrentUICulture property for all
+		///   resource lookups using this strongly typed resource class.
+		/// </summary>
+		[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+		internal static global::System.Globalization.CultureInfo Culture
+		{
+			get
+			{
+				return resourceCulture;
+			}
+			set
+			{
+				resourceCulture = value;
+			}
+		}
+	}
+}

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

@@ -0,0 +1,117 @@
+<?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.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: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" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+            </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" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+            </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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>

+ 30 - 0
quick-color-picker/Properties/Settings.Designer.cs

@@ -0,0 +1,30 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.42000
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace quick_color_picker.Properties
+{
+
+
+	[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+	[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
+	internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
+	{
+
+		private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+		public static Settings Default
+		{
+			get
+			{
+				return defaultInstance;
+			}
+		}
+	}
+}

+ 7 - 0
quick-color-picker/Properties/Settings.settings

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

+ 62 - 0
quick-color-picker/ThemeManager.cs

@@ -0,0 +1,62 @@
+using Microsoft.Win32;
+using System.Drawing;
+
+namespace quick_color_picker
+{
+	class ThemeManager
+	{
+		public static Color MainColorDark = Color.Black;
+		public static Color BackColorDark = Color.FromArgb(32, 32, 32);
+		public static Color SecondColorDark = Color.FromArgb(51, 51, 51);
+		public static Color AccentColorDark = Color.FromArgb(110, 110, 110);
+
+		public static bool isDarkTheme()
+		{
+			if (isWindows10())
+			{
+				string root = "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize";
+				string str = Registry.GetValue(root, "AppsUseLightTheme", null).ToString();
+				return (str == "0");
+			}
+			else
+			{
+				return false;
+			}
+		}
+
+		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");
+		}
+
+		public static Color getColorizationColor()
+		{
+			if (isWindows10())
+			{
+				string root = "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\DWM";
+				string colorcode = Registry.GetValue(root, "ColorizationColor", null).ToString();
+				return System.Drawing.ColorTranslator.FromHtml(colorcode);
+			}
+			else
+			{
+				return Color.Blue;
+			}
+		}
+
+		public static Color getAccentColor()
+		{
+			if (isWindows10())
+			{
+				string root = "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\DWM";
+				string colorcode = Registry.GetValue(root, "AccentColor", null).ToString();
+				return System.Drawing.ColorTranslator.FromHtml(colorcode);
+			}
+			else
+			{
+				return Color.White;
+			}
+		}
+	}
+}

+ 11 - 0
quick-color-picker/ToolStripOverride.cs

@@ -0,0 +1,11 @@
+using System.Windows.Forms;
+
+namespace quick_color_picker
+{
+	public class ToolStripOverride : ToolStripSystemRenderer
+	{
+		public ToolStripOverride() { }
+
+		protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e) { }
+	}
+}

BIN
quick-color-picker/bin/Debug/GitHubUpdate.dll


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


BIN
quick-color-picker/bin/Debug/Semver.dll


+ 11 - 0
quick-color-picker/bin/Debug/color-list.txt

@@ -0,0 +1,11 @@
+243,139,118
+90,126,143
+252,203,89
+61,158,239
+118,174,200
+102,153,204
+45,45,48
+149,149,149
+45,45,48
+92,92,92
+0,83,156

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


+ 6 - 0
quick-color-picker/bin/Debug/quick-color-picker.exe.config

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+    <startup> 
+        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
+    </startup>
+</configuration>

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


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


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


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


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


+ 6 - 0
quick-color-picker/bin/Release/quick-color-picker.exe.config

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+    <startup> 
+        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
+    </startup>
+</configuration>

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


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

@@ -0,0 +1,14 @@
+D:\Projects\DotNet\quick-color-picker\quick-color-picker\bin\Debug\quick-color-picker.exe.config
+D:\Projects\DotNet\quick-color-picker\quick-color-picker\bin\Debug\quick-color-picker.exe
+D:\Projects\DotNet\quick-color-picker\quick-color-picker\bin\Debug\quick-color-picker.pdb
+D:\Projects\DotNet\quick-color-picker\quick-color-picker\obj\Debug\quick-color-picker.csprojAssemblyReference.cache
+D:\Projects\DotNet\quick-color-picker\quick-color-picker\obj\Debug\quick_color_picker.Properties.Resources.resources
+D:\Projects\DotNet\quick-color-picker\quick-color-picker\obj\Debug\quick-color-picker.csproj.GenerateResource.cache
+D:\Projects\DotNet\quick-color-picker\quick-color-picker\obj\Debug\quick-color-picker.exe
+D:\Projects\DotNet\quick-color-picker\quick-color-picker\obj\Debug\quick-color-picker.pdb
+D:\Projects\DotNet\quick-color-picker\quick-color-picker\obj\Debug\quick_color_picker.MainForm.resources
+D:\Projects\DotNet\quick-color-picker\quick-color-picker\bin\Debug\GitHubUpdate.dll
+D:\Projects\DotNet\quick-color-picker\quick-color-picker\bin\Debug\Octokit.dll
+D:\Projects\DotNet\quick-color-picker\quick-color-picker\bin\Debug\Semver.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.csproj.CopyComplete

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.AboutForm.resources


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


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


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

@@ -0,0 +1,14 @@
+D:\Projects\DotNet\quick-color-picker\quick-color-picker\bin\Release\quick-color-picker.exe.config
+D:\Projects\DotNet\quick-color-picker\quick-color-picker\bin\Release\quick-color-picker.exe
+D:\Projects\DotNet\quick-color-picker\quick-color-picker\bin\Release\quick-color-picker.pdb
+D:\Projects\DotNet\quick-color-picker\quick-color-picker\bin\Release\GitHubUpdate.dll
+D:\Projects\DotNet\quick-color-picker\quick-color-picker\bin\Release\Octokit.dll
+D:\Projects\DotNet\quick-color-picker\quick-color-picker\bin\Release\Semver.dll
+D:\Projects\DotNet\quick-color-picker\quick-color-picker\obj\Release\quick-color-picker.csprojAssemblyReference.cache
+D:\Projects\DotNet\quick-color-picker\quick-color-picker\obj\Release\quick_color_picker.AboutForm.resources
+D:\Projects\DotNet\quick-color-picker\quick-color-picker\obj\Release\quick_color_picker.MainForm.resources
+D:\Projects\DotNet\quick-color-picker\quick-color-picker\obj\Release\quick_color_picker.Properties.Resources.resources
+D:\Projects\DotNet\quick-color-picker\quick-color-picker\obj\Release\quick-color-picker.csproj.GenerateResource.cache
+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.pdb

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.AboutForm.resources


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


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


+ 6 - 0
quick-color-picker/packages.config

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+  <package id="GitHubUpdate" version="1.2.0.0" targetFramework="net472" />
+  <package id="Octokit" version="0.3.4" targetFramework="net472" />
+  <package id="semver" version="1.1.2" targetFramework="net472" />
+</packages>

BIN
quick-color-picker/picker.ico


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

@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{623FD142-66F0-417C-8833-43832B11CF49}</ProjectGuid>
+    <OutputType>WinExe</OutputType>
+    <RootNamespace>quick_color_picker</RootNamespace>
+    <AssemblyName>quick-color-picker</AssemblyName>
+    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
+    <Deterministic>true</Deterministic>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup>
+    <StartupObject>quick_color_picker.Program</StartupObject>
+  </PropertyGroup>
+  <PropertyGroup>
+    <ApplicationIcon>picker.ico</ApplicationIcon>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="GitHubUpdate, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL">
+      <HintPath>..\packages\GitHubUpdate.1.2.0.0\lib\net45\GitHubUpdate.dll</HintPath>
+    </Reference>
+    <Reference Include="Octokit, Version=0.3.4.0, Culture=neutral, processorArchitecture=MSIL">
+      <HintPath>..\packages\Octokit.0.3.4\lib\net45\Octokit.dll</HintPath>
+    </Reference>
+    <Reference Include="Semver, Version=1.1.2.0, Culture=neutral, processorArchitecture=MSIL">
+      <HintPath>..\packages\semver.1.1.2\lib\net451\Semver.dll</HintPath>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Xml.Linq" />
+    <Reference Include="System.Data.DataSetExtensions" />
+    <Reference Include="Microsoft.CSharp" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Deployment" />
+    <Reference Include="System.Drawing" />
+    <Reference Include="System.Net.Http" />
+    <Reference Include="System.Windows.Forms" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="AboutForm.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="AboutForm.Designer.cs">
+      <DependentUpon>AboutForm.cs</DependentUpon>
+    </Compile>
+    <Compile Include="ToolStripOverride.cs" />
+    <Compile Include="MainForm.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="MainForm.Designer.cs">
+      <DependentUpon>MainForm.cs</DependentUpon>
+    </Compile>
+    <Compile Include="Program.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="ThemeManager.cs" />
+    <EmbeddedResource Include="AboutForm.resx">
+      <DependentUpon>AboutForm.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="MainForm.resx">
+      <DependentUpon>MainForm.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Properties\Resources.resx">
+      <Generator>ResXFileCodeGenerator</Generator>
+      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <Compile Include="Properties\Resources.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DependentUpon>Resources.resx</DependentUpon>
+    </Compile>
+    <None Include="packages.config" />
+    <None Include="Properties\Settings.settings">
+      <Generator>SettingsSingleFileGenerator</Generator>
+      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
+    </None>
+    <Compile Include="Properties\Settings.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DependentUpon>Settings.settings</DependentUpon>
+      <DesignTimeSharedInput>True</DesignTimeSharedInput>
+    </Compile>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="App.config" />
+  </ItemGroup>
+  <ItemGroup>
+    <Content Include="picker.ico" />
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project>

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


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


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


BIN
quick-color-picker/resources/imgs/on-top.png


BIN
quick-color-picker/resources/imgs/picker.ico


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


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


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


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


+ 7 - 0
quick-color-picker/resources/quick-color-picker.VisualElementsManifest.xml

@@ -0,0 +1,7 @@
+<Application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<VisualElements
+		BackgroundColor="#2D2D30"
+		ShowNameOnSquare150x150Logo="on"
+		ForegroundText="light" 
+	/>
+</Application>