diff options
| author | Joris Guyonvarch | 2025-12-26 18:41:26 +0100 |
|---|---|---|
| committer | Joris Guyonvarch | 2025-12-27 20:41:44 +0100 |
| commit | a110c200e86d2325af07167531fac0f61d9681a0 (patch) | |
| tree | 90e843f915a2e153ba735849afd83710d90560bf /src/filters.py | |
| parent | a26d92ad5055fa057647158eb79511e7b1841162 (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.py | 31 |
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) |
