chore: fixed qr code display
This commit is contained in:
parent
c128ba981c
commit
a5254ac238
3 changed files with 17 additions and 12 deletions
|
@ -99,8 +99,7 @@ void ApiConfigsController::prepareVpnKeyExport()
|
||||||
|
|
||||||
auto vpnKey = apiConfigObject.value(apiDefs::key::vpnKey).toString();
|
auto vpnKey = apiConfigObject.value(apiDefs::key::vpnKey).toString();
|
||||||
|
|
||||||
auto qr = qrCodeUtils::generateQrCode(vpnKey.toUtf8());
|
m_qrCodes = qrCodeUtils::generateQrCodeImageSeries(vpnKey.toUtf8());
|
||||||
m_qrCodes << qrCodeUtils::svgToBase64(QString::fromStdString(toSvgString(qr, 1)));
|
|
||||||
|
|
||||||
emit vpnKeyExportReady();
|
emit vpnKeyExportReady();
|
||||||
}
|
}
|
||||||
|
@ -214,6 +213,7 @@ bool ApiConfigsController::updateServiceFromGateway(const int serverIndex, const
|
||||||
newApiConfig.insert(configKey::userCountryCode, apiConfig.value(configKey::userCountryCode));
|
newApiConfig.insert(configKey::userCountryCode, apiConfig.value(configKey::userCountryCode));
|
||||||
newApiConfig.insert(configKey::serviceType, apiConfig.value(configKey::serviceType));
|
newApiConfig.insert(configKey::serviceType, apiConfig.value(configKey::serviceType));
|
||||||
newApiConfig.insert(configKey::serviceProtocol, apiConfig.value(configKey::serviceProtocol));
|
newApiConfig.insert(configKey::serviceProtocol, apiConfig.value(configKey::serviceProtocol));
|
||||||
|
newApiConfig.insert(apiDefs::key::vpnKey, apiConfig.value(apiDefs::key::vpnKey));
|
||||||
|
|
||||||
newServerConfig.insert(configKey::apiConfig, newApiConfig);
|
newServerConfig.insert(configKey::apiConfig, newApiConfig);
|
||||||
newServerConfig.insert(configKey::authData, authData);
|
newServerConfig.insert(configKey::authData, authData);
|
||||||
|
|
|
@ -24,7 +24,7 @@ DrawerType2 {
|
||||||
property string configContentHeaderText
|
property string configContentHeaderText
|
||||||
property string shareButtonText: qsTr("Share")
|
property string shareButtonText: qsTr("Share")
|
||||||
property string copyButtonText: qsTr("Copy")
|
property string copyButtonText: qsTr("Copy")
|
||||||
property bool showSettingsButtonVisible: true
|
property bool isSelfHostedConfig: true
|
||||||
|
|
||||||
property string configExtension: ".vpn"
|
property string configExtension: ".vpn"
|
||||||
property string configCaption: qsTr("Save AmneziaVPN config")
|
property string configCaption: qsTr("Save AmneziaVPN config")
|
||||||
|
@ -153,7 +153,7 @@ DrawerType2 {
|
||||||
Layout.leftMargin: 16
|
Layout.leftMargin: 16
|
||||||
Layout.rightMargin: 16
|
Layout.rightMargin: 16
|
||||||
|
|
||||||
visible: root.showSettingsButtonVisible
|
visible: root.isSelfHostedConfig
|
||||||
|
|
||||||
defaultColor: AmneziaStyle.color.transparent
|
defaultColor: AmneziaStyle.color.transparent
|
||||||
hoveredColor: AmneziaStyle.color.translucentWhite
|
hoveredColor: AmneziaStyle.color.translucentWhite
|
||||||
|
@ -285,6 +285,8 @@ DrawerType2 {
|
||||||
delegate: ColumnLayout {
|
delegate: ColumnLayout {
|
||||||
width: listView.width
|
width: listView.width
|
||||||
|
|
||||||
|
property bool isQrCodeVisible: root.isSelfHostedConfig ? ExportController.qrCodesCount > 0 : ApiConfigsController.qrCodesCount > 0
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
id: qrCodeContainer
|
id: qrCodeContainer
|
||||||
|
|
||||||
|
@ -294,7 +296,7 @@ DrawerType2 {
|
||||||
Layout.leftMargin: 16
|
Layout.leftMargin: 16
|
||||||
Layout.rightMargin: 16
|
Layout.rightMargin: 16
|
||||||
|
|
||||||
visible: ExportController.qrCodesCount > 0
|
visible: isQrCodeVisible
|
||||||
|
|
||||||
color: "white"
|
color: "white"
|
||||||
|
|
||||||
|
@ -302,7 +304,8 @@ DrawerType2 {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
smooth: false
|
smooth: false
|
||||||
|
|
||||||
source: ExportController.qrCodesCount ? ExportController.qrCodes[0] : ""
|
source: root.isSelfHostedConfig ? (isQrCodeVisible ? ExportController.qrCodes[0] : "") :
|
||||||
|
(isQrCodeVisible ? ApiConfigsController.qrCodes[0] : "")
|
||||||
|
|
||||||
property bool isFocusable: true
|
property bool isFocusable: true
|
||||||
|
|
||||||
|
@ -333,15 +336,17 @@ DrawerType2 {
|
||||||
Timer {
|
Timer {
|
||||||
property int index: 0
|
property int index: 0
|
||||||
interval: 1000
|
interval: 1000
|
||||||
running: ExportController.qrCodesCount > 0
|
running: isQrCodeVisible
|
||||||
repeat: true
|
repeat: true
|
||||||
onTriggered: {
|
onTriggered: {
|
||||||
if (ExportController.qrCodesCount > 0) {
|
if (isQrCodeVisible) {
|
||||||
index++
|
index++
|
||||||
if (index >= ExportController.qrCodesCount) {
|
let qrCodesCount = root.isSelfHostedConfig ? ExportController.qrCodesCount : ApiConfigsController.qrCodesCount
|
||||||
|
if (index >= qrCodesCount) {
|
||||||
index = 0
|
index = 0
|
||||||
}
|
}
|
||||||
parent.source = ExportController.qrCodes[index]
|
|
||||||
|
parent.source = root.isSelfHostedConfig ? ExportController.qrCodes[index] : ApiConfigsController.qrCodes[index]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -359,7 +364,7 @@ DrawerType2 {
|
||||||
Layout.leftMargin: 16
|
Layout.leftMargin: 16
|
||||||
Layout.rightMargin: 16
|
Layout.rightMargin: 16
|
||||||
|
|
||||||
visible: ExportController.qrCodesCount > 0
|
visible: isQrCodeVisible
|
||||||
|
|
||||||
horizontalAlignment: Text.AlignHCenter
|
horizontalAlignment: Text.AlignHCenter
|
||||||
text: qsTr("To read the QR code in the Amnezia app, select \"Add server\" → \"I have data to connect\" → \"QR code, key or settings file\"")
|
text: qsTr("To read the QR code in the Amnezia app, select \"Add server\" → \"I have data to connect\" → \"QR code, key or settings file\"")
|
||||||
|
|
|
@ -163,7 +163,7 @@ PageType {
|
||||||
shareConnectionDrawer.headerText = qsTr("Amnezia Premium subscription key")
|
shareConnectionDrawer.headerText = qsTr("Amnezia Premium subscription key")
|
||||||
|
|
||||||
shareConnectionDrawer.openTriggered()
|
shareConnectionDrawer.openTriggered()
|
||||||
shareConnectionDrawer.showSettingsButtonVisible = false;
|
shareConnectionDrawer.isSelfHostedConfig = false;
|
||||||
shareConnectionDrawer.shareButtonText = qsTr("Save VPN key to file")
|
shareConnectionDrawer.shareButtonText = qsTr("Save VPN key to file")
|
||||||
shareConnectionDrawer.copyButtonText = qsTr("Copy VPN key")
|
shareConnectionDrawer.copyButtonText = qsTr("Copy VPN key")
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue