aboutsummaryrefslogtreecommitdiff
path: root/src/filters.py
diff options
context:
space:
mode:
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)