diff options
author | Philipp Hörist <philipp@hoerist.com> | 2023-11-06 12:21:57 +0300 |
---|---|---|
committer | Philipp Hörist <philipp@hoerist.com> | 2023-11-06 12:21:57 +0300 |
commit | 3bdddf4f172f7f026526cad18dbec082bef5ebb7 (patch) | |
tree | 95a969d2ba54a40b711f6429ccf879f81f91d4c5 | |
parent | dbde9663c13c413d5bdbe16c4e25542fa02e19b9 (diff) |
fix: AccountPage: Show anonymous address
-rw-r--r-- | gajim/gtk/account_page.py | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/gajim/gtk/account_page.py b/gajim/gtk/account_page.py index 162bf4dab..0f0018430 100644 --- a/gajim/gtk/account_page.py +++ b/gajim/gtk/account_page.py @@ -21,7 +21,9 @@ from gi.repository import Gtk from gajim.common import app from gajim.common import ged +from gajim.common.client import Client from gajim.common.const import AvatarSize +from gajim.common.const import ClientState from gajim.common.events import MucDecline from gajim.common.events import MucInvitation from gajim.common.events import SubscribePresenceReceived @@ -46,15 +48,15 @@ class AccountPage(Gtk.Box, EventHelper): EventHelper.__init__(self) self._account = account - self._jid = app.get_jid_from_account(account) client = app.get_client(account) - self._contact = client.get_module('Contacts').get_contact(self._jid) + jid = client.get_own_jid().bare + self._contact = client.get_module('Contacts').get_contact(jid) self._contact.connect('avatar-update', self._on_avatar_update) self._ui = get_builder('account_page.ui') self.add(self._ui.paned) - self._ui.our_jid_label.set_text(self._jid) + self._ui.our_jid_label.set_text(jid) self._status_selector = StatusSelector(account=account) self._status_selector.set_halign(Gtk.Align.CENTER) @@ -82,6 +84,8 @@ class AccountPage(Gtk.Box, EventHelper): self._ui.connect_signals(self) + client.connect_signal('state-changed', self._on_client_state_changed) + app.settings.connect_signal( 'account_label', self._on_account_label_changed, @@ -102,6 +106,8 @@ class AccountPage(Gtk.Box, EventHelper): self.connect('destroy', self._on_destroy) def _on_destroy(self, _widget: AccountPage) -> None: + self._contact.disconnect_all_from_obj(self) + app.settings.disconnect_signals(self) app.check_finalize(self) def _on_account_label_changed(self, value: str, *args: Any) -> None: @@ -114,6 +120,15 @@ class AccountPage(Gtk.Box, EventHelper): window = open_window('AccountsWindow') window.select_account(self._account) + def _on_client_state_changed(self, + client: Client, + _signal_name: str, + state: ClientState + ) -> None: + + jid = client.get_own_jid().bare + self._ui.our_jid_label.set_text(jid) + def _on_search_changed(self, widget: Gtk.SearchEntry) -> None: text = widget.get_text().lower() self._roster.set_search_string(text) |