mirror of
https://github.com/ShareX/ShareX.git
synced 2024-10-02 18:26:27 +13:00
Support drag n drop .sxie files to image effects window
This commit is contained in:
parent
b4c23a788e
commit
596510f2e5
3 changed files with 83 additions and 22 deletions
|
@ -318,6 +318,7 @@ private void InitializeComponent()
|
||||||
//
|
//
|
||||||
// ImageEffectsForm
|
// ImageEffectsForm
|
||||||
//
|
//
|
||||||
|
this.AllowDrop = true;
|
||||||
resources.ApplyResources(this, "$this");
|
resources.ApplyResources(this, "$this");
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
|
||||||
this.BackColor = System.Drawing.SystemColors.Window;
|
this.BackColor = System.Drawing.SystemColors.Window;
|
||||||
|
@ -349,6 +350,8 @@ private void InitializeComponent()
|
||||||
this.Name = "ImageEffectsForm";
|
this.Name = "ImageEffectsForm";
|
||||||
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
|
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
|
||||||
this.Shown += new System.EventHandler(this.ImageEffectsForm_Shown);
|
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.cmsLoadImage.ResumeLayout(false);
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
this.PerformLayout();
|
this.PerformLayout();
|
||||||
|
|
|
@ -30,6 +30,7 @@ You should have received a copy of the GNU General Public License
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace ShareX.ImageEffectsLib
|
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)
|
protected void OnImageProcessRequested(Bitmap bmp)
|
||||||
{
|
{
|
||||||
ImageProcessRequested?.Invoke(bmp);
|
ImageProcessRequested?.Invoke(bmp);
|
||||||
|
@ -478,6 +496,43 @@ private void ImageEffectsForm_Shown(object sender, EventArgs e)
|
||||||
UpdatePreview();
|
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)
|
private void btnPresetNew_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
AddPreset();
|
AddPreset();
|
||||||
|
|
|
@ -171,6 +171,15 @@
|
||||||
<metadata name="cmsLoadImage.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<metadata name="cmsLoadImage.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
<value>126, 17</value>
|
<value>126, 17</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
|
<data name="cmsLoadImage.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>131, 48</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>cmsLoadImage.Name" xml:space="preserve">
|
||||||
|
<value>cmsLoadImage</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>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">
|
<data name="tsmiLoadImageFromFile.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>130, 22</value>
|
<value>130, 22</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -183,15 +192,6 @@
|
||||||
<data name="tsmiLoadImageFromClipboard.Text" xml:space="preserve">
|
<data name="tsmiLoadImageFromClipboard.Text" xml:space="preserve">
|
||||||
<value>From clipboard</value>
|
<value>From clipboard</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="cmsLoadImage.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>131, 48</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>cmsLoadImage.Name" xml:space="preserve">
|
|
||||||
<value>cmsLoadImage</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>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">
|
<data name="lblPresetName.AutoSize" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -399,6 +399,9 @@
|
||||||
<data name=">>btnPackager.ZOrder" xml:space="preserve">
|
<data name=">>btnPackager.ZOrder" xml:space="preserve">
|
||||||
<value>16</value>
|
<value>16</value>
|
||||||
</data>
|
</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">
|
<data name="btnPresetNew.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
<value>NoControl</value>
|
<value>NoControl</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -411,9 +414,6 @@
|
||||||
<data name="btnPresetNew.TabIndex" type="System.Int32, mscorlib">
|
<data name="btnPresetNew.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>3</value>
|
<value>3</value>
|
||||||
</data>
|
</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">
|
<data name="btnPresetNew.ToolTip" xml:space="preserve">
|
||||||
<value>New</value>
|
<value>New</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -648,12 +648,12 @@
|
||||||
<data name=">>btnEffectRefresh.ZOrder" xml:space="preserve">
|
<data name=">>btnEffectRefresh.ZOrder" xml:space="preserve">
|
||||||
<value>6</value>
|
<value>6</value>
|
||||||
</data>
|
</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">
|
<data name="lvPresets.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||||
<value>Top, Bottom, Left</value>
|
<value>Top, Bottom, Left</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="chPreset.Width" type="System.Int32, mscorlib">
|
|
||||||
<value>164</value>
|
|
||||||
</data>
|
|
||||||
<data name="lvPresets.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="lvPresets.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>8, 53</value>
|
<value>8, 53</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -667,7 +667,7 @@
|
||||||
<value>lvPresets</value>
|
<value>lvPresets</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>lvPresets.Type" xml:space="preserve">
|
<data name=">>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>
|
||||||
<data name=">>lvPresets.Parent" xml:space="preserve">
|
<data name=">>lvPresets.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
|
@ -675,6 +675,9 @@
|
||||||
<data name=">>lvPresets.ZOrder" xml:space="preserve">
|
<data name=">>lvPresets.ZOrder" xml:space="preserve">
|
||||||
<value>12</value>
|
<value>12</value>
|
||||||
</data>
|
</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">
|
<data name="pgSettings.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||||
<value>Top, Bottom, Left</value>
|
<value>Top, Bottom, Left</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -718,7 +721,7 @@
|
||||||
<value>pbResult</value>
|
<value>pbResult</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>pbResult.Type" xml:space="preserve">
|
<data name=">>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>
|
||||||
<data name=">>pbResult.Parent" xml:space="preserve">
|
<data name=">>pbResult.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
|
@ -751,7 +754,7 @@
|
||||||
<value>mbLoadImage</value>
|
<value>mbLoadImage</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>mbLoadImage.Type" xml:space="preserve">
|
<data name=">>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>
|
||||||
<data name=">>mbLoadImage.Parent" xml:space="preserve">
|
<data name=">>mbLoadImage.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
|
@ -762,9 +765,6 @@
|
||||||
<data name="lvEffects.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
<data name="lvEffects.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||||
<value>Top, Bottom, Left</value>
|
<value>Top, Bottom, Left</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="chEffect.Width" type="System.Int32, mscorlib">
|
|
||||||
<value>50</value>
|
|
||||||
</data>
|
|
||||||
<data name="lvEffects.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="lvEffects.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>184, 101</value>
|
<value>184, 101</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -778,7 +778,7 @@
|
||||||
<value>lvEffects</value>
|
<value>lvEffects</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>lvEffects.Type" xml:space="preserve">
|
<data name=">>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>
|
||||||
<data name=">>lvEffects.Parent" xml:space="preserve">
|
<data name=">>lvEffects.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
|
@ -786,6 +786,9 @@
|
||||||
<data name=">>lvEffects.ZOrder" xml:space="preserve">
|
<data name=">>lvEffects.ZOrder" xml:space="preserve">
|
||||||
<value>25</value>
|
<value>25</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="chEffect.Width" type="System.Int32, mscorlib">
|
||||||
|
<value>50</value>
|
||||||
|
</data>
|
||||||
<data name="lblEffect.AutoSize" type="System.Boolean, mscorlib">
|
<data name="lblEffect.AutoSize" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
</data>
|
</data>
|
||||||
|
|
Loading…
Reference in a new issue