@@ -445,19 +445,39 @@ def getDialog(self, parent=None, caption='', acceptMode=QFileDialog.AcceptOpen,
445445
446446 @classmethod
447447 def getOpenFileNames (self , parent = None , caption = '' , filter = '' , selectedFilter = None , useEncoding = False ):
448- return self .getDialog (parent , caption , QFileDialog .AcceptOpen , QFileDialog .ExistingFiles , filter , selectedFilter , useEncoding )
448+ if useEncoding :
449+ return self .getDialog (parent , caption , QFileDialog .AcceptOpen , QFileDialog .ExistingFiles , filter , selectedFilter , useEncoding )
450+ res = QFileDialog .getOpenFileNames (parent , caption , getLastUsedDir (), filter )
451+ if len (res ) > 0 :
452+ setLastUsedDir (res [- 1 ])
453+ return res
449454
450455 @classmethod
451456 def getOpenFileName (self , parent = None , caption = '' , filter = '' , selectedFilter = None , useEncoding = False ):
452- return self .getDialog (parent , caption , QFileDialog .AcceptOpen , QFileDialog .ExistingFile , filter , selectedFilter , useEncoding )
457+ if useEncoding :
458+ return self .getDialog (parent , caption , QFileDialog .AcceptOpen , QFileDialog .ExistingFile , filter , selectedFilter , useEncoding )
459+ res = QFileDialog .getOpenFileName (parent , caption , getLastUsedDir (), filter )
460+ if res :
461+ setLastUsedDir (res )
462+ return res
453463
454464 @classmethod
455465 def getSaveFileName (self , parent = None , caption = '' , filter = '' , selectedFilter = None , useEncoding = False ):
456- return self .getDialog (parent , caption , QFileDialog .AcceptSave , QFileDialog .AnyFile , filter , selectedFilter , useEncoding )
466+ if useEncoding :
467+ return self .getDialog (parent , caption , QFileDialog .AcceptSave , QFileDialog .AnyFile , filter , selectedFilter , useEncoding )
468+ res = QFileDialog .getSaveFileName (parent , caption , getLastUsedDir (), filter )
469+ if res :
470+ setLastUsedDir (res )
471+ return res
457472
458473 @classmethod
459474 def getExistingDirectory (self , parent = None , caption = '' , useEncoding = False ):
460- return self .getDialog (parent , caption , QFileDialog .AcceptOpen , QFileDialog .DirectoryOnly , '' , None , useEncoding )
475+ if useEncoding :
476+ return self .getDialog (parent , caption , QFileDialog .AcceptOpen , QFileDialog .DirectoryOnly , '' , None , useEncoding )
477+ res = QFileDialog .getExistingDirectory (parent , caption , getLastUsedDir (), QFileDialog .ShowDirsOnly )
478+ if res :
479+ setLastUsedDir (res )
480+ return res
461481
462482
463483class FileFilter :
0 commit comments