diff options
author | Micah Lee <micah@micahflee.com> | 2017-05-22 16:10:55 -0700 |
---|---|---|
committer | Micah Lee <micah@micahflee.com> | 2017-05-22 16:10:55 -0700 |
commit | e828b2f9cdf85b597c3ca244033f2df6b74ae82c (patch) | |
tree | 1b48d033fb815c69444f5021dbfbfc30a0eaff4b | |
parent | 9385487c105612eefc640d6be64ea89205eb4bc3 (diff) | |
download | onionshare-e828b2f9cdf85b597c3ca244033f2df6b74ae82c.tar.gz onionshare-e828b2f9cdf85b597c3ca244033f2df6b74ae82c.zip |
Use non-native QFileDialog for file selection as well as directory selection, to have a consistent UI
-rw-r--r-- | onionshare_gui/file_selection.py | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/onionshare_gui/file_selection.py b/onionshare_gui/file_selection.py index 0de96e02..f24c61ea 100644 --- a/onionshare_gui/file_selection.py +++ b/onionshare_gui/file_selection.py @@ -214,11 +214,19 @@ class FileSelection(QtWidgets.QVBoxLayout): """ Add files button clicked. """ - filenames = QtWidgets.QFileDialog.getOpenFileNames( - caption=strings._('gui_choose_files', True), options=QtWidgets.QFileDialog.ReadOnly) - if filenames: - for filename in filenames[0]: - self.file_list.add_file(filename) + file_dialog = QtWidgets.QFileDialog(caption=strings._('gui_choose_files', True)) + file_dialog.setFileMode(QtWidgets.QFileDialog.ExistingFiles) + file_dialog.setOption(QtWidgets.QFileDialog.DontUseNativeDialog, True) + file_dialog.setOption(QtWidgets.QFileDialog.ReadOnly, True) + tree_view = file_dialog.findChild(QtWidgets.QTreeView) + tree_view.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection) + list_view = file_dialog.findChild(QtWidgets.QListView, "listView") + list_view.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection) + + if file_dialog.exec_() == QtWidgets.QDialog.Accepted: + for filename in file_dialog.selectedFiles(): + self.file_list.add_file(filename) + self.update() def add_dir(self): |