aboutsummaryrefslogtreecommitdiff
path: root/src/main_window.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/main_window.py
parent9566791adef22f0f1102bf73f0ba02ae9842b7cf (diff)
Add textual search
Search in titles, subtitles, authors and years.
Diffstat (limited to 'src/main_window.py')
-rw-r--r--src/main_window.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/main_window.py b/src/main_window.py
index c01c120..bc9fde2 100644
--- a/src/main_window.py
+++ b/src/main_window.py
@@ -21,29 +21,32 @@ class MainWindow(Gtk.ApplicationWindow):
init_books = db.get_books(conn)
init_progress = 'Reading'
init_genre = models.all_genres
+ init_search = ''
add_book_button = Gtk.Button(label='Ajouter un livre')
add_book_button.connect('clicked', lambda _: BookForm(self, resources, library, conn, self._msg).present())
header = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL)
utils.set_margin(header, 20)
- self._filters = Filters(init_books, init_progress, init_genre, self._msg)
+ self._filters = Filters(init_books, init_progress, init_genre, init_search, self._msg)
self._filters.set_hexpand(True)
header.append(self._filters)
header.append(add_book_button)
box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=0)
box.append(header)
- self._books = BookFlow(self, resources, library, ereader, conn, init_books, init_progress, init_genre, self._msg)
+ self._books = BookFlow(self, resources, library, ereader, conn, init_books, init_progress, init_genre, init_search, self._msg)
box.append(self._books)
self.set_child(box)
def _msg(self, msg):
match msg:
case ['progress-selected', progress]:
- self._books.update_filters(self._filters.get_progress(), self._filters.get_genre())
+ self._books.update_filters(self._filters.get_progress(), self._filters.get_genre(), self._filters.get_search())
case ['genre-selected', genre]:
- self._books.update_filters(self._filters.get_progress(), self._filters.get_genre())
+ self._books.update_filters(self._filters.get_progress(), self._filters.get_genre(), self._filters.get_search())
+ case ['search-updated', search]:
+ self._books.update_filters(self._filters.get_progress(), self._filters.get_genre(), self._filters.get_search())
case ['book-saved', book_id, data]:
self._filters.select_progress(data['progress'])
if not self._filters.get_genre() in data['genres']: