feature: added ui for DefaultVPN

This commit is contained in:
vladimir.kuznetsov 2024-12-13 16:08:52 +07:00
parent d06924c59d
commit 2cfdc1df64
25 changed files with 1444 additions and 4 deletions

View file

@ -0,0 +1,112 @@
pragma ComponentBehavior: Bound
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import PageEnum 1.0
import Config 1.0
import "../Components"
import "../Controls"
import "../Controls/TextTypes"
Page {
id: root
Connections {
target: ImportController
function onImportErrorOccurred(error, goToPageHome) {
PageController.showErrorMessage(error)
}
function onImportFinished() {
if (!ConnectionController.isConnected) {
ServersModel.setDefaultServerIndex(ServersModel.getServersCount() - 1);
ServersModel.processedIndex = ServersModel.defaultIndex
}
PageController.goToStartPage()
}
}
ColumnLayout {
anchors.fill: parent
spacing: 0
RowLayout {
Layout.leftMargin: 8
Layout.rightMargin: 8
Layout.topMargin: 8
WhiteButtonNoBorder {
id: backButton
imageSource: "qrc:/images/controls/arrow-left.svg"
onClicked: PageController.closePage()
}
Item {
Layout.fillWidth: true
}
}
Header1TextType {
id: header
Layout.topMargin: 8
Layout.leftMargin: 16
Layout.rightMargin: 16
Layout.bottomMargin: 24
Layout.fillWidth: true
text: qsTr("Adding a server to connect to")
horizontalAlignment: Qt.AlignLeft
verticalAlignment: Qt.AlignVCenter
}
XSmallTextType {
Layout.leftMargin: 16
Layout.rightMargin: 16
Layout.bottomMargin: 8
Layout.fillWidth: true
text: qsTr("Key")
}
InputType {
id: textKey
Layout.leftMargin: 16
Layout.rightMargin: 16
Layout.fillWidth: true
Layout.preferredHeight: 308
placeholderText: qsTr("VPN://")
}
BlueButtonNoBorder {
Layout.topMargin: 24
Layout.leftMargin: 16
Layout.rightMargin: 16
Layout.fillWidth: true
text: qsTr("Add")
onClicked: function() {
if (ImportController.extractConfigFromData(textKey.text)) {
ImportController.importConfig()
} else {
PageController.showErrorMessage(qsTr("Unsupported config file"))
}
}
}
Item {
Layout.fillHeight: true
}
}
}