aboutsummaryrefslogtreecommitdiff
path: root/src/filters.py
diff options
context:
space:
mode:
authorJoris Guyonvarch2025-12-26 18:41:26 +0100
committerJoris Guyonvarch2025-12-27 20:41:44 +0100
commita110c200e86d2325af07167531fac0f61d9681a0 (patch)
tree90e843f915a2e153ba735849afd83710d90560bf /src/filters.py
parenta26d92ad5055fa057647158eb79511e7b1841162 (diff)
Switch to GUI to manage the library
Allow to regroup the CLI and the view into one unique tool.
Diffstat (limited to 'src/filters.py')
-rw-r--r--src/filters.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/filters.py b/src/filters.py
new file mode 100644
index 0000000..f62eee1
--- /dev/null
+++ b/src/filters.py
@@ -0,0 +1,31 @@
+import gi
+gi.require_version("Gtk", "4.0")
+from gi.repository import Gtk
+
+import src.utils as utils
+import src.models as models
+
+class Filters(Gtk.Box):
+
+ def __init__(self, init_progress, on_progress_updated):
+ Gtk.Box.__init__(self)
+
+ self._progress = init_progress
+ self._on_progress_updated = on_progress_updated
+
+ self._dropdown = Gtk.DropDown.new_from_strings(models.all_progress)
+ self._dropdown.set_selected(models.all_progress.index(init_progress))
+ self._dropdown.connect('notify::selected-item', self._on_selected_item)
+
+ self.append(self._dropdown)
+
+ def get_progress(self):
+ return self._progress
+
+ def update_progress(self, progress):
+ self._progress = progress
+ self._dropdown.set_selected(models.all_progress.index(progress))
+
+ def _on_selected_item(self, _dropdown, _data):
+ self._progress = self._dropdown.get_selected_item().get_string()
+ self._on_progress_updated(self._progress)