generated from itdominator/Python-With-Gtk-Template
WIP Query/Search functionality
This commit is contained in:
@@ -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...")
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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__)
|
||||
|
||||
Reference in New Issue
Block a user