From 00be891d3b0cb401e642a5331aedcc399641b8ef Mon Sep 17 00:00:00 2001 From: "kali kaneko (leap communications)" Date: Mon, 31 May 2021 01:49:43 +0200 Subject: [refactor] unclutter main qml --- gui/qml/VPNSwitch.qml | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 gui/qml/VPNSwitch.qml (limited to 'gui/qml/VPNSwitch.qml') diff --git a/gui/qml/VPNSwitch.qml b/gui/qml/VPNSwitch.qml new file mode 100644 index 0000000..14b3734 --- /dev/null +++ b/gui/qml/VPNSwitch.qml @@ -0,0 +1,64 @@ +import QtQuick 2.9 +import QtQuick.Layouts 1.12 +import QtQuick.Controls 2.4 + + +SwitchDelegate { + + //id: vpntoggle + + text: qsTr("") + checked: false + anchors.horizontalCenter: parent.horizontalCenter + + /* + Connections { + function onCheckedChanged() { + if (vpntoggle.checked == true + && ctx.status == "off") { + backend.switchOn() + } + if (vpntoggle.checked === false + && ctx.status == "on") { + backend.switchOff() + } + } + } + */ + + contentItem: Text { + rightPadding: vpntoggle.indicator.width + vpntoggle.spacing + text: vpntoggle.text + font: vpntoggle.font + opacity: enabled ? 1.0 : 0.5 + color: vpntoggle.down ? "#17a81a" : "#21be2b" + elide: Text.ElideRight + verticalAlignment: Text.AlignVCenter + } + + indicator: Rectangle { + implicitWidth: 48 + implicitHeight: 26 + x: vpntoggle.width - width - vpntoggle.rightPadding + y: parent.height / 2 - height / 2 + radius: 13 + color: vpntoggle.checked ? "#17a81a" : "transparent" + border.color: vpntoggle.checked ? "#17a81a" : "#cccccc" + + Rectangle { + x: vpntoggle.checked ? parent.width - width : 0 + width: 26 + height: 26 + radius: 13 + color: vpntoggle.down ? "#cccccc" : "#ffffff" + border.color: vpntoggle.checked ? (vpntoggle.down ? "#17a81a" : "#21be2b") : "#999999" + } + } + + background: Rectangle { + implicitWidth: 100 + implicitHeight: 40 + visible: vpntoggle.down || vpntoggle.highlighted + color: vpntoggle.down ? "#17a81a" : "#eeeeee" + } +} // end switchdelegate -- cgit v1.2.3