Changed model dropdown width and moved manage models button to primary menu

This commit is contained in:
jeffser 2024-08-04 22:49:43 -06:00
parent 6e226c5a4f
commit e1f1c005a0
2 changed files with 26 additions and 16 deletions

View File

@ -253,19 +253,6 @@ class AlpacaWindow(Adw.ApplicationWindow):
generate_title_thread = threading.Thread(target=self.generate_chat_title, args=(message_data, self.chat_list_box.get_selected_row().get_child())) generate_title_thread = threading.Thread(target=self.generate_chat_title, args=(message_data, self.chat_list_box.get_selected_row().get_child()))
generate_title_thread.start() generate_title_thread.start()
@Gtk.Template.Callback()
def manage_models_button_activate(self, button=None):
logger.debug(f"Managing models")
self.update_list_local_models()
if len(self.chats["chats"][self.chats["selected_chat"]]["messages"].keys()) > 0:
last_model_used = self.chats["chats"][self.chats["selected_chat"]]["messages"][list(self.chats["chats"][self.chats["selected_chat"]]["messages"].keys())[-1]]["model"]
last_model_used = self.convert_model_name(last_model_used, 0)
for i in range(self.model_string_list.get_n_items()):
if self.model_string_list.get_string(i) == last_model_used:
self.model_drop_down.set_selected(i)
break
self.manage_models_dialog.present(self)
@Gtk.Template.Callback() @Gtk.Template.Callback()
def welcome_carousel_page_changed(self, carousel, index): def welcome_carousel_page_changed(self, carousel, index):
logger.debug("Showing welcome carousel") logger.debug("Showing welcome carousel")
@ -440,6 +427,18 @@ class AlpacaWindow(Adw.ApplicationWindow):
self.available_model_list_box.set_visible(True) self.available_model_list_box.set_visible(True)
self.no_results_page.set_visible(False) self.no_results_page.set_visible(False)
def manage_models_button_activate(self, button=None):
logger.debug(f"Managing models")
self.update_list_local_models()
if len(self.chats["chats"][self.chats["selected_chat"]]["messages"].keys()) > 0:
last_model_used = self.chats["chats"][self.chats["selected_chat"]]["messages"][list(self.chats["chats"][self.chats["selected_chat"]]["messages"].keys())[-1]]["model"]
last_model_used = self.convert_model_name(last_model_used, 0)
for i in range(self.model_string_list.get_n_items()):
if self.model_string_list.get_string(i) == last_model_used:
self.model_drop_down.set_selected(i)
break
self.manage_models_dialog.present(self)
def convert_model_name(self, name:str, mode:int) -> str: # mode=0 name:tag -> Name (tag) | mode=1 Name (tag) -> name:tag def convert_model_name(self, name:str, mode:int) -> str: # mode=0 name:tag -> Name (tag) | mode=1 Name (tag) -> name:tag
if mode == 0: if mode == 0:
return "{} ({})".format(name.split(":")[0].replace("-", " ").title(), name.split(":")[1]) return "{} ({})".format(name.split(":")[0].replace("-", " ").title(), name.split(":")[1])
@ -1681,6 +1680,7 @@ Generate a title following these rules:
self.get_application().create_action('export_chat', self.chat_actions) self.get_application().create_action('export_chat', self.chat_actions)
self.get_application().create_action('export_current_chat', self.current_chat_actions) self.get_application().create_action('export_current_chat', self.current_chat_actions)
self.get_application().create_action('toggle_sidebar', lambda *_: self.split_view_overlay.set_show_sidebar(not self.split_view_overlay.get_show_sidebar()), ['F9']) self.get_application().create_action('toggle_sidebar', lambda *_: self.split_view_overlay.set_show_sidebar(not self.split_view_overlay.get_show_sidebar()), ['F9'])
self.get_application().create_action('manage_models', lambda *_: self.manage_models_button_activate(), ['<primary>m'])
self.message_text_view.connect("paste-clipboard", self.on_clipboard_paste) self.message_text_view.connect("paste-clipboard", self.on_clipboard_paste)
self.file_preview_remove_button.connect('clicked', lambda button : dialogs.remove_attached_file(self, button.get_name())) self.file_preview_remove_button.connect('clicked', lambda button : dialogs.remove_attached_file(self, button.get_name()))
self.add_chat_button.connect("clicked", lambda button : self.new_chat()) self.add_chat_button.connect("clicked", lambda button : self.new_chat())

View File

@ -77,7 +77,7 @@
<child> <child>
<object class="GtkDropDown" id="model_drop_down"> <object class="GtkDropDown" id="model_drop_down">
<signal name="notify" handler="verify_if_image_can_be_used"/> <signal name="notify" handler="verify_if_image_can_be_used"/>
<property name="width-request">200</property> <property name="width-request">260</property>
<property name="enable-search">true</property> <property name="enable-search">true</property>
<property name="tooltip-text">Select Model</property> <property name="tooltip-text">Select Model</property>
<property name="model"> <property name="model">
@ -88,7 +88,7 @@
</property> </property>
</object> </object>
</child> </child>
<child> <!--<child>
<object class="GtkButton" id="manage_models_button"> <object class="GtkButton" id="manage_models_button">
<signal name="clicked" handler="manage_models_button_activate"/> <signal name="clicked" handler="manage_models_button_activate"/>
<property name="tooltip-text" translatable="yes">Manage Models</property> <property name="tooltip-text" translatable="yes">Manage Models</property>
@ -98,7 +98,7 @@
</object> </object>
</child> </child>
</object> </object>
</child> </child>-->
</object> </object>
</property> </property>
<child type="end"> <child type="end">
@ -1033,6 +1033,10 @@ By downloading any model you accept their license agreement available on the mod
<attribute name="label" translatable="yes">Import Chat</attribute> <attribute name="label" translatable="yes">Import Chat</attribute>
<attribute name="action">app.import_chat</attribute> <attribute name="action">app.import_chat</attribute>
</item> </item>
<item>
<attribute name="label" translatable="yes">Manage Models</attribute>
<attribute name="action">app.manage_models</attribute>
</item>
</section> </section>
<section> <section>
<item> <item>
@ -1169,6 +1173,12 @@ By downloading any model you accept their license agreement available on the mod
<property name="title" translatable="yes">Show shortcuts window</property> <property name="title" translatable="yes">Show shortcuts window</property>
</object> </object>
</child> </child>
<child>
<object class="GtkShortcutsShortcut">
<property name="accelerator">&lt;ctrl&gt;M</property>
<property name="title" translatable="yes">Manage models</property>
</object>
</child>
<child> <child>
<object class="GtkShortcutsShortcut"> <object class="GtkShortcutsShortcut">
<property name="accelerator">F9</property> <property name="accelerator">F9</property>