Sfoglia il codice sorgente

Fix state of buttons (disable most buttons without image)

Kentaro Wada 6 anni fa
parent
commit
2d232c8cc7
1 ha cambiato i file con 16 aggiunte e 10 eliminazioni
  1. 16 10
      labelme/app.py

+ 16 - 10
labelme/app.py

@@ -195,10 +195,11 @@ class MainWindow(QtWidgets.QMainWindow, WindowMixin):
         opendir = action('&Open Dir', self.openDirDialog,
                          shortcuts['open_dir'], 'open', u'Open Dir')
         openNextImg = action('&Next Image', self.openNextImg,
-                             shortcuts['open_next'], 'next', u'Open Next')
-
+                             shortcuts['open_next'], 'next', u'Open Next',
+                             enabled=False)
         openPrevImg = action('&Prev Image', self.openPrevImg,
-                             shortcuts['open_prev'], 'prev', u'Open Prev')
+                             shortcuts['open_prev'], 'prev', u'Open Prev',
+                             enabled=False)
         save = action('&Save', self.saveFile, shortcuts['save'], 'save',
                       'Save labels to file', enabled=False)
         saveAs = action('&Save As', self.saveFileAs, shortcuts['save_as'],
@@ -219,7 +220,7 @@ class MainWindow(QtWidgets.QMainWindow, WindowMixin):
             shortcuts['create_polygon'],
             'objects',
             'Start drawing polygons',
-            enabled=True,
+            enabled=False,
         )
         createRectangleMode = action(
             'Create Rectangle',
@@ -227,7 +228,7 @@ class MainWindow(QtWidgets.QMainWindow, WindowMixin):
             shortcuts['create_rectangle'],
             'objects',
             'Start drawing rectangles',
-            enabled=True,
+            enabled=False,
         )
         createCircleMode = action(
             'Create Circle',
@@ -235,7 +236,7 @@ class MainWindow(QtWidgets.QMainWindow, WindowMixin):
             shortcuts['create_circle'],
             'objects',
             'Start drawing circles',
-            enabled=True,
+            enabled=False,
         )
         createLineMode = action(
             'Create Line',
@@ -243,7 +244,7 @@ class MainWindow(QtWidgets.QMainWindow, WindowMixin):
             shortcuts['create_line'],
             'objects',
             'Start drawing lines',
-            enabled=True,
+            enabled=False,
         )
         createPointMode = action(
             'Create Point',
@@ -251,15 +252,15 @@ class MainWindow(QtWidgets.QMainWindow, WindowMixin):
             shortcuts['create_point'],
             'objects',
             'Start drawing points',
-            enabled=True,
+            enabled=False,
         )
         editMode = action('Edit Polygons', self.setEditMode,
                           shortcuts['edit_polygon'], 'edit',
-                          'Move and edit polygons', enabled=True)
+                          'Move and edit polygons', enabled=False)
 
         delete = action('Delete Polygon', self.deleteSelectedShape,
                         shortcuts['delete_polygon'], 'cancel',
-                        'Delete', enabled=True)
+                        'Delete', enabled=False)
         copy = action('Duplicate Polygon', self.copySelectedShape,
                       shortcuts['duplicate_polygon'], 'copy',
                       'Create a duplicate of the selected polygon',
@@ -367,6 +368,7 @@ class MainWindow(QtWidgets.QMainWindow, WindowMixin):
             zoom=zoom, zoomIn=zoomIn, zoomOut=zoomOut, zoomOrg=zoomOrg,
             fitWindow=fitWindow, fitWidth=fitWidth,
             zoomActions=zoomActions,
+            openNextImg=openNextImg, openPrevImg=openPrevImg,
             fileMenuActions=(open_, opendir, save, saveAs, close, quit),
             tool=(),
             editMenu=(edit, copy, delete, None, undo, undoLastPoint,
@@ -636,6 +638,7 @@ class MainWindow(QtWidgets.QMainWindow, WindowMixin):
         self.actions.editMode.setEnabled(not drawing)
         self.actions.undoLastPoint.setEnabled(drawing)
         self.actions.undo.setEnabled(not drawing)
+        self.actions.delete.setEnabled(not drawing)
 
     def toggleDrawMode(self, edit=True, createMode='polygon'):
         self.canvas.setEditing(edit)
@@ -1343,6 +1346,9 @@ class MainWindow(QtWidgets.QMainWindow, WindowMixin):
         return lst
 
     def importDirImages(self, dirpath, pattern=None, load=True):
+        self.actions.openNextImg.setEnabled(True)
+        self.actions.openPrevImg.setEnabled(True)
+
         if not self.mayContinue() or not dirpath:
             return