Skip to content

Commit ca86571

Browse files
committedJun 26, 2016
gdal tools: use native file dialogs (fixes #5500)
(cherry picked from commit 2c112f9)
1 parent f52d27b commit ca86571

File tree

1 file changed

+24
-4
lines changed

1 file changed

+24
-4
lines changed
 

‎python/plugins/GdalTools/tools/GdalTools_utils.py

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -444,19 +444,39 @@ def getDialog(self, parent=None, caption='', acceptMode=QFileDialog.AcceptOpen,
444444

445445
@classmethod
446446
def getOpenFileNames(self, parent=None, caption='', filter='', selectedFilter=None, useEncoding=False):
447-
return self.getDialog(parent, caption, QFileDialog.AcceptOpen, QFileDialog.ExistingFiles, filter, selectedFilter, useEncoding)
447+
if useEncoding:
448+
return self.getDialog(parent, caption, QFileDialog.AcceptOpen, QFileDialog.ExistingFiles, filter, selectedFilter, useEncoding)
449+
res = QFileDialog.getOpenFileNames(parent, caption, getLastUsedDir(), filter)
450+
if len(res) > 0:
451+
setLastUsedDir(res[-1])
452+
return res
448453

449454
@classmethod
450455
def getOpenFileName(self, parent=None, caption='', filter='', selectedFilter=None, useEncoding=False):
451-
return self.getDialog(parent, caption, QFileDialog.AcceptOpen, QFileDialog.ExistingFile, filter, selectedFilter, useEncoding)
456+
if useEncoding:
457+
return self.getDialog(parent, caption, QFileDialog.AcceptOpen, QFileDialog.ExistingFile, filter, selectedFilter, useEncoding)
458+
res = QFileDialog.getOpenFileName(parent, caption, getLastUsedDir(), filter)
459+
if res:
460+
setLastUsedDir(res)
461+
return res
452462

453463
@classmethod
454464
def getSaveFileName(self, parent=None, caption='', filter='', selectedFilter=None, useEncoding=False):
455-
return self.getDialog(parent, caption, QFileDialog.AcceptSave, QFileDialog.AnyFile, filter, selectedFilter, useEncoding)
465+
if useEncoding:
466+
return self.getDialog(parent, caption, QFileDialog.AcceptSave, QFileDialog.AnyFile, filter, selectedFilter, useEncoding)
467+
res = QFileDialog.getSaveFileName(parent, caption, getLastUsedDir(), filter)
468+
if res:
469+
setLastUsedDir(res)
470+
return res
456471

457472
@classmethod
458473
def getExistingDirectory(self, parent=None, caption='', useEncoding=False):
459-
return self.getDialog(parent, caption, QFileDialog.AcceptOpen, QFileDialog.DirectoryOnly, '', None, useEncoding)
474+
if useEncoding:
475+
return self.getDialog(parent, caption, QFileDialog.AcceptOpen, QFileDialog.DirectoryOnly, '', None, useEncoding)
476+
res = QFileDialog.getExistingDirectory(parent, caption, getLastUsedDir(), QFileDialog.ShowDirsOnly)
477+
if res:
478+
setLastUsedDir(res)
479+
return res
460480

461481

462482
class FileFilter:

0 commit comments

Comments
 (0)
Please sign in to comment.