VPN: Widget Implementation

This commit is contained in:
Georgi Velev
2025-11-20 15:31:06 +02:00
committed by Georgi Velev
parent 1a2ddbb9e3
commit 1cbc793087
14 changed files with 555 additions and 0 deletions
@@ -0,0 +1,43 @@
import QtQuick
import QtQuick.Layouts
import qs.Commons
import qs.Widgets
ColumnLayout {
id: root
spacing: Style.marginM
property var widgetData: null
property var widgetMetadata: null
property string valueDisplayMode: widgetData.displayMode !== undefined ? widgetData.displayMode : widgetMetadata.displayMode
function saveSettings() {
var settings = Object.assign({}, widgetData || {});
settings.displayMode = valueDisplayMode;
return settings;
}
NComboBox {
label: I18n.tr("bar.widget-settings.battery.display-mode.label")
description: I18n.tr("bar.widget-settings.battery.display-mode.description")
minimumWidth: 134
model: [
{
"key": "onhover",
"name": I18n.tr("options.display-mode.on-hover")
},
{
"key": "alwaysShow",
"name": I18n.tr("options.display-mode.always-show")
},
{
"key": "alwaysHide",
"name": I18n.tr("options.display-mode.always-hide")
}
]
currentKey: root.valueDisplayMode
onSelected: key => root.valueDisplayMode = key
}
}