summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMicah Lee <micah@micahflee.com>2017-05-22 16:10:55 -0700
committerMicah Lee <micah@micahflee.com>2017-05-22 16:10:55 -0700
commite828b2f9cdf85b597c3ca244033f2df6b74ae82c (patch)
tree1b48d033fb815c69444f5021dbfbfc30a0eaff4b
parent9385487c105612eefc640d6be64ea89205eb4bc3 (diff)
downloadonionshare-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.py18
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):