|
@@ -405,7 +405,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
)
|
|
)
|
|
removePoint = action(
|
|
removePoint = action(
|
|
text="Remove Selected Point",
|
|
text="Remove Selected Point",
|
|
- slot=self.canvas.removeSelectedPoint,
|
|
|
|
|
|
+ slot=self.removeSelectedPoint,
|
|
icon="edit",
|
|
icon="edit",
|
|
tip="Remove selected point from polygon",
|
|
tip="Remove selected point from polygon",
|
|
enabled=False,
|
|
enabled=False,
|
|
@@ -1168,6 +1168,10 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
group_id = shape["group_id"]
|
|
group_id = shape["group_id"]
|
|
other_data = shape["other_data"]
|
|
other_data = shape["other_data"]
|
|
|
|
|
|
|
|
+ if not points:
|
|
|
|
+ # skip point-empty shape
|
|
|
|
+ continue
|
|
|
|
+
|
|
shape = Shape(
|
|
shape = Shape(
|
|
label=label,
|
|
label=label,
|
|
shape_type=shape_type,
|
|
shape_type=shape_type,
|
|
@@ -1869,6 +1873,16 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
def toggleKeepPrevMode(self):
|
|
def toggleKeepPrevMode(self):
|
|
self._config["keep_prev"] = not self._config["keep_prev"]
|
|
self._config["keep_prev"] = not self._config["keep_prev"]
|
|
|
|
|
|
|
|
+ def removeSelectedPoint(self):
|
|
|
|
+ self.canvas.removeSelectedPoint()
|
|
|
|
+ if not self.canvas.hShape.points:
|
|
|
|
+ self.canvas.deleteShape(self.canvas.hShape)
|
|
|
|
+ self.remLabels([self.canvas.hShape])
|
|
|
|
+ self.setDirty()
|
|
|
|
+ if self.noShapes():
|
|
|
|
+ for action in self.actions.onShapesPresent:
|
|
|
|
+ action.setEnabled(False)
|
|
|
|
+
|
|
def deleteSelectedShape(self):
|
|
def deleteSelectedShape(self):
|
|
yes, no = QtWidgets.QMessageBox.Yes, QtWidgets.QMessageBox.No
|
|
yes, no = QtWidgets.QMessageBox.Yes, QtWidgets.QMessageBox.No
|
|
msg = self.tr(
|
|
msg = self.tr(
|