diff --git a/src/Greenshot.Addons/Controls/ColorButton.cs b/src/Greenshot.Addon.LegacyEditor/Controls/ColorButton.cs similarity index 92% rename from src/Greenshot.Addons/Controls/ColorButton.cs rename to src/Greenshot.Addon.LegacyEditor/Controls/ColorButton.cs index 39731ae4d..2514163b2 100644 --- a/src/Greenshot.Addons/Controls/ColorButton.cs +++ b/src/Greenshot.Addon.LegacyEditor/Controls/ColorButton.cs @@ -29,10 +29,12 @@ using System.Drawing; using System.Drawing.Drawing2D; using System.Windows.Forms; using Autofac.Features.OwnedInstances; +using Greenshot.Addons.Controls; +using ColorDialog = Greenshot.Addon.LegacyEditor.Controls.ColorDialog; #endregion -namespace Greenshot.Addons.Controls +namespace Greenshot.Addon.LegacyEditor.Controls { /// /// Description of ColorButton. diff --git a/src/Greenshot.Addon.LegacyEditor/Controls/ColorDialog.Designer.cs b/src/Greenshot.Addon.LegacyEditor/Controls/ColorDialog.Designer.cs new file mode 100644 index 000000000..ddcddd3f0 --- /dev/null +++ b/src/Greenshot.Addon.LegacyEditor/Controls/ColorDialog.Designer.cs @@ -0,0 +1,293 @@ +/* + * Greenshot - a free and open source screenshot tool + * Copyright (C) 2007-2018 Thomas Braun, Jens Klingen, Robin Krom + * + * For more information see: http://getgreenshot.org/ + * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 1 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +using Greenshot.Addons.Controls; + +namespace Greenshot.Addon.LegacyEditor.Controls { + public partial class ColorDialog { + /// + /// Designer variable used to keep track of non-visual components. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Disposes resources used by the form. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing) { + if (components != null) { + components.Dispose(); + } + } + base.Dispose(disposing); + } + + /// + /// This method is required for Windows Forms designer support. + /// Do not change the method contents inside the source code editor. The Forms designer might + /// not be able to load this method if it was changed manually. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ColorDialog)); + this.btnTransparent = new Greenshot.Addons.Controls.GreenshotButton(); + this.colorPanel = new System.Windows.Forms.Panel(); + this.labelHtmlColor = new Greenshot.Addons.Controls.GreenshotLabel(); + this.textBoxHtmlColor = new System.Windows.Forms.TextBox(); + this.labelRed = new Greenshot.Addons.Controls.GreenshotLabel(); + this.labelGreen = new Greenshot.Addons.Controls.GreenshotLabel(); + this.labelBlue = new Greenshot.Addons.Controls.GreenshotLabel(); + this.textBoxRed = new System.Windows.Forms.TextBox(); + this.textBoxGreen = new System.Windows.Forms.TextBox(); + this.textBoxBlue = new System.Windows.Forms.TextBox(); + this.labelRecentColors = new Greenshot.Addons.Controls.GreenshotLabel(); + this.textBoxAlpha = new System.Windows.Forms.TextBox(); + this.labelAlpha = new Greenshot.Addons.Controls.GreenshotLabel(); + this.btnApply = new Greenshot.Addons.Controls.GreenshotButton(); + this.pipette = new Greenshot.Addon.LegacyEditor.Controls.Pipette(); + this.SuspendLayout(); + // + // btnTransparent + // + this.btnTransparent.BackColor = System.Drawing.Color.Transparent; + this.btnTransparent.LanguageKey = "colorpicker_transparent"; + this.btnTransparent.Location = new System.Drawing.Point(420, 7); + this.btnTransparent.Margin = new System.Windows.Forms.Padding(6); + this.btnTransparent.Name = "btnTransparent"; + this.btnTransparent.Size = new System.Drawing.Size(156, 43); + this.btnTransparent.TabIndex = 0; + this.btnTransparent.TabStop = false; + this.btnTransparent.Text = "Transparent"; + this.btnTransparent.UseVisualStyleBackColor = false; + this.btnTransparent.Click += new System.EventHandler(this.BtnTransparentClick); + // + // colorPanel + // + this.colorPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.colorPanel.Location = new System.Drawing.Point(426, 56); + this.colorPanel.Margin = new System.Windows.Forms.Padding(6); + this.colorPanel.Name = "colorPanel"; + this.colorPanel.Size = new System.Drawing.Size(64, 41); + this.colorPanel.TabIndex = 1; + // + // labelHtmlColor + // + this.labelHtmlColor.LanguageKey = "colorpicker_htmlcolor"; + this.labelHtmlColor.Location = new System.Drawing.Point(420, 106); + this.labelHtmlColor.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0); + this.labelHtmlColor.Name = "labelHtmlColor"; + this.labelHtmlColor.Size = new System.Drawing.Size(156, 31); + this.labelHtmlColor.TabIndex = 2; + this.labelHtmlColor.Text = "HTML color"; + // + // textBoxHtmlColor + // + this.textBoxHtmlColor.Location = new System.Drawing.Point(420, 131); + this.textBoxHtmlColor.Margin = new System.Windows.Forms.Padding(6); + this.textBoxHtmlColor.Name = "textBoxHtmlColor"; + this.textBoxHtmlColor.Size = new System.Drawing.Size(152, 31); + this.textBoxHtmlColor.TabIndex = 1; + this.textBoxHtmlColor.Click += new System.EventHandler(this.TextBoxGotFocus); + this.textBoxHtmlColor.TextChanged += new System.EventHandler(this.TextBoxHexadecimalTextChanged); + this.textBoxHtmlColor.GotFocus += new System.EventHandler(this.TextBoxGotFocus); + this.textBoxHtmlColor.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TextBoxKeyDown); + // + // labelRed + // + this.labelRed.LanguageKey = "colorpicker_red"; + this.labelRed.Location = new System.Drawing.Point(420, 181); + this.labelRed.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0); + this.labelRed.Name = "labelRed"; + this.labelRed.Size = new System.Drawing.Size(156, 33); + this.labelRed.TabIndex = 4; + this.labelRed.Text = "Red"; + // + // labelGreen + // + this.labelGreen.LanguageKey = "colorpicker_green"; + this.labelGreen.Location = new System.Drawing.Point(420, 226); + this.labelGreen.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0); + this.labelGreen.Name = "labelGreen"; + this.labelGreen.Size = new System.Drawing.Size(156, 33); + this.labelGreen.TabIndex = 5; + this.labelGreen.Text = "Green"; + // + // labelBlue + // + this.labelBlue.LanguageKey = "colorpicker_blue"; + this.labelBlue.Location = new System.Drawing.Point(420, 270); + this.labelBlue.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0); + this.labelBlue.Name = "labelBlue"; + this.labelBlue.Size = new System.Drawing.Size(156, 33); + this.labelBlue.TabIndex = 6; + this.labelBlue.Text = "Blue"; + // + // textBoxRed + // + this.textBoxRed.Location = new System.Drawing.Point(516, 176); + this.textBoxRed.Margin = new System.Windows.Forms.Padding(6); + this.textBoxRed.Name = "textBoxRed"; + this.textBoxRed.Size = new System.Drawing.Size(56, 31); + this.textBoxRed.TabIndex = 2; + this.textBoxRed.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; + this.textBoxRed.Click += new System.EventHandler(this.TextBoxGotFocus); + this.textBoxRed.TextChanged += new System.EventHandler(this.TextBoxRgbTextChanged); + this.textBoxRed.GotFocus += new System.EventHandler(this.TextBoxGotFocus); + this.textBoxRed.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TextBoxKeyDown); + // + // textBoxGreen + // + this.textBoxGreen.Location = new System.Drawing.Point(516, 220); + this.textBoxGreen.Margin = new System.Windows.Forms.Padding(6); + this.textBoxGreen.Name = "textBoxGreen"; + this.textBoxGreen.Size = new System.Drawing.Size(56, 31); + this.textBoxGreen.TabIndex = 3; + this.textBoxGreen.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; + this.textBoxGreen.Click += new System.EventHandler(this.TextBoxGotFocus); + this.textBoxGreen.TextChanged += new System.EventHandler(this.TextBoxRgbTextChanged); + this.textBoxGreen.GotFocus += new System.EventHandler(this.TextBoxGotFocus); + this.textBoxGreen.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TextBoxKeyDown); + // + // textBoxBlue + // + this.textBoxBlue.Location = new System.Drawing.Point(516, 265); + this.textBoxBlue.Margin = new System.Windows.Forms.Padding(6); + this.textBoxBlue.Name = "textBoxBlue"; + this.textBoxBlue.Size = new System.Drawing.Size(56, 31); + this.textBoxBlue.TabIndex = 4; + this.textBoxBlue.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; + this.textBoxBlue.Click += new System.EventHandler(this.TextBoxGotFocus); + this.textBoxBlue.TextChanged += new System.EventHandler(this.TextBoxRgbTextChanged); + this.textBoxBlue.GotFocus += new System.EventHandler(this.TextBoxGotFocus); + this.textBoxBlue.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TextBoxKeyDown); + // + // labelRecentColors + // + this.labelRecentColors.LanguageKey = "colorpicker_recentcolors"; + this.labelRecentColors.Location = new System.Drawing.Point(0, 335); + this.labelRecentColors.Name = "labelRecentColors"; + this.labelRecentColors.Size = new System.Drawing.Size(411, 30); + this.labelRecentColors.TabIndex = 10; + this.labelRecentColors.Text = "Recently used colors"; + // + // textBoxAlpha + // + this.textBoxAlpha.Location = new System.Drawing.Point(516, 309); + this.textBoxAlpha.Margin = new System.Windows.Forms.Padding(6); + this.textBoxAlpha.Name = "textBoxAlpha"; + this.textBoxAlpha.Size = new System.Drawing.Size(56, 31); + this.textBoxAlpha.TabIndex = 5; + this.textBoxAlpha.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; + this.textBoxAlpha.Click += new System.EventHandler(this.TextBoxGotFocus); + this.textBoxAlpha.TextChanged += new System.EventHandler(this.TextBoxRgbTextChanged); + this.textBoxAlpha.GotFocus += new System.EventHandler(this.TextBoxGotFocus); + this.textBoxAlpha.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TextBoxKeyDown); + // + // labelAlpha + // + this.labelAlpha.LanguageKey = "colorpicker_alpha"; + this.labelAlpha.Location = new System.Drawing.Point(420, 315); + this.labelAlpha.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0); + this.labelAlpha.Name = "labelAlpha"; + this.labelAlpha.Size = new System.Drawing.Size(156, 33); + this.labelAlpha.TabIndex = 11; + this.labelAlpha.Text = "Alpha"; + // + // btnApply + // + this.btnApply.BackColor = System.Drawing.Color.Transparent; + this.btnApply.LanguageKey = "colorpicker_apply"; + this.btnApply.Location = new System.Drawing.Point(420, 354); + this.btnApply.Margin = new System.Windows.Forms.Padding(6); + this.btnApply.Name = "btnApply"; + this.btnApply.Size = new System.Drawing.Size(156, 43); + this.btnApply.TabIndex = 12; + this.btnApply.TabStop = false; + this.btnApply.Text = "Apply"; + this.btnApply.UseVisualStyleBackColor = false; + this.btnApply.Click += new System.EventHandler(this.BtnApplyClick); + // + // pipette + // + this.pipette.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.pipette.Cursor = System.Windows.Forms.Cursors.Arrow; + this.pipette.Image = ((System.Drawing.Image)(resources.GetObject("pipette.Image"))); + this.pipette.Location = new System.Drawing.Point(510, 56); + this.pipette.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0); + this.pipette.Name = "pipette"; + this.pipette.Size = new System.Drawing.Size(64, 41); + this.pipette.TabIndex = 13; + this.pipette.PipetteUsed += new System.EventHandler(this.PipetteUsed); + // + // ColorDialog + // + this.AutoScaleDimensions = new System.Drawing.SizeF(12F, 25F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(584, 404); + this.Controls.Add(this.pipette); + this.Controls.Add(this.btnApply); + this.Controls.Add(this.textBoxAlpha); + this.Controls.Add(this.labelAlpha); + this.Controls.Add(this.labelRecentColors); + this.Controls.Add(this.textBoxBlue); + this.Controls.Add(this.textBoxGreen); + this.Controls.Add(this.textBoxRed); + this.Controls.Add(this.labelBlue); + this.Controls.Add(this.labelGreen); + this.Controls.Add(this.labelRed); + this.Controls.Add(this.textBoxHtmlColor); + this.Controls.Add(this.labelHtmlColor); + this.Controls.Add(this.colorPanel); + this.Controls.Add(this.btnTransparent); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.LanguageKey = "colorpicker_title"; + this.Margin = new System.Windows.Forms.Padding(6); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "ColorDialog"; + this.ShowIcon = false; + this.ShowInTaskbar = false; + this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; + this.Text = "Color picker"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + private GreenshotLabel labelRed; + private GreenshotLabel labelGreen; + private GreenshotLabel labelBlue; + private System.Windows.Forms.TextBox textBoxHtmlColor; + private GreenshotLabel labelRecentColors; + private GreenshotLabel labelAlpha; + private GreenshotLabel labelHtmlColor; + private GreenshotButton btnApply; + private System.Windows.Forms.TextBox textBoxAlpha; + private System.Windows.Forms.TextBox textBoxRed; + private System.Windows.Forms.TextBox textBoxGreen; + private System.Windows.Forms.TextBox textBoxBlue; + private System.Windows.Forms.Panel colorPanel; + private GreenshotButton btnTransparent; + private Pipette pipette; + } +} diff --git a/src/Greenshot.Addons/Controls/ColorDialog.cs b/src/Greenshot.Addon.LegacyEditor/Controls/ColorDialog.cs similarity index 82% rename from src/Greenshot.Addons/Controls/ColorDialog.cs rename to src/Greenshot.Addon.LegacyEditor/Controls/ColorDialog.cs index e2c25f098..616d769c7 100644 --- a/src/Greenshot.Addons/Controls/ColorDialog.cs +++ b/src/Greenshot.Addon.LegacyEditor/Controls/ColorDialog.cs @@ -30,26 +30,31 @@ using System.Globalization; using System.Linq; using System.Threading; using System.Windows.Forms; -using Dapplo.Windows.Dpi; +using Greenshot.Addons; +using Greenshot.Addons.Controls; #endregion -namespace Greenshot.Addons.Controls +namespace Greenshot.Addon.LegacyEditor.Controls { /// /// Description of ColorDialog. /// public partial class ColorDialog : GreenshotForm { - private readonly ToolTip _toolTip = new ToolTip(); + private readonly IEditorConfiguration _editorConfiguration; + private readonly ToolTip _toolTip = new ToolTip(); private bool _updateInProgress; + private IList _recentColorButtons; - public ColorDialog(IGreenshotLanguage greenshotLanguage) : base(greenshotLanguage) + public ColorDialog( + IEditorConfiguration editorConfiguration, + IGreenshotLanguage greenshotLanguage) : base(greenshotLanguage) { - SuspendLayout(); + _editorConfiguration = editorConfiguration; + SuspendLayout(); InitializeComponent(); ResumeLayout(); - //UpdateRecentColorsButtonRow(); Load += (sender, args) => DrawButtons(); } @@ -57,12 +62,13 @@ namespace Greenshot.Addons.Controls { int pos = FormDpiHandler.ScaleWithCurrentDpi(5); int size = FormDpiHandler.ScaleWithCurrentDpi(15); - int lastColorY = FormDpiHandler.ScaleWithCurrentDpi(190); var buttons = CreateColorPalette(pos, pos, size, size); - var lastUsedButtons = CreateLastUsedColorButtonRow(pos, lastColorY, size, size); - SuspendLayout(); + int lastColorY = FormDpiHandler.ScaleWithCurrentDpi(185); + _recentColorButtons = CreateLastUsedColorButtonRow(pos, lastColorY, size, size); + UpdateRecentColorsButtonRow(); + SuspendLayout(); Controls.AddRange(buttons.ToArray()); - Controls.AddRange(lastUsedButtons.ToArray()); + Controls.AddRange(_recentColorButtons.ToArray()); ResumeLayout(); } @@ -183,14 +189,14 @@ namespace Greenshot.Addons.Controls #region update user interface -/* private void UpdateRecentColorsButtonRow() + private void UpdateRecentColorsButtonRow() { - for (var i = 0; i < EditorConfig.RecentColors.Count && i < 12; i++) + for (var i = 0; i < _editorConfiguration.RecentColors.Count && i < 12; i++) { - _recentColorButtons[i].BackColor = EditorConfig.RecentColors[i]; + _recentColorButtons[i].BackColor = _editorConfiguration.RecentColors[i]; _recentColorButtons[i].Enabled = true; } - }*/ + } private void PreviewColor(Color colorToPreview, Control trigger) { @@ -210,20 +216,16 @@ namespace Greenshot.Addons.Controls _updateInProgress = false; } - // TODO: Fix recent colors -/* - private void AddToRecentColors(Color c) { - EditorConfig.RecentColors.Remove(c); - EditorConfig.RecentColors.Insert(0, c); - if (EditorConfig.RecentColors.Count > 12) + _editorConfiguration.RecentColors.Remove(c); + _editorConfiguration.RecentColors.Insert(0, c); + if (_editorConfiguration.RecentColors.Count > 12) { - EditorConfig.RecentColors = EditorConfig.RecentColors.Skip(EditorConfig.RecentColors.Count - 12).ToList(); + _editorConfiguration.RecentColors = _editorConfiguration.RecentColors.Skip(_editorConfiguration.RecentColors.Count - 12).ToList(); } UpdateRecentColorsButtonRow(); } -*/ #endregion @@ -279,7 +281,7 @@ namespace Greenshot.Addons.Controls { if (e.KeyCode == Keys.Return || e.KeyCode == Keys.Enter) { - //AddToRecentColors(colorPanel.BackColor); + AddToRecentColors(colorPanel.BackColor); } } @@ -302,7 +304,7 @@ namespace Greenshot.Addons.Controls { DialogResult = DialogResult.OK; Hide(); - //AddToRecentColors(colorPanel.BackColor); + AddToRecentColors(colorPanel.BackColor); } #endregion diff --git a/src/Greenshot.Addon.LegacyEditor/Controls/ColorDialog.resx b/src/Greenshot.Addon.LegacyEditor/Controls/ColorDialog.resx new file mode 100644 index 000000000..c94cb7263 --- /dev/null +++ b/src/Greenshot.Addon.LegacyEditor/Controls/ColorDialog.resx @@ -0,0 +1,392 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + 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 + AgAAAAAAAAAAAAACAAAAAAAAAAACAgAAIUpKSkpFAgAAAAAAAAAASkpDAAAMFQURBQAAAAACAAAAAgAA + AAAAAAAAAjBKSTACL0pKSkpKCQAAAAAAAAAASkohAAAAEUFKSS8CAAAAAAAAAAAAAAAAAAAAKkpKSkoo + HEpKSkpDAAAAAAAAAAAALhcAAAAAPUpKSkoeAAAAAAIAAAAAAh4zLAwAQUpKSko+ATFKSkYVAAAAAAAA + AAAACS09LgkHSkpKSkozAAAAAAAAAAAAL0pKSkYJOkpKSko5AAANFAMAAAAAAAAAAAAAPkpKSkEHRkpK + SkopAAIAAAwXBQIHSUpKSkojGEpKSkkXAAAAAAAAAAAAAAAAAAAASkpKSkoZHkpKSkMFAAAAKUpKSR4M + SkpKSkoqABAtLw8AAAAAAAAAAAAAAAAAAAAASkpKSkoaABQpIQcAAAATSkpKSkkMPUpKSkoUAAAAAAAA + AAAAAAAAAAAAAAAAAAAAQ0pKSkYHAAAAGz5DKwceSkpKSkoXDDlKQx4AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAEThGORMAAAAXSkpKSjAUSkpKSkoMAAICAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAx + SkpKSkkCMEpKSSoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwSkpKSkUCABUhDgAC + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPSkpKSisCAAAAAAAAAQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFTg9JgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAgAAAgABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEIAAAAAAACkQgAAAAAAAKRCAAAAAAAApEIA + AAAAAACkQgAAAAAAAKRCAAAAAAAApEIAAAAAAACkQgAAAAAAAKRCAAAAAAAApEIAAAAAAACkQgAAAAAA + AKRCAAAAAAAApEIAAAAAAACkQgAAAAAAAKRCAAAAAAAApEIAAAAAAACkQgAAAAAAAKRCAAAAAAAApEIA + AAAAAACkQgAAAAAAAKRCAAAAAAAApEIAAAAAAACkQgAAAAAAAKRCAAAAAAAApEIAAAAAAACkQgAAAAAA + AKRCAAAAAAAApEIAAAAAAACkQgAAAAAAAKRCAAAAAAAApEIAAAAAAACkQgAAAAAAAKRCAAAAAAAApEIA + AAAAAACkQgAAAAAAAKRCAAAAAAAApEIAAAAAAACkQgAAAAAAAKRCAAAAAAAApEIAAAAAAACkQgAAAAAA + AKRCAAAAAAAApEIAAAAAAACkQgAAAAAAAKRCAAAAAAAApEIAAAAAAACkQgAAAAAAAKRCKAAAACAAAABA + AAAAAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADw9PQA6QT4AOkQ/ADlGQAA3TUMAN05EADhJQQA4 + TEMANVFFADRVRgAzWkgANFhIADJdSQAvZk0ALmlOADFhSgAwY0wAMGRMAC1tUAArc1IALHJRACp1UgAq + d1QAKXlUACh9VgAngFcAJoJYACWGWgAliVsAJItcACOOXAAkjFwAIZJeACGVXwAfmWEAHpxiAB2fZAAg + lmAAIJhhAByhZAAbp2cAHKVmABuoZwAaqWgAF7JrABezbAAXtWwAGLBqABa4bQAUvXAADs52ABLBcQAR + xXMAEch0AA7QdwAN0ngADNV5AAvaegAK3HwACeB9AAjlfwAH5oAABumBAAPyhQAE8YQAA/SFAAH4hwAB + +ogAAP6JAACwNgAAz0AAAPBKABH/WwAx/3EAUf+HAHH/nQCR/7IAsf/JANH/3wD///8AAAAAAAIvAAAE + UAAABnAAAAiQAAAKsAAAC88AAA7wAAAg/xIAPf8xAFv/UQB5/3EAmP+RALX/sQDU/9EA////AAAAAAAU + LwAAIlAAADBwAAA9kAAATLAAAFnPAABn8AAAeP8RAIr/MQCc/1EArv9xAMD/kQDS/7EA5P/RAP///wAA + AAAAJi8AAEBQAABacAAAdJAAAI6wAACpzwAAwvAAANH/EQDY/zEA3v9RAOP/cQDp/5EA7/+xAPb/0QD/ + //8AAAAAAC8mAABQQQAAcFsAAJB0AACwjgAAz6kAAPDDAAD/0hEA/9gxAP/dUQD/5HEA/+qRAP/wsQD/ + 9tEA////AAAAAAAvFAAAUCIAAHAwAACQPgAAsE0AAM9bAADwaQAA/3kRAP+KMQD/nVEA/69xAP/BkQD/ + 0rEA/+XRAP///wAAAAAALwMAAFAEAABwBgAAkAkAALAKAADPDAAA8A4AAP8gEgD/PjEA/1xRAP96cQD/ + l5EA/7axAP/U0QD///8AAAAAAC8ADgBQABcAcAAhAJAAKwCwADYAzwBAAPAASQD/EVoA/zFwAP9RhgD/ + cZwA/5GyAP+xyAD/0d8A////AAAAAAAvACAAUAA2AHAATACQAGIAsAB4AM8AjgDwAKQA/xGzAP8xvgD/ + UccA/3HRAP+R3AD/seUA/9HwAP///wAAAAAALAAvAEsAUABpAHAAhwCQAKUAsADEAM8A4QDwAPAR/wDy + Mf8A9FH/APZx/wD3kf8A+bH/APvR/wD///8AAAAAABsALwAtAFAAPwBwAFIAkABjALAAdgDPAIgA8ACZ + Ef8ApjH/ALRR/wDCcf8Az5H/ANyx/wDr0f8A////AAAAAAAIAC8ADgBQABUAcAAbAJAAIQCwACYAzwAs + APAAPhH/AFgx/wBxUf8AjHH/AKaR/wC/sf8A2tH/AP///wAAABg2KgdEQ0M2DzY4EgAANkRDHDpEQzkA + AAAAAAAAAAEIREREITZDQyYAAAAAAAdDREQ1ETg4EQAAAAAAAAAAOxJEREQpBx8WAAAAAAAAADpERCEA + AB81KQAAAAAAAABEGy1EOwUAAAAAAAAAAAAABx8YDAARQ0REGQAAAAAAAEQNAAIAAAAAAAAAAAAAAAAA + Cz5DORZDQ0MfAAAAAAAAGAAAAAAAAAAAAAAAAAAfKgsmQ0NDFjFDOAcAAAAAAAA+QBsAAAAAAAAAAAAA + JkRDQBlDQ0MLAAIAAAAAAAAAAEREPwAAAAAAAAAAAAAwQ0NDBRwuFAAAAAAAAAAAAAAAREQ+AAAAAAAA + AAAAABRDQzEAAAAAAAAAAAAAAAAAAAA0Ng4AAAAAAAAAAAAAAAcPAAAAAAAAAAAAAAAAAAAAAAAcOC4C + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACURERCYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS + REREKQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsrQzkFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAADQAAIS0RAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABACFEREEDAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAEMcLURERAsAAAAAAAAAAAAAAAAAAAACJi4LAAAAAAAAREENQUQ0AAAAAAAAAAAAAAAAAAIA + ACpERDwAAAAAAABEPAAHER8YAAAAAAAAAAAAAAAYQUEXNURERAIAAAAAADURAAA2REQjAAAAAAAABx8W + ADxERDsUQ0QvAAAAAAAAHjsxB0RERDYAAAAAAAA6REQhOERENgAHCwAAAAAAAABEREQjNUREHgAAJjsw + CERERDULMzELAAAAAAAAAAAAAERERCQCFhYUAw9EREQhNkRDGwAAAAAAAAAAAAAAAAAAJEA1BwAIQEQ+ + FERERCYCFxEAAAAAAAAAAAAAAAAAAAAAAAAAACFEREQZKUA1AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + DUREQwsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFCcNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + + + \ No newline at end of file diff --git a/src/Greenshot.Addons/Controls/Pipette.cs b/src/Greenshot.Addon.LegacyEditor/Controls/Pipette.cs similarity index 95% rename from src/Greenshot.Addons/Controls/Pipette.cs rename to src/Greenshot.Addon.LegacyEditor/Controls/Pipette.cs index f6aa1dd9a..fbe3481db 100644 --- a/src/Greenshot.Addons/Controls/Pipette.cs +++ b/src/Greenshot.Addon.LegacyEditor/Controls/Pipette.cs @@ -31,10 +31,11 @@ using Dapplo.Windows.Common.Structs; using Dapplo.Windows.Messages; using Dapplo.Windows.User32; using Dapplo.Windows.User32.SafeHandles; +using Greenshot.Addons.Controls; #endregion -namespace Greenshot.Addons.Controls +namespace Greenshot.Addon.LegacyEditor.Controls { /// /// This code was supplied by Hi-Coder as a patch for Greenshot diff --git a/src/Greenshot.Addon.LegacyEditor/Controls/ToolStripColorButton.cs b/src/Greenshot.Addon.LegacyEditor/Controls/ToolStripColorButton.cs index af022b30f..accea0ff1 100644 --- a/src/Greenshot.Addon.LegacyEditor/Controls/ToolStripColorButton.cs +++ b/src/Greenshot.Addon.LegacyEditor/Controls/ToolStripColorButton.cs @@ -30,7 +30,7 @@ using System.Drawing.Drawing2D; using System.Windows.Forms; using Greenshot.Addons; using Greenshot.Addons.Controls; -using ColorDialog = Greenshot.Addons.Controls.ColorDialog; +using ColorDialog = Greenshot.Addon.LegacyEditor.Controls.ColorDialog; #endregion @@ -38,11 +38,15 @@ namespace Greenshot.Addon.LegacyEditor.Controls { public class ToolStripColorButton : ToolStripButton, INotifyPropertyChanged, IGreenshotLanguageBindable { + private readonly IEditorConfiguration _editorConfiguration; private readonly IGreenshotLanguage _greenshotLanguage; private Color _selectedColor = Color.Transparent; - public ToolStripColorButton(IGreenshotLanguage greenshotLanguage) + public ToolStripColorButton( + IEditorConfiguration editorConfiguration, + IGreenshotLanguage greenshotLanguage) { + _editorConfiguration = editorConfiguration; _greenshotLanguage = greenshotLanguage; Click += ColorButtonClick; } @@ -89,7 +93,7 @@ namespace Greenshot.Addon.LegacyEditor.Controls private void ColorButtonClick(object sender, EventArgs e) { - var colorDialog = new ColorDialog(_greenshotLanguage) + var colorDialog = new ColorDialog(_editorConfiguration, _greenshotLanguage) { Color = SelectedColor }; diff --git a/src/Greenshot.Addon.LegacyEditor/EditorAddonModule.cs b/src/Greenshot.Addon.LegacyEditor/EditorAddonModule.cs index 6e49d6ece..125089976 100644 --- a/src/Greenshot.Addon.LegacyEditor/EditorAddonModule.cs +++ b/src/Greenshot.Addon.LegacyEditor/EditorAddonModule.cs @@ -24,6 +24,7 @@ using Autofac; using Dapplo.Addons; using Dapplo.CaliburnMicro.Configuration; +using Greenshot.Addon.LegacyEditor.Controls; using Greenshot.Addon.LegacyEditor.Drawing; using Greenshot.Addon.LegacyEditor.Forms; using Greenshot.Addon.LegacyEditor.ViewModels; @@ -61,6 +62,11 @@ namespace Greenshot.Addon.LegacyEditor builder .RegisterType() .AsSelf(); + + builder + .RegisterType() + .AsSelf(); + builder .RegisterType() .As(); diff --git a/src/Greenshot.Addon.LegacyEditor/Forms/ImageEditorForm.Designer.cs b/src/Greenshot.Addon.LegacyEditor/Forms/ImageEditorForm.Designer.cs index 5568159e6..7fa977f5e 100644 --- a/src/Greenshot.Addon.LegacyEditor/Forms/ImageEditorForm.Designer.cs +++ b/src/Greenshot.Addon.LegacyEditor/Forms/ImageEditorForm.Designer.cs @@ -153,8 +153,8 @@ namespace Greenshot.Addon.LegacyEditor.Forms { this.areaHighlightMenuItem = new GreenshotToolStripMenuItem(); this.grayscaleHighlightMenuItem = new GreenshotToolStripMenuItem(); this.magnifyMenuItem = new GreenshotToolStripMenuItem(); - this.btnFillColor = new ToolStripColorButton(_greenshotLanguage); - this.btnLineColor = new ToolStripColorButton(_greenshotLanguage); + this.btnFillColor = new ToolStripColorButton(_editorConfiguration, _greenshotLanguage); + this.btnLineColor = new ToolStripColorButton(_editorConfiguration, _greenshotLanguage); this.lineThicknessLabel = new GreenshotToolStripLabel(); this.lineThicknessUpDown = new ToolStripNumericUpDown(); this.counterLabel = new GreenshotToolStripLabel(); diff --git a/src/Greenshot.Addon.LegacyEditor/Greenshot.Addon.LegacyEditor.csproj b/src/Greenshot.Addon.LegacyEditor/Greenshot.Addon.LegacyEditor.csproj index e1e3983c2..3106b3fcd 100644 --- a/src/Greenshot.Addon.LegacyEditor/Greenshot.Addon.LegacyEditor.csproj +++ b/src/Greenshot.Addon.LegacyEditor/Greenshot.Addon.LegacyEditor.csproj @@ -144,6 +144,15 @@ Component + + Component + + + Form + + + ColorDialog.cs + @@ -155,6 +164,9 @@ Component + + Component + Component @@ -266,6 +278,9 @@ + + ColorDialog.cs + ImageEditorForm.cs Designer diff --git a/src/Greenshot.Addons/AddonsModule.cs b/src/Greenshot.Addons/AddonsModule.cs index 610791775..6b186ccad 100644 --- a/src/Greenshot.Addons/AddonsModule.cs +++ b/src/Greenshot.Addons/AddonsModule.cs @@ -25,7 +25,6 @@ using Autofac; using Dapplo.Addons; using Greenshot.Addons.Components; using Greenshot.Addons.ViewModels; -using Greenshot.Addons.Controls; namespace Greenshot.Addons { @@ -40,9 +39,6 @@ namespace Greenshot.Addons builder .RegisterType() .AsSelf(); - builder - .RegisterType() - .AsSelf(); base.Load(builder); } diff --git a/src/Greenshot.Addons/Controls/ColorDialog.Designer.cs b/src/Greenshot.Addons/Controls/ColorDialog.Designer.cs deleted file mode 100644 index 33557b854..000000000 --- a/src/Greenshot.Addons/Controls/ColorDialog.Designer.cs +++ /dev/null @@ -1,284 +0,0 @@ -/* - * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2018 Thomas Braun, Jens Klingen, Robin Krom - * - * For more information see: http://getgreenshot.org/ - * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 1 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -using Dapplo.Windows.Dpi; - -namespace Greenshot.Addons.Controls { - public partial class ColorDialog { - /// - /// Designer variable used to keep track of non-visual components. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Disposes resources used by the form. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing) { - if (components != null) { - components.Dispose(); - } - } - base.Dispose(disposing); - } - - /// - /// This method is required for Windows Forms designer support. - /// Do not change the method contents inside the source code editor. The Forms designer might - /// not be able to load this method if it was changed manually. - /// - private void InitializeComponent() - { - float fontSize = (float) DpiHandler.ScaleWithDpi(11d, DpiHandler.DefaultScreenDpi); - - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ColorDialog)); - this.btnTransparent = new GreenshotButton(); - this.colorPanel = new System.Windows.Forms.Panel(); - this.labelHtmlColor = new GreenshotLabel(); - this.textBoxHtmlColor = new System.Windows.Forms.TextBox(); - this.labelRed = new GreenshotLabel(); - this.labelGreen = new GreenshotLabel(); - this.labelBlue = new GreenshotLabel(); - this.textBoxRed = new System.Windows.Forms.TextBox(); - this.textBoxGreen = new System.Windows.Forms.TextBox(); - this.textBoxBlue = new System.Windows.Forms.TextBox(); - this.labelRecentColors = new GreenshotLabel(); - this.textBoxAlpha = new System.Windows.Forms.TextBox(); - this.labelAlpha = new GreenshotLabel(); - this.btnApply = new GreenshotButton(); - this.pipette = new Pipette(); - this.SuspendLayout(); - // - // btnTransparent - // - this.btnTransparent.BackColor = System.Drawing.Color.Transparent; - this.btnTransparent.LanguageKey = "colorpicker_transparent"; - this.btnTransparent.Location = new System.Drawing.Point(210, 4); - this.btnTransparent.Name = "btnTransparent"; - this.btnTransparent.Size = new System.Drawing.Size(78, 23); - this.btnTransparent.TabIndex = 0; - this.btnTransparent.TabStop = false; - this.btnTransparent.Text = "Transparent"; - this.btnTransparent.UseVisualStyleBackColor = false; - this.btnTransparent.Click += new System.EventHandler(this.BtnTransparentClick); - // - // colorPanel - // - this.colorPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.colorPanel.Location = new System.Drawing.Point(213, 30); - this.colorPanel.Name = "colorPanel"; - this.colorPanel.Size = new System.Drawing.Size(33, 23); - this.colorPanel.TabIndex = 1; - // - // labelHtmlColor - // - this.labelHtmlColor.Font = new System.Drawing.Font("Tahoma", fontSize, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.World); - this.labelHtmlColor.LanguageKey = "colorpicker_htmlcolor"; - this.labelHtmlColor.Location = new System.Drawing.Point(210, 57); - this.labelHtmlColor.Name = "labelHtmlColor"; - this.labelHtmlColor.Size = new System.Drawing.Size(78, 17); - this.labelHtmlColor.TabIndex = 2; - this.labelHtmlColor.Text = "HTML color"; - // - // textBoxHtmlColor - // - this.textBoxHtmlColor.Location = new System.Drawing.Point(210, 71); - this.textBoxHtmlColor.Name = "textBoxHtmlColor"; - this.textBoxHtmlColor.Size = new System.Drawing.Size(78, 20); - this.textBoxHtmlColor.TabIndex = 1; - this.textBoxHtmlColor.Click += new System.EventHandler(this.TextBoxGotFocus); - this.textBoxHtmlColor.TextChanged += new System.EventHandler(this.TextBoxHexadecimalTextChanged); - this.textBoxHtmlColor.GotFocus += new System.EventHandler(this.TextBoxGotFocus); - this.textBoxHtmlColor.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TextBoxKeyDown); - // - // labelRed - // - this.labelRed.Font = new System.Drawing.Font("Tahoma", fontSize, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.World); - this.labelRed.LanguageKey = "colorpicker_red"; - this.labelRed.Location = new System.Drawing.Point(210, 98); - this.labelRed.Name = "labelRed"; - this.labelRed.Size = new System.Drawing.Size(78, 18); - this.labelRed.TabIndex = 4; - this.labelRed.Text = "Red"; - // - // labelGreen - // - this.labelGreen.Font = new System.Drawing.Font("Tahoma", fontSize, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.World); - this.labelGreen.LanguageKey = "colorpicker_green"; - this.labelGreen.Location = new System.Drawing.Point(210, 122); - this.labelGreen.Name = "labelGreen"; - this.labelGreen.Size = new System.Drawing.Size(78, 18); - this.labelGreen.TabIndex = 5; - this.labelGreen.Text = "Green"; - // - // labelBlue - // - this.labelBlue.Font = new System.Drawing.Font("Tahoma", fontSize, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.World); - this.labelBlue.LanguageKey = "colorpicker_blue"; - this.labelBlue.Location = new System.Drawing.Point(210, 146); - this.labelBlue.Name = "labelBlue"; - this.labelBlue.Size = new System.Drawing.Size(78, 18); - this.labelBlue.TabIndex = 6; - this.labelBlue.Text = "Blue"; - // - // textBoxRed - // - this.textBoxRed.Location = new System.Drawing.Point(258, 95); - this.textBoxRed.Name = "textBoxRed"; - this.textBoxRed.Size = new System.Drawing.Size(30, 20); - this.textBoxRed.TabIndex = 2; - this.textBoxRed.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; - this.textBoxRed.Click += new System.EventHandler(this.TextBoxGotFocus); - this.textBoxRed.TextChanged += new System.EventHandler(this.TextBoxRgbTextChanged); - this.textBoxRed.GotFocus += new System.EventHandler(this.TextBoxGotFocus); - this.textBoxRed.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TextBoxKeyDown); - // - // textBoxGreen - // - this.textBoxGreen.Location = new System.Drawing.Point(258, 119); - this.textBoxGreen.Name = "textBoxGreen"; - this.textBoxGreen.Size = new System.Drawing.Size(30, 20); - this.textBoxGreen.TabIndex = 3; - this.textBoxGreen.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; - this.textBoxGreen.Click += new System.EventHandler(this.TextBoxGotFocus); - this.textBoxGreen.TextChanged += new System.EventHandler(this.TextBoxRgbTextChanged); - this.textBoxGreen.GotFocus += new System.EventHandler(this.TextBoxGotFocus); - this.textBoxGreen.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TextBoxKeyDown); - // - // textBoxBlue - // - this.textBoxBlue.Location = new System.Drawing.Point(258, 143); - this.textBoxBlue.Name = "textBoxBlue"; - this.textBoxBlue.Size = new System.Drawing.Size(30, 20); - this.textBoxBlue.TabIndex = 4; - this.textBoxBlue.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; - this.textBoxBlue.Click += new System.EventHandler(this.TextBoxGotFocus); - this.textBoxBlue.TextChanged += new System.EventHandler(this.TextBoxRgbTextChanged); - this.textBoxBlue.GotFocus += new System.EventHandler(this.TextBoxGotFocus); - this.textBoxBlue.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TextBoxKeyDown); - // - // labelRecentColors - // - this.labelRecentColors.LanguageKey = "colorpicker_recentcolors"; - this.labelRecentColors.Location = new System.Drawing.Point(3, 175); - this.labelRecentColors.Name = "labelRecentColors"; - this.labelRecentColors.Size = new System.Drawing.Size(148, 13); - this.labelRecentColors.TabIndex = 10; - this.labelRecentColors.Text = "Recently used colors"; - // - // textBoxAlpha - // - this.textBoxAlpha.Location = new System.Drawing.Point(258, 167); - this.textBoxAlpha.Name = "textBoxAlpha"; - this.textBoxAlpha.Size = new System.Drawing.Size(30, 20); - this.textBoxAlpha.TabIndex = 5; - this.textBoxAlpha.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; - this.textBoxAlpha.Click += new System.EventHandler(this.TextBoxGotFocus); - this.textBoxAlpha.TextChanged += new System.EventHandler(this.TextBoxRgbTextChanged); - this.textBoxAlpha.GotFocus += new System.EventHandler(this.TextBoxGotFocus); - this.textBoxAlpha.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TextBoxKeyDown); - // - // labelAlpha - // - this.labelAlpha.Font = new System.Drawing.Font("Tahoma", fontSize, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.World); - this.labelAlpha.LanguageKey = "colorpicker_alpha"; - this.labelAlpha.Location = new System.Drawing.Point(210, 170); - this.labelAlpha.Name = "labelAlpha"; - this.labelAlpha.Size = new System.Drawing.Size(78, 18); - this.labelAlpha.TabIndex = 11; - this.labelAlpha.Text = "Alpha"; - // - // btnApply - // - this.btnApply.BackColor = System.Drawing.Color.Transparent; - this.btnApply.LanguageKey = "colorpicker_apply"; - this.btnApply.Location = new System.Drawing.Point(210, 191); - this.btnApply.Name = "btnApply"; - this.btnApply.Size = new System.Drawing.Size(78, 23); - this.btnApply.TabIndex = 12; - this.btnApply.TabStop = false; - this.btnApply.Text = "Apply"; - this.btnApply.UseVisualStyleBackColor = false; - this.btnApply.Click += new System.EventHandler(this.BtnApplyClick); - // - // pipette - // - this.pipette.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.pipette.Cursor = System.Windows.Forms.Cursors.Arrow; - this.pipette.Image = ((System.Drawing.Image)(resources.GetObject("pipette.Image"))); - this.pipette.Location = new System.Drawing.Point(255, 30); - this.pipette.Name = "pipette"; - this.pipette.Size = new System.Drawing.Size(33, 23); - this.pipette.TabIndex = 13; - this.pipette.PipetteUsed += new System.EventHandler(this.PipetteUsed); - // - // ColorDialog - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13.5F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(292, 218); - this.Controls.Add(this.pipette); - this.Controls.Add(this.btnApply); - this.Controls.Add(this.textBoxAlpha); - this.Controls.Add(this.labelAlpha); - this.Controls.Add(this.labelRecentColors); - this.Controls.Add(this.textBoxBlue); - this.Controls.Add(this.textBoxGreen); - this.Controls.Add(this.textBoxRed); - this.Controls.Add(this.labelBlue); - this.Controls.Add(this.labelGreen); - this.Controls.Add(this.labelRed); - this.Controls.Add(this.textBoxHtmlColor); - this.Controls.Add(this.labelHtmlColor); - this.Controls.Add(this.colorPanel); - this.Controls.Add(this.btnTransparent); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; - this.LanguageKey = "colorpicker_title"; - this.MaximizeBox = false; - this.MinimizeBox = false; - this.Name = "ColorDialog"; - this.ShowIcon = false; - this.ShowInTaskbar = false; - this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; - this.Text = "Color picker"; - this.ResumeLayout(false); - this.PerformLayout(); - - } - private GreenshotLabel labelRed; - private GreenshotLabel labelGreen; - private GreenshotLabel labelBlue; - private System.Windows.Forms.TextBox textBoxHtmlColor; - private GreenshotLabel labelRecentColors; - private GreenshotLabel labelAlpha; - private GreenshotLabel labelHtmlColor; - private GreenshotButton btnApply; - private System.Windows.Forms.TextBox textBoxAlpha; - private System.Windows.Forms.TextBox textBoxRed; - private System.Windows.Forms.TextBox textBoxGreen; - private System.Windows.Forms.TextBox textBoxBlue; - private System.Windows.Forms.Panel colorPanel; - private GreenshotButton btnTransparent; - private Pipette pipette; - } -} diff --git a/src/Greenshot.Addons/Controls/ColorDialog.resx b/src/Greenshot.Addons/Controls/ColorDialog.resx deleted file mode 100644 index da9eec254..000000000 --- a/src/Greenshot.Addons/Controls/ColorDialog.resx +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAABqklEQVQ4T6WTvUtCURiH34Mi - Koo6CKI45HUT/4CgDwz8oMVFXLyGIVpDjTYkuDsoF6RPmtJKkIgKipYsCIoQihYXKxSCICjaGoTTe6R7 - uflBgcOPwz3wPL/3HM4FSikMkw6sVCphHPNCSE9auPf8kydCJuqEHNYIOakSMsXYjiClUPSFmVAUiHBb - EOh7KkWPAC4lQb9mcY8J5HAzGKSP4TDdBrj+SzCGkkqTkHk2NmuWw+sAfklQBYDunAPUaLlMG4Qc9INX - kZEERa8Xdvx+2A0EpJR8Pv4UJe1CoaeZwb8E2WwWcrkcCILQST6fd2YymeRS6SG9j5JGKEQ3AW7XAJZF - eKBAhN8+v+p7V61jJimi5AMvbgVXDIiRjiBO0A2f3b9uud3u5IzRyOMEDA4MFKCES6fTCbGZwS6XK2G3 - 250RvR42ZM09E/A8D/F4PCaHOY6LWSwWzmq1wp8Cj8fjiMzOLbAzs2YEeZPJ5DCbzfAvgc1mi7L20Unv - ok6ni2q12hGDwQCDBEV8nRWMdIkajWZapVLFMZxarQb8hn6CMkI3mDvMhVwwzO/8DbWQqn7YBXReAAAA - AElFTkSuQmCC - - - \ No newline at end of file diff --git a/src/Greenshot.Addons/Controls/GreenshotForm.cs b/src/Greenshot.Addons/Controls/GreenshotForm.cs index c8e83348b..0c3e39bc0 100644 --- a/src/Greenshot.Addons/Controls/GreenshotForm.cs +++ b/src/Greenshot.Addons/Controls/GreenshotForm.cs @@ -45,7 +45,7 @@ namespace Greenshot.Addons.Controls /// /// This form is used for automatically binding the elements of the form to the language /// - public abstract class GreenshotForm : DpiAwareForm, IGreenshotLanguageBindable + public class GreenshotForm : DpiAwareForm, IGreenshotLanguageBindable { private static readonly LogSource Log = new LogSource(); private static readonly IDictionary ReflectionCache = new Dictionary(); @@ -53,6 +53,12 @@ namespace Greenshot.Addons.Controls protected readonly BitmapScaleHandler ScaleHandler; +#if DEBUG + public GreenshotForm() + { + + } +#endif /// /// Default constructor, for default functionality like DPI awareness /// diff --git a/src/Greenshot.Addons/Greenshot.Addons.csproj b/src/Greenshot.Addons/Greenshot.Addons.csproj index 7693f8362..c0f3421a5 100644 --- a/src/Greenshot.Addons/Greenshot.Addons.csproj +++ b/src/Greenshot.Addons/Greenshot.Addons.csproj @@ -173,15 +173,6 @@ Form - - Component - - - Form - - - ColorDialog.cs - Component @@ -192,9 +183,6 @@ MovableShowColorForm.cs - - Component - @@ -373,9 +361,6 @@ - - ColorDialog.cs - GreenshotResources.cs