Support drag n drop .sxie files to image effects window

This commit is contained in:
Jaex 2020-11-18 21:39:45 +03:00
parent b4c23a788e
commit 596510f2e5
3 changed files with 83 additions and 22 deletions

View file

@ -318,6 +318,7 @@ private void InitializeComponent()
//
// ImageEffectsForm
//
this.AllowDrop = true;
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.BackColor = System.Drawing.SystemColors.Window;
@ -349,6 +350,8 @@ private void InitializeComponent()
this.Name = "ImageEffectsForm";
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
this.Shown += new System.EventHandler(this.ImageEffectsForm_Shown);
this.DragDrop += new System.Windows.Forms.DragEventHandler(this.ImageEffectsForm_DragDrop);
this.DragEnter += new System.Windows.Forms.DragEventHandler(this.ImageEffectsForm_DragEnter);
this.cmsLoadImage.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();

View file

@ -30,6 +30,7 @@
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
namespace ShareX.ImageEffectsLib
@ -122,6 +123,23 @@ public void ImportImageEffect(string json)
}
}
public void ImportImageEffectFile(string filePath)
{
try
{
string configJson = ImageEffectPackager.ExtractPackage(filePath, HelpersOptions.ShareXSpecialFolders["ShareXImageEffects"]);
if (!string.IsNullOrEmpty(configJson))
{
ImportImageEffect(configJson);
}
}
catch (Exception ex)
{
ex.ShowError(false);
}
}
protected void OnImageProcessRequested(Bitmap bmp)
{
ImageProcessRequested?.Invoke(bmp);
@ -478,6 +496,43 @@ private void ImageEffectsForm_Shown(object sender, EventArgs e)
UpdatePreview();
}
private void ImageEffectsForm_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop, false))
{
string[] files = e.Data.GetData(DataFormats.FileDrop, false) as string[];
if (files != null && files.Any(x => !string.IsNullOrEmpty(x) && x.EndsWith(".sxie")))
{
e.Effect = DragDropEffects.Copy;
}
else
{
e.Effect = DragDropEffects.None;
}
}
else
{
e.Effect = DragDropEffects.None;
}
}
private void ImageEffectsForm_DragDrop(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop, false))
{
string[] files = e.Data.GetData(DataFormats.FileDrop, false) as string[];
if (files != null)
{
foreach (string filePath in files.Where(x => !string.IsNullOrEmpty(x) && x.EndsWith(".sxie")))
{
ImportImageEffectFile(filePath);
}
}
}
}
private void btnPresetNew_Click(object sender, EventArgs e)
{
AddPreset();

View file

@ -171,6 +171,15 @@
<metadata name="cmsLoadImage.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>126, 17</value>
</metadata>
<data name="cmsLoadImage.Size" type="System.Drawing.Size, System.Drawing">
<value>131, 48</value>
</data>
<data name="&gt;&gt;cmsLoadImage.Name" xml:space="preserve">
<value>cmsLoadImage</value>
</data>
<data name="&gt;&gt;cmsLoadImage.Type" xml:space="preserve">
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="tsmiLoadImageFromFile.Size" type="System.Drawing.Size, System.Drawing">
<value>130, 22</value>
</data>
@ -183,15 +192,6 @@
<data name="tsmiLoadImageFromClipboard.Text" xml:space="preserve">
<value>From clipboard</value>
</data>
<data name="cmsLoadImage.Size" type="System.Drawing.Size, System.Drawing">
<value>131, 48</value>
</data>
<data name="&gt;&gt;cmsLoadImage.Name" xml:space="preserve">
<value>cmsLoadImage</value>
</data>
<data name="&gt;&gt;cmsLoadImage.Type" xml:space="preserve">
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="lblPresetName.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
@ -399,6 +399,9 @@
<data name="&gt;&gt;btnPackager.ZOrder" xml:space="preserve">
<value>16</value>
</data>
<metadata name="ttMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>260, 17</value>
</metadata>
<data name="btnPresetNew.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
@ -411,9 +414,6 @@
<data name="btnPresetNew.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<metadata name="ttMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>260, 17</value>
</metadata>
<data name="btnPresetNew.ToolTip" xml:space="preserve">
<value>New</value>
</data>
@ -648,12 +648,12 @@
<data name="&gt;&gt;btnEffectRefresh.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<metadata name="ttMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>260, 17</value>
</metadata>
<data name="lvPresets.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left</value>
</data>
<data name="chPreset.Width" type="System.Int32, mscorlib">
<value>164</value>
</data>
<data name="lvPresets.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 53</value>
</data>
@ -667,7 +667,7 @@
<value>lvPresets</value>
</data>
<data name="&gt;&gt;lvPresets.Type" xml:space="preserve">
<value>ShareX.HelpersLib.MyListView, ShareX.HelpersLib, Version=13.2.2.0, Culture=neutral, PublicKeyToken=null</value>
<value>ShareX.HelpersLib.MyListView, ShareX.HelpersLib, Version=13.3.1.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;lvPresets.Parent" xml:space="preserve">
<value>$this</value>
@ -675,6 +675,9 @@
<data name="&gt;&gt;lvPresets.ZOrder" xml:space="preserve">
<value>12</value>
</data>
<data name="chPreset.Width" type="System.Int32, mscorlib">
<value>164</value>
</data>
<data name="pgSettings.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left</value>
</data>
@ -718,7 +721,7 @@
<value>pbResult</value>
</data>
<data name="&gt;&gt;pbResult.Type" xml:space="preserve">
<value>ShareX.HelpersLib.MyPictureBox, ShareX.HelpersLib, Version=13.2.2.0, Culture=neutral, PublicKeyToken=null</value>
<value>ShareX.HelpersLib.MyPictureBox, ShareX.HelpersLib, Version=13.3.1.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;pbResult.Parent" xml:space="preserve">
<value>$this</value>
@ -751,7 +754,7 @@
<value>mbLoadImage</value>
</data>
<data name="&gt;&gt;mbLoadImage.Type" xml:space="preserve">
<value>ShareX.HelpersLib.MenuButton, ShareX.HelpersLib, Version=13.2.2.0, Culture=neutral, PublicKeyToken=null</value>
<value>ShareX.HelpersLib.MenuButton, ShareX.HelpersLib, Version=13.3.1.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;mbLoadImage.Parent" xml:space="preserve">
<value>$this</value>
@ -762,9 +765,6 @@
<data name="lvEffects.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left</value>
</data>
<data name="chEffect.Width" type="System.Int32, mscorlib">
<value>50</value>
</data>
<data name="lvEffects.Location" type="System.Drawing.Point, System.Drawing">
<value>184, 101</value>
</data>
@ -778,7 +778,7 @@
<value>lvEffects</value>
</data>
<data name="&gt;&gt;lvEffects.Type" xml:space="preserve">
<value>ShareX.HelpersLib.MyListView, ShareX.HelpersLib, Version=13.2.2.0, Culture=neutral, PublicKeyToken=null</value>
<value>ShareX.HelpersLib.MyListView, ShareX.HelpersLib, Version=13.3.1.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;lvEffects.Parent" xml:space="preserve">
<value>$this</value>
@ -786,6 +786,9 @@
<data name="&gt;&gt;lvEffects.ZOrder" xml:space="preserve">
<value>25</value>
</data>
<data name="chEffect.Width" type="System.Int32, mscorlib">
<value>50</value>
</data>
<data name="lblEffect.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>