Update menus on account label change
This commit is contained in:
		
							parent
							
								
									e4ad111c02
								
							
						
					
					
						commit
						07055ccaad
					
				
					 3 changed files with 9 additions and 3 deletions
				
			
		| 
						 | 
					@ -440,6 +440,7 @@ class GenericOptionPage(Gtk.Box):
 | 
				
			||||||
                               'account_label', value or self.account)
 | 
					                               'account_label', value or self.account)
 | 
				
			||||||
            if app.config.get_per('accounts', self.account, 'active'):
 | 
					            if app.config.get_per('accounts', self.account, 'active'):
 | 
				
			||||||
                app.interface.roster.draw_account(self.account)
 | 
					                app.interface.roster.draw_account(self.account)
 | 
				
			||||||
 | 
					                gui_menu_builder.build_accounts_menu()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def update(self):
 | 
					    def update(self):
 | 
				
			||||||
        self.set_entry_text(self.toggle, update=True)
 | 
					        self.set_entry_text(self.toggle, update=True)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -780,8 +780,9 @@ def build_accounts_menu():
 | 
				
			||||||
        return
 | 
					        return
 | 
				
			||||||
    if len(accounts_list) > 1:
 | 
					    if len(accounts_list) > 1:
 | 
				
			||||||
        for acc in accounts_list:
 | 
					        for acc in accounts_list:
 | 
				
			||||||
 | 
					            label = app.config.get_per('accounts', acc, 'account_label')
 | 
				
			||||||
            acc_menu.append_submenu(
 | 
					            acc_menu.append_submenu(
 | 
				
			||||||
                acc, get_account_menu(acc))
 | 
					                label or acc, get_account_menu(acc))
 | 
				
			||||||
    else:
 | 
					    else:
 | 
				
			||||||
        acc_menu = get_account_menu(accounts_list[0])
 | 
					        acc_menu = get_account_menu(accounts_list[0])
 | 
				
			||||||
        menubar.remove(menu_position)
 | 
					        menubar.remove(menu_position)
 | 
				
			||||||
| 
						 | 
					@ -805,7 +806,9 @@ def build_bookmark_menu(account):
 | 
				
			||||||
    if acc_menu.get_item_link(0, 'submenu'):
 | 
					    if acc_menu.get_item_link(0, 'submenu'):
 | 
				
			||||||
        for i in range(acc_menu.get_n_items()):
 | 
					        for i in range(acc_menu.get_n_items()):
 | 
				
			||||||
            label = acc_menu.get_item_attribute_value(i, 'label')
 | 
					            label = acc_menu.get_item_attribute_value(i, 'label')
 | 
				
			||||||
            if label.get_string() == account:
 | 
					            account_label = app.config.get_per('accounts', account,
 | 
				
			||||||
 | 
					                                               'account_label')
 | 
				
			||||||
 | 
					            if label.get_string() in (account_label, account):
 | 
				
			||||||
                menu = acc_menu.get_item_link(i, 'submenu')
 | 
					                menu = acc_menu.get_item_link(i, 'submenu')
 | 
				
			||||||
    else:
 | 
					    else:
 | 
				
			||||||
        # We have only one Account active
 | 
					        # We have only one Account active
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5116,7 +5116,9 @@ class RosterWindow:
 | 
				
			||||||
                accounts.append(account)
 | 
					                accounts.append(account)
 | 
				
			||||||
            accounts.sort()
 | 
					            accounts.sort()
 | 
				
			||||||
            for account in accounts:
 | 
					            for account in accounts:
 | 
				
			||||||
                item = Gtk.MenuItem.new_with_label(account)
 | 
					                label = app.config.get_per('accounts', account,
 | 
				
			||||||
 | 
					                                           'account_label')
 | 
				
			||||||
 | 
					                item = Gtk.MenuItem.new_with_label(label or account)
 | 
				
			||||||
                account_menu = self.build_account_menu(account)
 | 
					                account_menu = self.build_account_menu(account)
 | 
				
			||||||
                item.set_submenu(account_menu)
 | 
					                item.set_submenu(account_menu)
 | 
				
			||||||
                menu.append(item)
 | 
					                menu.append(item)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue