Daniel Brötzmann pushed to branch master at gajim / gajim
Commits: 95ca810c by wurstsalat at 2022-10-18T23:11:46+02:00 new: AccountsWindow: Add parameter for jumping to pages
- - - - -
1 changed file:
- gajim/gtk/accounts.py
Changes:
===================================== gajim/gtk/accounts.py ===================================== @@ -166,9 +166,9 @@ def add_account(self, account: str, initial: bool = False) -> None: if not initial: self._accounts[account].show()
- def select_account(self, account: str) -> None: + def select_account(self, account: str, page: Optional[str] = None) -> None: try: - self._accounts[account].select() + self._accounts[account].select(page) except KeyError: log.warning('select_account() failed, account %s not found', account) @@ -292,6 +292,12 @@ def _on_sub_menu_row_activated(self, listbox.account, f'{listbox.account}-{row.name}')
+ def set_page(self, account: str, page_name: str) -> None: + sub_menu = cast( + AccountSubMenu, self._stack.get_child_by_name(f'{account}-menu')) + sub_menu.select_row_by_name(page_name) + self.emit('menu-activated', account, f'{account}-{page_name}') + def update_account_label(self, account: str) -> None: self._accounts_listbox.invalidate_sort() sub_menu = cast( @@ -325,6 +331,14 @@ def __init__(self, account: str) -> None: def account(self) -> str: return self._account
+ def select_row_by_name(self, row_name: str) -> None: + for row in self.get_children(): + if not isinstance(row, PageMenuItem): + continue + if row.name == row_name: + self.select_row(row) + return + def update(self) -> None: self.emit('update', self._account)
@@ -443,8 +457,10 @@ def __init__(self, self._account_row = AccountRow(account) self._menu.add_account(self._account_row)
- def select(self) -> None: + def select(self, page_name: Optional[str] = None) -> None: self._account_row.emit('activate') + if page_name is not None: + self._menu.set_page(self._account, page_name)
def show(self) -> None: self._menu.show_all()
View it on GitLab: https://dev.gajim.org/gajim/gajim/-/commit/95ca810cd176b865d1f0a9b09be24204a...