109 lines
3 KiB
QML
109 lines
3 KiB
QML
import QtQuick 2.12
|
|
import QtQuick.Controls 2.12
|
|
import QtQuick.Layouts 1.15
|
|
import ProtocolEnum 1.0
|
|
import "../"
|
|
import "../../Controls"
|
|
import "../../Config"
|
|
|
|
PageShareProtocolBase {
|
|
id: root
|
|
protocol: ProtocolEnum.Cloak
|
|
|
|
BackButton {
|
|
id: back
|
|
}
|
|
Caption {
|
|
id: caption
|
|
text: qsTr("Share Cloak Settings")
|
|
}
|
|
|
|
FlickableType {
|
|
id: fl
|
|
width: root.width
|
|
anchors.top: caption.bottom
|
|
anchors.topMargin: 20
|
|
anchors.bottom: root.bottom
|
|
anchors.bottomMargin: 20
|
|
anchors.left: root.left
|
|
anchors.leftMargin: 30
|
|
anchors.right: root.right
|
|
anchors.rightMargin: 15
|
|
|
|
contentHeight: content.height
|
|
clip: true
|
|
|
|
ColumnLayout {
|
|
id: content
|
|
enabled: logic.pageEnabled
|
|
anchors.top: parent.top
|
|
anchors.left: parent.left
|
|
anchors.right: parent.right
|
|
anchors.rightMargin: 15
|
|
|
|
LabelType {
|
|
id: lb_desc
|
|
Layout.fillWidth: true
|
|
Layout.topMargin: 10
|
|
|
|
horizontalAlignment: Text.AlignHCenter
|
|
|
|
wrapMode: Text.Wrap
|
|
text: qsTr("Note: Cloak protocol using same password for all connections")
|
|
}
|
|
|
|
ShareConnectionButtonType {
|
|
Layout.topMargin: 10
|
|
Layout.fillWidth: true
|
|
Layout.preferredHeight: 40
|
|
|
|
text: genConfigProcess ? generatingConfigText : generateConfigText
|
|
onClicked: {
|
|
enabled = false
|
|
genConfigProcess = true
|
|
ShareConnectionLogic.onPushButtonShareCloakGenerateClicked()
|
|
enabled = true
|
|
genConfigProcess = false
|
|
}
|
|
}
|
|
|
|
TextAreaType {
|
|
id: tfShareCode
|
|
|
|
Layout.topMargin: 20
|
|
Layout.bottomMargin: 20
|
|
Layout.fillWidth: true
|
|
Layout.preferredHeight: 200
|
|
|
|
textArea.readOnly: true
|
|
textArea.text: ShareConnectionLogic.textEditShareCloakText
|
|
|
|
visible: tfShareCode.textArea.length > 0
|
|
}
|
|
|
|
ShareConnectionButtonCopyType {
|
|
Layout.bottomMargin: 10
|
|
Layout.fillWidth: true
|
|
Layout.preferredHeight: 40
|
|
|
|
copyText: tfShareCode.textArea.text
|
|
}
|
|
|
|
ShareConnectionButtonType {
|
|
Layout.bottomMargin: 10
|
|
Layout.fillWidth: true
|
|
Layout.preferredHeight: 40
|
|
|
|
text: Qt.platform.os === "android" ? qsTr("Share") : qsTr("Save to file")
|
|
enabled: tfShareCode.textArea.length > 0
|
|
visible: tfShareCode.textArea.length > 0
|
|
|
|
onClicked: {
|
|
UiLogic.saveTextFile(qsTr("Save AmneziaVPN config"), "amnezia_config_cloak.json", "*.json", tfShareCode.textArea.text)
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
}
|