WIP Query/Search functionality

This commit is contained in:
2023-04-10 23:11:32 -05:00
parent fd882743b8
commit ff7a492e35
5 changed files with 113 additions and 10 deletions

View File

@@ -42,16 +42,13 @@ class Pages(Gtk.Notebook):
start_box = Gtk.Box()
end_box = Gtk.Box()
search = Gtk.SearchEntry()
search.set_placeholder_text("Search...")
search.connect("changed", self._text_search)
add_btn = Gtk.Button()
add_btn = Gtk.Button(label="Add Page")
add_btn.set_image( Gtk.Image.new_from_icon_name("add", 4) )
add_btn.set_always_show_image(True)
add_btn.set_hexpand(True)
add_btn.set_size_request(162, -1)
add_btn.connect("released", self.create_page_view)
start_box.add(search)
start_box.add(add_btn)
start_box.show_all()
@@ -95,9 +92,6 @@ class Pages(Gtk.Notebook):
data = [parent._manifest_pth, parent._name, parent._date]
event_system.emit("update_section_title", (label, data))
def _text_search(self, widget = None, eve = None):
...
def _load_pages_data(self):
if not self._section_pth:
raise PagesException("No section path provided...")

View File

@@ -40,6 +40,10 @@ class Sections(Gtk.Notebook):
start_box = Gtk.Box()
end_box = Gtk.Box()
search = Gtk.SearchEntry()
search.set_placeholder_text("Search...")
search.connect("changed", self._text_search)
add_btn = Gtk.Button()
add_btn.set_image( Gtk.Image.new_from_icon_name("add", 4) )
add_btn.set_always_show_image(True)
@@ -56,6 +60,7 @@ class Sections(Gtk.Notebook):
start_box.add(widgets_btn)
end_box.add(add_btn)
end_box.add(search)
start_box.show_all()
end_box.show_all()
@@ -64,6 +69,10 @@ class Sections(Gtk.Notebook):
self.set_action_widget(start_box, 0)
self.set_action_widget(end_box, 1)
def _text_search(self, widget = None, eve = None):
query = widget.get_text()
event_system.emit("handle_search_query", (widget, query))
def _close_tab(self, button, pages, eve = None):
if self.get_n_pages() == 1:
return

View File

@@ -22,6 +22,7 @@ class TextAreaWidget(WidgetSaveLoadController, GtkSource.View):
self._subscribe_to_events()
self._load_widgets()
event_system.emit("register_to_query_controller", (self, self.get_query_data))
self.show()
@@ -44,6 +45,9 @@ class TextAreaWidget(WidgetSaveLoadController, GtkSource.View):
start, end = self.buffer.get_start_iter(), self.buffer.get_end_iter()
return self.buffer.get_slice(start, end, True)
def get_query_data(self):
return self.get_buffer_text()
def get_saveable_data(self):
self.save_collection["data"] = self.get_buffer_text()
self.save_collection["widget_type"] = str(type(self).__name__)