Allow selection of multiple files by @samuel-w for #593

This commit is contained in:
Samuel Woon 2020-08-30 01:04:40 -05:00 committed by GitHub
parent 677734e62a
commit 79f29b2430
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 8 deletions

View File

@ -54,7 +54,7 @@
<item>
<widget class="QPushButton" name="sourceAddFile">
<property name="text">
<string>Add File</string>
<string>Add File(s)</string>
</property>
</widget>
</item>
@ -64,7 +64,7 @@
<string>One folder or file per line</string>
</property>
<property name="text">
<string>Paste</string>
<string>Paste Folders/Files</string>
</property>
</widget>
</item>

View File

@ -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

View File

@ -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)