aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/Prefs.qml
diff options
context:
space:
mode:
Diffstat (limited to 'desktop/Prefs.qml')
-rw-r--r--desktop/Prefs.qml14
1 files changed, 13 insertions, 1 deletions
diff --git a/desktop/Prefs.qml b/desktop/Prefs.qml
index 9f89a7f..ba567c4 100644
--- a/desktop/Prefs.qml
+++ b/desktop/Prefs.qml
@@ -35,6 +35,16 @@ Singleton {
// (assistant/Presets.js, which also validates what is read here).
property var presets: null
+ // The router model preferred for the assistant, "" for none. The daemon
+ // still uses whatever is loaded; the settings page loads this on demand.
+ property string assistantModel: ""
+ function setAssistantModel(id) {
+ if (id === root.assistantModel) return;
+ root.assistantModel = id;
+ const a = Object.assign({}, root.doc.assistant, { model: id });
+ root.write(Object.assign({}, root.doc, { assistant: a }));
+ }
+
// The settings window's sidebar width, dragged by its edge.
readonly property int sidebarMin: 160
readonly property int sidebarMax: 420
@@ -88,6 +98,8 @@ Singleton {
if (pin !== root.pinnedIp) root.pinnedIp = pin;
root.presets = parsed.assistant && parsed.assistant.presets !== undefined
? parsed.assistant.presets : null;
+ root.assistantModel = parsed.assistant && typeof parsed.assistant.model === "string"
+ ? parsed.assistant.model : "";
const w = parsed.settings ? parsed.settings.sidebar : undefined;
root.settingsSidebar = typeof w === "number" && w >= root.sidebarMin && w <= root.sidebarMax
? Math.round(w) : 200;
@@ -105,6 +117,6 @@ Singleton {
onFileChanged: reload()
onLoaded: root.reparse()
// Missing file: the defaults, and nothing written.
- onLoadFailed: { root.doc = {}; root.pinnedIp = ""; root.presets = null; root.settingsSidebar = 200; }
+ onLoadFailed: { root.doc = {}; root.pinnedIp = ""; root.presets = null; root.settingsSidebar = 200; root.assistantModel = ""; }
}
}