aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/modules/assistant/AssistantModule.qml
diff options
context:
space:
mode:
Diffstat (limited to 'desktop/modules/assistant/AssistantModule.qml')
-rw-r--r--desktop/modules/assistant/AssistantModule.qml13
1 files changed, 13 insertions, 0 deletions
diff --git a/desktop/modules/assistant/AssistantModule.qml b/desktop/modules/assistant/AssistantModule.qml
index a85b2b3..b53a33f 100644
--- a/desktop/modules/assistant/AssistantModule.qml
+++ b/desktop/modules/assistant/AssistantModule.qml
@@ -198,6 +198,19 @@ Module {
else { poll.left = 300; poll.start(); }
});
}
+ // Called when the assistant canvas opens: the preferred model, if one is
+ // set, still listed, and neither loaded nor loading, is loaded. One model
+ // and one client at a time is how this desktop runs, so opening the
+ // assistant is the moment to bring its model back.
+ function ensurePreferred() {
+ const id = Prefs.assistantModel;
+ if (id === "" || am.loading !== "") return;
+ am.listModels(() => {
+ const m = am.models.find(x => x.id === id);
+ if (m && m.status !== "loaded" && m.status !== "loading") am.loadModel(id);
+ });
+ }
+
property Timer poll: Timer {
property int left: 0
interval: 1000