Address PR review comments: rename to __main__.py, improve config examples, document save freeze
This commit is contained in:
@@ -159,7 +159,7 @@ class Annotator(QMainWindow):
|
||||
|
||||
self.btn_prev = QPushButton("Previous")
|
||||
self.btn_prev.setEnabled(False)
|
||||
btn_next = QPushButton("Next")
|
||||
self.btn_next = QPushButton("Next")
|
||||
btn_skip = QPushButton("Skip")
|
||||
btn_clear = QPushButton("Clear")
|
||||
btn_undo = QPushButton("Undo")
|
||||
@@ -172,7 +172,7 @@ class Annotator(QMainWindow):
|
||||
row1 = QHBoxLayout()
|
||||
for b in [
|
||||
self.btn_prev,
|
||||
btn_next,
|
||||
self.btn_next,
|
||||
btn_skip,
|
||||
btn_load_prev_mask,
|
||||
btn_auto_segment,
|
||||
@@ -251,7 +251,7 @@ class Annotator(QMainWindow):
|
||||
self.setCentralWidget(container)
|
||||
|
||||
self.btn_prev.clicked.connect(self.prev_clip)
|
||||
btn_next.clicked.connect(self.next_clip)
|
||||
self.btn_next.clicked.connect(self.next_clip)
|
||||
btn_skip.clicked.connect(self.skip_clip)
|
||||
btn_clear.clicked.connect(self.mc.clear)
|
||||
btn_undo.clicked.connect(self.mc.undo)
|
||||
@@ -350,6 +350,16 @@ class Annotator(QMainWindow):
|
||||
self.fs.pipe(out_path, buf.getvalue())
|
||||
|
||||
# ── actions ────────────────────────────────────────────────────
|
||||
def _save_locked(self):
|
||||
self.btn_next.setEnabled(False)
|
||||
self.btn_prev.setEnabled(False)
|
||||
QApplication.processEvents()
|
||||
try:
|
||||
self.save()
|
||||
finally:
|
||||
self.btn_next.setEnabled(True)
|
||||
self.btn_prev.setEnabled(self.history_pos > 0)
|
||||
|
||||
def save(self):
|
||||
out = fsjoin(self.out_dir, fsstem(self.filename))
|
||||
self._fs_makedirs(out)
|
||||
@@ -421,7 +431,7 @@ class Annotator(QMainWindow):
|
||||
def prev_clip(self):
|
||||
if self.history_pos <= 0:
|
||||
return
|
||||
self.save()
|
||||
self._save_locked()
|
||||
self.history_pos -= 1
|
||||
self._load_clip(path=self.history[self.history_pos])
|
||||
self._switch_ui_to_clip()
|
||||
@@ -446,13 +456,13 @@ class Annotator(QMainWindow):
|
||||
msg.exec()
|
||||
clicked = msg.clickedButton()
|
||||
if clicked == btn_replace:
|
||||
self.save()
|
||||
self._save_locked()
|
||||
self._advance_clip()
|
||||
elif clicked == btn_keep:
|
||||
self._advance_clip()
|
||||
# Cancel: do nothing
|
||||
else:
|
||||
self.save()
|
||||
self._save_locked()
|
||||
self._advance_clip()
|
||||
|
||||
def skip_clip(self):
|
||||
|
||||
Reference in New Issue
Block a user