From 1dea40ea309d72d2aa28983d13800074eff9ec3f Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Fri, 23 Oct 2026 16:53:17 +0200 Subject: companion: the leotard's timeout is a setting, or none at all Settings > Desktop > Companion takes the seconds she stays in the leotard after the self-destruct, 60 as before. Switched off, she keeps it until she is hidden and shown again, which already put the dress back early. Mood.outfit takes the time instead of reading T. Co-Authored-By: Claude Opus 5.5 --- desktop/Prefs.qml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'desktop/Prefs.qml') diff --git a/desktop/Prefs.qml b/desktop/Prefs.qml index 03ac980..80515a4 100644 --- a/desktop/Prefs.qml +++ b/desktop/Prefs.qml @@ -56,6 +56,15 @@ Singleton { root.write(Object.assign({}, root.doc, { companion: on })); } + // Seconds the companion stays in her leotard after the self-destruct, + // 0 for until she is hidden and shown again. + property int companionSkirtless: 60 + function setCompanionSkirtless(s) { + if (s === root.companionSkirtless) return; + root.companionSkirtless = s; + root.write(Object.assign({}, root.doc, { companionSkirtless: s })); + } + // The companion's wallpaper list, "" for the default in // companion/Admired.qml. property string companionBlushFile: "" @@ -125,6 +134,8 @@ Singleton { root.settingsSidebar = typeof w === "number" && w >= root.sidebarMin && w <= root.sidebarMax ? Math.round(w) : 200; root.companion = parsed.companion !== false; + const sk = parsed.companionSkirtless; + root.companionSkirtless = Number.isInteger(sk) && sk >= 0 ? sk : 60; root.companionBlushFile = typeof parsed.companionBlushFile === "string" ? parsed.companionBlushFile : ""; root.ready = true; } @@ -141,6 +152,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; root.assistantModel = ""; root.companion = true; root.companionBlushFile = ""; root.ready = true; } + onLoadFailed: { root.doc = {}; root.pinnedIp = ""; root.presets = null; root.settingsSidebar = 200; root.assistantModel = ""; root.companion = true; root.companionBlushFile = ""; root.companionSkirtless = 60; root.ready = true; } } } -- cgit v1.2.3