Save the last open dir and target dir
This commit is contained in:
parent
87dab57ec9
commit
ef61f0d827
34
labelImg.py
34
labelImg.py
@ -60,6 +60,7 @@ class MainWindow(QMainWindow, WindowMixin):
|
|||||||
self.mImgList = []
|
self.mImgList = []
|
||||||
self.dirname = None
|
self.dirname = None
|
||||||
self.labelHist = []
|
self.labelHist = []
|
||||||
|
self.lastOpenDir = None
|
||||||
|
|
||||||
# Whether we need to save or not.
|
# Whether we need to save or not.
|
||||||
self.dirty = False
|
self.dirty = False
|
||||||
@ -133,8 +134,8 @@ class MainWindow(QMainWindow, WindowMixin):
|
|||||||
opendir = action('&Open Dir', self.openDir,
|
opendir = action('&Open Dir', self.openDir,
|
||||||
'Ctrl+u', 'open', u'Open Dir')
|
'Ctrl+u', 'open', u'Open Dir')
|
||||||
|
|
||||||
changeSavedir = action('&Change default save dir', self.changeSavedir,
|
changeSavedir = action('&Change default saved Annotation dir', self.changeSavedir,
|
||||||
'Ctrl+r', 'open', u'Change default save dir')
|
'Ctrl+r', 'open', u'Change default saved Annotation dir')
|
||||||
|
|
||||||
openNextImg = action('&Next Image', self.openNextImg,
|
openNextImg = action('&Next Image', self.openNextImg,
|
||||||
'n', 'next', u'Open Next')
|
'n', 'next', u'Open Next')
|
||||||
@ -307,6 +308,7 @@ class MainWindow(QMainWindow, WindowMixin):
|
|||||||
# Docks and toolbars:
|
# Docks and toolbars:
|
||||||
'window/state': QByteArray,
|
'window/state': QByteArray,
|
||||||
'savedir': QString,
|
'savedir': QString,
|
||||||
|
'lastOpenDir': QString,
|
||||||
}
|
}
|
||||||
self.settings = settings = Settings(types)
|
self.settings = settings = Settings(types)
|
||||||
self.recentFiles = list(settings['recentFiles'])
|
self.recentFiles = list(settings['recentFiles'])
|
||||||
@ -315,6 +317,7 @@ class MainWindow(QMainWindow, WindowMixin):
|
|||||||
self.resize(size)
|
self.resize(size)
|
||||||
self.move(position)
|
self.move(position)
|
||||||
saveDir = settings.get('savedir', None)
|
saveDir = settings.get('savedir', None)
|
||||||
|
self.lastOpenDir = settings.get('lastOpenDir', None)
|
||||||
if os.path.exists(unicode(saveDir)):
|
if os.path.exists(unicode(saveDir)):
|
||||||
self.defaultSaveDir = unicode(saveDir)
|
self.defaultSaveDir = unicode(saveDir)
|
||||||
self.statusBar().showMessage('%s started. Annotation will be saved to %s' %(__appname__, self.defaultSaveDir))
|
self.statusBar().showMessage('%s started. Annotation will be saved to %s' %(__appname__, self.defaultSaveDir))
|
||||||
@ -746,10 +749,16 @@ class MainWindow(QMainWindow, WindowMixin):
|
|||||||
s['fill/color'] = self.fillColor
|
s['fill/color'] = self.fillColor
|
||||||
s['recentFiles'] = self.recentFiles
|
s['recentFiles'] = self.recentFiles
|
||||||
s['advanced'] = not self._beginner
|
s['advanced'] = not self._beginner
|
||||||
if self.defaultSaveDir is not None:
|
if self.defaultSaveDir is not None and len(self.defaultSaveDir) > 1:
|
||||||
s['savedir'] = str(self.defaultSaveDir)
|
s['savedir'] = str(self.defaultSaveDir)
|
||||||
else:
|
else:
|
||||||
s['savedir'] = ""
|
s['savedir'] = ""
|
||||||
|
|
||||||
|
if self.lastOpenDir is not None and len(self.lastOpenDir) > 1:
|
||||||
|
s['lastOpenDir'] = str(self.lastOpenDir)
|
||||||
|
else:
|
||||||
|
s['lastOpenDir'] = ""
|
||||||
|
|
||||||
#ask the use for where to save the labels
|
#ask the use for where to save the labels
|
||||||
#s['window/geometry'] = self.saveGeometry()
|
#s['window/geometry'] = self.saveGeometry()
|
||||||
|
|
||||||
@ -771,29 +780,38 @@ class MainWindow(QMainWindow, WindowMixin):
|
|||||||
return images
|
return images
|
||||||
|
|
||||||
def changeSavedir(self, _value=False):
|
def changeSavedir(self, _value=False):
|
||||||
path = os.path.dirname(unicode(self.filename))\
|
if self.defaultSaveDir is not None:
|
||||||
if self.filename else '.'
|
|
||||||
|
|
||||||
if self.defaultSaveDir is not None and len(str(self.defaultSaveDir)) > 0:
|
|
||||||
path = unicode(self.defaultSaveDir)
|
path = unicode(self.defaultSaveDir)
|
||||||
|
else:
|
||||||
|
path = '.'
|
||||||
|
|
||||||
dirpath = unicode(QFileDialog.getExistingDirectory(self,
|
dirpath = unicode(QFileDialog.getExistingDirectory(self,
|
||||||
'%s - Save to the directory' % __appname__, path, QFileDialog.ShowDirsOnly
|
'%s - Save to the directory' % __appname__, path, QFileDialog.ShowDirsOnly
|
||||||
| QFileDialog.DontResolveSymlinks))
|
| QFileDialog.DontResolveSymlinks))
|
||||||
self.defaultSaveDir = str(dirpath)
|
|
||||||
|
if dirpath is not None and len(dirpath) > 1:
|
||||||
|
self.defaultSaveDir = dirpath
|
||||||
|
|
||||||
self.statusBar().showMessage('%s . Annotation will be saved to %s' %('Change saved folder', self.defaultSaveDir))
|
self.statusBar().showMessage('%s . Annotation will be saved to %s' %('Change saved folder', self.defaultSaveDir))
|
||||||
self.statusBar().show()
|
self.statusBar().show()
|
||||||
|
|
||||||
def openDir(self, _value=False):
|
def openDir(self, _value=False):
|
||||||
if not self.mayContinue():
|
if not self.mayContinue():
|
||||||
return
|
return
|
||||||
|
|
||||||
path = os.path.dirname(unicode(self.filename))\
|
path = os.path.dirname(unicode(self.filename))\
|
||||||
if self.filename else '.'
|
if self.filename else '.'
|
||||||
|
|
||||||
|
if self.lastOpenDir is not None and len(self.lastOpenDir) > 1:
|
||||||
|
path = self.lastOpenDir
|
||||||
|
|
||||||
dirpath = unicode(QFileDialog.getExistingDirectory(self,
|
dirpath = unicode(QFileDialog.getExistingDirectory(self,
|
||||||
'%s - Open Directory' % __appname__, path, QFileDialog.ShowDirsOnly
|
'%s - Open Directory' % __appname__, path, QFileDialog.ShowDirsOnly
|
||||||
| QFileDialog.DontResolveSymlinks))
|
| QFileDialog.DontResolveSymlinks))
|
||||||
|
|
||||||
|
if dirpath is not None and len(dirpath) > 1:
|
||||||
|
self.lastOpenDir = dirpath
|
||||||
|
|
||||||
self.dirname = dirpath
|
self.dirname = dirpath
|
||||||
self.mImgList = self.scanAllImages(dirpath)
|
self.mImgList = self.scanAllImages(dirpath)
|
||||||
self.openNextImg()
|
self.openNextImg()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user