Add plasmoid scaffold: metadata.json + config schema

Plasma/Applet package metadata (tray applet, id sk.houmeres.synologynas)
and the KConfigXT schema (hosts JSON, mount root, SMB version, options).
Passwords are never stored in config — they live in KWallet.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jaroslav Beneš
2026-07-15 14:18:32 +02:00
parent 4f477bfe70
commit a462d8ab4f
3 changed files with 72 additions and 0 deletions
+15
View File
@@ -0,0 +1,15 @@
import QtQuick
import org.kde.plasma.configuration
ConfigModel {
ConfigCategory {
name: i18n("NAS Hosts")
icon: "network-server"
source: "config/ConfigHosts.qml"
}
ConfigCategory {
name: i18n("General")
icon: "configure"
source: "config/ConfigGeneral.qml"
}
}
+33
View File
@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
<kcfgfile name=""/>
<group name="General">
<!-- JSON array of host objects:
{id, label, host, username, domain, mountRoot, vers}
Passwords are NEVER stored here; they live in KWallet. -->
<entry name="hosts" type="String">
<default>[]</default>
</entry>
<!-- Empty => resolved at runtime to <home>/NAS -->
<entry name="defaultMountRoot" type="String">
<default></default>
</entry>
<!-- SMB dialect passed to mount.cifs (vers=). -->
<entry name="smbVersion" type="String">
<default>3.1.1</default>
</entry>
<!-- Extra comma-separated mount.cifs options. -->
<entry name="mountOptions" type="String">
<default>iocharset=utf8</default>
</entry>
<entry name="fileMode" type="String">
<default>0700</default>
</entry>
<entry name="dirMode" type="String">
<default>0700</default>
</entry>
</group>
</kcfg>