diff options
author | kali kaneko (leap communications) <kali@leap.se> | 2020-09-02 23:47:05 +0200 |
---|---|---|
committer | kali kaneko (leap communications) <kali@leap.se> | 2021-05-04 14:58:39 +0200 |
commit | 4bd6bbd788454367cc89d78543312f333051b840 (patch) | |
tree | 6a3d01bf804ea4bd841c013dbe96ffe3df29323a /gui/qml/VpnState.qml | |
parent | 335bb742b957370bbf40ae77a661559805ab307f (diff) |
[feat] expose gateway selector in gui
Diffstat (limited to 'gui/qml/VpnState.qml')
-rw-r--r-- | gui/qml/VpnState.qml | 64 |
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"} + } + ] +} |