From f01ea19153542abdfca4a9a5451c75aeac0ccad7 Mon Sep 17 00:00:00 2001 From: f321x Date: Tue, 4 Nov 2025 14:19:06 +0100 Subject: [PATCH] qt: followup #10277: change icons depending on context Changes the icons of the "Tools" button to the icon of the tab in which the button is located so it is visible that the available Tools are dependent on the context. --- electrum/gui/qt/address_list.py | 2 +- electrum/gui/qt/channels_list.py | 2 +- electrum/gui/qt/confirm_tx_dialog.py | 2 ++ electrum/gui/qt/contact_list.py | 2 +- electrum/gui/qt/history_list.py | 2 +- electrum/gui/qt/my_treeview.py | 10 +++++----- electrum/gui/qt/receive_tab.py | 2 +- electrum/gui/qt/send_tab.py | 2 +- electrum/gui/qt/utxo_list.py | 2 +- 9 files changed, 14 insertions(+), 12 deletions(-) diff --git a/electrum/gui/qt/address_list.py b/electrum/gui/qt/address_list.py index b14abc18552b..b2d5f71053e2 100644 --- a/electrum/gui/qt/address_list.py +++ b/electrum/gui/qt/address_list.py @@ -125,7 +125,7 @@ def on_double_click(self, idx): self.main_window.show_address(addr) def create_toolbar(self, config: 'SimpleConfig'): - toolbar, menu = self.create_toolbar_with_menu('') + toolbar, menu = self.create_toolbar_with_menu('', 'tab_addresses.png') self.num_addr_label = toolbar.itemAt(0).widget() self._toolbar_checkbox = menu.addToggle(_("Show Filter"), lambda: self.toggle_toolbar()) menu.addConfig(config.cv.FX_SHOW_FIAT_BALANCE_FOR_ADDRESSES, callback=self.main_window.app.update_fiat_signal.emit) diff --git a/electrum/gui/qt/channels_list.py b/electrum/gui/qt/channels_list.py index c415127097ba..0622ba76b394 100644 --- a/electrum/gui/qt/channels_list.py +++ b/electrum/gui/qt/channels_list.py @@ -358,7 +358,7 @@ def update_can_send(self, lnworker: LNWallet): self.can_send_label.setText(msg) def create_toolbar(self, config): - toolbar, menu = self.create_toolbar_with_menu('') + toolbar, menu = self.create_toolbar_with_menu('', 'lightning.png') self.can_send_label = toolbar.itemAt(0).widget() menu.addAction(_('Rebalance channels'), lambda: self.on_rebalance()) menu.addAction(read_QIcon('update.png'), _('Submarine swap'), lambda: self.main_window.run_swap_dialog()) diff --git a/electrum/gui/qt/confirm_tx_dialog.py b/electrum/gui/qt/confirm_tx_dialog.py index d6047eb24e99..2afe747be320 100644 --- a/electrum/gui/qt/confirm_tx_dialog.py +++ b/electrum/gui/qt/confirm_tx_dialog.py @@ -433,6 +433,8 @@ def cb(): self.pref_menu.addConfig(self.config.cv.WALLET_COIN_CHOOSER_OUTPUT_ROUNDING, callback=self.trigger_update) self.pref_button = QToolButton() self.pref_button.setIcon(read_QIcon("preferences.png")) + self.pref_button.setText(' ' + _('Tools')) + self.pref_button.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonTextBesideIcon) self.pref_button.setMenu(self.pref_menu) self.pref_button.setPopupMode(QToolButton.ToolButtonPopupMode.InstantPopup) self.pref_button.setFocusPolicy(Qt.FocusPolicy.NoFocus) diff --git a/electrum/gui/qt/contact_list.py b/electrum/gui/qt/contact_list.py index e6f7de0f0a02..dce9986f396a 100644 --- a/electrum/gui/qt/contact_list.py +++ b/electrum/gui/qt/contact_list.py @@ -143,7 +143,7 @@ def get_edit_key_from_coordinate(self, row, col): return self.get_role_data_from_coordinate(row, col, role=self.ROLE_CONTACT_KEY) def create_toolbar(self, config): - toolbar, menu = self.create_toolbar_with_menu('') + toolbar, menu = self.create_toolbar_with_menu('', 'tab_contacts.png') menu.addAction(_("&New contact"), self.main_window.new_contact_dialog) menu.addAction(_("Import"), lambda: self.main_window.import_contacts()) menu.addAction(_("Export"), lambda: self.main_window.export_contacts()) diff --git a/electrum/gui/qt/history_list.py b/electrum/gui/qt/history_list.py index a18daa16558d..a37d00c5dcc5 100644 --- a/electrum/gui/qt/history_list.py +++ b/electrum/gui/qt/history_list.py @@ -544,7 +544,7 @@ def on_combo(self, x): self.hide_rows() def create_toolbar(self, config: 'SimpleConfig'): - toolbar, menu = self.create_toolbar_with_menu('') + toolbar, menu = self.create_toolbar_with_menu('', 'tab_history.png') self.num_tx_label = toolbar.itemAt(0).widget() self._toolbar_checkbox = menu.addToggle(_("Filter by Date"), lambda: self.toggle_toolbar()) self.menu_fiat = menu.addConfig(config.cv.FX_HISTORY_RATES, short_desc=_('Show Fiat Values'), callback=self.main_window.app.update_fiat_signal.emit) diff --git a/electrum/gui/qt/my_treeview.py b/electrum/gui/qt/my_treeview.py index 6c26073d7316..07a1c3efe32a 100644 --- a/electrum/gui/qt/my_treeview.py +++ b/electrum/gui/qt/my_treeview.py @@ -107,11 +107,11 @@ def _do_toggle_config( callback() -def create_toolbar_with_menu(config: 'SimpleConfig', title): +def create_toolbar_with_menu(config: 'SimpleConfig', title, icon_name: str = 'preferences.png'): menu = QMenuWithConfig(config) toolbar_button = QToolButton() - toolbar_button.setText(_('Tools')) - toolbar_button.setIcon(read_QIcon("preferences.png")) + toolbar_button.setText(' ' + _('Tools')) + toolbar_button.setIcon(read_QIcon(icon_name)) toolbar_button.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonTextBesideIcon) toolbar_button.setMenu(menu) toolbar_button.setPopupMode(QToolButton.ToolButtonPopupMode.InstantPopup) @@ -418,8 +418,8 @@ def create_toolbar_buttons(self): self.toolbar_buttons = buttons return hbox - def create_toolbar_with_menu(self, title): - return create_toolbar_with_menu(self.config, title) + def create_toolbar_with_menu(self, title: str, icon: str): + return create_toolbar_with_menu(self.config, title, icon) configvar_show_toolbar = None # type: Optional[ConfigVarWithConfig] _toolbar_checkbox = None # type: Optional[QAction] diff --git a/electrum/gui/qt/receive_tab.py b/electrum/gui/qt/receive_tab.py index 74377b319f6b..23718356667d 100644 --- a/electrum/gui/qt/receive_tab.py +++ b/electrum/gui/qt/receive_tab.py @@ -141,7 +141,7 @@ def on_receive_swap(): from .request_list import RequestList self.request_list = RequestList(self) # toolbar - self.toolbar, menu = self.request_list.create_toolbar_with_menu('') + self.toolbar, menu = self.request_list.create_toolbar_with_menu('', 'tab_receive.png') self.toggle_qr_button = QPushButton('') self.toggle_qr_button.setIcon(get_icon_qrcode()) diff --git a/electrum/gui/qt/send_tab.py b/electrum/gui/qt/send_tab.py index 1eda3c64b8cf..106481625da9 100644 --- a/electrum/gui/qt/send_tab.py +++ b/electrum/gui/qt/send_tab.py @@ -182,7 +182,7 @@ def reset_max(text): self.invoices_label = QLabel(_('Invoices')) self.invoice_list = InvoiceList(self) - self.toolbar, menu = self.invoice_list.create_toolbar_with_menu('') + self.toolbar, menu = self.invoice_list.create_toolbar_with_menu('', 'tab_send.png') add_input_actions_to_context_menu(self.payto_e, menu) self.paytomany_menu = menu.addToggle(_("&Pay to many"), self.toggle_paytomany) diff --git a/electrum/gui/qt/utxo_list.py b/electrum/gui/qt/utxo_list.py index c2db82f61af7..3ad1417c6344 100644 --- a/electrum/gui/qt/utxo_list.py +++ b/electrum/gui/qt/utxo_list.py @@ -87,7 +87,7 @@ def __init__(self, main_window: 'ElectrumWindow'): self.setSortingEnabled(True) def create_toolbar(self, config): - toolbar, menu = self.create_toolbar_with_menu('') + toolbar, menu = self.create_toolbar_with_menu('', 'tab_coins.png') self.num_coins_label = toolbar.itemAt(0).widget() menu.addAction(_('Coin control'), lambda: self.add_selection_to_coincontrol())