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/59439c83b3b7e5136a3508328f037bcea...