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)
|
self.sortByColumn(self.Columns.TYPE, Qt.AscendingOrder)
|
||||||
|
|
||||||
def create_toolbar(self, config):
|
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):
|
def get_toolbar_buttons(self):
|
||||||
return QLabel(_("Filter:")), self.change_button, self.used_button
|
return QLabel(_("Filter:")), self.change_button, self.used_button
|
||||||
@@ -119,9 +124,6 @@ class AddressList(MyTreeView):
|
|||||||
self.show_used = AddressUsageStateFilter.ALL # type: AddressUsageStateFilter
|
self.show_used = AddressUsageStateFilter.ALL # type: AddressUsageStateFilter
|
||||||
self.update()
|
self.update()
|
||||||
|
|
||||||
def save_toolbar_state(self, state, config):
|
|
||||||
config.set_key('show_toolbar_addresses', state)
|
|
||||||
|
|
||||||
def refresh_headers(self):
|
def refresh_headers(self):
|
||||||
fx = self.parent.fx
|
fx = self.parent.fx
|
||||||
if fx and fx.get_fiat_address_config():
|
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):
|
for s_idx in self.selected_in_column(self.Columns.NAME):
|
||||||
sel_key = self.model().itemFromIndex(s_idx).data(self.ROLE_CONTACT_KEY)
|
sel_key = self.model().itemFromIndex(s_idx).data(self.ROLE_CONTACT_KEY)
|
||||||
selected_keys.append(sel_key)
|
selected_keys.append(sel_key)
|
||||||
if not selected_keys or not idx.isValid():
|
if selected_keys and 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:
|
|
||||||
column_title = self.model().horizontalHeaderItem(column).text()
|
column_title = self.model().horizontalHeaderItem(column).text()
|
||||||
column_data = '\n'.join(self.model().itemFromIndex(s_idx).text()
|
column_data = '\n'.join(self.model().itemFromIndex(s_idx).text()
|
||||||
for s_idx in self.selected_in_column(column))
|
for s_idx in self.selected_in_column(column))
|
||||||
@@ -131,3 +127,11 @@ class ContactList(MyTreeView):
|
|||||||
if col != self.Columns.NAME:
|
if col != self.Columns.NAME:
|
||||||
return None
|
return None
|
||||||
return self.get_role_data_from_coordinate(row, col, role=self.ROLE_CONTACT_KEY)
|
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.start_date = None
|
||||||
self.end_date = None
|
self.end_date = None
|
||||||
self.years = []
|
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.wallet = self.parent.wallet # type: Abstract_Wallet
|
||||||
self.sortByColumn(HistoryColumns.STATUS, Qt.AscendingOrder)
|
self.sortByColumn(HistoryColumns.STATUS, Qt.AscendingOrder)
|
||||||
self.setRootIsDecorated(True)
|
self.setRootIsDecorated(True)
|
||||||
@@ -520,18 +528,18 @@ class HistoryList(MyTreeView, AcceptFileDragDrop):
|
|||||||
self.hide_rows()
|
self.hide_rows()
|
||||||
|
|
||||||
def create_toolbar(self, config):
|
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):
|
def toggle_filter(self):
|
||||||
self.period_combo = QComboBox()
|
pass
|
||||||
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 get_toolbar_buttons(self):
|
def get_toolbar_buttons(self):
|
||||||
return self.period_combo, self.start_button, self.end_button
|
return self.period_combo, self.start_button, self.end_button
|
||||||
@@ -541,9 +549,6 @@ class HistoryList(MyTreeView, AcceptFileDragDrop):
|
|||||||
self.end_date = None
|
self.end_date = None
|
||||||
self.hide_rows()
|
self.hide_rows()
|
||||||
|
|
||||||
def save_toolbar_state(self, state, config):
|
|
||||||
config.set_key('show_toolbar_history', state)
|
|
||||||
|
|
||||||
def select_start_date(self):
|
def select_start_date(self):
|
||||||
self.start_date = self.select_date(self.start_button)
|
self.start_date = self.select_date(self.start_button)
|
||||||
self.hide_rows()
|
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)
|
self.import_address_menu = wallet_menu.addAction(_("Import addresses"), self.import_addresses)
|
||||||
wallet_menu.addSeparator()
|
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 = wallet_menu.addMenu(_("&Labels"))
|
||||||
labels_menu.addAction(_("&Import"), self.do_import_labels)
|
labels_menu.addAction(_("&Import"), self.do_import_labels)
|
||||||
labels_menu.addAction(_("&Export"), self.do_export_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.addSeparator()
|
||||||
wallet_menu.addAction(_("Find"), self.toggle_search).setShortcut(QKeySequence("Ctrl+F"))
|
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)
|
self.history_model.set_view(self.history_list)
|
||||||
l.searchable_list = l
|
l.searchable_list = l
|
||||||
tab = self.create_list_tab(self.history_list)
|
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
|
return tab
|
||||||
|
|
||||||
def show_address(self, addr: str, *, parent: QWidget = None):
|
def show_address(self, addr: str, *, parent: QWidget = None):
|
||||||
@@ -1347,8 +1334,6 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger, QtEventListener):
|
|||||||
from .address_list import AddressList
|
from .address_list import AddressList
|
||||||
self.address_list = AddressList(self)
|
self.address_list = AddressList(self)
|
||||||
tab = self.create_list_tab(self.address_list)
|
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
|
return tab
|
||||||
|
|
||||||
def create_utxo_tab(self):
|
def create_utxo_tab(self):
|
||||||
|
|||||||
@@ -745,18 +745,13 @@ class MyTreeView(QTreeView):
|
|||||||
def create_toolbar(self, config):
|
def create_toolbar(self, config):
|
||||||
return
|
return
|
||||||
|
|
||||||
def create_toolbar_with_buttons(self, config=None):
|
def create_toolbar_buttons(self):
|
||||||
hbox = QHBoxLayout()
|
hbox = QHBoxLayout()
|
||||||
buttons = self.get_toolbar_buttons()
|
buttons = self.get_toolbar_buttons()
|
||||||
for b in buttons:
|
for b in buttons:
|
||||||
b.setVisible(False)
|
b.setVisible(False)
|
||||||
hbox.addWidget(b)
|
hbox.addWidget(b)
|
||||||
hide_button = QPushButton('x')
|
self.toolbar_buttons = buttons
|
||||||
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)
|
|
||||||
return hbox
|
return hbox
|
||||||
|
|
||||||
def create_toolbar_with_menu(self, title, menu_items):
|
def create_toolbar_with_menu(self, title, menu_items):
|
||||||
@@ -775,15 +770,10 @@ class MyTreeView(QTreeView):
|
|||||||
toolbar.addWidget(toolbar_button)
|
toolbar.addWidget(toolbar_button)
|
||||||
return toolbar
|
return toolbar
|
||||||
|
|
||||||
def save_toolbar_state(self, state, config):
|
|
||||||
pass # implemented in subclasses
|
|
||||||
|
|
||||||
def show_toolbar(self, state, config=None):
|
def show_toolbar(self, state, config=None):
|
||||||
if state == self.toolbar_shown:
|
if state == self.toolbar_shown:
|
||||||
return
|
return
|
||||||
self.toolbar_shown = state
|
self.toolbar_shown = state
|
||||||
if config:
|
|
||||||
self.save_toolbar_state(state, config)
|
|
||||||
for b in self.toolbar_buttons:
|
for b in self.toolbar_buttons:
|
||||||
b.setVisible(state)
|
b.setVisible(state)
|
||||||
if not state:
|
if not state:
|
||||||
|
|||||||
Reference in New Issue
Block a user