|
@@ -458,9 +458,11 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
zoom = QtWidgets.QWidgetAction(self)
|
|
zoom = QtWidgets.QWidgetAction(self)
|
|
zoom.setDefaultWidget(self.zoomWidget)
|
|
zoom.setDefaultWidget(self.zoomWidget)
|
|
self.zoomWidget.setWhatsThis(
|
|
self.zoomWidget.setWhatsThis(
|
|
- self.tr(
|
|
|
|
- "Zoom in or out of the image. Also accessible with "
|
|
|
|
- "{} and {} from the canvas."
|
|
|
|
|
|
+ str(
|
|
|
|
+ self.tr(
|
|
|
|
+ "Zoom in or out of the image. Also accessible with "
|
|
|
|
+ "{} and {} from the canvas."
|
|
|
|
+ )
|
|
).format(
|
|
).format(
|
|
utils.fmtShortcut(
|
|
utils.fmtShortcut(
|
|
"{},{}".format(shortcuts["zoom_in"], shortcuts["zoom_out"])
|
|
"{},{}".format(shortcuts["zoom_in"], shortcuts["zoom_out"])
|
|
@@ -749,7 +751,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
fitWidth,
|
|
fitWidth,
|
|
)
|
|
)
|
|
|
|
|
|
- self.statusBar().showMessage(self.tr("%s started.") % __appname__)
|
|
|
|
|
|
+ self.statusBar().showMessage(str(self.tr("%s started.")) % __appname__)
|
|
self.statusBar().show()
|
|
self.statusBar().show()
|
|
|
|
|
|
if output_file is not None and self._config["auto_save"]:
|
|
if output_file is not None and self._config["auto_save"]:
|
|
@@ -788,17 +790,24 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
# XXX: Could be completely declarative.
|
|
# XXX: Could be completely declarative.
|
|
# Restore application settings.
|
|
# Restore application settings.
|
|
self.settings = QtCore.QSettings("labelme", "labelme")
|
|
self.settings = QtCore.QSettings("labelme", "labelme")
|
|
- # FIXME: QSettings.value can return None on PyQt4
|
|
|
|
self.recentFiles = self.settings.value("recentFiles", []) or []
|
|
self.recentFiles = self.settings.value("recentFiles", []) or []
|
|
size = self.settings.value("window/size", QtCore.QSize(600, 500))
|
|
size = self.settings.value("window/size", QtCore.QSize(600, 500))
|
|
position = self.settings.value("window/position", QtCore.QPoint(0, 0))
|
|
position = self.settings.value("window/position", QtCore.QPoint(0, 0))
|
|
|
|
+ state = self.settings.value("window/state", QtCore.QByteArray())
|
|
|
|
+ # PyQt4 cannot handle QVariant
|
|
|
|
+ if isinstance(self.recentFiles, QtCore.QVariant):
|
|
|
|
+ self.recentFiles = self.recentFiles.toList()
|
|
|
|
+ if isinstance(size, QtCore.QVariant):
|
|
|
|
+ size = size.toSize()
|
|
|
|
+ if isinstance(position, QtCore.QVariant):
|
|
|
|
+ position = position.toPoint()
|
|
|
|
+ if isinstance(state, QtCore.QVariant):
|
|
|
|
+ state = state.toByteArray()
|
|
self.resize(size)
|
|
self.resize(size)
|
|
self.move(position)
|
|
self.move(position)
|
|
# or simply:
|
|
# or simply:
|
|
# self.restoreGeometry(settings['window/geometry']
|
|
# self.restoreGeometry(settings['window/geometry']
|
|
- self.restoreState(
|
|
|
|
- self.settings.value("window/state", QtCore.QByteArray())
|
|
|
|
- )
|
|
|
|
|
|
+ self.restoreState(state)
|
|
|
|
|
|
# Populate the File menu dynamically.
|
|
# Populate the File menu dynamically.
|
|
self.updateFileMenu()
|
|
self.updateFileMenu()
|
|
@@ -1238,6 +1247,10 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
lf = LabelFile()
|
|
lf = LabelFile()
|
|
|
|
|
|
def format_shape(s):
|
|
def format_shape(s):
|
|
|
|
+ # PyQt4 cannot handle QVariant
|
|
|
|
+ if isinstance(s, QtCore.QVariant):
|
|
|
|
+ s = s.toPyObject()
|
|
|
|
+
|
|
data = s.other_data.copy()
|
|
data = s.other_data.copy()
|
|
data.update(
|
|
data.update(
|
|
dict(
|
|
dict(
|
|
@@ -1478,7 +1491,9 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
)
|
|
)
|
|
return False
|
|
return False
|
|
# assumes same name, but json extension
|
|
# assumes same name, but json extension
|
|
- self.status(self.tr("Loading %s...") % osp.basename(str(filename)))
|
|
|
|
|
|
+ self.status(
|
|
|
|
+ str(self.tr("Loading %s...")) % osp.basename(str(filename))
|
|
|
|
+ )
|
|
label_file = osp.splitext(filename)[0] + ".json"
|
|
label_file = osp.splitext(filename)[0] + ".json"
|
|
if self.output_dir:
|
|
if self.output_dir:
|
|
label_file_without_path = osp.basename(label_file)
|
|
label_file_without_path = osp.basename(label_file)
|
|
@@ -1584,7 +1599,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
self.addRecentFile(self.filename)
|
|
self.addRecentFile(self.filename)
|
|
self.toggleActions(True)
|
|
self.toggleActions(True)
|
|
self.canvas.setFocus()
|
|
self.canvas.setFocus()
|
|
- self.status(self.tr("Loaded %s") % osp.basename(str(filename)))
|
|
|
|
|
|
+ self.status(str(self.tr("Loaded %s")) % osp.basename(str(filename)))
|
|
return True
|
|
return True
|
|
|
|
|
|
def resizeEvent(self, event):
|
|
def resizeEvent(self, event):
|