summaryrefslogtreecommitdiff
path: root/gui/qml/VpnState.qml
diff options
context:
space:
mode:
Diffstat (limited to 'gui/qml/VpnState.qml')
-rw-r--r--gui/qml/VpnState.qml64
1 files changed, 64 insertions, 0 deletions
diff --git a/gui/qml/VpnState.qml b/gui/qml/VpnState.qml
new file mode 100644
index 0000000..ea2a3b1
--- /dev/null
+++ b/gui/qml/VpnState.qml
@@ -0,0 +1,64 @@
+import QtQuick 2.0
+import QtQuick.Controls 1.4
+
+StateGroup {
+
+ state: ctx ? ctx.status : ""
+
+ states: [
+ State { name: "initializing" },
+ State {
+ name: "off"
+ PropertyChanges { target: systray; tooltip: toHuman("off"); icon.source: icons["off"] }
+ PropertyChanges { target: statusItem; text: toHuman("off") }
+ PropertyChanges { target: mainStatus; text: toHuman("off") }
+ PropertyChanges { target: mainCurrentGateway; text: "" }
+ PropertyChanges { target: mainOnBtn; visible: true }
+ PropertyChanges { target: mainOffBtn; visible: false }
+ PropertyChanges { target: gwMarker; color: "red"}
+ },
+ State {
+ name: "on"
+ StateChangeScript {
+ script: displayGatewayMarker()
+ }
+ PropertyChanges { target: systray; tooltip: toHuman("on"); icon.source: icons["on"] }
+ PropertyChanges { target: statusItem; text: toHumanWithLocation("on") }
+ PropertyChanges { target: mainStatus; text: toHuman("on") }
+ PropertyChanges { target: mainCurrentGateway; text: qsTr("Connected to ") + ctx.currentGateway }
+ PropertyChanges { target: mainOnBtn; visible: false }
+ PropertyChanges { target: mainOffBtn; visible: true }
+ PropertyChanges { target: gwMarker; color: "green"}
+ },
+ State {
+ name: "starting"
+ PropertyChanges { target: systray; tooltip: toHuman("connecting"); icon.source: icons["wait"] }
+ PropertyChanges { target: statusItem; text: toHumanWithLocation("connecting") }
+ PropertyChanges { target: mainStatus; text: qsTr("Connecting...") }
+ PropertyChanges { target: mainCurrentGateway; text: "" }
+ PropertyChanges { target: mainOnBtn; visible: false }
+ PropertyChanges { target: mainOffBtn; visible: true }
+ PropertyChanges { target: gwMarker; color: "orange"}
+ },
+ State {
+ name: "stopping"
+ PropertyChanges { target: systray; tooltip: toHuman("stopping"); icon.source: icons["wait"] }
+ PropertyChanges { target: statusItem; text: toHuman("stopping") }
+ PropertyChanges { target: mainStatus; text: toHuman("stopping") }
+ PropertyChanges { target: mainCurrentGateway; text: "" }
+ PropertyChanges { target: mainOnBtn; visible: true }
+ PropertyChanges { target: mainOffBtn; visible: false }
+ PropertyChanges { target: gwMarker; color: "orange"}
+ },
+ State {
+ name: "failed"
+ PropertyChanges { target: systray; tooltip: toHuman("failed"); icon.source: icons["wait"] }
+ PropertyChanges { target: statusItem; text: toHuman("failed") }
+ PropertyChanges { target: mainStatus; text: toHuman("failed") }
+ PropertyChanges { target: mainCurrentGateway; text: "" }
+ PropertyChanges { target: mainOnBtn; visible: true }
+ PropertyChanges { target: mainOffBtn; visible: false }
+ PropertyChanges { target: gwMarker; color: "red"}
+ }
+ ]
+}