Philipp Hörist pushed to branch master at gajim / gajim

Commits:

2 changed files:

Changes:

  • gajim/gtk/chat_banner.py
    ... ... @@ -56,10 +56,13 @@ def __init__(self) -> None:
    56 56
             self.add(self._ui.banner_box)
    
    57 57
             self._ui.connect_signals(self)
    
    58 58
     
    
    59
    -        self._account_badge: Optional[AccountBadge] = None
    
    59
    +        self._account_badge = AccountBadge()
    
    60 60
             self._voice_requests_button = VoiceRequestsButton()
    
    61
    +
    
    61 62
             self._ui.additional_items_box.pack_start(
    
    62 63
                 self._voice_requests_button, False, True, 0)
    
    64
    +        self._ui.additional_items_box.pack_end(
    
    65
    +            self._account_badge, False, True, 0)
    
    63 66
     
    
    64 67
             hide_roster = app.settings.get('hide_groupchat_occupants_list')
    
    65 68
             self._set_toggle_roster_button_icon(hide_roster)
    
    ... ... @@ -307,16 +310,15 @@ def _update_name_label(self) -> None:
    307 310
             self._ui.name_label.set_tooltip_text(tooltip_text)
    
    308 311
     
    
    309 312
         def _update_account_badge(self) -> None:
    
    310
    -        assert self._contact is not None
    
    313
    +        if self._contact is None:
    
    314
    +            self._account_badge.set_visible(False)
    
    315
    +            return
    
    311 316
     
    
    312
    -        if self._account_badge is not None:
    
    313
    -            self._account_badge.destroy()
    
    317
    +        visible = app.get_number_of_accounts() > 1
    
    318
    +        if visible:
    
    319
    +            self._account_badge.set_account(self._contact.account)
    
    314 320
     
    
    315
    -        enabled_accounts = app.get_enabled_accounts_with_labels()
    
    316
    -        if len(enabled_accounts) > 1:
    
    317
    -            self._account_badge = AccountBadge(self._contact.account)
    
    318
    -            self._ui.additional_items_box.pack_end(
    
    319
    -                self._account_badge, False, True, 0)
    
    321
    +        self._account_badge.set_visible(visible)
    
    320 322
     
    
    321 323
         def _on_request_voice_clicked(self, _button: Gtk.Button) -> None:
    
    322 324
             self._ui.visitor_popover.popdown()
    

  • gajim/gtk/util.py
    ... ... @@ -782,21 +782,22 @@ def _on_realize(*args: Any) -> None:
    782 782
     
    
    783 783
     
    
    784 784
     class AccountBadge(Gtk.Label):
    
    785
    -    def __init__(self, account: str) -> None:
    
    785
    +    def __init__(self, account: Optional[str] = None) -> None:
    
    786 786
             Gtk.Label.__init__(self)
    
    787 787
             self.set_ellipsize(Pango.EllipsizeMode.END)
    
    788 788
             self.set_max_width_chars(12)
    
    789 789
             self.set_size_request(50, -1)
    
    790 790
             self.get_style_context().add_class('badge')
    
    791
    -        self._account = account
    
    791
    +        self.set_no_show_all(True)
    
    792 792
     
    
    793
    -        self.refresh()
    
    794
    -        self.show()
    
    793
    +        if account is not None:
    
    794
    +            self.set_account(account)
    
    795
    +            self.show()
    
    795 796
     
    
    796
    -    def refresh(self) -> None:
    
    797
    -        label = app.get_account_label(self._account)
    
    797
    +    def set_account(self, account: str) -> None:
    
    798
    +        label = app.get_account_label(account)
    
    798 799
             self.set_text(label)
    
    799
    -        account_class = app.css_config.get_dynamic_class(self._account)
    
    800
    +        account_class = app.css_config.get_dynamic_class(account)
    
    800 801
             self.get_style_context().add_class(account_class)
    
    801 802
             self.set_tooltip_text(_('Account: %s') % label)
    
    802 803