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/2a0cd556b4bd40906b233211fbdd2908b313411a...63a7891010a53be0009b6aff9d69d086565d0cd3
--
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/compare/2a0cd556b4bd40906b233211fbdd2908b313411a...63a7891010a53be0009b6aff9d69d086565d0cd3
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