From cd7c121c1fb4806211bf9c9fa159d33ca7e66a5a Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Sat, 24 Nov 2018 05:12:12 +0100 Subject: [PATCH] sources: add option to add a single file --- src/vorta/assets/UI/sourcetab.ui | 13 ++++++++++--- src/vorta/utils.py | 7 ++++--- src/vorta/views/source_tab.py | 8 +++++--- 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/vorta/assets/UI/sourcetab.ui b/src/vorta/assets/UI/sourcetab.ui index 821241ae..b587ea99 100644 --- a/src/vorta/assets/UI/sourcetab.ui +++ b/src/vorta/assets/UI/sourcetab.ui @@ -17,7 +17,7 @@ - Choose folders to back up. + Source folders and files to back up @@ -42,16 +42,23 @@ - + Add Folder + + + + Add File + + + - Remove Folder + Remove diff --git a/src/vorta/utils.py b/src/vorta/utils.py index a6f1335e..f9a2530a 100644 --- a/src/vorta/utils.py +++ b/src/vorta/utils.py @@ -57,11 +57,12 @@ else: # Fall back to saving password to database. keyring.set_keyring(VortaKeyring()) -def choose_folder_dialog(parent, title): +def choose_folder_dialog(parent, title, want_folder=True): options = QFileDialog.Options() - options |= QFileDialog.ShowDirsOnly + if want_folder: + options |= QFileDialog.ShowDirsOnly dialog = QFileDialog(parent, title, os.path.expanduser('~'), options=options) - dialog.setFileMode(QFileDialog.Directory) + dialog.setFileMode(QFileDialog.Directory if want_folder else QFileDialog.AnyFile) 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 051a68ff..104aa38e 100644 --- a/src/vorta/views/source_tab.py +++ b/src/vorta/views/source_tab.py @@ -11,7 +11,8 @@ class SourceTab(SourceBase, SourceUI, BackupProfileMixin): super().__init__(parent) self.setupUi(parent) - self.sourceAdd.clicked.connect(self.source_add) + self.sourceAddFolder.clicked.connect(lambda: self.source_add(want_folder=True)) + self.sourceAddFile.clicked.connect(lambda: self.source_add(want_folder=False)) self.sourceRemove.clicked.connect(self.source_remove) self.excludePatternsField.textChanged.connect(self.save_exclude_patterns) self.excludeIfPresentField.textChanged.connect(self.save_exclude_if_present) @@ -33,7 +34,7 @@ class SourceTab(SourceBase, SourceUI, BackupProfileMixin): self.excludePatternsField.textChanged.connect(self.save_exclude_patterns) self.excludeIfPresentField.textChanged.connect(self.save_exclude_if_present) - def source_add(self): + def source_add(self, want_folder): def receive(): dir = dialog.selectedFiles() if dir: @@ -42,7 +43,8 @@ class SourceTab(SourceBase, SourceUI, BackupProfileMixin): self.sourceDirectoriesWidget.addItem(dir[0]) new_source.save() - dialog = choose_folder_dialog(self, "Choose Directory to back up") + item = "directory" if want_folder else "file" + dialog = choose_folder_dialog(self, "Choose %s to back up" % item, want_folder=want_folder) dialog.open(receive) def source_remove(self):