Daniel Brötzmann pushed to branch master at gajim / gajim


Commits:
59439c83 by wurstsalat at 2022-01-23T14:36:11+01:00
Add ConfirmationDialog for removing chat history

- - - - -


2 changed files:

- gajim/gtk/application.py
- gajim/gtk/menus.py


Changes:

=====================================
gajim/gtk/application.py
=====================================
@@ -74,6 +74,8 @@
 from gajim.gui.about import AboutDialog
 from gajim.gui.avatar import AvatarStorage
 from gajim.gui.builder import get_builder
+from gajim.gui.dialogs import DialogButton
+from gajim.gui.dialogs import ConfirmationDialog
 from gajim.gui.dialogs import ShortcutsWindow
 from gajim.gui.discovery import ServiceDiscoveryWindow
 from gajim.gui.util import get_app_window
@@ -803,15 +805,23 @@ def _on_open_chat_action(_action: Gio.SimpleAction,
     def _on_remove_history_action(_action: Gio.SimpleAction,
                                   params: structs.RemoveHistoryActionParams
                                   ) -> None:
-
-        if params.jid is not None:
-            app.storage.archive.remove_history(params.account, params.jid)
-            control = app.window.get_control(params.account, params.jid)
-            if control is not None:
-                control.reset_view()
-        else:
-            for control in app.window.get_controls(params.account):
-                control.reset_view()
+        def _remove() -> None:
+            if params.jid is not None:
+                app.storage.archive.remove_history(params.account, params.jid)
+                control = app.window.get_control(params.account, params.jid)
+                if control is not None:
+                    control.reset_view()
+            else:
+                for control in app.window.get_controls(params.account):
+                    control.reset_view()
+        ConfirmationDialog(
+            _('Remove Chat History'),
+            _('Remove Chat History?'),
+            _('Do you really want to remove your chat history for this chat?'),
+            [DialogButton.make('Cancel'),
+             DialogButton.make('Remove',
+                               callback=_remove)],
+            transient_for=app.window).show()
 
     @staticmethod
     @structs.actionfunction


=====================================
gajim/gtk/menus.py
=====================================
@@ -77,7 +77,7 @@ def get_singlechat_menu(control_id: str,
         ('win.block-contact-', _('Block Contact…')),
         ('win.start-call-', _('Start Call…')),
         ('win.information-', _('Information')),
-        ('app.remove-history', _('Remove History'))
+        ('app.remove-history', _('Remove History…'))
     ]
 
     if not contact.is_in_roster:
@@ -157,7 +157,7 @@ def get_groupchat_menu(control_id: str, account: str, jid: 
JID) -> Gio.Menu:
         (_('Request Voice'), f'win.request-voice-{control_id}', None),
         (_('Execute Command…'), f'win.execute-command-{control_id}', '""'),
         (_('Search…'), 'win.search-history', None),
-        (_('Remove History'), 'app.remove-history', params)
+        (_('Remove History…'), 'app.remove-history', params)
     ]
 
     return make_menu(menulist)



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/59439c83b3b7e5136a3508328f037bceaa2a3c1c

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/59439c83b3b7e5136a3508328f037bceaa2a3c1c
You're receiving this email because of your account on dev.gajim.org.


_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to