From 65cae8a887504f49735aa9035ae53fcffd10fbc9 Mon Sep 17 00:00:00 2001 From: Joris Guyonvarch Date: Tue, 30 Dec 2025 17:34:13 +0100 Subject: Add textual search Search in titles, subtitles, authors and years. --- src/filters.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/filters.py') diff --git a/src/filters.py b/src/filters.py index ed3cb06..c652605 100644 --- a/src/filters.py +++ b/src/filters.py @@ -6,12 +6,13 @@ import src.models as models class Filters(Gtk.Box): - def __init__(self, init_books, init_progress, init_genre, msg): + def __init__(self, init_books, init_progress, init_genre, init_search, msg): Gtk.Box.__init__(self, spacing=10) genres = models.get_genres(init_books) self._progress = init_progress self._genre = init_genre + self._search = init_search self._msg = msg self._progress_dropdown = Gtk.DropDown.new_from_strings(models.all_progress) @@ -22,6 +23,10 @@ class Filters(Gtk.Box): self._genres_dropdown = self._get_genres_dropdown(genres) self.append(self._genres_dropdown) + self._search = Gtk.Entry() + self._search.connect('changed', self._on_update_search) + self.append(self._search) + def get_progress(self): return self._progress @@ -31,6 +36,9 @@ class Filters(Gtk.Box): def set_genre(self, genre): self._genre = genre + def get_search(self): + return self._search.get_text() + def select_progress(self, progress): self._progress = progress self._progress_dropdown.set_selected(models.all_progress.index(progress)) @@ -62,3 +70,6 @@ class Filters(Gtk.Box): def _on_selected_genre(self, dropdown, _data): self._genre = dropdown.get_selected_item().get_string() self._msg(['genre-selected', self._genre]) + + def _on_update_search(self, entry): + self._msg(['search-updated', self._search.get_text()]) -- cgit v1.2.3