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>
+24
View File
@@ -0,0 +1,24 @@
{
"KPackageStructure": "Plasma/Applet",
"KPlugin": {
"Authors": [
{
"Name": "Houmeres"
}
],
"Category": "Utilities",
"Description": "Browse, mount and unmount Synology / SMB (CIFS) network shares from the system tray.",
"EnabledByDefault": true,
"Icon": "folder-network",
"Id": "sk.houmeres.synologynas",
"License": "MIT",
"Name": "Synology NAS",
"Version": "0.1.0",
"Website": "https://git.houmeres.sk/Houmeres/Plasma-Addon-Synology-NAS"
},
"X-Plasma-API": "declarativeappletscript",
"X-Plasma-API-Minimum-Version": "6.0",
"X-Plasma-MainScript": "ui/main.qml",
"X-Plasma-NotificationArea": "true",
"X-Plasma-NotificationAreaCategory": "SystemServices"
}