diff --git a/src/Greenshot.Editor/Configuration/LanguageKeys.cs b/src/Greenshot.Editor/Configuration/LanguageKeys.cs index b1f410e66..978a1aac3 100644 --- a/src/Greenshot.Editor/Configuration/LanguageKeys.cs +++ b/src/Greenshot.Editor/Configuration/LanguageKeys.cs @@ -40,6 +40,8 @@ namespace Greenshot.Editor.Configuration editor_copytoclipboard, editor_cuttoclipboard, editor_deleteelement, + editor_discard, + editor_discard_title, editor_downonelevel, editor_downtobottom, editor_duplicate, diff --git a/src/Greenshot.Editor/Forms/ImageEditorForm.Designer.cs b/src/Greenshot.Editor/Forms/ImageEditorForm.Designer.cs index c0a8f8a63..8e932052b 100644 --- a/src/Greenshot.Editor/Forms/ImageEditorForm.Designer.cs +++ b/src/Greenshot.Editor/Forms/ImageEditorForm.Designer.cs @@ -138,8 +138,9 @@ namespace Greenshot.Editor.Forms { this.btnSettings = new GreenshotToolStripButton(); this.toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripSeparator16 = new System.Windows.Forms.ToolStripSeparator(); + this.btnDiscard = new GreenshotToolStripButton(); this.btnHelp = new GreenshotToolStripButton(); - this.propertiesToolStrip = new ToolStripEx(); + this.propertiesToolStrip = new ToolStripEx(); this.obfuscateModeButton = new BindableToolStripDropDownButton(); this.cropModeButton = new BindableToolStripDropDownButton(); this.pixelizeToolStripMenuItem = new GreenshotToolStripMenuItem(); @@ -900,6 +901,7 @@ namespace Greenshot.Editor.Forms { this.btnSettings, this.toolStripSeparator11, this.toolStripSeparator16, + this.btnDiscard, this.btnHelp}); // // btnSave @@ -1026,6 +1028,16 @@ namespace Greenshot.Editor.Forms { this.btnHelp.Name = "btnHelp"; this.btnHelp.Text = "Help"; this.btnHelp.Click += new System.EventHandler(this.BtnHelpClick); + // + // btnDiscard + // + this.btnDiscard.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.btnDiscard.Image = ((System.Drawing.Image)(resources.GetObject("btnDiscard.Image"))); + this.btnDiscard.ImageTransparentColor = System.Drawing.Color.Magenta; + this.btnDiscard.LanguageKey = "contextmenu_discard"; + this.btnDiscard.Name = "btnDiscard"; + this.btnDiscard.Text = "Discard"; + this.btnDiscard.Click += new System.EventHandler(this.BtnDiscardClick); // // propertiesToolStrip // @@ -1979,6 +1991,7 @@ namespace Greenshot.Editor.Forms { private GreenshotToolStripMenuItem drawLineToolStripMenuItem; private GreenshotToolStripButton btnLine; private GreenshotToolStripButton btnSettings; + private GreenshotToolStripButton btnDiscard; private GreenshotToolStripButton btnHelp; private System.Windows.Forms.ToolStripSeparator toolStripSeparator11; private GreenshotToolStripMenuItem aboutToolStripMenuItem; diff --git a/src/Greenshot.Editor/Forms/ImageEditorForm.cs b/src/Greenshot.Editor/Forms/ImageEditorForm.cs index 97263d8c2..1287415ab 100644 --- a/src/Greenshot.Editor/Forms/ImageEditorForm.cs +++ b/src/Greenshot.Editor/Forms/ImageEditorForm.cs @@ -922,6 +922,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(); @@ -990,6 +1025,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; diff --git a/src/Greenshot.Editor/Forms/ImageEditorForm.resx b/src/Greenshot.Editor/Forms/ImageEditorForm.resx index 1c5b104fd..150ad0763 100644 --- a/src/Greenshot.Editor/Forms/ImageEditorForm.resx +++ b/src/Greenshot.Editor/Forms/ImageEditorForm.resx @@ -656,6 +656,23 @@ 8GMN/QX6AQLKSmIufl07AAAAAElFTkSuQmCC + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ + bWFnZVJlYWR5ccllPAAAAl1JREFUeNqMUz9oE1EY/97dS3JJLpfLX7XUxkJAF4WCQ4ZMdlJw0jjo + 4KjSoWNwinQpCIqLooOLCoKTiIuDxSEQwaUqOESjqTVWTWPPJL0/uffe+V7t1WiD9oOPd9z3/X78 + vn+oVCqBMMdxjtfr9T2NRgNc1xW/ItxTwWAwpKoq1TTNSSQStq7rdiwWa8qy/FAk4cbkNGya9uT2 + /Zn339a/Z9SQsjuppL8Y9kfHZcgaUDQgDAF4MJGOJk5dvXfZB2HP8/xvBDs0jkE7IsASwgEFRwj1 + bK6AjiKQBMGmS8NgmYNVBetX7riHzXW8NyBLeIhgCzdSgevKmesP+uNLK0RWI4jcfUxyM6cDqz9M + 2v+vgnBQDj17YWdPHgl3KufU16trA3zmWHDJdKg9SoHEGINN32CVEZKmDgR6u1KyxTygly7EF2Ma + +2QYaDwawmGRI3J93DYFfYdY2TRqNZYdfXZ+eUpCSO71vNTLN6bOPI9u64Fg8cvZ6r6MQpUbTT0Z + x+7s/IeDubGQVTqaXLYGZMDDUY6R/jkFPjancn7C+LpqBa5dnHx19kRqkSC6MnIKQwq2OsuYR/O5 + 8NrNuf1ve6Zr2+7GDgzF2e8pmK13fhP/2ANRr+mQHmEe+XvBRK7ACCxuPboFxWIRotGo83xh36Fu + twt1ETRN6HQ6eUIIKIoC/KAgHo9DW9Mg31ygIq9Wq4HYrnC1Wo3lcrlgoVAAwzDAsiwghEG73edX + 6nGCMPBr3CDg1wjlchk3m80sx/ZELUnuY/w8p3lTMn5z/JoR+lXu0CuCbUrpU/5+/inAAPtDePfH + JvwFAAAAAElFTkSuQmCC + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 diff --git a/src/Greenshot/Configuration/LanguageKeys.cs b/src/Greenshot/Configuration/LanguageKeys.cs index 879c24a9d..fb52b36b7 100644 --- a/src/Greenshot/Configuration/LanguageKeys.cs +++ b/src/Greenshot/Configuration/LanguageKeys.cs @@ -39,6 +39,8 @@ namespace Greenshot.Configuration editor_copytoclipboard, editor_cuttoclipboard, editor_deleteelement, + editor_discard, + editor_discard_title, editor_downonelevel, editor_downtobottom, editor_duplicate, diff --git a/src/Greenshot/Languages/language-de-DE.xml b/src/Greenshot/Languages/language-de-DE.xml index b636da112..454d1ab40 100644 --- a/src/Greenshot/Languages/language-de-DE.xml +++ b/src/Greenshot/Languages/language-de-DE.xml @@ -54,6 +54,7 @@ schnell zu finden. Vielen Dank :) Zuletzt gewählten Bereich abfotografieren Fenster abfotografieren Fenster aus Liste abfotografieren + Verwerfen und schließen Greenshot unterstützen Schließen Hilfe @@ -101,6 +102,8 @@ schnell zu finden. Vielen Dank :) Auswahlwerkzeug (Esc) Ausschneiden Gewähltes Element löschen + Möchten Sie den Screenshot löschen und den Editor schließen? + Bild verwerfen? Eine Ebene nach hinten In den Hintergrund Pfeil zeichnen (A) diff --git a/src/Greenshot/Languages/language-en-US.xml b/src/Greenshot/Languages/language-en-US.xml index 1403d3e9c..ae556926c 100644 --- a/src/Greenshot/Languages/language-en-US.xml +++ b/src/Greenshot/Languages/language-en-US.xml @@ -55,6 +55,7 @@ Also, we would highly appreciate if you checked whether a tracker item already e Capture last region Capture window Capture window from list + Discard and quit Support Greenshot Exit Help @@ -102,6 +103,8 @@ Also, we would highly appreciate if you checked whether a tracker item already e Selection Tool (ESC) Cut Delete + Do you want to quit and delete the saved screenshot? + Discard image? Down one level Down to bottom Draw arrow (A) diff --git a/src/Greenshot/icons/fugue/bin.png b/src/Greenshot/icons/fugue/bin.png new file mode 100644 index 000000000..01d304aa6 Binary files /dev/null and b/src/Greenshot/icons/fugue/bin.png differ