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 qVersion |
13 from PyQt5.QtWidgets import QFileDialog |
14 from PyQt5.QtWidgets import QFileDialog |
14 |
15 |
15 import Globals |
16 import Globals |
16 |
17 |
17 Options = QFileDialog.Options |
18 Options = QFileDialog.Options |
57 @param options various options for the dialog (QFileDialog.Options) |
58 @param options various options for the dialog (QFileDialog.Options) |
58 @return name of file to be opened (string) |
59 @return name of file to be opened (string) |
59 """ |
60 """ |
60 if Globals.isLinuxPlatform(): |
61 if Globals.isLinuxPlatform(): |
61 options |= QFileDialog.DontUseNativeDialog |
62 options |= QFileDialog.DontUseNativeDialog |
62 return QFileDialog.getOpenFileName(parent, caption, directory, |
63 if qVersion() >= "5.0.0": |
63 filter, "", options)[0] |
64 return QFileDialog.getOpenFileName( |
|
65 parent, caption, directory, filter, "", options)[0] |
|
66 else: |
|
67 return QFileDialog.getOpenFileName( |
|
68 parent, caption, directory, filter, options) |
64 |
69 |
65 |
70 |
66 def getOpenFileNameAndFilter(parent=None, caption="", directory="", |
71 def getOpenFileNameAndFilter(parent=None, caption="", directory="", |
67 filter="", initialFilter="", |
72 filter="", initialFilter="", |
68 options=QFileDialog.Options()): |
73 options=QFileDialog.Options()): |
79 @return name of file to be opened and selected filter (string, string) |
84 @return name of file to be opened and selected filter (string, string) |
80 """ |
85 """ |
81 if Globals.isLinuxPlatform(): |
86 if Globals.isLinuxPlatform(): |
82 options |= QFileDialog.DontUseNativeDialog |
87 options |= QFileDialog.DontUseNativeDialog |
83 newfilter = __reorderFilter(filter, initialFilter) |
88 newfilter = __reorderFilter(filter, initialFilter) |
84 return QFileDialog.getOpenFileName(parent, caption, directory, newfilter, |
89 if qVersion() >= "5.0.0": |
85 initialFilter, options) |
90 return QFileDialog.getOpenFileName( |
|
91 parent, caption, directory, newfilter, initialFilter, options) |
|
92 else: |
|
93 return QFileDialog.getOpenFileNameAndFilter( |
|
94 parent, caption, directory, newfilter, initialFilter, options) |
86 |
95 |
87 |
96 |
88 def getOpenFileNames(parent=None, caption="", directory="", |
97 def getOpenFileNames(parent=None, caption="", directory="", |
89 filter="", options=QFileDialog.Options()): |
98 filter="", options=QFileDialog.Options()): |
90 """ |
99 """ |
97 @param options various options for the dialog (QFileDialog.Options) |
106 @param options various options for the dialog (QFileDialog.Options) |
98 @return list of file names to be opened (list of string) |
107 @return list of file names to be opened (list of string) |
99 """ |
108 """ |
100 if Globals.isLinuxPlatform(): |
109 if Globals.isLinuxPlatform(): |
101 options |= QFileDialog.DontUseNativeDialog |
110 options |= QFileDialog.DontUseNativeDialog |
102 return QFileDialog.getOpenFileNames(parent, caption, directory, |
111 if qVersion() >= "5.0.0": |
103 filter, "", options)[0] |
112 return QFileDialog.getOpenFileNames( |
|
113 parent, caption, directory, filter, "", options)[0] |
|
114 else: |
|
115 return QFileDialog.getOpenFileNames( |
|
116 parent, caption, directory, filter, options) |
104 |
117 |
105 |
118 |
106 def getOpenFileNamesAndFilter(parent=None, caption="", directory="", |
119 def getOpenFileNamesAndFilter(parent=None, caption="", directory="", |
107 filter="", initialFilter="", |
120 filter="", initialFilter="", |
108 options=QFileDialog.Options()): |
121 options=QFileDialog.Options()): |
120 (list of string, string) |
133 (list of string, string) |
121 """ |
134 """ |
122 if Globals.isLinuxPlatform(): |
135 if Globals.isLinuxPlatform(): |
123 options |= QFileDialog.DontUseNativeDialog |
136 options |= QFileDialog.DontUseNativeDialog |
124 newfilter = __reorderFilter(filter, initialFilter) |
137 newfilter = __reorderFilter(filter, initialFilter) |
125 return QFileDialog.getOpenFileNames(parent, caption, directory, newfilter, |
138 if qVersion() >= "5.0.0": |
126 initialFilter, options) |
139 return QFileDialog.getOpenFileNames( |
|
140 parent, caption, directory, newfilter, initialFilter, options) |
|
141 else: |
|
142 return QFileDialog.getOpenFileNamesAndFilter( |
|
143 parent, caption, directory, newfilter, initialFilter, options) |
127 |
144 |
128 |
145 |
129 def getSaveFileName(parent=None, caption="", directory="", |
146 def getSaveFileName(parent=None, caption="", directory="", |
130 filter="", options=QFileDialog.Options()): |
147 filter="", options=QFileDialog.Options()): |
131 """ |
148 """ |
138 @param options various options for the dialog (QFileDialog.Options) |
155 @param options various options for the dialog (QFileDialog.Options) |
139 @return name of file to be saved (string) |
156 @return name of file to be saved (string) |
140 """ |
157 """ |
141 if Globals.isLinuxPlatform(): |
158 if Globals.isLinuxPlatform(): |
142 options |= QFileDialog.DontUseNativeDialog |
159 options |= QFileDialog.DontUseNativeDialog |
143 return QFileDialog.getSaveFileName(parent, caption, directory, |
160 if qVersion() >= "5.0.0": |
144 filter, "", options)[0] |
161 return QFileDialog.getSaveFileName( |
|
162 parent, caption, directory, filter, "", options)[0] |
|
163 else: |
|
164 return QFileDialog.getSaveFileName( |
|
165 parent, caption, directory, filter, options) |
145 |
166 |
146 |
167 |
147 def getSaveFileNameAndFilter(parent=None, caption="", directory="", |
168 def getSaveFileNameAndFilter(parent=None, caption="", directory="", |
148 filter="", initialFilter="", |
169 filter="", initialFilter="", |
149 options=QFileDialog.Options()): |
170 options=QFileDialog.Options()): |
160 @return name of file to be saved and selected filter (string, string) |
181 @return name of file to be saved and selected filter (string, string) |
161 """ |
182 """ |
162 if Globals.isLinuxPlatform(): |
183 if Globals.isLinuxPlatform(): |
163 options |= QFileDialog.DontUseNativeDialog |
184 options |= QFileDialog.DontUseNativeDialog |
164 newfilter = __reorderFilter(filter, initialFilter) |
185 newfilter = __reorderFilter(filter, initialFilter) |
165 return QFileDialog.getSaveFileName(parent, caption, directory, newfilter, |
186 if qVersion() >= "5.0.0": |
166 initialFilter, options) |
187 return QFileDialog.getSaveFileName( |
|
188 parent, caption, directory, newfilter, initialFilter, options) |
|
189 else: |
|
190 return QFileDialog.getSaveFileNameAndFilter( |
|
191 parent, caption, directory, newfilter, initialFilter, options) |
167 |
192 |
168 |
193 |
169 def getExistingDirectory(parent=None, caption="", |
194 def getExistingDirectory(parent=None, caption="", |
170 directory="", options=QFileDialog.ShowDirsOnly): |
195 directory="", options=QFileDialog.ShowDirsOnly): |
171 """ |
196 """ |