From 79f29b243058e6cfdf145196ebc629dda835445c Mon Sep 17 00:00:00 2001 From: Samuel Woon Date: Sun, 30 Aug 2020 01:04:40 -0500 Subject: [PATCH] Allow selection of multiple files by @samuel-w for #593 --- src/vorta/assets/UI/sourcetab.ui | 4 ++-- src/vorta/utils.py | 2 +- src/vorta/views/source_tab.py | 10 +++++----- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/vorta/assets/UI/sourcetab.ui b/src/vorta/assets/UI/sourcetab.ui index a7108122..88c40f62 100644 --- a/src/vorta/assets/UI/sourcetab.ui +++ b/src/vorta/assets/UI/sourcetab.ui @@ -54,7 +54,7 @@ - Add File + Add File(s) @@ -64,7 +64,7 @@ One folder or file per line - Paste + Paste Folders/Files diff --git a/src/vorta/utils.py b/src/vorta/utils.py index 8e8b6b39..4cec6908 100644 --- a/src/vorta/utils.py +++ b/src/vorta/utils.py @@ -54,7 +54,7 @@ def choose_file_dialog(parent, title, want_folder=True): if want_folder: options |= QFileDialog.ShowDirsOnly dialog = QFileDialog(parent, title, os.path.expanduser('~'), options=options) - dialog.setFileMode(QFileDialog.Directory if want_folder else QFileDialog.AnyFile) + dialog.setFileMode(QFileDialog.Directory if want_folder else QFileDialog.ExistingFiles) dialog.setParent(parent, QtCore.Qt.Sheet) return dialog diff --git a/src/vorta/views/source_tab.py b/src/vorta/views/source_tab.py index b48bc9e0..30593199 100644 --- a/src/vorta/views/source_tab.py +++ b/src/vorta/views/source_tab.py @@ -39,14 +39,14 @@ class SourceTab(SourceBase, SourceUI, BackupProfileMixin): def source_add(self, want_folder): def receive(): - dir = dialog.selectedFiles() - if dir: - new_source, created = SourceFileModel.get_or_create(dir=dir[0], profile=self.profile()) + dirs = dialog.selectedFiles() + for dir in dirs: + new_source, created = SourceFileModel.get_or_create(dir=dir, profile=self.profile()) if created: - self.sourceFilesWidget.addItem(dir[0]) + self.sourceFilesWidget.addItem(dir) new_source.save() - msg = self.tr("Choose directory to back up") if want_folder else self.tr("Choose file to back up") + msg = self.tr("Choose directory to back up") if want_folder else self.tr("Choose file(s) to back up") dialog = choose_file_dialog(self, msg, want_folder=want_folder) dialog.open(receive)