forked from QRouland/UTPass
100 lines
2.7 KiB
QML
100 lines
2.7 KiB
QML
|
import QtQuick 2.4
|
||
|
import Ubuntu.Components 1.3
|
||
|
import Ubuntu.Content 1.3
|
||
|
import Ubuntu.Components.Popups 1.3
|
||
|
import Pass 1.0
|
||
|
import Utils 1.0
|
||
|
import "../headers"
|
||
|
import "../../dialogs"
|
||
|
|
||
|
Page {
|
||
|
id: importZipPage
|
||
|
|
||
|
property var activeTransfer
|
||
|
|
||
|
header: StackHeader {
|
||
|
id: importZipHeader
|
||
|
title: i18n.tr("Zip Password Store Import")
|
||
|
}
|
||
|
|
||
|
ContentPeerPicker {
|
||
|
anchors.top: importZipHeader.bottom
|
||
|
anchors.bottom: parent.bottom
|
||
|
anchors.topMargin: importZipPage.header.height
|
||
|
|
||
|
width: parent.width
|
||
|
|
||
|
visible: parent.visible
|
||
|
showTitle: false
|
||
|
contentType: ContentType.Text
|
||
|
handler: ContentHandler.Source
|
||
|
|
||
|
onPeerSelected: {
|
||
|
peer.selectionType = ContentTransfer.Single
|
||
|
importZipPage.activeTransfer = peer.request()
|
||
|
|
||
|
importZipPage.activeTransfer.stateChanged.connect(function () {
|
||
|
if (importZipPage.activeTransfer.state === ContentTransfer.Charged) {
|
||
|
console.log("Charged")
|
||
|
console.log(importZipPage.activeTransfer.items[0].url)
|
||
|
|
||
|
var status = Utils.unzip(
|
||
|
importZipPage.activeTransfer.items[0].url,
|
||
|
Pass.getPasswordStore())
|
||
|
|
||
|
Utils.rmFile(importZipPage.activeTransfer.items[0].url)
|
||
|
|
||
|
if (status) {
|
||
|
PopupUtils.open(dialogImportZipPageSuccess)
|
||
|
} else {
|
||
|
PopupUtils.open(dialogImportZipPageError)
|
||
|
}
|
||
|
importZipPage.activeTransfer = null
|
||
|
}
|
||
|
})
|
||
|
}
|
||
|
|
||
|
onCancelPressed: {
|
||
|
pageStack.pop()
|
||
|
}
|
||
|
}
|
||
|
|
||
|
ContentTransferHint {
|
||
|
id: transferHint
|
||
|
anchors.fill: parent
|
||
|
activeTransfer: importZipPage.activeTransfer
|
||
|
}
|
||
|
|
||
|
Component {
|
||
|
id: importZipPageImportValidation
|
||
|
SimpleValidationDialog {
|
||
|
text: i18n.tr(
|
||
|
"Importing a new zip will delete<br>any existing password store!<br>Continue ?")
|
||
|
onCanceled: {
|
||
|
pageStack.pop()
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Component {
|
||
|
id: dialogImportZipPageError
|
||
|
ErrorDialog {
|
||
|
textError: i18n.tr("Password store import failed !")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Component {
|
||
|
id: dialogImportZipPageSuccess
|
||
|
SuccessDialog {
|
||
|
textSuccess: i18n.tr("Password store sucessfully imported !")
|
||
|
onDialogClosed: {
|
||
|
pageStack.pop()
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Component.onCompleted: {
|
||
|
PopupUtils.open(importZipPageImportValidation, importZipPage)
|
||
|
}
|
||
|
}
|