mirror of
https://github.com/ShareX/ShareX.git
synced 2024-09-30 01:07:21 +13:00
Support importing .sxie files
This commit is contained in:
parent
8a6d06b21d
commit
28c7b91752
5 changed files with 45 additions and 26 deletions
|
@ -231,6 +231,12 @@ private void tsmiImportClipboard_Click(object sender, EventArgs e)
|
|||
}
|
||||
}
|
||||
|
||||
public void ImportFile(string filePath)
|
||||
{
|
||||
string json = File.ReadAllText(filePath, Encoding.UTF8);
|
||||
OnImportRequested(json);
|
||||
}
|
||||
|
||||
private void tsmiImportFile_Click(object sender, EventArgs e)
|
||||
{
|
||||
string filter = "Settings (*.json)|*.json|All files (*.*)|*.*";
|
||||
|
@ -246,8 +252,7 @@ private void tsmiImportFile_Click(object sender, EventArgs e)
|
|||
{
|
||||
foreach (string filename in ofd.FileNames)
|
||||
{
|
||||
string json = File.ReadAllText(filename, Encoding.UTF8);
|
||||
OnImportRequested(json);
|
||||
ImportFile(filename);
|
||||
}
|
||||
|
||||
OnImportCompleted();
|
||||
|
|
|
@ -101,12 +101,7 @@ public static string ExtractPackage(string packageFilePath, string imageEffectsF
|
|||
string destination = Path.Combine(imageEffectsFolderPath, packageName);
|
||||
ZipManager.Extract(packageFilePath, destination);
|
||||
|
||||
string configFilePath = Path.Combine(destination, ConfigFileName);
|
||||
|
||||
if (File.Exists(configFilePath))
|
||||
{
|
||||
return configFilePath;
|
||||
}
|
||||
return Path.Combine(destination, ConfigFileName);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -71,8 +71,6 @@ public ImageEffectsForm(Bitmap bmp, List<ImageEffectPreset> presets, int selecte
|
|||
eiImageEffects.ObjectType = typeof(ImageEffectPreset);
|
||||
eiImageEffects.SerializationBinder = new TypeNameSerializationBinder("ShareX.ImageEffectsLib", "ShareX.ImageEffectsLib");
|
||||
AddAllEffectsToContextMenu();
|
||||
|
||||
LoadSettings();
|
||||
}
|
||||
|
||||
public static ImageEffectsForm GetFormInstance(List<ImageEffectPreset> presets, int selectedPresetIndex)
|
||||
|
@ -101,6 +99,11 @@ public void EditorMode()
|
|||
btnClose.Text = Resources.ImageEffectsForm_EditorMode_Cancel;
|
||||
}
|
||||
|
||||
public void ImportImageEffectFromFilePath(string filePath)
|
||||
{
|
||||
eiImageEffects.ImportFile(filePath);
|
||||
}
|
||||
|
||||
protected void OnImageProcessRequested(Bitmap bmp)
|
||||
{
|
||||
ImageProcessRequested?.Invoke(bmp);
|
||||
|
@ -435,6 +438,8 @@ private void LoadPreset(ImageEffectPreset preset)
|
|||
|
||||
private void ImageEffectsForm_Shown(object sender, EventArgs e)
|
||||
{
|
||||
LoadSettings();
|
||||
|
||||
this.ForceActivate();
|
||||
}
|
||||
|
||||
|
|
|
@ -813,20 +813,7 @@ private void chkShowImageEffectsWindowAfterCapture_CheckedChanged(object sender,
|
|||
|
||||
private void btnImageEffects_Click(object sender, EventArgs e)
|
||||
{
|
||||
bool firstInstance = !ImageEffectsForm.IsInstanceActive;
|
||||
|
||||
ImageEffectsForm imageEffectsForm = ImageEffectsForm.GetFormInstance(TaskSettings.ImageSettings.ImageEffectPresets,
|
||||
TaskSettings.ImageSettings.SelectedImageEffectPreset);
|
||||
|
||||
if (firstInstance)
|
||||
{
|
||||
imageEffectsForm.FormClosed += (sender2, e2) => TaskSettings.ImageSettings.SelectedImageEffectPreset = imageEffectsForm.SelectedPresetIndex;
|
||||
imageEffectsForm.Show();
|
||||
}
|
||||
else
|
||||
{
|
||||
imageEffectsForm.ForceActivate();
|
||||
}
|
||||
TaskHelpers.OpenImageEffectsSingleton(TaskSettings);
|
||||
}
|
||||
|
||||
private void nudThumbnailWidth_ValueChanged(object sender, EventArgs e)
|
||||
|
|
|
@ -1061,6 +1061,28 @@ public static void OpenImageEffects(TaskSettings taskSettings = null)
|
|||
}
|
||||
}
|
||||
|
||||
public static ImageEffectsForm OpenImageEffectsSingleton(TaskSettings taskSettings = null)
|
||||
{
|
||||
if (taskSettings == null) taskSettings = Program.DefaultTaskSettings;
|
||||
|
||||
bool firstInstance = !ImageEffectsForm.IsInstanceActive;
|
||||
|
||||
ImageEffectsForm imageEffectsForm = ImageEffectsForm.GetFormInstance(taskSettings.ImageSettings.ImageEffectPresets,
|
||||
taskSettings.ImageSettings.SelectedImageEffectPreset);
|
||||
|
||||
if (firstInstance)
|
||||
{
|
||||
imageEffectsForm.FormClosed += (sender, e) => taskSettings.ImageSettings.SelectedImageEffectPreset = imageEffectsForm.SelectedPresetIndex;
|
||||
imageEffectsForm.Show();
|
||||
}
|
||||
else
|
||||
{
|
||||
imageEffectsForm.ForceActivate();
|
||||
}
|
||||
|
||||
return imageEffectsForm;
|
||||
}
|
||||
|
||||
public static void OpenMonitorTest()
|
||||
{
|
||||
using (MonitorTestForm monitorTestForm = new MonitorTestForm())
|
||||
|
@ -1670,9 +1692,14 @@ public static void AddImageEffect(string filePath)
|
|||
{
|
||||
string configFilePath = ImageEffectPackager.ExtractPackage(filePath, Program.ImageEffectsFolder);
|
||||
|
||||
if (!string.IsNullOrEmpty(configFilePath))
|
||||
if (!string.IsNullOrEmpty(configFilePath) && File.Exists(configFilePath))
|
||||
{
|
||||
// TODO
|
||||
ImageEffectsForm imageEffectsForm = OpenImageEffectsSingleton(Program.DefaultTaskSettings);
|
||||
|
||||
if (imageEffectsForm != null)
|
||||
{
|
||||
imageEffectsForm.ImportImageEffectFromFilePath(configFilePath);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue