filedialog for qml moved to main.qml

This commit is contained in:
vladimir.kuznetsov 2023-09-06 22:20:59 +05:00
parent 4ab006f065
commit c166327835
11 changed files with 213 additions and 52 deletions

View file

@ -125,18 +125,8 @@ PageType {
text: qsTr("Restore from backup")
onClicked: {
openFileDialog.open()
}
FileDialog {
id: openFileDialog
acceptLabel: qsTr("Open backup file")
nameFilters: [ "Backup files (*.backup)" ]
onAccepted: {
PageController.showBusyIndicator(true)
SettingsController.restoreAppConfig(openFileDialog.selectedFile.toString())
PageController.showBusyIndicator(false)
}
PageController.setupFileDialogForBackup()
SystemController.getFileName()
}
}
}

View file

@ -117,7 +117,7 @@ PageType {
currentFile: StandardPaths.standardLocations(StandardPaths.DocumentsLocation) + "/AmneziaVPN"
defaultSuffix: ".log"
onAccepted: {
ExportController.saveFile(fileDialog.currentFile.toString())
SettingsController.exportLogsFile(fileDialog.currentFile.toString())
}
}
}

View file

@ -44,8 +44,6 @@ PageType {
allExceptSites
]
property bool replaceExistingSites
QtObject {
id: onlyForwardSites
property string name: qsTr("Only the addresses in the list must be opened via VPN")
@ -303,7 +301,7 @@ PageType {
clickedFunction: function() {
if (Qt.platform.os === "ios") {
ExportController.saveFile("amezia_tunnel.json")
SitesController.exportSites("amezia_tunnel.json")
} else {
saveFileDialog.open()
}
@ -311,6 +309,7 @@ PageType {
FileDialog {
id: saveFileDialog
objectName: saveFileDialog
acceptLabel: qsTr("Save sites")
nameFilters: [ "Sites files (*.json)" ]
fileMode: FileDialog.SaveFile
@ -378,8 +377,8 @@ PageType {
text: qsTr("Replace site list")
clickedFunction: function() {
root.replaceExistingSites = true
openFileDialog.open()
PageController.setupFileDialogForSites(true)
SystemController.getFileName()
}
}
@ -390,25 +389,14 @@ PageType {
text: qsTr("Add imported sites to existing ones")
clickedFunction: function() {
root.replaceExistingSites = false
openFileDialog.open()
PageController.setupFileDialogForSites(false)
SystemController.getFileName()
importSitesDrawer.close()
moreActionsDrawer.close()
}
}
DividerType {}
FileDialog {
id: openFileDialog
acceptLabel: qsTr("Open sites file")
nameFilters: [ "Sites files (*.json)" ]
onAccepted: {
PageController.showBusyIndicator(true)
SitesController.importSites(openFileDialog.selectedFile.toString(), replaceExistingSites)
importSitesDrawer.close()
moreActionsDrawer.close()
PageController.showBusyIndicator(false)
}
}
}
}
}

View file

@ -65,28 +65,13 @@ It's okay as long as it's from someone you trust.")
Layout.fillWidth: true
Layout.topMargin: 16
text: qsTr("File with connection settings or backup")
text: !ServersModel.getServersCount() ? qsTr("File with connection settings or backup") : qsTr("File with connection settings")
rightImageSource: "qrc:/images/controls/chevron-right.svg"
leftImageSource: "qrc:/images/controls/folder-open.svg"
clickedFunction: function() {
fileDialog.open()
}
FileDialog {
id: fileDialog
acceptLabel: qsTr("Open config file")
nameFilters: [ "Config or backup files (*.vpn *.ovpn *.conf *.backup)" ]
onAccepted: {
if (fileDialog.selectedFile.toString().indexOf(".backup") != -1) {
PageController.showBusyIndicator(true)
SettingsController.restoreAppConfig(fileDialog.selectedFile.toString())
PageController.showBusyIndicator(false)
} else {
ImportController.extractConfigFromFile(fileDialog.selectedFile.toString())
PageController.goToPage(PageEnum.PageSetupWizardViewConfig)
}
}
PageController.setupFileDialogForConfig()
SystemController.getFileName()
}
}