Philipp Hörist pushed to branch master at gajim / gajim
Commits:
12669c51 by lovetox at 2022-08-21T00:28:36+02:00
fix: Don’t reset setting when closing single chat
- confirm_close_muc was reset to False whenever a single chat was closed
- Refactor code
- - - - -
1 changed file:
- gajim/gtk/chat_list_stack.py
Changes:
=====================================
gajim/gtk/chat_list_stack.py
=====================================
@@ -251,31 +251,38 @@ def remove_chat(self, workspace_id: str, account: str,
jid: JID) -> None:
chat_list = self._chat_lists[workspace_id]
type_ = chat_list.get_chat_type(account, jid)
- def _leave(is_checked: bool) -> None:
- if is_checked:
+ def _leave(not_ask_again: bool) -> None:
+ if not_ask_again:
app.settings.set('confirm_close_muc', False)
+ _remove()
+ def _remove() -> None:
chat_list.remove_chat(account, jid, emit_unread=False)
self.store_open_chats(workspace_id)
self.emit('chat-removed', account, jid, type_)
- if type_ == 'groupchat' and app.settings.get('confirm_close_muc'):
- client = app.get_client(account)
- contact = client.get_module('Contacts').get_group_chat_contact(jid)
- ConfirmationCheckDialog(
- _('Leave Group Chat'),
- _('Are you sure you want to leave this group chat?'),
- _('If you close this chat, you will leave '
- '"%s".') % contact.name,
- _('_Do not ask me again'),
- [DialogButton.make('Cancel'),
- DialogButton.make('Accept',
- text=_('_Leave'),
- callback=_leave)],
- transient_for=app.window).show()
+ if type_ != 'groupchat' or not app.settings.get('confirm_close_muc'):
+ _remove()
return
- _leave(True)
+ client = app.get_client(account)
+ contact = client.get_module('Contacts').get_group_chat_contact(jid)
+
+ if contact.is_not_joined:
+ _remove()
+ return
+
+ ConfirmationCheckDialog(
+ _('Leave Group Chat'),
+ _('Are you sure you want to leave this group chat?'),
+ _('If you close this chat, you will leave '
+ '"%s".') % contact.name,
+ _('_Do not ask me again'),
+ [DialogButton.make('Cancel'),
+ DialogButton.make('Accept',
+ text=_('_Leave'),
+ callback=_leave)],
+ transient_for=app.window).show()
def remove_chats_for_account(self, account: str) -> None:
for workspace_id, chat_list in self._chat_lists.items():
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/12669c512656b01180a2871f5a8f1b1e8b115687
--
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/12669c512656b01180a2871f5a8f1b1e8b115687
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