aboutsummaryrefslogtreecommitdiff
path: root/src/filters.py
diff options
context:
space:
mode:
authorJoris Guyonvarch2025-12-30 17:34:13 +0100
committerJoris Guyonvarch2025-12-30 17:34:13 +0100
commit65cae8a887504f49735aa9035ae53fcffd10fbc9 (patch)
tree49bd8ddca5be035b51a08a9516d1ee78d18941c4 /src/filters.py
parent9566791adef22f0f1102bf73f0ba02ae9842b7cf (diff)
Add textual search
Search in titles, subtitles, authors and years.
Diffstat (limited to 'src/filters.py')
-rw-r--r--src/filters.py13
1 files changed, 12 insertions, 1 deletions
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()])