ServerContainersLogic
This commit is contained in:
parent
4c0ff29488
commit
deaeda59d0
26 changed files with 965 additions and 1035 deletions
474
client/ui/qml/Pages/PageServerContainers.qml
Normal file
474
client/ui/qml/Pages/PageServerContainers.qml
Normal file
|
|
@ -0,0 +1,474 @@
|
|||
import QtQuick 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
import "./"
|
||||
import "../Controls"
|
||||
import "../Config"
|
||||
|
||||
Item {
|
||||
id: root
|
||||
enabled: ServerContainersLogic.pageServerContainersEnabled
|
||||
ImageButtonType {
|
||||
id: back
|
||||
x: 10
|
||||
y: 10
|
||||
width: 26
|
||||
height: 20
|
||||
icon.source: "qrc:/images/arrow_left.png"
|
||||
onClicked: {
|
||||
UiLogic.closePage()
|
||||
}
|
||||
}
|
||||
Text {
|
||||
font.family: "Lato"
|
||||
font.styleName: "normal"
|
||||
font.pixelSize: 24
|
||||
color: "#100A44"
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
text: qsTr("Protocols")
|
||||
x: 10
|
||||
y: 35
|
||||
width: 361
|
||||
height: 31
|
||||
}
|
||||
ProgressBar {
|
||||
id: progress_bar
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
y: 570
|
||||
width: 301
|
||||
height: 40
|
||||
from: 0
|
||||
to: ServerContainersLogic.progressBarProtocolsContainerReinstallMaximium
|
||||
value: ServerContainersLogic.progressBarProtocolsContainerReinstallValue
|
||||
visible: ServerContainersLogic.progressBarProtocolsContainerReinstallVisible
|
||||
background: Rectangle {
|
||||
implicitWidth: parent.width
|
||||
implicitHeight: parent.height
|
||||
color: "#100A44"
|
||||
radius: 4
|
||||
}
|
||||
|
||||
contentItem: Item {
|
||||
implicitWidth: parent.width
|
||||
implicitHeight: parent.height
|
||||
Rectangle {
|
||||
width: progress_bar.visualPosition * parent.width
|
||||
height: parent.height
|
||||
radius: 4
|
||||
color: Qt.rgba(255, 255, 255, 0.15);
|
||||
}
|
||||
}
|
||||
|
||||
LabelType {
|
||||
anchors.fill: parent
|
||||
text: qsTr("Configuring...")
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
font.family: "Lato"
|
||||
font.styleName: "normal"
|
||||
font.pixelSize: 16
|
||||
color: "#D4D4D4"
|
||||
}
|
||||
}
|
||||
ScrollView {
|
||||
x: 0
|
||||
y: 70
|
||||
width: 380
|
||||
height: 471
|
||||
clip: true
|
||||
Column {
|
||||
spacing: 5
|
||||
Rectangle {
|
||||
id: frame_openvpn_ss_cloak
|
||||
x: 9
|
||||
height: 135
|
||||
width: 363
|
||||
border.width: 1
|
||||
border.color: "lightgray"
|
||||
radius: 2
|
||||
visible: ServerContainersLogic.frameOpenvpnSsCloakSettingsVisible
|
||||
Item {
|
||||
x: 5
|
||||
y: 5
|
||||
width: parent.width - 10
|
||||
height: parent.height - 10
|
||||
LabelType {
|
||||
anchors.left: parent.left
|
||||
width: 239
|
||||
height: 24
|
||||
text: qsTr("Cloak container")
|
||||
leftPadding: 5
|
||||
}
|
||||
ImageButtonType {
|
||||
anchors.right: sr1.left
|
||||
anchors.rightMargin: 5
|
||||
checkable: true
|
||||
icon.source: checked ? "qrc:/images/check.png" : "qrc:/images/uncheck.png"
|
||||
width: 24
|
||||
height: 24
|
||||
checked: ServerContainersLogic.pushButtonProtoCloakOpenvpnContDefaultChecked
|
||||
onCheckedChanged: {
|
||||
ServerContainersLogic.pushButtonProtoCloakOpenvpnContDefaultChecked = checked
|
||||
}
|
||||
onClicked: {
|
||||
ServerContainersLogic.onPushButtonProtoCloakOpenvpnContDefaultClicked(checked)
|
||||
}
|
||||
|
||||
visible: ServerContainersLogic.pushButtonProtoCloakOpenvpnContDefaultVisible
|
||||
}
|
||||
|
||||
ImageButtonType {
|
||||
id: sr1
|
||||
anchors.right: cn1.left
|
||||
anchors.rightMargin: 5
|
||||
icon.source: "qrc:/images/share.png"
|
||||
width: 24
|
||||
height: 24
|
||||
visible: ServerContainersLogic.pushButtonProtoCloakOpenvpnContShareVisible
|
||||
onClicked: {
|
||||
ServerContainersLogic.onPushButtonProtoCloakOpenvpnContShareClicked(false)
|
||||
}
|
||||
}
|
||||
ImageButtonType {
|
||||
id: cn1
|
||||
anchors.right: parent.right
|
||||
checkable: true
|
||||
icon.source: checked ? "qrc:/images/connect_button_connected.png"
|
||||
: "qrc:/images/connect_button_disconnected.png"
|
||||
width: 36
|
||||
height: 24
|
||||
checked: ServerContainersLogic.pushButtonProtoCloakOpenvpnContInstallChecked
|
||||
onCheckedChanged: {
|
||||
ServerContainersLogic.pushButtonProtoCloakOpenvpnContInstallChecked = checked
|
||||
}
|
||||
onClicked: {
|
||||
ServerContainersLogic.onPushButtonProtoCloakOpenvpnContInstallClicked(checked)
|
||||
}
|
||||
enabled: ServerContainersLogic.pushButtonProtoCloakOpenvpnContInstallEnabled
|
||||
}
|
||||
}
|
||||
Rectangle {
|
||||
x: 10
|
||||
y: 42
|
||||
height: 83
|
||||
width: 343
|
||||
border.width: 1
|
||||
border.color: "lightgray"
|
||||
radius: 2
|
||||
SettingButtonType {
|
||||
x: 10
|
||||
y: 10
|
||||
width: 323
|
||||
height: 24
|
||||
text: qsTr("OpenVPN settings")
|
||||
icon.source: "qrc:/images/settings.png"
|
||||
onClicked: {
|
||||
ServerContainersLogic.onPushButtonProtoCloakOpenvpnContOpenvpnConfigClicked()
|
||||
}
|
||||
}
|
||||
SettingButtonType {
|
||||
x: 10
|
||||
y: 33
|
||||
width: 323
|
||||
height: 24
|
||||
text: qsTr("ShadowSocks settings")
|
||||
icon.source: "qrc:/images/settings.png"
|
||||
onClicked: {
|
||||
ServerContainersLogic.onPushButtonProtoCloakOpenvpnContSsConfigClicked()
|
||||
}
|
||||
}
|
||||
SettingButtonType {
|
||||
x: 10
|
||||
y: 56
|
||||
width: 323
|
||||
height: 24
|
||||
text: qsTr("Cloak settings")
|
||||
icon.source: "qrc:/images/settings.png"
|
||||
onClicked: {
|
||||
ServerContainersLogic.onPushButtonProtoCloakOpenvpnContCloakConfigClicked()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Rectangle {
|
||||
id: frame_openvpn_ss
|
||||
x: 9
|
||||
height: 105
|
||||
width: 363
|
||||
border.width: 1
|
||||
border.color: "lightgray"
|
||||
radius: 2
|
||||
visible: ServerContainersLogic.frameOpenvpnSsSettingsVisible
|
||||
Item {
|
||||
x: 5
|
||||
y: 5
|
||||
width: parent.width - 10
|
||||
height: parent.height - 10
|
||||
LabelType {
|
||||
anchors.left: parent.left
|
||||
width: 239
|
||||
height: 24
|
||||
text: qsTr("ShadowSocks container")
|
||||
leftPadding: 5
|
||||
}
|
||||
ImageButtonType {
|
||||
anchors.right: sr2.left
|
||||
anchors.rightMargin: 5
|
||||
checkable: true
|
||||
icon.source: checked ? "qrc:/images/check.png" : "qrc:/images/uncheck.png"
|
||||
width: 24
|
||||
height: 24
|
||||
checked: ServerContainersLogic.pushButtonProtoSsOpenvpnContDefaultChecked
|
||||
onCheckedChanged: {
|
||||
ServerContainersLogic.pushButtonProtoSsOpenvpnContDefaultChecked = checked
|
||||
}
|
||||
onClicked: {
|
||||
ServerContainersLogic.onPushButtonProtoSsOpenvpnContDefaultClicked(checked)
|
||||
}
|
||||
|
||||
visible: ServerContainersLogic.pushButtonProtoSsOpenvpnContDefaultVisible
|
||||
}
|
||||
|
||||
ImageButtonType {
|
||||
id: sr2
|
||||
anchors.right: cn2.left
|
||||
anchors.rightMargin: 5
|
||||
icon.source: "qrc:/images/share.png"
|
||||
width: 24
|
||||
height: 24
|
||||
visible: ServerContainersLogic.pushButtonProtoSsOpenvpnContShareVisible
|
||||
onClicked: {
|
||||
ServerContainersLogic.onPushButtonProtoSsOpenvpnContShareClicked(false)
|
||||
}
|
||||
}
|
||||
ImageButtonType {
|
||||
id: cn2
|
||||
anchors.right: parent.right
|
||||
checkable: true
|
||||
icon.source: checked ? "qrc:/images/connect_button_connected.png"
|
||||
: "qrc:/images/connect_button_disconnected.png"
|
||||
width: 36
|
||||
height: 24
|
||||
checked: ServerContainersLogic.pushButtonProtoSsOpenvpnContInstallChecked
|
||||
onCheckedChanged: {
|
||||
ServerContainersLogic.pushButtonProtoSsOpenvpnContInstallChecked = checked
|
||||
}
|
||||
onClicked: {
|
||||
ServerContainersLogic.onPushButtonProtoSsOpenvpnContInstallClicked(checked)
|
||||
}
|
||||
enabled: ServerContainersLogic.pushButtonProtoSsOpenvpnContInstallEnabled
|
||||
}
|
||||
}
|
||||
Rectangle {
|
||||
x: 10
|
||||
y: 42
|
||||
height: 53
|
||||
width: 343
|
||||
border.width: 1
|
||||
border.color: "lightgray"
|
||||
radius: 2
|
||||
SettingButtonType {
|
||||
x: 10
|
||||
y: 5
|
||||
width: 323
|
||||
height: 24
|
||||
text: qsTr("OpenVPN settings")
|
||||
icon.source: "qrc:/images/settings.png"
|
||||
onClicked: {
|
||||
ServerContainersLogic.onPushButtonProtoSsOpenvpnContOpenvpnConfigClicked()
|
||||
}
|
||||
}
|
||||
SettingButtonType {
|
||||
x: 10
|
||||
y: 27
|
||||
width: 323
|
||||
height: 24
|
||||
text: qsTr("ShadowSocks settings")
|
||||
icon.source: "qrc:/images/settings.png"
|
||||
onClicked: {
|
||||
ServerContainersLogic.onPushButtonProtoSsOpenvpnContSsConfigClicked()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Rectangle {
|
||||
id: frame_openvpn
|
||||
x: 9
|
||||
height: 100
|
||||
width: 363
|
||||
border.width: 1
|
||||
border.color: "lightgray"
|
||||
radius: 2
|
||||
visible: ServerContainersLogic.frameOpenvpnSettingsVisible
|
||||
Item {
|
||||
x: 5
|
||||
y: 5
|
||||
width: parent.width - 10
|
||||
height: parent.height - 10
|
||||
LabelType {
|
||||
anchors.left: parent.left
|
||||
width: 239
|
||||
height: 24
|
||||
text: qsTr("OpenVPN container")
|
||||
leftPadding: 5
|
||||
}
|
||||
ImageButtonType {
|
||||
anchors.right: sr3.left
|
||||
anchors.rightMargin: 5
|
||||
checkable: true
|
||||
icon.source: checked ? "qrc:/images/check.png" : "qrc:/images/uncheck.png"
|
||||
width: 24
|
||||
height: 24
|
||||
checked: ServerContainersLogic.pushButtonProtoOpenvpnContDefaultChecked
|
||||
onCheckedChanged: {
|
||||
ServerContainersLogic.pushButtonProtoOpenvpnContDefaultChecked = checked
|
||||
}
|
||||
onClicked: {
|
||||
ServerContainersLogic.onPushButtonProtoOpenvpnContDefaultClicked(checked)
|
||||
}
|
||||
|
||||
visible: ServerContainersLogic.pushButtonProtoOpenvpnContDefaultVisible
|
||||
}
|
||||
|
||||
ImageButtonType {
|
||||
id: sr3
|
||||
anchors.right: cn3.left
|
||||
anchors.rightMargin: 5
|
||||
icon.source: "qrc:/images/share.png"
|
||||
width: 24
|
||||
height: 24
|
||||
visible: ServerContainersLogic.pushButtonProtoOpenvpnContShareVisible
|
||||
onClicked: {
|
||||
ServerContainersLogic.onPushButtonProtoOpenvpnContShareClicked(false)
|
||||
}
|
||||
}
|
||||
ImageButtonType {
|
||||
id: cn3
|
||||
anchors.right: parent.right
|
||||
checkable: true
|
||||
icon.source: checked ? "qrc:/images/connect_button_connected.png"
|
||||
: "qrc:/images/connect_button_disconnected.png"
|
||||
width: 36
|
||||
height: 24
|
||||
checked: ServerContainersLogic.pushButtonProtoOpenvpnContInstallChecked
|
||||
onCheckedChanged: {
|
||||
ServerContainersLogic.pushButtonProtoOpenvpnContInstallChecked = checked
|
||||
}
|
||||
onClicked: {
|
||||
ServerContainersLogic.onPushButtonProtoOpenvpnContInstallClicked(checked)
|
||||
}
|
||||
enabled: ServerContainersLogic.pushButtonProtoOpenvpnContInstallEnabled
|
||||
}
|
||||
}
|
||||
Rectangle {
|
||||
x: 10
|
||||
y: 42
|
||||
height: 44
|
||||
width: 343
|
||||
border.width: 1
|
||||
border.color: "lightgray"
|
||||
radius: 2
|
||||
SettingButtonType {
|
||||
x: 10
|
||||
y: 10
|
||||
width: 323
|
||||
height: 24
|
||||
text: qsTr("OpenVPN settings")
|
||||
icon.source: "qrc:/images/settings.png"
|
||||
onClicked: {
|
||||
ServerContainersLogic.onPushButtonProtoOpenvpnContOpenvpnConfigClicked()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Rectangle {
|
||||
id: frame_wireguard
|
||||
x: 9
|
||||
height: 100
|
||||
width: 363
|
||||
border.width: 1
|
||||
border.color: "lightgray"
|
||||
radius: 2
|
||||
visible: ServerContainersLogic.frameWireguardVisible
|
||||
Item {
|
||||
x: 5
|
||||
y: 5
|
||||
width: parent.width - 10
|
||||
height: parent.height - 10
|
||||
LabelType {
|
||||
anchors.left: parent.left
|
||||
width: 239
|
||||
height: 24
|
||||
text: qsTr("WireGuard container")
|
||||
leftPadding: 5
|
||||
}
|
||||
ImageButtonType {
|
||||
anchors.right: sr4.left
|
||||
anchors.rightMargin: 5
|
||||
checkable: true
|
||||
icon.source: checked ? "qrc:/images/check.png" : "qrc:/images/uncheck.png"
|
||||
width: 24
|
||||
height: 24
|
||||
checked: ServerContainersLogic.pushButtonProtoWireguardContDefaultChecked
|
||||
onCheckedChanged: {
|
||||
ServerContainersLogic.pushButtonProtoWireguardContDefaultChecked = checked
|
||||
}
|
||||
onClicked: {
|
||||
ServerContainersLogic.onPushButtonProtoWireguardContDefaultClicked(checked)
|
||||
}
|
||||
|
||||
visible: ServerContainersLogic.pushButtonProtoWireguardContDefaultVisible
|
||||
}
|
||||
|
||||
ImageButtonType {
|
||||
id: sr4
|
||||
anchors.right: cn4.left
|
||||
anchors.rightMargin: 5
|
||||
icon.source: "qrc:/images/share.png"
|
||||
width: 24
|
||||
height: 24
|
||||
visible: ServerContainersLogic.pushButtonProtoWireguardContShareVisible
|
||||
onClicked: {
|
||||
ServerContainersLogic.onPushButtonProtoWireguardContShareClicked(false)
|
||||
}
|
||||
}
|
||||
ImageButtonType {
|
||||
id: cn4
|
||||
anchors.right: parent.right
|
||||
checkable: true
|
||||
icon.source: checked ? "qrc:/images/connect_button_connected.png"
|
||||
: "qrc:/images/connect_button_disconnected.png"
|
||||
width: 36
|
||||
height: 24
|
||||
checked: ServerContainersLogic.pushButtonProtoWireguardContInstallChecked
|
||||
onCheckedChanged: {
|
||||
ServerContainersLogic.pushButtonProtoWireguardContInstallChecked = checked
|
||||
}
|
||||
onClicked: {
|
||||
ServerContainersLogic.onPushButtonProtoWireguardContInstallClicked(checked)
|
||||
}
|
||||
enabled: ServerContainersLogic.pushButtonProtoWireguardContInstallEnabled
|
||||
}
|
||||
}
|
||||
Rectangle {
|
||||
id: frame_wireguard_settings
|
||||
visible: ServerContainersLogic.frameWireguardSettingsVisible
|
||||
x: 10
|
||||
y: 42
|
||||
height: 44
|
||||
width: 343
|
||||
border.width: 1
|
||||
border.color: "lightgray"
|
||||
radius: 2
|
||||
SettingButtonType {
|
||||
x: 10
|
||||
y: 10
|
||||
width: 323
|
||||
height: 24
|
||||
text: qsTr("WireGuard settings")
|
||||
icon.source: "qrc:/images/settings.png"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue