Philipp Hörist pushed to branch master at gajim / gajim
Commits: 814ce5de by Philipp Hörist at 2022-10-05T17:54:27+02:00 refactor: Remove unused code
- - - - - 2175354d by Philipp Hörist at 2022-10-05T19:43:02+02:00 cfix: Raise AccountDisabled event only after account cleanup
- - - - - 63a78910 by Philipp Hörist at 2022-10-05T19:45:02+02:00 change: Show account color bar only when multiple accounts are active
- - - - -
2 changed files:
- gajim/gtk/account_side_bar.py - gajim/gui_interface.py
Changes:
===================================== gajim/gtk/account_side_bar.py ===================================== @@ -21,10 +21,13 @@ from gi.repository import Gtk
from gajim.common import app +from gajim.common import ged from gajim.common.const import AvatarSize from gajim.common.helpers import get_client_status from gajim.common.i18n import _
+from .util import EventHelper +
class AccountSideBar(Gtk.ListBox): def __init__(self) -> None: @@ -67,14 +70,22 @@ def update_unread_count(self, account: str, count: int) -> None: break
-class Account(Gtk.ListBoxRow): +class Account(Gtk.ListBoxRow, EventHelper): def __init__(self, account: str) -> None: Gtk.ListBoxRow.__init__(self) + EventHelper.__init__(self) self.get_style_context().add_class('account-sidebar-item')
self.account = account self._account_class: Optional[str] = None
+ self.register_events([ + ('account-enabled', ged.GUI1, + self._update_account_color_visibility), + ('account-disabled', ged.GUI1, + self._update_account_color_visibility), + ]) + selection_bar = Gtk.Box() selection_bar.set_size_request(6, -1) selection_bar.get_style_context().add_class('selection-bar') @@ -89,9 +100,11 @@ def __init__(self, account: str) -> None: self._unread_label.set_valign(Gtk.Align.START)
self._account_color_bar = Gtk.Box() + self._account_color_bar.set_no_show_all(True) self._account_color_bar.set_size_request(6, -1) self._account_color_bar.get_style_context().add_class( 'account-identifier-bar') + self._update_account_color_visibility()
account_box = Gtk.Box(spacing=3) account_box.set_tooltip_text( @@ -99,7 +112,7 @@ def __init__(self, account: str) -> None: account_box.add(selection_bar) account_box.add(self._image) account_box.add(self._account_color_bar) - self._update_account_color() + self._set_account_color()
overlay = Gtk.Overlay() overlay.add(account_box) @@ -108,7 +121,7 @@ def __init__(self, account: str) -> None: self.add(overlay) self.show_all()
- def _update_account_color(self) -> None: + def _set_account_color(self) -> None: context = self._account_color_bar.get_style_context() if self._account_class is not None: context.remove_class(self._account_class) @@ -123,8 +136,9 @@ def set_unread_count(self, count: int) -> None: self._unread_label.set_text('999+') self._unread_label.set_visible(bool(count))
- def update(self) -> None: - self._update_account_color() + def _update_account_color_visibility(self, *args: Any) -> None: + visible = app.get_number_of_accounts() > 1 + self._account_color_bar.set_visible(visible)
class AccountAvatar(Gtk.Image):
===================================== gajim/gui_interface.py ===================================== @@ -563,8 +563,6 @@ def disable_account(self, account: str) -> None: build_accounts_menu() app.app.update_app_actions_state()
- app.ged.raise_event(AccountDisabled(account=account)) - app.connections[account].cleanup() del app.connections[account] del self.instances[account] @@ -572,6 +570,8 @@ def disable_account(self, account: str) -> None: del app.automatic_rooms[account] del app.to_be_removed[account]
+ app.ged.raise_event(AccountDisabled(account=account)) + def remove_account(self, account: str) -> None: if app.settings.get_account_setting(account, 'active'): self.disable_account(account)
View it on GitLab: https://dev.gajim.org/gajim/gajim/-/compare/2a0cd556b4bd40906b233211fbdd2908...