Skip to content

Commit 72d3385

Browse files
committed
[processing] added extension option to ParameterFile.py
1 parent 3d15239 commit 72d3385

File tree

3 files changed

+8
-4
lines changed

3 files changed

+8
-4
lines changed

python/plugins/processing/gui/FileSelectionPanel.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,9 @@
3232

3333
class FileSelectionPanel(QtGui.QWidget):
3434

35-
def __init__(self, isFolder):
35+
def __init__(self, isFolder, ext = None):
3636
super(FileSelectionPanel, self).__init__(None)
37+
self.ext = ext or '*'
3738
self.isFolder = isFolder
3839
self.horizontalLayout = QtGui.QHBoxLayout(self)
3940
self.horizontalLayout.setSpacing(2)
@@ -70,7 +71,7 @@ def showSelectionDialog(self):
7071
os.path.dirname(unicode(folder)))
7172
else:
7273
filenames = QtGui.QFileDialog.getOpenFileNames(self, 'Open file',
73-
path, '*.*')
74+
path, '*.' + self.ext)
7475
if filenames:
7576
self.text.setText(u';'.join(filenames))
7677
settings.setValue('/Processing/LastInputPath',

python/plugins/processing/gui/ParametersPanel.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ def getWidgetFromParameter(self, param):
277277
elif isinstance(param, ParameterRange):
278278
item = RangePanel(param)
279279
elif isinstance(param, ParameterFile):
280-
item = FileSelectionPanel(param.isFolder)
280+
item = FileSelectionPanel(param.isFolder, param.ext)
281281
elif isinstance(param, ParameterMultipleInput):
282282
if param.datatype == ParameterMultipleInput.TYPE_FILE:
283283
item = MultipleFileInputPanel()

python/plugins/processing/parameters/ParameterFile.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,10 @@
3030

3131
class ParameterFile(Parameter):
3232

33-
def __init__(self, name='', description='', isFolder=False, optional=True):
33+
def __init__(self, name='', description='', isFolder=False, optional=True, ext = None):
3434
Parameter.__init__(self, name, description)
3535
self.value = None
36+
self.ext = ext
3637
self.isFolder = isFolder
3738
self.optional = optional
3839

@@ -51,6 +52,8 @@ def setValue(self, obj):
5152
return False
5253
else:
5354
self.value = ''
55+
if self.ext is not None and self.value != '':
56+
return self.value.endswith(self.ext)
5457
return True
5558

5659
def deserialize(self, s):

0 commit comments

Comments
 (0)