X-Git-Url: https://www.flypig.org.uk/git/?a=blobdiff_plain;f=qml%2Fpages%2FConfigurePage.qml;h=1615c97e53977c893ce3e1484af15c81f7ea8352;hb=e24363e314aca32e7bee952f02f517a04a8dc5f2;hp=0db890a47bce007b93efb4364a964dfe37db172f;hpb=2e0816fb79e6c696ada4fe098ba006fca2741a1f;p=openvpnui.git diff --git a/qml/pages/ConfigurePage.qml b/qml/pages/ConfigurePage.qml index 0db890a..1615c97 100644 --- a/qml/pages/ConfigurePage.qml +++ b/qml/pages/ConfigurePage.qml @@ -34,17 +34,42 @@ import QtQuick 2.0 import Sailfish.Silica 1.0 - +import "../components" +import "../filebrowse/pages/functions.js" as Functions Dialog { id: configurePage canAccept: true acceptDestinationAction: PageStackAction.Pop + property int _fileDialogue: 0 Connections { target:VpnControl } + // connect signals from engine to panels + Connections { + target: engine + onSelectedFilenameChanged: { + switch (_fileDialogue) { + case 1: + caCertFilename.value = engine.selectedFilename + break; + case 2: + clientCertFilename.value = engine.selectedFilename + break; + case 3: + clientKeyFilename.value = engine.selectedFilename + break; + case 4: + tlsKeyFilename.value = engine.selectedFilename + break; + } + _fileDialogue = 0; + } + } + + SilicaFlickable { // ComboBox requires a flickable ancestor width: parent.width @@ -96,10 +121,6 @@ Dialog { id: configureTLS text: "Use TLS authentication" checked: VpnControl.useTLS - onCheckedChanged: { - configureTLSdirection.enabled = checked - configureTLSinfo.visible = checked - } automaticCheck: true } // set currentIndex to change the selected value @@ -108,7 +129,7 @@ Dialog { width: parent.width label: "TLS direction" currentIndex: VpnControl.tlsDirection; - enabled: false + enabled: configureTLS.checked menu: ContextMenu { MenuItem { text: "0" } @@ -116,39 +137,50 @@ Dialog { } } - Label { - text: "Place key files on SD card:" - color: Theme.secondaryColor - font.pixelSize: Theme.fontSizeSmall - x: Theme.paddingLarge - } - Label { - text: "\tca.crt" - color: Theme.secondaryColor - font.pixelSize: Theme.fontSizeSmall - x: Theme.paddingLarge - } - Label { - text: "\tclient.crt" - color: Theme.secondaryColor - font.pixelSize: Theme.fontSizeSmall - x: Theme.paddingLarge + ValueButtonAlignRight { + id: caCertFilename + label: "CA cert" + value: "Select" + width: parent.width + onClicked: { + _fileDialogue = 1 + Functions.goToInitial(Functions.folderFromFile(value), "crt") + } } - Label { - text: "\tclient.key" - color: Theme.secondaryColor - font.pixelSize: Theme.fontSizeSmall - x: Theme.paddingLarge + + ValueButtonAlignRight { + id: clientCertFilename + value: "Select" + label: "Client cert" + width: parent.width + onClicked: { + _fileDialogue = 2; + Functions.goToInitial(Functions.folderFromFile(value), "crt") + } } - Label { - id: configureTLSinfo - visible: false - text: "\tta.key" - color: Theme.secondaryColor - font.pixelSize: Theme.fontSizeSmall - x: Theme.paddingLarge + + ValueButtonAlignRight { + id: clientKeyFilename + value: "Select" + label: "Client key" + width: parent.width + onClicked: { + _fileDialogue = 3; + Functions.goToInitial(Functions.folderFromFile(value), "key") + } } + ValueButtonAlignRight { + id: tlsKeyFilename + value: "Select" + label: "TLS key" + width: parent.width + enabled: configureTLS.checked + onClicked: { + _fileDialogue = 4; + Functions.goToInitial(Functions.folderFromFile(value), "key") + } + } } }