Better handling of switching instances

This commit is contained in:
jeffser 2024-10-11 15:01:13 -06:00
parent 19523ba37a
commit a99d1f11c2

View File

@ -55,6 +55,7 @@ class AlpacaWindow(Adw.ApplicationWindow):
#Override elements #Override elements
overrides_group = Gtk.Template.Child() overrides_group = Gtk.Template.Child()
instance_page = Gtk.Template.Child()
#Elements #Elements
split_view_overlay = Gtk.Template.Child() split_view_overlay = Gtk.Template.Child()
@ -817,10 +818,18 @@ Generate a title following these rules:
def remote_switched(self, switch, state): def remote_switched(self, switch, state):
def local_instance_process(): def local_instance_process():
switch.set_sensitive(False) switch.set_sensitive(False)
self.tweaks_group.set_sensitive(False)
self.instance_page.set_sensitive(False)
self.get_application().lookup_action('manage_models').set_enabled(False)
self.title_stack.set_visible_child_name('loading')
self.ollama_instance.remote = False self.ollama_instance.remote = False
self.ollama_instance.start() self.ollama_instance.start()
self.model_manager.update_local_list() self.model_manager.update_local_list()
self.save_server_config() self.save_server_config()
self.title_stack.set_visible_child_name('model_selector')
self.get_application().lookup_action('manage_models').set_enabled(True)
self.tweaks_group.set_sensitive(True)
self.instance_page.set_sensitive(True)
switch.set_sensitive(True) switch.set_sensitive(True)
if state: if state:
@ -878,8 +887,10 @@ Generate a title following these rules:
self.save_server_config() self.save_server_config()
self.send_button.set_sensitive(True) self.send_button.set_sensitive(True)
self.attachment_button.set_sensitive(True) self.attachment_button.set_sensitive(True)
self.remote_connection_switch.set_sensitive(True)
self.tweaks_group.set_sensitive(True)
self.instance_page.set_sensitive(True)
self.get_application().lookup_action('manage_models').set_enabled(True) self.get_application().lookup_action('manage_models').set_enabled(True)
self.get_application().lookup_action('preferences').set_enabled(True)
def __init__(self, **kwargs): def __init__(self, **kwargs):
super().__init__(**kwargs) super().__init__(**kwargs)
@ -931,7 +942,9 @@ Generate a title following these rules:
self.get_application().create_action(action_name, data[0], data[1] if len(data) > 1 else None) self.get_application().create_action(action_name, data[0], data[1] if len(data) > 1 else None)
self.get_application().lookup_action('manage_models').set_enabled(False) self.get_application().lookup_action('manage_models').set_enabled(False)
self.get_application().lookup_action('preferences').set_enabled(False) self.remote_connection_switch.set_sensitive(False)
self.tweaks_group.set_sensitive(False)
self.instance_page.set_sensitive(False)
self.remote_connection_switch_handler = self.remote_connection_switch.get_activatable_widget().connect('state-set', self.remote_switched) self.remote_connection_switch_handler = self.remote_connection_switch.get_activatable_widget().connect('state-set', self.remote_switched)
self.file_preview_remove_button.connect('clicked', lambda button : dialog_widget.simple(_('Remove Attachment?'), _("Are you sure you want to remove attachment?"), lambda button=button: self.remove_attached_file(button.get_name()), _('Remove'), 'destructive')) self.file_preview_remove_button.connect('clicked', lambda button : dialog_widget.simple(_('Remove Attachment?'), _("Are you sure you want to remove attachment?"), lambda button=button: self.remove_attached_file(button.get_name()), _('Remove'), 'destructive'))