mirror of
https://github.com/QRouland/UTPass.git
synced 2026-01-08 10:46:58 +00:00
Fix an UI GPG key import popup not showing up
This commit is contained in:
@@ -1,48 +1,108 @@
|
||||
import "../../components"
|
||||
import Pass 1.0
|
||||
|
||||
import "../../dialogs"
|
||||
import "../headers"
|
||||
import Lomiri.Components 1.3
|
||||
import Lomiri.Components.Popups 1.3
|
||||
import Lomiri.Content 1.3
|
||||
import Pass 1.0
|
||||
import QtQuick 2.4
|
||||
import Utils 1.0
|
||||
|
||||
ImportFile {
|
||||
|
||||
|
||||
Page {
|
||||
id: importKeyFilePage
|
||||
|
||||
headerTitle: i18n.tr("GPG Key Import")
|
||||
dialogSuccessTxt : i18n.tr("Key successfully imported !")
|
||||
dialogErrorTxt : i18n.tr("Key import failed !")
|
||||
property var activeTransfer
|
||||
property alias contentPicker : contentPicker
|
||||
|
||||
property string __text_error_description : null
|
||||
|
||||
|
||||
ContentPeerPicker {
|
||||
id: contentPicker
|
||||
anchors.top: importKeyHeader.bottom
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.topMargin: importKeyFilePage.header.height
|
||||
width: parent.width
|
||||
visible: parent.visible
|
||||
showTitle: false
|
||||
contentType: ContentType.Text
|
||||
handler: ContentHandler.Source
|
||||
|
||||
onPeerSelected: {
|
||||
{
|
||||
importKeyFilePage.contentPicker.peer.selectionType = ContentTransfer.Single;
|
||||
importKeyFilePage.activeTransfer = importKeyFilePage.contentPicker.peer.request();
|
||||
importKeyFilePage.activeTransfer.stateChanged.connect(function() {
|
||||
if (importKeyFilePage.activeTransfer.state === ContentTransfer.Charged) {
|
||||
console.log("Charged");
|
||||
console.log(importKeyFilePage.activeTransfer.items[0].url);
|
||||
Pass.importGPGKey(importKeyFilePage.activeTransfer.items[0].url);
|
||||
Pass.importGPGKeySucceed.connect(function() {
|
||||
Utils.rmFile(importKeyFilePage.activeTransfer.items[0].url);
|
||||
importKeyFilePage.activeTransfer = null;
|
||||
PopupUtils.open(dialogImportKeyPageSucess);
|
||||
});
|
||||
Pass.importGPGKeyFailed.connect(function(err, message) {
|
||||
Utils.rmFile(importKeyFilePage.activeTransfer.items[0].url);
|
||||
importKeyFilePage.activeTransfer = null;
|
||||
switch (code) {
|
||||
case 1: // UnexceptedError -> use the default (not translate) rnp error
|
||||
__text_error_description = message;
|
||||
break;
|
||||
case 2: // BadFormat
|
||||
__text_error_description = i18n.tr("The file is not in a valid key format");
|
||||
break;
|
||||
default:
|
||||
console.warn("Unhandled error code");
|
||||
__text_error_description = message;
|
||||
break;
|
||||
}
|
||||
PopupUtils.open(dialogImportKeyPageError);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
onCancelPressed: {
|
||||
pageStack.pop();
|
||||
}
|
||||
}
|
||||
|
||||
ContentTransferHint {
|
||||
id: transferHint
|
||||
|
||||
anchors.fill: parent
|
||||
activeTransfer: importKeyFilePage.activeTransfer
|
||||
}
|
||||
|
||||
|
||||
header: StackHeader {
|
||||
id: importKeyHeader
|
||||
|
||||
title: i18n.tr("GPG Key Import")
|
||||
}
|
||||
|
||||
Component {
|
||||
id: dialogImportKeyPageError
|
||||
|
||||
ErrorDialog {
|
||||
textError: i18n.tr("Key import failed !")
|
||||
textErrorDescription: __text_error_description
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Component {
|
||||
id: dialogImportKeyPageSucess
|
||||
|
||||
SuccessDialog {
|
||||
textSuccess: i18n.tr("Key successfully imported !")
|
||||
onDialogClosed: {
|
||||
pageStack.pop();
|
||||
}
|
||||
}
|
||||
|
||||
contentPicker.onPeerSelected: {
|
||||
{
|
||||
importKeyFilePage.contentPicker.peer.selectionType = ContentTransfer.Single;
|
||||
importKeyFilePage.activeTransfer = importKeyFilePage.contentPicker.peer.request();
|
||||
importKeyFilePage.activeTransfer.stateChanged.connect(function() {
|
||||
if (importKeyFilePage.activeTransfer.state === ContentTransfer.Charged) {
|
||||
console.log("Charged");
|
||||
console.log(importKeyFilePage.activeTransfer.items[0].url);
|
||||
Pass.importGPGKey(importKeyFilePage.activeTransfer.items[0].url);
|
||||
Pass.importGPGKeySucceed.connect(function() {
|
||||
Utils.rmFile(importKeyFilePage.activeTransfer.items[0].url);
|
||||
importKeyFilePage.activeTransfer = null;
|
||||
PopupUtils.open(importKeyFilePage.dialogImportKeyPageSucess);
|
||||
});
|
||||
Pass.importGPGKeyFailed.connect(function(err, message) {
|
||||
Utils.rmFile(importKeyFilePage.activeTransfer.items[0].url);
|
||||
importKeyFilePage.activeTransfer = null;
|
||||
switch (code) {
|
||||
case 1: // UnexceptedError -> use the default (not translate) rnp error
|
||||
__text_error_description = message;
|
||||
break;
|
||||
case 2: // BadFormat
|
||||
__text_error_description = i18n.tr("The file is not in a valid key format");
|
||||
break;
|
||||
default:
|
||||
console.warn("Unhandled error code");
|
||||
__text_error_description = message;
|
||||
break;
|
||||
}
|
||||
PopupUtils.open(importKeyFilePage.dialogImportKeyPageError);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,8 @@ import "../../components"
|
||||
import Utils 1.0
|
||||
import Git 1.0
|
||||
|
||||
import Lomiri.Components 1.3
|
||||
import Lomiri.Components.Popups 1.3
|
||||
import Lomiri.Content 1.3
|
||||
|
||||
ImportFile {
|
||||
|
||||
Reference in New Issue
Block a user