Use combo box instead of buttons to filter address tab
This commit is contained in:
parent
fd11397ac6
commit
f6e7d29998
|
@ -46,16 +46,18 @@ class AddressList(MyTreeWidget):
|
||||||
self.refresh_headers()
|
self.refresh_headers()
|
||||||
self.setSelectionMode(QAbstractItemView.ExtendedSelection)
|
self.setSelectionMode(QAbstractItemView.ExtendedSelection)
|
||||||
self.show_change = False
|
self.show_change = False
|
||||||
self.show_used = 3
|
self.show_used = 0
|
||||||
self.change_button = QToolButton(self)
|
self.change_button = QComboBox(self)
|
||||||
self.used_button = QToolButton(self)
|
self.change_button.currentIndexChanged.connect(self.toggle_change)
|
||||||
self.change_button.clicked.connect(self.toggle_change)
|
for t in [_('Change'), _('Receiving')]:
|
||||||
self.used_button.clicked.connect(self.toggle_used)
|
self.change_button.addItem(t)
|
||||||
self.set_change_button_text()
|
self.used_button = QComboBox(self)
|
||||||
self.set_used_button_text()
|
self.used_button.currentIndexChanged.connect(self.toggle_used)
|
||||||
|
for t in [_('All'), _('Unused'), _('Funded'), _('Used')]:
|
||||||
|
self.used_button.addItem(t)
|
||||||
|
|
||||||
def get_buttons(self):
|
def get_list_header(self):
|
||||||
return self.change_button, self.used_button
|
return QLabel(_("Filter:")), self.change_button, self.used_button
|
||||||
|
|
||||||
def refresh_headers(self):
|
def refresh_headers(self):
|
||||||
headers = [ _('Address'), _('Label'), _('Balance')]
|
headers = [ _('Address'), _('Label'), _('Balance')]
|
||||||
|
@ -65,24 +67,19 @@ class AddressList(MyTreeWidget):
|
||||||
headers.extend([_('Tx')])
|
headers.extend([_('Tx')])
|
||||||
self.update_headers(headers)
|
self.update_headers(headers)
|
||||||
|
|
||||||
def toggle_change(self):
|
def toggle_change(self, show):
|
||||||
self.show_change = not self.show_change
|
show = bool(show)
|
||||||
self.set_change_button_text()
|
if show == self.show_change:
|
||||||
|
return
|
||||||
|
self.show_change = show
|
||||||
self.update()
|
self.update()
|
||||||
|
|
||||||
def set_change_button_text(self):
|
def toggle_used(self, state):
|
||||||
s = [_('Receiving'), _('Change')]
|
if state == self.show_used:
|
||||||
self.change_button.setText(s[self.show_change])
|
return
|
||||||
|
self.show_used = state
|
||||||
def toggle_used(self):
|
|
||||||
self.show_used = (self.show_used + 1) % 4
|
|
||||||
self.set_used_button_text()
|
|
||||||
self.update()
|
self.update()
|
||||||
|
|
||||||
def set_used_button_text(self):
|
|
||||||
s = [_('Unused'), _('Funded'), _('Used'), _('All')]
|
|
||||||
self.used_button.setText(s[self.show_used])
|
|
||||||
|
|
||||||
def on_update(self):
|
def on_update(self):
|
||||||
self.wallet = self.parent.wallet
|
self.wallet = self.parent.wallet
|
||||||
item = self.currentItem()
|
item = self.currentItem()
|
||||||
|
|
|
@ -1569,16 +1569,16 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
self.utxo_list.update()
|
self.utxo_list.update()
|
||||||
self.update_fee()
|
self.update_fee()
|
||||||
|
|
||||||
def create_list_tab(self, l, buttons=None):
|
def create_list_tab(self, l, list_header=None):
|
||||||
w = QWidget()
|
w = QWidget()
|
||||||
w.searchable_list = l
|
w.searchable_list = l
|
||||||
vbox = QVBoxLayout()
|
vbox = QVBoxLayout()
|
||||||
w.setLayout(vbox)
|
w.setLayout(vbox)
|
||||||
vbox.setContentsMargins(0, 0, 0, 0)
|
vbox.setContentsMargins(0, 0, 0, 0)
|
||||||
vbox.setSpacing(0)
|
vbox.setSpacing(0)
|
||||||
if buttons:
|
if list_header:
|
||||||
hbox = QHBoxLayout()
|
hbox = QHBoxLayout()
|
||||||
for b in buttons:
|
for b in list_header:
|
||||||
hbox.addWidget(b)
|
hbox.addWidget(b)
|
||||||
hbox.addStretch()
|
hbox.addStretch()
|
||||||
vbox.addLayout(hbox)
|
vbox.addLayout(hbox)
|
||||||
|
@ -1588,7 +1588,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
def create_addresses_tab(self):
|
def create_addresses_tab(self):
|
||||||
from .address_list import AddressList
|
from .address_list import AddressList
|
||||||
self.address_list = l = AddressList(self)
|
self.address_list = l = AddressList(self)
|
||||||
return self.create_list_tab(l, l.get_buttons())
|
return self.create_list_tab(l, l.get_list_header())
|
||||||
|
|
||||||
def create_utxo_tab(self):
|
def create_utxo_tab(self):
|
||||||
from .utxo_list import UTXOList
|
from .utxo_list import UTXOList
|
||||||
|
|
Loading…
Reference in New Issue