blob: fa24cd89faf4ac51e0ed75581c7b99fbfba490fd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
import QtQuick 2.12
import QtQuick.Controls 2.12
import QtGraphicalEffects 1.14
import QtQuick.Layouts 1.14
import QtQuick.Templates 2.12 as T
import QtQuick.Controls.impl 2.12
import QtQuick.Controls.Material 2.12
import QtQuick.Controls.Material.impl 2.12
import "../themes/themes.js" as Theme
Item {
id: statusbox
anchors.fill: parent
VPNState {
id: vpn
}
Rectangle {
id: statusBoxBackground
anchors.fill: parent
anchors.margins: 20
anchors.bottomMargin: 30
height: 300
radius: 10
color: Theme.bgColor
border.color: Theme.accentOff
border.width: 2
antialiasing: true
}
ToolButton {
id: settingsButton
objectName: "settingsButton"
opacity: 1
font.pixelSize: Qt.application.font.pixelSize * 1.6
anchors.top: parent.top
anchors.left: parent.left
anchors.topMargin: Theme.windowMargin + 10
anchors.leftMargin: Theme.windowMargin + 10
onClicked: {
if (stackView.depth > 1) {
stackView.pop()
} else {
settingsDrawer.open()
}
}
Icon {
id: settingsImage
width: 24
height: 24
// TODO move arrow left to toolbar top
source: stackView.depth
> 1 ? "../resources/arrow-left.svg" : "../resources/gear-fill.svg"
anchors.centerIn: settingsButton
}
}
Column {
id: col
anchors.centerIn: parent
anchors.topMargin: 24
width: parent.width * 0.8
BoldLabel {
id: connectionState
text: ""
anchors.horizontalCenter: parent.horizontalCenter
horizontalAlignment: Text.AlignHCenter
}
VerticalSpacer {
id: spacerPreImg
visible: false
height: 40
}
Image {
id: connectionImage
height: 200
source: "../resources/spy.gif"
fillMode: Image.PreserveAspectFit
}
VerticalSpacer {
id: spacerPostImg
visible: false
height: 35
}
MaterialButton {
id: toggleVPN
anchors.horizontalCenter: parent.horizontalCenter
Layout.alignment: Qt.AlignBottom
font.capitalization: Font.Capitalize
spacing: 8
onClicked: {
if (vpn.state === "on") {
console.debug("should turn off")
backend.switchOff()
} else if (vpn.state === "off") {
console.debug("should turn on")
backend.switchOn()
} else {
console.debug("unknown state")
}
}
/*
XXX this hijacks click events, so better no pointing for now.
MouseArea {
anchors.fill: toggleVPN
hoverEnabled: true
cursorShape: !hoverEnabled ? Qt.ForbiddenCursor : Qt.PointingHandCursor
}
*/
}
}
}
|