Library: refresh button, improve search
This commit is contained in:
@@ -4,7 +4,7 @@ from gi.repository import Gtk, GdkPixbuf, Pango
|
||||
|
||||
|
||||
class CardList(Gtk.ScrolledWindow):
|
||||
def __init__(self):
|
||||
def __init__(self, with_filter):
|
||||
Gtk.ScrolledWindow.__init__(self)
|
||||
self.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC)
|
||||
self.set_hexpand(True)
|
||||
@@ -23,8 +23,11 @@ class CardList(Gtk.ScrolledWindow):
|
||||
# 9 CMC
|
||||
# 10 Edition
|
||||
self.store = Gtk.ListStore(int, str, str, str, str, str, str, str, GdkPixbuf.Pixbuf, int, str)
|
||||
if with_filter:
|
||||
self.filter = self.store.filter_new()
|
||||
self.list = Gtk.TreeView(self.filter)
|
||||
else:
|
||||
self.list = Gtk.TreeView(self.store)
|
||||
self.add(self.list)
|
||||
|
||||
self.list.set_rules_hint(True)
|
||||
|
||||
@@ -21,7 +21,7 @@ class LibraryView(Gtk.Grid):
|
||||
|
||||
# endregion
|
||||
|
||||
self.lib_list = cardlist.CardList()
|
||||
self.lib_list = cardlist.CardList(True)
|
||||
self.lib_list.selection.connect("changed", self.on_card_selected)
|
||||
self.lib_list.filter.set_visible_func(self.lib_filter_func)
|
||||
|
||||
@@ -49,6 +49,7 @@ class LibraryView(Gtk.Grid):
|
||||
|
||||
self.refresh_button = Gtk.Button("Refresh")
|
||||
self.refresh_button.set_image(Gtk.Image.new_from_icon_name(Gtk.STOCK_REFRESH, 0))
|
||||
self.refresh_button.connect("clicked", self.refresh_library)
|
||||
|
||||
topbox.pack_start(search_label, False, False, 2)
|
||||
topbox.pack_start(self.search_entry, False, False, 2)
|
||||
@@ -79,11 +80,16 @@ class LibraryView(Gtk.Grid):
|
||||
|
||||
self.fill_lib_list()
|
||||
|
||||
def refresh_library(self, button):
|
||||
self.fill_lib_list()
|
||||
self.search_entry.set_text("")
|
||||
self.search_entry.activate()
|
||||
|
||||
def lib_filter_func(self, model, iter, data):
|
||||
if self.search_entry.get_text() is None or self.search_entry.get_text() == "":
|
||||
return True
|
||||
else:
|
||||
return self.lib_list.store[iter][1] == self.search_entry.get_text()
|
||||
return self.search_entry.get_text().lower() in self.lib_list.store[iter][1].lower()
|
||||
|
||||
def search_activated(self, entry):
|
||||
self.lib_list.filter.refilter()
|
||||
|
||||
@@ -145,7 +145,7 @@ class SearchView(Gtk.Grid):
|
||||
self._do_init_filter_controls()
|
||||
|
||||
# Card List
|
||||
self.search_results = cardlist.CardList()
|
||||
self.search_results = cardlist.CardList(False)
|
||||
self.search_results.selection.connect("changed", self.on_card_selected)
|
||||
|
||||
# Detail View for selected Card
|
||||
@@ -283,7 +283,6 @@ class SearchView(Gtk.Grid):
|
||||
GObject.idle_add(self.searchEntry.grab_focus, priority=GObject.PRIORITY_DEFAULT)
|
||||
return
|
||||
|
||||
col_title.set_expand(True)
|
||||
# Remove duplicate entries
|
||||
if config.show_from_all_sets is False:
|
||||
unique_cards = []
|
||||
|
||||
Reference in New Issue
Block a user