8 to cope with distributor's usage of KDE wrapper dialogs for Qt file dialogs. |
8 to cope with distributor's usage of KDE wrapper dialogs for Qt file dialogs. |
9 """ |
9 """ |
10 |
10 |
11 from __future__ import unicode_literals |
11 from __future__ import unicode_literals |
12 |
12 |
13 from PyQt5.QtCore import PYQT_VERSION_STR |
|
14 from PyQt5.QtWidgets import QFileDialog |
13 from PyQt5.QtWidgets import QFileDialog |
15 |
14 |
16 import Globals |
15 import Globals |
17 |
16 |
18 Options = QFileDialog.Options |
17 Options = QFileDialog.Options |
60 """ |
59 """ |
61 if options is None: |
60 if options is None: |
62 options = QFileDialog.Options() |
61 options = QFileDialog.Options() |
63 if Globals.isLinuxPlatform(): |
62 if Globals.isLinuxPlatform(): |
64 options |= QFileDialog.DontUseNativeDialog |
63 options |= QFileDialog.DontUseNativeDialog |
65 if PYQT_VERSION_STR >= "5.0.0": |
64 return QFileDialog.getOpenFileName( |
66 return QFileDialog.getOpenFileName( |
65 parent, caption, directory, filterStr, "", options)[0] |
67 parent, caption, directory, filterStr, "", options)[0] |
|
68 else: |
|
69 return QFileDialog.getOpenFileName( |
|
70 parent, caption, directory, filterStr, options) |
|
71 |
66 |
72 |
67 |
73 def getOpenFileNameAndFilter(parent=None, caption="", directory="", |
68 def getOpenFileNameAndFilter(parent=None, caption="", directory="", |
74 filterStr="", initialFilter="", |
69 filterStr="", initialFilter="", |
75 options=None): |
70 options=None): |
88 if options is None: |
83 if options is None: |
89 options = QFileDialog.Options() |
84 options = QFileDialog.Options() |
90 if Globals.isLinuxPlatform(): |
85 if Globals.isLinuxPlatform(): |
91 options |= QFileDialog.DontUseNativeDialog |
86 options |= QFileDialog.DontUseNativeDialog |
92 newfilter = __reorderFilter(filterStr, initialFilter) |
87 newfilter = __reorderFilter(filterStr, initialFilter) |
93 if PYQT_VERSION_STR >= "5.0.0": |
88 return QFileDialog.getOpenFileName( |
94 return QFileDialog.getOpenFileName( |
89 parent, caption, directory, newfilter, initialFilter, options) |
95 parent, caption, directory, newfilter, initialFilter, options) |
|
96 else: |
|
97 return QFileDialog.getOpenFileNameAndFilter( |
|
98 parent, caption, directory, newfilter, initialFilter, options) |
|
99 |
90 |
100 |
91 |
101 def getOpenFileNames(parent=None, caption="", directory="", |
92 def getOpenFileNames(parent=None, caption="", directory="", |
102 filterStr="", options=None): |
93 filterStr="", options=None): |
103 """ |
94 """ |
112 """ |
103 """ |
113 if options is None: |
104 if options is None: |
114 options = QFileDialog.Options() |
105 options = QFileDialog.Options() |
115 if Globals.isLinuxPlatform(): |
106 if Globals.isLinuxPlatform(): |
116 options |= QFileDialog.DontUseNativeDialog |
107 options |= QFileDialog.DontUseNativeDialog |
117 if PYQT_VERSION_STR >= "5.0.0": |
108 return QFileDialog.getOpenFileNames( |
118 return QFileDialog.getOpenFileNames( |
109 parent, caption, directory, filterStr, "", options)[0] |
119 parent, caption, directory, filterStr, "", options)[0] |
|
120 else: |
|
121 return QFileDialog.getOpenFileNames( |
|
122 parent, caption, directory, filterStr, options) |
|
123 |
110 |
124 |
111 |
125 def getOpenFileNamesAndFilter(parent=None, caption="", directory="", |
112 def getOpenFileNamesAndFilter(parent=None, caption="", directory="", |
126 filterStr="", initialFilter="", |
113 filterStr="", initialFilter="", |
127 options=None): |
114 options=None): |
141 if options is None: |
128 if options is None: |
142 options = QFileDialog.Options() |
129 options = QFileDialog.Options() |
143 if Globals.isLinuxPlatform(): |
130 if Globals.isLinuxPlatform(): |
144 options |= QFileDialog.DontUseNativeDialog |
131 options |= QFileDialog.DontUseNativeDialog |
145 newfilter = __reorderFilter(filterStr, initialFilter) |
132 newfilter = __reorderFilter(filterStr, initialFilter) |
146 if PYQT_VERSION_STR >= "5.0.0": |
133 return QFileDialog.getOpenFileNames( |
147 return QFileDialog.getOpenFileNames( |
134 parent, caption, directory, newfilter, initialFilter, options) |
148 parent, caption, directory, newfilter, initialFilter, options) |
|
149 else: |
|
150 return QFileDialog.getOpenFileNamesAndFilter( |
|
151 parent, caption, directory, newfilter, initialFilter, options) |
|
152 |
135 |
153 |
136 |
154 def getSaveFileName(parent=None, caption="", directory="", |
137 def getSaveFileName(parent=None, caption="", directory="", |
155 filterStr="", options=None): |
138 filterStr="", options=None): |
156 """ |
139 """ |
165 """ |
148 """ |
166 if options is None: |
149 if options is None: |
167 options = QFileDialog.Options() |
150 options = QFileDialog.Options() |
168 if Globals.isLinuxPlatform(): |
151 if Globals.isLinuxPlatform(): |
169 options |= QFileDialog.DontUseNativeDialog |
152 options |= QFileDialog.DontUseNativeDialog |
170 if PYQT_VERSION_STR >= "5.0.0": |
153 return QFileDialog.getSaveFileName( |
171 return QFileDialog.getSaveFileName( |
154 parent, caption, directory, filterStr, "", options)[0] |
172 parent, caption, directory, filterStr, "", options)[0] |
|
173 else: |
|
174 return QFileDialog.getSaveFileName( |
|
175 parent, caption, directory, filterStr, options) |
|
176 |
155 |
177 |
156 |
178 def getSaveFileNameAndFilter(parent=None, caption="", directory="", |
157 def getSaveFileNameAndFilter(parent=None, caption="", directory="", |
179 filterStr="", initialFilter="", |
158 filterStr="", initialFilter="", |
180 options=None): |
159 options=None): |
193 if options is None: |
172 if options is None: |
194 options = QFileDialog.Options() |
173 options = QFileDialog.Options() |
195 if Globals.isLinuxPlatform(): |
174 if Globals.isLinuxPlatform(): |
196 options |= QFileDialog.DontUseNativeDialog |
175 options |= QFileDialog.DontUseNativeDialog |
197 newfilter = __reorderFilter(filterStr, initialFilter) |
176 newfilter = __reorderFilter(filterStr, initialFilter) |
198 if PYQT_VERSION_STR >= "5.0.0": |
177 return QFileDialog.getSaveFileName( |
199 return QFileDialog.getSaveFileName( |
178 parent, caption, directory, newfilter, initialFilter, options) |
200 parent, caption, directory, newfilter, initialFilter, options) |
|
201 else: |
|
202 return QFileDialog.getSaveFileNameAndFilter( |
|
203 parent, caption, directory, newfilter, initialFilter, options) |
|
204 |
179 |
205 |
180 |
206 def getExistingDirectory(parent=None, caption="", |
181 def getExistingDirectory(parent=None, caption="", |
207 directory="", options=QFileDialog.ShowDirsOnly): |
182 directory="", options=QFileDialog.ShowDirsOnly): |
208 """ |
183 """ |