diff --git a/ShareX.HelpersLib/Controls/MyListView.cs b/ShareX.HelpersLib/Controls/MyListView.cs
index 25038797e..2d18e7436 100644
--- a/ShareX.HelpersLib/Controls/MyListView.cs
+++ b/ShareX.HelpersLib/Controls/MyListView.cs
@@ -153,9 +153,9 @@ public void SelectSingle(ListViewItem lvi)
public void UnselectAll()
{
- foreach (ListViewItem lvi in SelectedItems)
+ if (MultiSelect)
{
- lvi.Selected = false;
+ SelectedItems.Clear();
}
}
@@ -324,7 +324,7 @@ protected override void OnColumnClick(ColumnClickEventArgs e)
lvwColumnSorter.Order = SortOrder.Ascending;
}
- // if the column is tagged as a DateTime, then sort by date
+ // If the column is tagged as a DateTime, then sort by date
lvwColumnSorter.SortByDate = Columns[e.Column].Tag is DateTime;
Cursor.Current = Cursors.WaitCursor;
@@ -350,6 +350,7 @@ private void DrawInsertionLine(int left, int right, int y)
protected override void ScaleControl(SizeF factor, BoundsSpecified specified)
{
base.ScaleControl(factor, specified);
+
foreach (ColumnHeader column in Columns)
{
column.Width = (int)Math.Round(column.Width * factor.Width);
diff --git a/ShareX.ImageEffectsLib/ImageEffectsForm.Designer.cs b/ShareX.ImageEffectsLib/ImageEffectsForm.Designer.cs
index eeb0c4e65..d252ea701 100644
--- a/ShareX.ImageEffectsLib/ImageEffectsForm.Designer.cs
+++ b/ShareX.ImageEffectsLib/ImageEffectsForm.Designer.cs
@@ -31,12 +31,8 @@ private void InitializeComponent()
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ImageEffectsForm));
this.pgSettings = new System.Windows.Forms.PropertyGrid();
- this.btnAdd = new System.Windows.Forms.Button();
this.lvEffects = new ShareX.HelpersLib.MyListView();
this.chEffect = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
- this.btnRemove = new System.Windows.Forms.Button();
- this.btnClear = new System.Windows.Forms.Button();
- this.btnDuplicate = new System.Windows.Forms.Button();
this.btnSaveImage = new System.Windows.Forms.Button();
this.eiImageEffects = new ShareX.HelpersLib.ExportImportControl();
this.pbResult = new ShareX.HelpersLib.MyPictureBox();
@@ -45,19 +41,25 @@ private void InitializeComponent()
this.cmsLoadImage = new System.Windows.Forms.ContextMenuStrip(this.components);
this.tsmiLoadImageFromFile = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiLoadImageFromClipboard = new System.Windows.Forms.ToolStripMenuItem();
- this.btnAddPreset = new System.Windows.Forms.Button();
- this.btnRemovePreset = new System.Windows.Forms.Button();
- this.cbPresets = new System.Windows.Forms.ComboBox();
this.lblPresetName = new System.Windows.Forms.Label();
this.txtPresetName = new System.Windows.Forms.TextBox();
this.btnClose = new System.Windows.Forms.Button();
this.btnOK = new System.Windows.Forms.Button();
this.btnUploadImage = new System.Windows.Forms.Button();
- this.btnRefresh = new System.Windows.Forms.Button();
- this.btnDuplicatePreset = new System.Windows.Forms.Button();
this.lblPresets = new System.Windows.Forms.Label();
this.btnPackager = new System.Windows.Forms.Button();
this.scMain = new ShareX.HelpersLib.SplitContainerCustomSplitter();
+ this.btnPresetNew = new System.Windows.Forms.Button();
+ this.btnPresetRemove = new System.Windows.Forms.Button();
+ this.btnPresetDuplicate = new System.Windows.Forms.Button();
+ this.lvPresets = new ShareX.HelpersLib.MyListView();
+ this.chPreset = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
+ this.lblEffects = new System.Windows.Forms.Label();
+ this.btnEffectAdd = new System.Windows.Forms.Button();
+ this.btnEffectRemove = new System.Windows.Forms.Button();
+ this.btnEffectDuplicate = new System.Windows.Forms.Button();
+ this.btnEffectClear = new System.Windows.Forms.Button();
+ this.btnEffectRefresh = new System.Windows.Forms.Button();
this.cmsLoadImage.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.scMain)).BeginInit();
this.scMain.Panel1.SuspendLayout();
@@ -73,13 +75,6 @@ private void InitializeComponent()
this.pgSettings.ToolbarVisible = false;
this.pgSettings.PropertyValueChanged += new System.Windows.Forms.PropertyValueChangedEventHandler(this.pgSettings_PropertyValueChanged);
//
- // btnAdd
- //
- resources.ApplyResources(this.btnAdd, "btnAdd");
- this.btnAdd.Name = "btnAdd";
- this.btnAdd.UseVisualStyleBackColor = true;
- this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click);
- //
// lvEffects
//
this.lvEffects.AllowDrop = true;
@@ -105,27 +100,6 @@ private void InitializeComponent()
//
resources.ApplyResources(this.chEffect, "chEffect");
//
- // btnRemove
- //
- resources.ApplyResources(this.btnRemove, "btnRemove");
- this.btnRemove.Name = "btnRemove";
- this.btnRemove.UseVisualStyleBackColor = true;
- this.btnRemove.Click += new System.EventHandler(this.btnRemove_Click);
- //
- // btnClear
- //
- resources.ApplyResources(this.btnClear, "btnClear");
- this.btnClear.Name = "btnClear";
- this.btnClear.UseVisualStyleBackColor = true;
- this.btnClear.Click += new System.EventHandler(this.btnClear_Click);
- //
- // btnDuplicate
- //
- resources.ApplyResources(this.btnDuplicate, "btnDuplicate");
- this.btnDuplicate.Name = "btnDuplicate";
- this.btnDuplicate.UseVisualStyleBackColor = true;
- this.btnDuplicate.Click += new System.EventHandler(this.btnDuplicate_Click);
- //
// btnSaveImage
//
resources.ApplyResources(this.btnSaveImage, "btnSaveImage");
@@ -191,28 +165,6 @@ private void InitializeComponent()
resources.ApplyResources(this.tsmiLoadImageFromClipboard, "tsmiLoadImageFromClipboard");
this.tsmiLoadImageFromClipboard.Click += new System.EventHandler(this.tsmiLoadImageFromClipboard_Click);
//
- // btnAddPreset
- //
- resources.ApplyResources(this.btnAddPreset, "btnAddPreset");
- this.btnAddPreset.Name = "btnAddPreset";
- this.btnAddPreset.UseVisualStyleBackColor = true;
- this.btnAddPreset.Click += new System.EventHandler(this.btnAddPreset_Click);
- //
- // btnRemovePreset
- //
- resources.ApplyResources(this.btnRemovePreset, "btnRemovePreset");
- this.btnRemovePreset.Name = "btnRemovePreset";
- this.btnRemovePreset.UseVisualStyleBackColor = true;
- this.btnRemovePreset.Click += new System.EventHandler(this.btnRemovePreset_Click);
- //
- // cbPresets
- //
- this.cbPresets.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.cbPresets.FormattingEnabled = true;
- resources.ApplyResources(this.cbPresets, "cbPresets");
- this.cbPresets.Name = "cbPresets";
- this.cbPresets.SelectedIndexChanged += new System.EventHandler(this.cbPresets_SelectedIndexChanged);
- //
// lblPresetName
//
resources.ApplyResources(this.lblPresetName, "lblPresetName");
@@ -246,20 +198,6 @@ private void InitializeComponent()
this.btnUploadImage.UseVisualStyleBackColor = true;
this.btnUploadImage.Click += new System.EventHandler(this.btnUploadImage_Click);
//
- // btnRefresh
- //
- resources.ApplyResources(this.btnRefresh, "btnRefresh");
- this.btnRefresh.Name = "btnRefresh";
- this.btnRefresh.UseVisualStyleBackColor = true;
- this.btnRefresh.Click += new System.EventHandler(this.BtnRefresh_Click);
- //
- // btnDuplicatePreset
- //
- resources.ApplyResources(this.btnDuplicatePreset, "btnDuplicatePreset");
- this.btnDuplicatePreset.Name = "btnDuplicatePreset";
- this.btnDuplicatePreset.UseVisualStyleBackColor = true;
- this.btnDuplicatePreset.Click += new System.EventHandler(this.btnDuplicatePreset_Click);
- //
// lblPresets
//
resources.ApplyResources(this.lblPresets, "lblPresets");
@@ -287,32 +225,121 @@ private void InitializeComponent()
this.scMain.SplitterColor = System.Drawing.Color.White;
this.scMain.SplitterLineColor = System.Drawing.Color.FromArgb(((int)(((byte)(189)))), ((int)(((byte)(189)))), ((int)(((byte)(189)))));
//
+ // btnPresetNew
+ //
+ this.btnPresetNew.Image = global::ShareX.ImageEffectsLib.Properties.Resources.plus;
+ resources.ApplyResources(this.btnPresetNew, "btnPresetNew");
+ this.btnPresetNew.Name = "btnPresetNew";
+ this.btnPresetNew.UseVisualStyleBackColor = true;
+ this.btnPresetNew.Click += new System.EventHandler(this.btnPresetNew_Click);
+ //
+ // btnPresetRemove
+ //
+ this.btnPresetRemove.Image = global::ShareX.ImageEffectsLib.Properties.Resources.minus;
+ resources.ApplyResources(this.btnPresetRemove, "btnPresetRemove");
+ this.btnPresetRemove.Name = "btnPresetRemove";
+ this.btnPresetRemove.UseVisualStyleBackColor = true;
+ this.btnPresetRemove.Click += new System.EventHandler(this.btnPresetRemove_Click);
+ //
+ // btnPresetDuplicate
+ //
+ this.btnPresetDuplicate.Image = global::ShareX.ImageEffectsLib.Properties.Resources.document_copy;
+ resources.ApplyResources(this.btnPresetDuplicate, "btnPresetDuplicate");
+ this.btnPresetDuplicate.Name = "btnPresetDuplicate";
+ this.btnPresetDuplicate.UseVisualStyleBackColor = true;
+ this.btnPresetDuplicate.Click += new System.EventHandler(this.btnPresetDuplicate_Click);
+ //
+ // lvPresets
+ //
+ this.lvPresets.AutoFillColumn = true;
+ this.lvPresets.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
+ this.chPreset});
+ this.lvPresets.FullRowSelect = true;
+ this.lvPresets.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
+ this.lvPresets.HideSelection = false;
+ resources.ApplyResources(this.lvPresets, "lvPresets");
+ this.lvPresets.MultiSelect = false;
+ this.lvPresets.Name = "lvPresets";
+ this.lvPresets.UseCompatibleStateImageBehavior = false;
+ this.lvPresets.View = System.Windows.Forms.View.Details;
+ this.lvPresets.SelectedIndexChanged += new System.EventHandler(this.lvPresets_SelectedIndexChanged);
+ //
+ // chPreset
+ //
+ resources.ApplyResources(this.chPreset, "chPreset");
+ //
+ // lblEffects
+ //
+ resources.ApplyResources(this.lblEffects, "lblEffects");
+ this.lblEffects.Name = "lblEffects";
+ //
+ // btnEffectAdd
+ //
+ this.btnEffectAdd.Image = global::ShareX.ImageEffectsLib.Properties.Resources.plus;
+ resources.ApplyResources(this.btnEffectAdd, "btnEffectAdd");
+ this.btnEffectAdd.Name = "btnEffectAdd";
+ this.btnEffectAdd.UseVisualStyleBackColor = true;
+ this.btnEffectAdd.Click += new System.EventHandler(this.btnEffectAdd_Click);
+ //
+ // btnEffectRemove
+ //
+ this.btnEffectRemove.Image = global::ShareX.ImageEffectsLib.Properties.Resources.minus;
+ resources.ApplyResources(this.btnEffectRemove, "btnEffectRemove");
+ this.btnEffectRemove.Name = "btnEffectRemove";
+ this.btnEffectRemove.UseVisualStyleBackColor = true;
+ this.btnEffectRemove.Click += new System.EventHandler(this.btnEffectRemove_Click);
+ //
+ // btnEffectDuplicate
+ //
+ this.btnEffectDuplicate.Image = global::ShareX.ImageEffectsLib.Properties.Resources.document_copy;
+ resources.ApplyResources(this.btnEffectDuplicate, "btnEffectDuplicate");
+ this.btnEffectDuplicate.Name = "btnEffectDuplicate";
+ this.btnEffectDuplicate.UseVisualStyleBackColor = true;
+ this.btnEffectDuplicate.Click += new System.EventHandler(this.btnEffectDuplicate_Click);
+ //
+ // btnEffectClear
+ //
+ this.btnEffectClear.Image = global::ShareX.ImageEffectsLib.Properties.Resources.eraser;
+ resources.ApplyResources(this.btnEffectClear, "btnEffectClear");
+ this.btnEffectClear.Name = "btnEffectClear";
+ this.btnEffectClear.UseVisualStyleBackColor = true;
+ this.btnEffectClear.Click += new System.EventHandler(this.btnEffectClear_Click);
+ //
+ // btnEffectRefresh
+ //
+ this.btnEffectRefresh.Image = global::ShareX.ImageEffectsLib.Properties.Resources.arrow_circle_double_135;
+ resources.ApplyResources(this.btnEffectRefresh, "btnEffectRefresh");
+ this.btnEffectRefresh.Name = "btnEffectRefresh";
+ this.btnEffectRefresh.UseVisualStyleBackColor = true;
+ this.btnEffectRefresh.Click += new System.EventHandler(this.btnEffectRefresh_Click);
+ //
// ImageEffectsForm
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.Window;
this.CancelButton = this.btnClose;
+ this.Controls.Add(this.btnEffectRefresh);
+ this.Controls.Add(this.btnEffectClear);
+ this.Controls.Add(this.btnEffectDuplicate);
+ this.Controls.Add(this.btnEffectRemove);
+ this.Controls.Add(this.btnEffectAdd);
+ this.Controls.Add(this.lblEffects);
+ this.Controls.Add(this.lvPresets);
+ this.Controls.Add(this.btnPresetDuplicate);
+ this.Controls.Add(this.btnPresetRemove);
+ this.Controls.Add(this.btnPresetNew);
this.Controls.Add(this.scMain);
this.Controls.Add(this.btnPackager);
this.Controls.Add(this.lblPresets);
- this.Controls.Add(this.btnDuplicatePreset);
- this.Controls.Add(this.btnRefresh);
this.Controls.Add(this.btnUploadImage);
this.Controls.Add(this.btnOK);
this.Controls.Add(this.btnClose);
this.Controls.Add(this.txtPresetName);
this.Controls.Add(this.lblPresetName);
- this.Controls.Add(this.cbPresets);
- this.Controls.Add(this.btnRemovePreset);
- this.Controls.Add(this.btnAddPreset);
this.Controls.Add(this.mbLoadImage);
this.Controls.Add(this.eiImageEffects);
this.Controls.Add(this.btnSaveImage);
- this.Controls.Add(this.btnDuplicate);
- this.Controls.Add(this.btnClear);
- this.Controls.Add(this.btnRemove);
- this.Controls.Add(this.btnAdd);
this.Controls.Add(this.lvEffects);
this.Name = "ImageEffectsForm";
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
@@ -330,13 +357,9 @@ private void InitializeComponent()
#endregion
private System.Windows.Forms.PropertyGrid pgSettings;
- private System.Windows.Forms.Button btnAdd;
private ShareX.HelpersLib.MyListView lvEffects;
private System.Windows.Forms.ColumnHeader chEffect;
- private System.Windows.Forms.Button btnRemove;
private ShareX.HelpersLib.MyPictureBox pbResult;
- private System.Windows.Forms.Button btnClear;
- private System.Windows.Forms.Button btnDuplicate;
private System.Windows.Forms.Button btnSaveImage;
private ShareX.HelpersLib.ExportImportControl eiImageEffects;
private System.Windows.Forms.ContextMenuStrip cmsEffects;
@@ -344,19 +367,25 @@ private void InitializeComponent()
private System.Windows.Forms.ContextMenuStrip cmsLoadImage;
private System.Windows.Forms.ToolStripMenuItem tsmiLoadImageFromFile;
private System.Windows.Forms.ToolStripMenuItem tsmiLoadImageFromClipboard;
- private System.Windows.Forms.Button btnAddPreset;
- private System.Windows.Forms.Button btnRemovePreset;
- private System.Windows.Forms.ComboBox cbPresets;
private System.Windows.Forms.Label lblPresetName;
private System.Windows.Forms.TextBox txtPresetName;
private System.Windows.Forms.Button btnClose;
private System.Windows.Forms.Button btnOK;
private System.Windows.Forms.Button btnUploadImage;
- private System.Windows.Forms.Button btnRefresh;
- private System.Windows.Forms.Button btnDuplicatePreset;
private System.Windows.Forms.Label lblPresets;
private System.Windows.Forms.Button btnPackager;
private HelpersLib.SplitContainerCustomSplitter scMain;
+ private System.Windows.Forms.Button btnPresetNew;
+ private System.Windows.Forms.Button btnPresetRemove;
+ private System.Windows.Forms.Button btnPresetDuplicate;
+ private HelpersLib.MyListView lvPresets;
+ private System.Windows.Forms.Label lblEffects;
+ private System.Windows.Forms.Button btnEffectAdd;
+ private System.Windows.Forms.Button btnEffectRemove;
+ private System.Windows.Forms.Button btnEffectDuplicate;
+ private System.Windows.Forms.Button btnEffectClear;
+ private System.Windows.Forms.Button btnEffectRefresh;
+ private System.Windows.Forms.ColumnHeader chPreset;
}
}
diff --git a/ShareX.ImageEffectsLib/ImageEffectsForm.cs b/ShareX.ImageEffectsLib/ImageEffectsForm.cs
index 815d9b1ff..ea9c2ed98 100644
--- a/ShareX.ImageEffectsLib/ImageEffectsForm.cs
+++ b/ShareX.ImageEffectsLib/ImageEffectsForm.cs
@@ -192,10 +192,11 @@ private void LoadSettings()
{
foreach (ImageEffectPreset preset in Presets)
{
- cbPresets.Items.Add(preset);
+ ListViewItem lvi = new ListViewItem(preset.ToString());
+ lvPresets.Items.Add(lvi);
}
- cbPresets.SelectedIndex = SelectedPresetIndex.Clamp(0, Presets.Count - 1);
+ lvPresets.SelectedIndex = SelectedPresetIndex.Clamp(0, Presets.Count - 1);
}
UpdateControlStates();
@@ -203,13 +204,20 @@ private void LoadSettings()
private ImageEffectPreset GetSelectedPreset()
{
- int index = cbPresets.SelectedIndex;
+ return GetSelectedPreset(out _);
+ }
+
+ private ImageEffectPreset GetSelectedPreset(out ListViewItem lvi)
+ {
+ int index = lvPresets.SelectedIndex;
if (Presets.IsValidIndex(index))
{
+ lvi = lvPresets.Items[index];
return Presets[index];
}
+ lvi = null;
return null;
}
@@ -223,9 +231,10 @@ private void AddPreset(ImageEffectPreset preset)
if (preset != null)
{
Presets.Add(preset);
- cbPresets.Items.Add(preset);
+ ListViewItem lvi = new ListViewItem(preset.ToString());
+ lvPresets.Items.Add(lvi);
ignorePresetsSelectedIndexChanged = true;
- cbPresets.SelectedIndex = cbPresets.Items.Count - 1;
+ lvPresets.SelectLast();
ignorePresetsSelectedIndexChanged = false;
LoadPreset(preset);
txtPresetName.Focus();
@@ -282,9 +291,9 @@ private void UpdatePreview()
private void UpdateControlStates()
{
- btnRemovePreset.Enabled = btnDuplicatePreset.Enabled = cbPresets.Enabled = txtPresetName.Enabled = btnAdd.Enabled = cbPresets.SelectedIndex > -1;
- btnRemove.Enabled = btnDuplicate.Enabled = lvEffects.SelectedItems.Count > 0;
- btnClear.Enabled = lvEffects.Items.Count > 0;
+ btnPresetRemove.Enabled = btnPresetDuplicate.Enabled = lvPresets.Enabled = txtPresetName.Enabled = btnEffectAdd.Enabled = lvPresets.SelectedItems.Count > 0;
+ btnEffectRemove.Enabled = btnEffectDuplicate.Enabled = lvEffects.SelectedItems.Count > 0;
+ btnEffectClear.Enabled = lvEffects.Items.Count > 0;
}
private void GeneratePreviewImage(int padding)
@@ -447,33 +456,33 @@ private void ImageEffectsForm_Shown(object sender, EventArgs e)
this.ForceActivate();
}
- private void btnAddPreset_Click(object sender, EventArgs e)
+ private void btnPresetNew_Click(object sender, EventArgs e)
{
AddPreset();
}
- private void btnRemovePreset_Click(object sender, EventArgs e)
+ private void btnPresetRemove_Click(object sender, EventArgs e)
{
- int selected = cbPresets.SelectedIndex;
+ int selected = lvPresets.SelectedIndex;
if (selected > -1)
{
- cbPresets.Items.RemoveAt(selected);
+ lvPresets.Items.RemoveAt(selected);
Presets.RemoveAt(selected);
- if (cbPresets.Items.Count > 0)
+ if (lvPresets.Items.Count > 0)
{
- cbPresets.SelectedIndex = selected == cbPresets.Items.Count ? cbPresets.Items.Count - 1 : selected;
+ lvPresets.SelectedIndex = selected == lvPresets.Items.Count ? lvPresets.Items.Count - 1 : selected;
}
else
{
ClearFields();
- btnAddPreset.Focus();
+ btnPresetNew.Focus();
}
}
}
- private void btnDuplicatePreset_Click(object sender, EventArgs e)
+ private void btnPresetDuplicate_Click(object sender, EventArgs e)
{
ImageEffectPreset preset = GetSelectedPreset();
@@ -484,9 +493,9 @@ private void btnDuplicatePreset_Click(object sender, EventArgs e)
}
}
- private void cbPresets_SelectedIndexChanged(object sender, EventArgs e)
+ private void lvPresets_SelectedIndexChanged(object sender, EventArgs e)
{
- SelectedPresetIndex = cbPresets.SelectedIndex;
+ SelectedPresetIndex = lvPresets.SelectedIndex;
if (!ignorePresetsSelectedIndexChanged)
{
@@ -500,27 +509,27 @@ private void cbPresets_SelectedIndexChanged(object sender, EventArgs e)
private void txtPresetName_TextChanged(object sender, EventArgs e)
{
- ImageEffectPreset preset = GetSelectedPreset();
+ ListViewItem lvi;
+ ImageEffectPreset preset = GetSelectedPreset(out lvi);
+
if (preset != null)
{
preset.Name = txtPresetName.Text;
- ignorePresetsSelectedIndexChanged = true;
- cbPresets.RefreshItems();
- ignorePresetsSelectedIndexChanged = false;
+ lvi.Text = preset.ToString();
}
}
- private void btnAdd_Click(object sender, EventArgs e)
+ private void btnEffectAdd_Click(object sender, EventArgs e)
{
- cmsEffects.Show(btnAdd, 0, btnAdd.Height + 1);
+ cmsEffects.Show(btnEffectAdd, 0, btnEffectAdd.Height + 1);
}
- private void btnRemove_Click(object sender, EventArgs e)
+ private void btnEffectRemove_Click(object sender, EventArgs e)
{
RemoveSelectedEffects();
}
- private void btnDuplicate_Click(object sender, EventArgs e)
+ private void btnEffectDuplicate_Click(object sender, EventArgs e)
{
ImageEffectPreset preset = GetSelectedPreset();
@@ -541,7 +550,7 @@ private void btnDuplicate_Click(object sender, EventArgs e)
}
}
- private void btnClear_Click(object sender, EventArgs e)
+ private void btnEffectClear_Click(object sender, EventArgs e)
{
ImageEffectPreset preset = GetSelectedPreset();
@@ -554,7 +563,7 @@ private void btnClear_Click(object sender, EventArgs e)
}
}
- private void BtnRefresh_Click(object sender, EventArgs e)
+ private void btnEffectRefresh_Click(object sender, EventArgs e)
{
UpdatePreview();
}
diff --git a/ShareX.ImageEffectsLib/ImageEffectsForm.resx b/ShareX.ImageEffectsLib/ImageEffectsForm.resx
index 32c9892f4..58b0d2368 100644
--- a/ShareX.ImageEffectsLib/ImageEffectsForm.resx
+++ b/ShareX.ImageEffectsLib/ImageEffectsForm.resx
@@ -126,7 +126,7 @@
0, 0
- 330, 424
+ 330, 496
@@ -144,38 +144,17 @@
0
-
- 408, 40
-
-
- 104, 24
-
-
- 9
-
-
- Add
-
-
- btnAdd
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 21
-
Top, Bottom, Left
+
+ 164
+
- 8, 72
+ 8, 322
- 168, 424
+ 168, 222
14
@@ -190,82 +169,7 @@
$this
- 22
-
-
- 164
-
-
- 520, 40
-
-
- 104, 24
-
-
- 10
-
-
- Remove
-
-
- btnRemove
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 20
-
-
- 744, 40
-
-
- 104, 24
-
-
- 12
-
-
- Clear
-
-
- btnClear
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 19
-
-
- 632, 40
-
-
- 104, 24
-
-
- 11
-
-
- Duplicate
-
-
- btnDuplicate
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 18
+ 23
Bottom, Left
@@ -274,7 +178,7 @@
True
- 456, 504
+ 456, 552
120, 24
@@ -298,13 +202,13 @@
$this
- 17
+ 22
Bottom, Left
- 8, 504
+ 8, 552
192, 24
@@ -322,7 +226,7 @@
$this
- 16
+ 21
Fill
@@ -331,7 +235,7 @@
0, 0
- 440, 424
+ 496, 496
16
@@ -364,7 +268,7 @@
Bottom, Left
- 328, 504
+ 328, 552
126, 17
@@ -400,7 +304,7 @@
$this
- 15
+ 20
130, 22
@@ -414,89 +318,20 @@
From clipboard
-
- 408, 8
-
-
- 136, 24
-
-
- 4
-
-
- New preset
-
-
- btnAddPreset
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 14
-
-
- 552, 8
-
-
- 136, 24
-
-
- 5
-
-
- Remove preset
-
-
- btnRemovePreset
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 13
-
-
- 104, 10
-
-
- 296, 21
-
-
- 3
-
-
- cbPresets
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 12
-
True
- 5, 46
+ 181, 8
- 38, 13
+ 69, 13
7
- Name:
+ Preset name:
lblPresetName
@@ -508,13 +343,13 @@
$this
- 11
+ 19
- 104, 42
+ 184, 24
- 296, 20
+ 168, 20
8
@@ -529,13 +364,13 @@
$this
- 10
+ 18
Bottom, Right
- 840, 504
+ 896, 552
120, 24
@@ -556,13 +391,13 @@
$this
- 9
+ 17
Bottom, Right
- 712, 504
+ 768, 552
120, 24
@@ -586,13 +421,13 @@
$this
- 8
+ 16
Bottom, Left
- 584, 504
+ 584, 552
120, 24
@@ -616,61 +451,13 @@
$this
- 7
-
-
- 856, 40
-
-
- 104, 24
-
-
- 13
-
-
- Refresh
-
-
- btnRefresh
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 6
-
-
- 696, 8
-
-
- 136, 24
-
-
- 6
-
-
- Duplicate preset
-
-
- btnDuplicatePreset
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 5
+ 15
True
- 5, 14
+ 5, 8
45, 13
@@ -691,13 +478,13 @@
$this
- 4
+ 14
Bottom, Left
- 200, 504
+ 200, 552
120, 24
@@ -718,13 +505,13 @@
$this
- 3
+ 13
Top, Bottom, Left, Right
- 184, 72
+ 184, 48
scMain.Panel1
@@ -751,7 +538,7 @@
1
- 776, 424
+ 832, 496
330
@@ -772,7 +559,226 @@
$this
- 0
+ 12
+
+
+ 8, 24
+
+
+ 24, 24
+
+
+ 23
+
+
+ btnPresetNew
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 11
+
+
+ 34, 24
+
+
+ 24, 24
+
+
+ 24
+
+
+ btnPresetRemove
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 10
+
+
+ 60, 24
+
+
+ 24, 24
+
+
+ 25
+
+
+ btnPresetDuplicate
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 9
+
+
+ 8, 50
+
+
+ 168, 222
+
+
+ 26
+
+
+ lvPresets
+
+
+ ShareX.HelpersLib.MyListView, ShareX.HelpersLib, Version=13.1.1.0, Culture=neutral, PublicKeyToken=null
+
+
+ $this
+
+
+ 8
+
+
+ 164
+
+
+ True
+
+
+ 5, 280
+
+
+ 43, 13
+
+
+ 27
+
+
+ Effects:
+
+
+ lblEffects
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 7
+
+
+ 8, 296
+
+
+ 24, 24
+
+
+ 28
+
+
+ btnEffectAdd
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 6
+
+
+ 34, 296
+
+
+ 24, 24
+
+
+ 29
+
+
+ btnEffectRemove
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 5
+
+
+ 60, 296
+
+
+ 24, 24
+
+
+ 30
+
+
+ btnEffectDuplicate
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 4
+
+
+ 86, 296
+
+
+ 24, 24
+
+
+ 31
+
+
+ btnEffectClear
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 3
+
+
+ 112, 296
+
+
+ 24, 24
+
+
+ 32
+
+
+ btnEffectRefresh
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 2
True
@@ -784,7 +790,10 @@
6, 13
- 969, 535
+ 1025, 585
+
+
+ NoControl
CenterScreen
@@ -810,6 +819,12 @@
System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ chPreset
+
+
+ System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
ImageEffectsForm
diff --git a/ShareX.ImageEffectsLib/Properties/Resources.Designer.cs b/ShareX.ImageEffectsLib/Properties/Resources.Designer.cs
index 871af8190..c9a10c8b8 100644
--- a/ShareX.ImageEffectsLib/Properties/Resources.Designer.cs
+++ b/ShareX.ImageEffectsLib/Properties/Resources.Designer.cs
@@ -60,6 +60,36 @@ internal class Resources {
}
}
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap arrow_circle_double_135 {
+ get {
+ object obj = ResourceManager.GetObject("arrow-circle-double-135", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap document_copy {
+ get {
+ object obj = ResourceManager.GetObject("document-copy", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap eraser {
+ get {
+ object obj = ResourceManager.GetObject("eraser", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
///
/// Looks up a localized string similar to Adjustments.
///
@@ -114,5 +144,25 @@ internal class Resources {
"me___2__ms", resourceCulture);
}
}
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap minus {
+ get {
+ object obj = ResourceManager.GetObject("minus", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap plus {
+ get {
+ object obj = ResourceManager.GetObject("plus", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
}
}
diff --git a/ShareX.ImageEffectsLib/Properties/Resources.resx b/ShareX.ImageEffectsLib/Properties/Resources.resx
index 23e700595..491376ad3 100644
--- a/ShareX.ImageEffectsLib/Properties/Resources.resx
+++ b/ShareX.ImageEffectsLib/Properties/Resources.resx
@@ -1,119 +1,154 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 1.3
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Drawings
+ 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.
+ -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+ ..\Resources\eraser.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- Manipulations
-
-
- Adjustments
+
+ ..\Resources\plus.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Filters
+
+ ..\Resources\minus.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ Drawings
+
Image effects - Width: {0}, Height: {1}, Render time: {2} ms
+
+ Manipulations
+
+
+ ..\Resources\document-copy.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
Cancel
+
+ Adjustments
+
+
+ ..\Resources\arrow-circle-double-135.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
\ No newline at end of file
diff --git a/ShareX.ImageEffectsLib/Resources/arrow-circle-double-135.png b/ShareX.ImageEffectsLib/Resources/arrow-circle-double-135.png
new file mode 100644
index 000000000..06f1ee390
Binary files /dev/null and b/ShareX.ImageEffectsLib/Resources/arrow-circle-double-135.png differ
diff --git a/ShareX.ImageEffectsLib/Resources/document-copy.png b/ShareX.ImageEffectsLib/Resources/document-copy.png
new file mode 100644
index 000000000..182804a48
Binary files /dev/null and b/ShareX.ImageEffectsLib/Resources/document-copy.png differ
diff --git a/ShareX.ImageEffectsLib/Resources/eraser.png b/ShareX.ImageEffectsLib/Resources/eraser.png
new file mode 100644
index 000000000..e0d4b0201
Binary files /dev/null and b/ShareX.ImageEffectsLib/Resources/eraser.png differ
diff --git a/ShareX.ImageEffectsLib/Resources/minus.png b/ShareX.ImageEffectsLib/Resources/minus.png
new file mode 100644
index 000000000..83b053fac
Binary files /dev/null and b/ShareX.ImageEffectsLib/Resources/minus.png differ
diff --git a/ShareX.ImageEffectsLib/Resources/plus.png b/ShareX.ImageEffectsLib/Resources/plus.png
new file mode 100644
index 000000000..f64b01199
Binary files /dev/null and b/ShareX.ImageEffectsLib/Resources/plus.png differ
diff --git a/ShareX.ImageEffectsLib/ShareX.ImageEffectsLib.csproj b/ShareX.ImageEffectsLib/ShareX.ImageEffectsLib.csproj
index 806400e34..07a12fd5b 100644
--- a/ShareX.ImageEffectsLib/ShareX.ImageEffectsLib.csproj
+++ b/ShareX.ImageEffectsLib/ShareX.ImageEffectsLib.csproj
@@ -269,6 +269,21 @@
12.0.3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+