Keep filter after updating the list
This commit is contained in:
parent
20ed54c22b
commit
ec6ab022e3
|
@ -34,6 +34,7 @@ from electrum.bitcoin import is_address
|
|||
|
||||
|
||||
class AddressList(MyTreeWidget):
|
||||
filter_columns = [0, 1, 2] # Address, Label, Balance
|
||||
|
||||
def __init__(self, parent=None):
|
||||
MyTreeWidget.__init__(self, parent, self.create_menu, [ _('Address'), _('Label'), _('Balance'), _('Tx')], 1)
|
||||
|
|
|
@ -35,6 +35,7 @@ from util import MyTreeWidget, pr_tooltips, pr_icons
|
|||
|
||||
|
||||
class ContactList(MyTreeWidget):
|
||||
filter_columns = [0, 1] # Key, Value
|
||||
|
||||
def __init__(self, parent):
|
||||
MyTreeWidget.__init__(self, parent, self.create_menu, [_('Name'), _('Address')], 0, [0])
|
||||
|
|
|
@ -49,6 +49,7 @@ TX_ICONS = [
|
|||
|
||||
|
||||
class HistoryList(MyTreeWidget):
|
||||
filter_columns = [2, 3, 4] # Date, Description, Amount
|
||||
|
||||
def __init__(self, parent=None):
|
||||
MyTreeWidget.__init__(self, parent, self.create_menu, [], 3)
|
||||
|
|
|
@ -31,6 +31,7 @@ from electrum.plugins import run_hook
|
|||
|
||||
|
||||
class InvoiceList(MyTreeWidget):
|
||||
filter_columns = [0, 1, 2, 3] # Date, Requestor, Description, Amount
|
||||
|
||||
def __init__(self, parent):
|
||||
MyTreeWidget.__init__(self, parent, self.create_menu, [_('Expires'), _('Requestor'), _('Description'), _('Amount'), _('Status')], 2)
|
||||
|
|
|
@ -1711,15 +1711,15 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
|||
def do_search(self, t):
|
||||
i = self.tabs.currentIndex()
|
||||
if i == 0:
|
||||
self.history_list.filter(t, [2, 3, 4]) # Date, Description, Amount
|
||||
self.history_list.filter(t)
|
||||
elif i == 1:
|
||||
self.invoice_list.filter(t, [0, 1, 2, 3]) # Date, Requestor, Description, Amount
|
||||
self.invoice_list.filter(t)
|
||||
elif i == 2:
|
||||
self.request_list.filter(t, [0, 1, 2, 3, 4]) # Date, Account, Address, Description, Amount
|
||||
self.request_list.filter(t)
|
||||
elif i == 3:
|
||||
self.address_list.filter(t, [0,1, 2]) # Address, Label, Balance
|
||||
self.address_list.filter(t)
|
||||
elif i == 4:
|
||||
self.contact_list.filter(t, [0, 1]) # Key, Value
|
||||
self.contact_list.filter(t)
|
||||
|
||||
|
||||
def new_contact_dialog(self):
|
||||
|
|
|
@ -34,6 +34,8 @@ from util import MyTreeWidget, pr_tooltips, pr_icons
|
|||
|
||||
|
||||
class RequestList(MyTreeWidget):
|
||||
filter_columns = [0, 1, 2, 3, 4] # Date, Account, Address, Description, Amount
|
||||
|
||||
|
||||
def __init__(self, parent):
|
||||
MyTreeWidget.__init__(self, parent, self.create_menu, [_('Date'), _('Address'), '', _('Description'), _('Amount'), _('Status')], 3)
|
||||
|
|
|
@ -391,6 +391,7 @@ class MyTreeWidget(QTreeWidget):
|
|||
self.setItemDelegate(ElectrumItemDelegate(self))
|
||||
self.itemDoubleClicked.connect(self.on_doubleclick)
|
||||
self.update_headers(headers)
|
||||
self.current_filter = ""
|
||||
|
||||
def update_headers(self, headers):
|
||||
self.setColumnCount(len(headers))
|
||||
|
@ -477,6 +478,8 @@ class MyTreeWidget(QTreeWidget):
|
|||
self.setUpdatesEnabled(False)
|
||||
self.on_update()
|
||||
self.setUpdatesEnabled(True)
|
||||
if self.current_filter:
|
||||
self.filter(self.current_filter)
|
||||
|
||||
def on_update(self):
|
||||
pass
|
||||
|
@ -490,8 +493,10 @@ class MyTreeWidget(QTreeWidget):
|
|||
for x in self.get_leaves(item):
|
||||
yield x
|
||||
|
||||
def filter(self, p, columns):
|
||||
def filter(self, p):
|
||||
columns = self.__class__.filter_columns
|
||||
p = unicode(p).lower()
|
||||
self.current_filter = p
|
||||
for item in self.get_leaves(self.invisibleRootItem()):
|
||||
item.setHidden(all([unicode(item.text(column)).lower().find(p) == -1
|
||||
for column in columns]))
|
||||
|
|
Loading…
Reference in New Issue