Add an option to hide excluded games from the inventory view

This commit is contained in:
DevilXD committed 2022-09-12 20:04:40 +02:00
1 parent 3c6fecb039
commit 0e9ddefa03
2 files changed
+18 -4

No files matched your search

+14 -2
View File
@@ -1003,11 +1003,13 @@ class Notebook:
class InventoryOverview: class InventoryOverview:
def __init__(self, manager: GUIManager, master: ttk.Widget): def __init__(self, manager: GUIManager, master: ttk.Widget):
self._cache = manager._cache self._cache: ImageCache = manager._cache
self._settings: Settings = manager._twitch.settings
self._filters = { self._filters = {
"linked": IntVar(master, 1), "linked": IntVar(master, 1),
"expired": IntVar(master, 0),
"upcoming": IntVar(master, 1), "upcoming": IntVar(master, 1),
"expired": IntVar(master, 0),
"excluded": IntVar(master, 0),
"finished": IntVar(master, 0), "finished": IntVar(master, 0),
} }
# Filtering options # Filtering options
@@ -1044,6 +1046,14 @@ class InventoryOverview:
text=_("gui", "inventory", "filter", "expired"), text=_("gui", "inventory", "filter", "expired"),
padding=(0, 0, LABEL_SPACING, 0), padding=(0, 0, LABEL_SPACING, 0),
).grid(column=(icolumn := icolumn + 1), row=0) ).grid(column=(icolumn := icolumn + 1), row=0)
ttk.Checkbutton(
filter_frame, variable=self._filters["excluded"]
).grid(column=(icolumn := icolumn + 1), row=0)
ttk.Label(
filter_frame,
text=_("gui", "inventory", "filter", "excluded"),
padding=(0, 0, LABEL_SPACING, 0),
).grid(column=(icolumn := icolumn + 1), row=0)
ttk.Checkbutton( ttk.Checkbutton(
filter_frame, variable=self._filters["finished"] filter_frame, variable=self._filters["finished"]
).grid(column=(icolumn := icolumn + 1), row=0) ).grid(column=(icolumn := icolumn + 1), row=0)
@@ -1080,11 +1090,13 @@ class InventoryOverview:
frame = self._campaigns[campaign] frame = self._campaigns[campaign]
linked = bool(self._filters["linked"].get()) linked = bool(self._filters["linked"].get())
expired = bool(self._filters["expired"].get()) expired = bool(self._filters["expired"].get())
excluded = bool(self._filters["excluded"].get())
upcoming = bool(self._filters["upcoming"].get()) upcoming = bool(self._filters["upcoming"].get())
finished = bool(self._filters["finished"].get()) finished = bool(self._filters["finished"].get())
if ( if (
(not linked or campaign.linked) (not linked or campaign.linked)
and (campaign.active or upcoming and campaign.upcoming or expired and campaign.expired) and (campaign.active or upcoming and campaign.upcoming or expired and campaign.expired)
and (excluded or not excluded and campaign.game.name not in self._settings.exclude)
and (finished or not campaign.finished) and (finished or not campaign.finished)
): ):
frame.grid() frame.grid()
+4 -2
View File
@@ -120,8 +120,9 @@ class GUIInvFilter(TypedDict):
name: str name: str
show: str show: str
linked: str linked: str
expired: str
upcoming: str upcoming: str
expired: str
excluded: str
finished: str finished: str
refresh: str refresh: str
@@ -306,8 +307,9 @@ default_translation: Translation = {
"name": "Filter", "name": "Filter",
"show": "Show:", "show": "Show:",
"linked": "Linked only", "linked": "Linked only",
"expired": "Expired",
"upcoming": "Upcoming", "upcoming": "Upcoming",
"expired": "Expired",
"excluded": "Excluded",
"finished": "Finished", "finished": "Finished",
"refresh": "Refresh", "refresh": "Refresh",
}, },