diff --git a/src/window.py b/src/window.py index 849c390..64af061 100644 --- a/src/window.py +++ b/src/window.py @@ -351,14 +351,15 @@ class AlpacaWindow(Adw.ApplicationWindow): current_chat = self.chat_list_box.get_current_chat() if current_chat: for key, message in current_chat.messages.items(): - message.set_visible(re.search(search_term, message.text, re.IGNORECASE)) - for block in message.content_children: - if isinstance(block, message_widget.text_block): - if search_term: - highlighted_text = re.sub(f"({re.escape(search_term)})", r"\1", block.get_text(),flags=re.IGNORECASE) - block.set_markup(highlighted_text) - else: - block.set_markup(block.get_text()) + if message and message.text: + message.set_visible(re.search(search_term, message.text, re.IGNORECASE)) + for block in message.content_children: + if isinstance(block, message_widget.text_block): + if search_term: + highlighted_text = re.sub(f"({re.escape(search_term)})", r"\1", block.get_text(),flags=re.IGNORECASE) + block.set_markup(highlighted_text) + else: + block.set_markup(block.get_text()) @Gtk.Template.Callback() def on_clipboard_paste(self, textview): @@ -813,9 +814,20 @@ Generate a title following these rules: self.banner.set_revealed(monitor.get_power_saver_enabled() and self.powersaver_warning_switch.get_active()) def prepare_alpaca(self, local_port:int, remote_url:str, remote:bool, tweaks:dict, overrides:dict, bearer_token:str, idle_timer_delay:int, save:bool): + #Model Manager + self.model_manager = model_widget.model_manager_container() + self.model_scroller.set_child(self.model_manager) + + #Chat History + self.load_history() + #Instance self.ollama_instance = connection_handler.instance(local_port, remote_url, remote, tweaks, overrides, bearer_token, idle_timer_delay) + #Model Manager P.2 + self.model_manager.update_available_list() + self.model_manager.update_local_list() + #User Preferences for element in list(list(list(list(self.tweaks_group)[0])[1])[0]): if element.get_name() in self.ollama_instance.tweaks: @@ -832,23 +844,13 @@ Generate a title following these rules: self.remote_connection_switch.set_active(self.ollama_instance.remote) self.instance_idle_timer.set_value(self.ollama_instance.idle_timer_delay) - #Model Manager - self.model_manager = model_widget.model_manager_container() - self.model_scroller.set_child(self.model_manager) - - #Chat History - self.load_history() - - #Model Manager P.2 - self.model_manager.update_available_list() - self.model_manager.update_local_list() - self.get_application().lookup_action("manage_models").set_enabled(True) - #Save preferences if save: self.save_server_config() - self.send_button.set_sensitive(True) + self.attachment_button.set_sensitive(True) + self.get_application().lookup_action('manage_models').set_enabled(True) + self.get_application().lookup_action('preferences').set_enabled(True) def __init__(self, **kwargs): super().__init__(**kwargs) @@ -895,7 +897,9 @@ Generate a title following these rules: for action_name, data in universal_actions.items(): 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.file_preview_remove_button.connect('clicked', lambda button : dialogs.remove_attached_file(self, button.get_name())) self.attachment_button.connect("clicked", lambda button, file_filter=self.file_filter_attachments: dialogs.attach_file(self, file_filter)) diff --git a/src/window.ui b/src/window.ui index fecde44..853dac8 100644 --- a/src/window.ui +++ b/src/window.ui @@ -180,6 +180,7 @@ false 3 + false Attach File