Card lists: custom sort function for rarity
This commit is contained in:
@@ -1,4 +1,6 @@
|
|||||||
import gi
|
import gi
|
||||||
|
import util
|
||||||
|
|
||||||
gi.require_version('Gtk', '3.0')
|
gi.require_version('Gtk', '3.0')
|
||||||
from gi.repository import Gtk, GdkPixbuf, Pango
|
from gi.repository import Gtk, GdkPixbuf, Pango
|
||||||
|
|
||||||
@@ -26,8 +28,10 @@ class CardList(Gtk.ScrolledWindow):
|
|||||||
if with_filter:
|
if with_filter:
|
||||||
self.filter = self.store.filter_new()
|
self.filter = self.store.filter_new()
|
||||||
self.filter_and_sort = Gtk.TreeModelSort(self.filter)
|
self.filter_and_sort = Gtk.TreeModelSort(self.filter)
|
||||||
|
self.filter_and_sort.set_sort_func(4, self.compare_rarity, None)
|
||||||
self.list = Gtk.TreeView(self.filter_and_sort)
|
self.list = Gtk.TreeView(self.filter_and_sort)
|
||||||
else:
|
else:
|
||||||
|
self.store.set_sort_func(4, self.compare_rarity, None)
|
||||||
self.list = Gtk.TreeView(self.store)
|
self.list = Gtk.TreeView(self.store)
|
||||||
self.add(self.list)
|
self.add(self.list)
|
||||||
|
|
||||||
@@ -101,4 +105,16 @@ class CardList(Gtk.ScrolledWindow):
|
|||||||
self.list.append_column(col_mana)
|
self.list.append_column(col_mana)
|
||||||
self.list.append_column(col_cmc)
|
self.list.append_column(col_cmc)
|
||||||
|
|
||||||
|
def compare_rarity(self, model, row1, row2, user_data):
|
||||||
|
# Column for rarity
|
||||||
|
sort_column = 4
|
||||||
|
value1 = model.get_value(row1, sort_column)
|
||||||
|
value2 = model.get_value(row2, sort_column)
|
||||||
|
if util.rarity_dict[value1.lower()] < util.rarity_dict[value2.lower()]:
|
||||||
|
return -1
|
||||||
|
elif value1 == value2:
|
||||||
|
return 0
|
||||||
|
else:
|
||||||
|
return 1
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -25,6 +25,14 @@ status_bar = None
|
|||||||
|
|
||||||
unsaved_changes = False
|
unsaved_changes = False
|
||||||
|
|
||||||
|
rarity_dict = {
|
||||||
|
"special": 0,
|
||||||
|
"common": 1,
|
||||||
|
"uncommon": 2,
|
||||||
|
"rare": 3,
|
||||||
|
"mythic rare": 4
|
||||||
|
}
|
||||||
|
|
||||||
# region File Access
|
# region File Access
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user