diff --git a/src/alpaca.gresource.xml b/src/alpaca.gresource.xml
index a6e27c1..596b930 100644
--- a/src/alpaca.gresource.xml
+++ b/src/alpaca.gresource.xml
@@ -27,6 +27,7 @@
icons/step-back-symbolic.svg
icons/step-over-symbolic.svg
icons/share-symbolic.svg
+ icons/edit-find-symbolic.svg
window.ui
gtk/help-overlay.ui
diff --git a/src/icons/edit-find-symbolic.svg b/src/icons/edit-find-symbolic.svg
new file mode 100644
index 0000000..da9a076
--- /dev/null
+++ b/src/icons/edit-find-symbolic.svg
@@ -0,0 +1,4 @@
+
+
diff --git a/src/window.py b/src/window.py
index 3cf4d25..f0a6050 100644
--- a/src/window.py
+++ b/src/window.py
@@ -103,6 +103,7 @@ class AlpacaWindow(Adw.ApplicationWindow):
navigation_view_manage_models = Gtk.Template.Child()
file_preview_open_button = Gtk.Template.Child()
secondary_menu_button = Gtk.Template.Child()
+ model_searchbar = Gtk.Template.Child()
manage_models_dialog = Gtk.Template.Child()
pulling_model_list_box = Gtk.Template.Child()
@@ -376,6 +377,19 @@ class AlpacaWindow(Adw.ApplicationWindow):
def link_button_handler(self, button):
os.system(f'xdg-open "{button.get_name()}"')
+ @Gtk.Template.Callback()
+ def model_search_toggle(self, button):
+ self.model_searchbar.set_search_mode(button.get_active())
+ self.pulling_model_list_box.set_visible(not button.get_active() and len(self.pulling_models) > 0)
+ self.local_model_list_box.set_visible(not button.get_active())
+ print(button.get_active())
+
+ @Gtk.Template.Callback()
+ def model_search_changed(self, entry):
+ for i in range(len(self.available_models.keys())):
+ row = self.available_model_list_box.get_row_at_index(i)
+ row.set_visible(re.search(entry.get_text(), row.get_title(), re.IGNORECASE))
+
def check_alphanumeric(self, editable, text, length, position):
new_text = ''.join([char for char in text if char.isalnum() or char in ['-', '_']])
if new_text != text: editable.stop_emission_by_name("insert-text")
diff --git a/src/window.ui b/src/window.ui
index 83dad85..b99d3f5 100644
--- a/src/window.ui
+++ b/src/window.ui
@@ -604,6 +604,24 @@
create_model_menu
+
+
+
+
+
+
+