243 lines
6.6 KiB
QML
243 lines
6.6 KiB
QML
import QtQuick 2.12
|
|
import QtQuick.Controls 2.12
|
|
import PageEnum 1.0
|
|
import "./"
|
|
import "../Controls"
|
|
import "../Config"
|
|
|
|
Item {
|
|
id: root
|
|
|
|
Image {
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
y: 0
|
|
width: parent.width
|
|
|
|
// width: 380
|
|
// height: 325
|
|
source: "qrc:/images/background_connected.png"
|
|
}
|
|
|
|
ImageButtonType {
|
|
x: parent.width - 40
|
|
y: 10
|
|
width: 31
|
|
height: 31
|
|
icon.source: "qrc:/images/settings_grey.png"
|
|
onClicked: {
|
|
UiLogic.goToPage(PageEnum.GeneralSettings)
|
|
}
|
|
}
|
|
|
|
LabelType {
|
|
id: error_text
|
|
x: 0
|
|
y: 280
|
|
width: 381
|
|
height: 61
|
|
horizontalAlignment: Text.AlignHCenter
|
|
verticalAlignment: Text.AlignVCenter
|
|
wrapMode: Text.Wrap
|
|
text: UiLogic.labelErrorText
|
|
}
|
|
Text {
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
y: 250
|
|
width: 380
|
|
height: 31
|
|
font.family: "Lato"
|
|
font.styleName: "normal"
|
|
font.pixelSize: 15
|
|
color: "#181922"
|
|
horizontalAlignment: Text.AlignHCenter
|
|
verticalAlignment: Text.AlignVCenter
|
|
wrapMode: Text.Wrap
|
|
text: UiLogic.labelStateText
|
|
}
|
|
|
|
BasicButtonType {
|
|
id: button_connect
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
y: 200
|
|
width: 80
|
|
height: 40
|
|
checkable: true
|
|
checked: UiLogic.pushButtonConnectChecked
|
|
onCheckedChanged: {
|
|
UiLogic.pushButtonConnectChecked = checked
|
|
UiLogic.onPushButtonConnectClicked(checked)
|
|
}
|
|
background: Image {
|
|
anchors.fill: parent
|
|
source: button_connect.checked ? "qrc:/images/connect_button_connected.png"
|
|
: "qrc:/images/connect_button_disconnected.png"
|
|
}
|
|
contentItem: Item {}
|
|
antialiasing: true
|
|
enabled: UiLogic.pushButtonConnectEnabled
|
|
}
|
|
|
|
Item {
|
|
x: 0
|
|
anchors.bottom: line.top
|
|
anchors.bottomMargin: 10
|
|
width: parent.width
|
|
height: 51
|
|
Image {
|
|
anchors.horizontalCenter: upload_label.horizontalCenter
|
|
y: 10
|
|
width: 15
|
|
height: 15
|
|
source: "qrc:/images/upload.png"
|
|
}
|
|
Image {
|
|
anchors.horizontalCenter: download_label.horizontalCenter
|
|
y: 10
|
|
width: 15
|
|
height: 15
|
|
source: "qrc:/images/download.png"
|
|
}
|
|
Text {
|
|
id: download_label
|
|
x: 0
|
|
y: 20
|
|
width: 130
|
|
height: 30
|
|
font.family: "Lato"
|
|
font.styleName: "normal"
|
|
font.pixelSize: 16
|
|
color: "#4171D6"
|
|
horizontalAlignment: Text.AlignHCenter
|
|
verticalAlignment: Text.AlignVCenter
|
|
wrapMode: Text.Wrap
|
|
text: UiLogic.labelSpeedReceivedText
|
|
}
|
|
Text {
|
|
id: upload_label
|
|
x: parent.width - width
|
|
y: 20
|
|
width: 130
|
|
height: 30
|
|
font.family: "Lato"
|
|
font.styleName: "normal"
|
|
font.pixelSize: 16
|
|
color: "#42D185"
|
|
horizontalAlignment: Text.AlignHCenter
|
|
verticalAlignment: Text.AlignVCenter
|
|
wrapMode: Text.Wrap
|
|
text: UiLogic.labelSpeedSentText
|
|
}
|
|
}
|
|
|
|
Rectangle {
|
|
id: line
|
|
x: 20
|
|
width: parent.width - 40
|
|
height: 1
|
|
anchors.bottom: conn_type_label.top
|
|
anchors.bottomMargin: 10
|
|
color: "#DDDDDD"
|
|
}
|
|
|
|
Text {
|
|
id: conn_type_label
|
|
x: 20
|
|
anchors.bottom: conn_type_group.top
|
|
anchors.bottomMargin: 10
|
|
width: 281
|
|
height: 21
|
|
font.family: "Lato"
|
|
font.styleName: "normal"
|
|
font.pixelSize: 15
|
|
color: "#181922"
|
|
horizontalAlignment: Text.AlignLeft
|
|
verticalAlignment: Text.AlignVCenter
|
|
wrapMode: Text.Wrap
|
|
text: qsTr("How to use VPN")
|
|
}
|
|
|
|
Item {
|
|
id: conn_type_group
|
|
x: 20
|
|
anchors.bottom: button_add_site.top
|
|
width: 351
|
|
height: 91
|
|
enabled: UiLogic.widgetVpnModeEnabled
|
|
RadioButtonType {
|
|
x: 0
|
|
y: 0
|
|
width: 341
|
|
height: 19
|
|
checked: UiLogic.radioButtonVpnModeAllSitesChecked
|
|
text: qsTr("For all connections")
|
|
onCheckedChanged: {
|
|
UiLogic.radioButtonVpnModeAllSitesChecked = checked
|
|
button_add_site.enabled = !checked
|
|
UiLogic.onRadioButtonVpnModeAllSitesToggled(checked)
|
|
}
|
|
}
|
|
RadioButtonType {
|
|
x: 0
|
|
y: 60
|
|
width: 341
|
|
height: 19
|
|
text: qsTr("Except selected sites")
|
|
checked: UiLogic.radioButtonVpnModeExceptSitesChecked
|
|
onCheckedChanged: {
|
|
UiLogic.radioButtonVpnModeExceptSitesChecked = checked
|
|
UiLogic.onRadioButtonVpnModeExceptSitesToggled(checked)
|
|
}
|
|
}
|
|
RadioButtonType {
|
|
x: 0
|
|
y: 30
|
|
width: 341
|
|
height: 19
|
|
text: qsTr("For selected sites")
|
|
checked: UiLogic.radioButtonVpnModeForwardSitesChecked
|
|
onCheckedChanged: {
|
|
UiLogic.radioButtonVpnModeForwardSitesChecked = checked
|
|
UiLogic.onRadioButtonVpnModeForwardSitesToggled(checked)
|
|
}
|
|
}
|
|
}
|
|
|
|
BasicButtonType {
|
|
id: button_add_site
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
y: parent.height - 60
|
|
//anchors.bottom: parent.bottom
|
|
width: parent.width - 40
|
|
height: 40
|
|
text: qsTr("+ Add site")
|
|
enabled: UiLogic.pushButtonVpnAddSiteEnabled
|
|
background: Rectangle {
|
|
anchors.fill: parent
|
|
radius: 4
|
|
color: {
|
|
if (!button_add_site.enabled) {
|
|
return "#484952"
|
|
}
|
|
if (button_add_site.containsMouse) {
|
|
return "#282932"
|
|
}
|
|
return "#181922"
|
|
}
|
|
}
|
|
|
|
contentItem: Text {
|
|
anchors.fill: parent
|
|
font.family: "Lato"
|
|
font.styleName: "normal"
|
|
font.pixelSize: 16
|
|
color: "#D4D4D4"
|
|
text: button_add_site.text
|
|
horizontalAlignment: Text.AlignHCenter
|
|
verticalAlignment: Text.AlignVCenter
|
|
}
|
|
antialiasing: true
|
|
onClicked: {
|
|
UiLogic.goToPage(PageEnum.Sites)
|
|
}
|
|
}
|
|
}
|