From e6efc03177abdb0d279359ff0a17549b016670c6 Mon Sep 17 00:00:00 2001 From: Oliver Matla Date: Tue, 5 Oct 2021 03:14:32 +0200 Subject: [PATCH] add click method for discard button, verifying the user intent, deleting the screenshot and closing the editor. --- src/Greenshot.Editor/Forms/ImageEditorForm.cs | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/src/Greenshot.Editor/Forms/ImageEditorForm.cs b/src/Greenshot.Editor/Forms/ImageEditorForm.cs index ffbea1a8b..10f213f98 100644 --- a/src/Greenshot.Editor/Forms/ImageEditorForm.cs +++ b/src/Greenshot.Editor/Forms/ImageEditorForm.cs @@ -867,6 +867,41 @@ namespace Greenshot.Editor.Forms HelpToolStripMenuItem1Click(sender, e); } + private void BtnDiscardClick(object sender, EventArgs e) + { + // Make sure the editor is visible + WindowDetails.ToForeground(Handle); + + DialogResult result = MessageBox.Show(Language.GetString(LangKey.editor_discard), Language.GetString(LangKey.editor_discard_title), MessageBoxButtons.YesNo, + MessageBoxIcon.Question); + if (result.Equals(DialogResult.No)) + { + return; + } + + if (result.Equals(DialogResult.Yes)) + { + _surface.Modified = false; + + if (_surface.LastSaveFullPath != null) + { + if (File.Exists(_surface.LastSaveFullPath)) + { + try + { + File.Delete(_surface.LastSaveFullPath); + } + catch (Exception ex) + { + // Do nothing. + } + } + } + + Close(); + } + } + private void ImageEditorFormActivated(object sender, EventArgs e) { UpdateClipboardSurfaceDependencies(); @@ -935,6 +970,9 @@ namespace Greenshot.Editor.Forms case Keys.Escape: BtnCursorClick(sender, e); break; + case Keys.Delete: // Discard changes, delete file and close. + BtnDiscardClick(sender, e); + break; case Keys.R: BtnRectClick(sender, e); break;