Qt: move remaining menu items that are tab specific to tab toolbars: history, addresses, contacts
This commit is contained in:
@@ -109,7 +109,12 @@ class AddressList(MyTreeView):
|
||||
self.sortByColumn(self.Columns.TYPE, Qt.AscendingOrder)
|
||||
|
||||
def create_toolbar(self, config):
|
||||
return self.create_toolbar_with_buttons(config)
|
||||
toolbar = self.create_toolbar_with_menu('', [
|
||||
(_("&Filter"), lambda: self.toggle_toolbar(self.config)),
|
||||
])
|
||||
hbox = self.create_toolbar_buttons()
|
||||
toolbar.insertLayout(1, hbox)
|
||||
return toolbar
|
||||
|
||||
def get_toolbar_buttons(self):
|
||||
return QLabel(_("Filter:")), self.change_button, self.used_button
|
||||
@@ -119,9 +124,6 @@ class AddressList(MyTreeView):
|
||||
self.show_used = AddressUsageStateFilter.ALL # type: AddressUsageStateFilter
|
||||
self.update()
|
||||
|
||||
def save_toolbar_state(self, state, config):
|
||||
config.set_key('show_toolbar_addresses', state)
|
||||
|
||||
def refresh_headers(self):
|
||||
fx = self.parent.fx
|
||||
if fx and fx.get_fiat_address_config():
|
||||
|
||||
@@ -75,11 +75,7 @@ class ContactList(MyTreeView):
|
||||
for s_idx in self.selected_in_column(self.Columns.NAME):
|
||||
sel_key = self.model().itemFromIndex(s_idx).data(self.ROLE_CONTACT_KEY)
|
||||
selected_keys.append(sel_key)
|
||||
if not selected_keys or not idx.isValid():
|
||||
menu.addAction(_("New contact"), lambda: self.parent.new_contact_dialog())
|
||||
menu.addAction(_("Import file"), lambda: self.parent.import_contacts())
|
||||
menu.addAction(_("Export file"), lambda: self.parent.export_contacts())
|
||||
else:
|
||||
if selected_keys and idx.isValid():
|
||||
column_title = self.model().horizontalHeaderItem(column).text()
|
||||
column_data = '\n'.join(self.model().itemFromIndex(s_idx).text()
|
||||
for s_idx in self.selected_in_column(column))
|
||||
@@ -131,3 +127,11 @@ class ContactList(MyTreeView):
|
||||
if col != self.Columns.NAME:
|
||||
return None
|
||||
return self.get_role_data_from_coordinate(row, col, role=self.ROLE_CONTACT_KEY)
|
||||
|
||||
def create_toolbar(self, config):
|
||||
toolbar = self.create_toolbar_with_menu('', [
|
||||
(_("&New contact"), self.parent.new_contact_dialog),
|
||||
(_("Import"), lambda: self.parent.import_contacts()),
|
||||
(_("Export"), lambda: self.parent.export_contacts()),
|
||||
])
|
||||
return toolbar
|
||||
|
||||
@@ -483,7 +483,15 @@ class HistoryList(MyTreeView, AcceptFileDragDrop):
|
||||
self.start_date = None
|
||||
self.end_date = None
|
||||
self.years = []
|
||||
self.create_toolbar_buttons()
|
||||
self.period_combo = QComboBox()
|
||||
self.start_button = QPushButton('-')
|
||||
self.start_button.pressed.connect(self.select_start_date)
|
||||
self.start_button.setEnabled(False)
|
||||
self.end_button = QPushButton('-')
|
||||
self.end_button.pressed.connect(self.select_end_date)
|
||||
self.end_button.setEnabled(False)
|
||||
self.period_combo.addItems([_('All'), _('Custom')])
|
||||
self.period_combo.activated.connect(self.on_combo)
|
||||
self.wallet = self.parent.wallet # type: Abstract_Wallet
|
||||
self.sortByColumn(HistoryColumns.STATUS, Qt.AscendingOrder)
|
||||
self.setRootIsDecorated(True)
|
||||
@@ -520,18 +528,18 @@ class HistoryList(MyTreeView, AcceptFileDragDrop):
|
||||
self.hide_rows()
|
||||
|
||||
def create_toolbar(self, config):
|
||||
return self.create_toolbar_with_buttons(config)
|
||||
toolbar = self.create_toolbar_with_menu('', [
|
||||
(_("&Filter Period"), lambda: self.toggle_toolbar(self.config)),
|
||||
(_("&Summary"), self.show_summary),
|
||||
(_("&Plot"), self.plot_history_dialog),
|
||||
(_("&Export"), self.export_history_dialog),
|
||||
])
|
||||
hbox = self.create_toolbar_buttons()
|
||||
toolbar.insertLayout(1, hbox)
|
||||
return toolbar
|
||||
|
||||
def create_toolbar_buttons(self):
|
||||
self.period_combo = QComboBox()
|
||||
self.start_button = QPushButton('-')
|
||||
self.start_button.pressed.connect(self.select_start_date)
|
||||
self.start_button.setEnabled(False)
|
||||
self.end_button = QPushButton('-')
|
||||
self.end_button.pressed.connect(self.select_end_date)
|
||||
self.end_button.setEnabled(False)
|
||||
self.period_combo.addItems([_('All'), _('Custom')])
|
||||
self.period_combo.activated.connect(self.on_combo)
|
||||
def toggle_filter(self):
|
||||
pass
|
||||
|
||||
def get_toolbar_buttons(self):
|
||||
return self.period_combo, self.start_button, self.end_button
|
||||
@@ -541,9 +549,6 @@ class HistoryList(MyTreeView, AcceptFileDragDrop):
|
||||
self.end_date = None
|
||||
self.hide_rows()
|
||||
|
||||
def save_toolbar_state(self, state, config):
|
||||
config.set_key('show_toolbar_history', state)
|
||||
|
||||
def select_start_date(self):
|
||||
self.start_date = self.select_date(self.start_button)
|
||||
self.hide_rows()
|
||||
|
||||
@@ -691,20 +691,9 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger, QtEventListener):
|
||||
self.import_address_menu = wallet_menu.addAction(_("Import addresses"), self.import_addresses)
|
||||
wallet_menu.addSeparator()
|
||||
|
||||
addresses_menu = wallet_menu.addMenu(_("&Addresses"))
|
||||
addresses_menu.addAction(_("&Filter"), lambda: self.address_list.toggle_toolbar(self.config))
|
||||
labels_menu = wallet_menu.addMenu(_("&Labels"))
|
||||
labels_menu.addAction(_("&Import"), self.do_import_labels)
|
||||
labels_menu.addAction(_("&Export"), self.do_export_labels)
|
||||
history_menu = wallet_menu.addMenu(_("&History"))
|
||||
history_menu.addAction(_("&Filter"), lambda: self.history_list.toggle_toolbar(self.config))
|
||||
history_menu.addAction(_("&Summary"), self.history_list.show_summary)
|
||||
history_menu.addAction(_("&Plot"), self.history_list.plot_history_dialog)
|
||||
history_menu.addAction(_("&Export"), self.history_list.export_history_dialog)
|
||||
contacts_menu = wallet_menu.addMenu(_("Contacts"))
|
||||
contacts_menu.addAction(_("&New"), self.new_contact_dialog)
|
||||
contacts_menu.addAction(_("Import"), lambda: self.import_contacts())
|
||||
contacts_menu.addAction(_("Export"), lambda: self.export_contacts())
|
||||
|
||||
wallet_menu.addSeparator()
|
||||
wallet_menu.addAction(_("Find"), self.toggle_search).setShortcut(QKeySequence("Ctrl+F"))
|
||||
@@ -1048,8 +1037,6 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger, QtEventListener):
|
||||
self.history_model.set_view(self.history_list)
|
||||
l.searchable_list = l
|
||||
tab = self.create_list_tab(self.history_list)
|
||||
toolbar_shown = bool(self.config.get('show_toolbar_history', False))
|
||||
l.show_toolbar(toolbar_shown)
|
||||
return tab
|
||||
|
||||
def show_address(self, addr: str, *, parent: QWidget = None):
|
||||
@@ -1347,8 +1334,6 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger, QtEventListener):
|
||||
from .address_list import AddressList
|
||||
self.address_list = AddressList(self)
|
||||
tab = self.create_list_tab(self.address_list)
|
||||
toolbar_shown = bool(self.config.get('show_toolbar_addresses', False))
|
||||
self.address_list.show_toolbar(toolbar_shown)
|
||||
return tab
|
||||
|
||||
def create_utxo_tab(self):
|
||||
|
||||
@@ -745,18 +745,13 @@ class MyTreeView(QTreeView):
|
||||
def create_toolbar(self, config):
|
||||
return
|
||||
|
||||
def create_toolbar_with_buttons(self, config=None):
|
||||
def create_toolbar_buttons(self):
|
||||
hbox = QHBoxLayout()
|
||||
buttons = self.get_toolbar_buttons()
|
||||
for b in buttons:
|
||||
b.setVisible(False)
|
||||
hbox.addWidget(b)
|
||||
hide_button = QPushButton('x')
|
||||
hide_button.setVisible(False)
|
||||
hide_button.pressed.connect(lambda: self.show_toolbar(False, config))
|
||||
self.toolbar_buttons = buttons + (hide_button,)
|
||||
hbox.addStretch()
|
||||
hbox.addWidget(hide_button)
|
||||
self.toolbar_buttons = buttons
|
||||
return hbox
|
||||
|
||||
def create_toolbar_with_menu(self, title, menu_items):
|
||||
@@ -775,15 +770,10 @@ class MyTreeView(QTreeView):
|
||||
toolbar.addWidget(toolbar_button)
|
||||
return toolbar
|
||||
|
||||
def save_toolbar_state(self, state, config):
|
||||
pass # implemented in subclasses
|
||||
|
||||
def show_toolbar(self, state, config=None):
|
||||
if state == self.toolbar_shown:
|
||||
return
|
||||
self.toolbar_shown = state
|
||||
if config:
|
||||
self.save_toolbar_state(state, config)
|
||||
for b in self.toolbar_buttons:
|
||||
b.setVisible(state)
|
||||
if not state:
|
||||
|
||||
Reference in New Issue
Block a user