From 8a3d1dcd5776896d9ad023ecafb9eb1a7d27911f Mon Sep 17 00:00:00 2001 From: Christian Lauinger Date: Tue, 11 Jun 2024 18:01:24 +0200 Subject: [PATCH] Reset button with question --- photocollage/gtkgui.py | 29 ++++++++++++++++++++ po/de.po | 62 ++++++++++++++++++++++++------------------ 2 files changed, 64 insertions(+), 27 deletions(-) diff --git a/photocollage/gtkgui.py b/photocollage/gtkgui.py index d6a3449..1f4f7d1 100644 --- a/photocollage/gtkgui.py +++ b/photocollage/gtkgui.py @@ -267,6 +267,13 @@ def make_window(self): self.btn_save.connect("clicked", self.save_poster) box.pack_start(self.btn_save, False, False, 0) + self.btn_reset = Gtk.Button(label=_("Reset")) + self.btn_reset.set_image(Gtk.Image.new_from_stock( + Gtk.STOCK_REMOVE, Gtk.IconSize.LARGE_TOOLBAR)) + self.btn_reset.set_always_show_image(True) + self.btn_reset.connect("clicked", self.reset) + box.pack_start(self.btn_reset, False, False, 0) + # ----------------------- # Tools pan # ----------------------- @@ -321,6 +328,7 @@ def make_window(self): box.pack_start(self.img_preview, True, True, 0) self.btn_save.set_sensitive(False) + self.btn_reset.set_sensitive(False) self.btn_undo.set_sensitive(False) self.btn_redo.set_sensitive(False) @@ -397,6 +405,7 @@ def on_complete(img): self.img_preview.set_collage(img, collage) compdialog.destroy() self.btn_save.set_sensitive(True) + self.btn_reset.set_sensitive(True) def on_fail(exception): dialog = ErrorDialog(self, "{}:\n\n{}".format( @@ -405,6 +414,7 @@ def on_fail(exception): dialog.run() dialog.destroy() self.btn_save.set_sensitive(False) + self.btn_reset.set_sensitive(False) t = render.RenderingTask( collage.page, @@ -421,6 +431,22 @@ def on_fail(exception): t.abort() compdialog.destroy() + def reset(self, button): + dialog = Gtk.MessageDialog( + win, Gtk.DialogFlags.DESTROY_WITH_PARENT, + Gtk.MessageType.QUESTION, Gtk.ButtonsType.YES_NO, + _("Reset")) + dialog.format_secondary_text(_("Do you really want to reset ?")) + response = dialog.run() + dialog.destroy() + if response == Gtk.ResponseType.YES: + win.img_preview.collage.photolist = None + win.img_preview.image = None + win.img_preview.mode = win.img_preview.INSENSITIVE + win.img_preview.parent.history_index = \ + len(win.img_preview.parent.history) + win.img_preview.parent.update_tool_buttons() + def render_from_new_collage(self, collage): self.history.append(collage) self.history_index = len(self.history) - 1 @@ -514,6 +540,8 @@ def update_tool_buttons(self): self.lbl_history_index.set_label(" ") self.btn_save.set_sensitive( self.history_index < len(self.history)) + self.btn_reset.set_sensitive( + self.history_index < len(self.history)) self.btn_new_layout.set_sensitive( self.history_index < len(self.history)) @@ -875,6 +903,7 @@ def main(): # Enable threading. Without that, threads hang! GObject.threads_init() + global win win = PhotoCollageWindow() win.connect("delete-event", Gtk.main_quit) win.show_all() diff --git a/po/de.po b/po/de.po index 117e8c6..f138902 100644 --- a/po/de.po +++ b/po/de.po @@ -8,44 +8,48 @@ msgid "" msgstr "" "Project-Id-Version: PhotoCollage 1.4.2\n" -"Report-Msgid-Bugs-To: https://github.com/adrienverge/PhotoCollage/issues\n" -"POT-Creation-Date: 2016-04-11 22:51+0200\n" -"PO-Revision-Date: 2016-04-11 23:13+0200\n" -"Last-Translator: Vincent Bermel \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-06-12 01:17+0200\n" +"PO-Revision-Date: 2024-06-12 01:19+0200\n" +"Last-Translator: Christian Lauinger \n" "Language-Team: none \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Gtranslator 2.91.7\n" +"X-Generator: Poedit 3.4.4\n" -#: photocollage/gtkgui.py:72 photocollage/gtkgui.py:94 +#: photocollage/gtkgui.py:138 photocollage/gtkgui.py:160 msgid "All supported image formats" msgstr "Alle unterstützten Bildformate" -#: photocollage/gtkgui.py:104 +#: photocollage/gtkgui.py:170 #, python-format msgid "%s image" msgstr "Bild %s" -#: photocollage/gtkgui.py:161 +#: photocollage/gtkgui.py:227 msgid "PhotoCollage" msgstr "PhotoCollage" -#: photocollage/gtkgui.py:189 +#: photocollage/gtkgui.py:256 msgid "Add images..." -msgstr "Bilder hinzufügen" +msgstr "Bilder hinzufügen..." -#: photocollage/gtkgui.py:196 +#: photocollage/gtkgui.py:263 msgid "Save poster..." -msgstr "Poster abspeichern" +msgstr "Poster abspeichern..." -#: photocollage/gtkgui.py:221 +#: photocollage/gtkgui.py:270 photocollage/gtkgui.py:438 +msgid "Reset" +msgstr "Zurücksetzen" + +#: photocollage/gtkgui.py:295 msgid "Regenerate" msgstr "Neue Anordnung" -#: photocollage/gtkgui.py:279 +#: photocollage/gtkgui.py:354 #, python-format msgid "" "This image could not be opened:\n" @@ -54,54 +58,58 @@ msgstr "" "Dieses Bild kann nicht geöffnet werden:\n" "\"%(imgname)s\"." -#: photocollage/gtkgui.py:285 +#: photocollage/gtkgui.py:360 msgid "Choose images" msgstr "Bilder auswählen" -#: photocollage/gtkgui.py:339 photocollage/gtkgui.py:424 +#: photocollage/gtkgui.py:412 photocollage/gtkgui.py:514 msgid "An error occurred while rendering image:" msgstr "Beim Berechnen des Posters ist ein Fehler aufgetreten:" -#: photocollage/gtkgui.py:398 +#: photocollage/gtkgui.py:439 +msgid "Do you really want to reset ?" +msgstr "Wollen Sie wirklich zurücksetzen ?" + +#: photocollage/gtkgui.py:488 msgid "Save image" msgstr "Poster speichern" -#: photocollage/gtkgui.py:622 +#: photocollage/gtkgui.py:722 msgid "Settings" msgstr "Einstellungen" -#: photocollage/gtkgui.py:634 +#: photocollage/gtkgui.py:734 msgid "Output image size" msgstr "Ausgabebildgröße" -#: photocollage/gtkgui.py:649 +#: photocollage/gtkgui.py:749 msgid "pixels" msgstr "Pixel" -#: photocollage/gtkgui.py:673 +#: photocollage/gtkgui.py:763 msgid "Apply a template:" msgstr "Formatvorlage:" -#: photocollage/gtkgui.py:686 +#: photocollage/gtkgui.py:776 msgid "Border" msgstr "Rahmen" -#: photocollage/gtkgui.py:691 +#: photocollage/gtkgui.py:781 msgid "Thickness:" msgstr "Breite:" -#: photocollage/gtkgui.py:701 +#: photocollage/gtkgui.py:792 msgid "Color:" msgstr "Farbe:" -#: photocollage/gtkgui.py:740 +#: photocollage/gtkgui.py:832 msgid "Please wait" msgstr "Bitte warten" -#: photocollage/gtkgui.py:749 +#: photocollage/gtkgui.py:841 msgid "Performing image computation..." msgstr "Poster wird berechnet..." -#: photocollage/gtkgui.py:764 +#: photocollage/gtkgui.py:856 msgid "Error" msgstr "Fehler"