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/95ca810cd176b865d1f0a9b09be24204a6f9c47c
--
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/95ca810cd176b865d1f0a9b09be24204a6f9c47c
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