E5Gui/E5FileDialog.py

changeset 3778
0c5bc18da740
parent 3656
441956d8fce5
child 3782
d920599aad3f
equal deleted inserted replaced
3777:0c47cbb5b199 3778:0c5bc18da740
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 """

eric ide

mercurial