[ocrfeeder: 6/15] Make selecting/moving pages dependent on the number of pages



commit cd6b15b41123542f5df3f00316aef9cdc04848e1
Author: Joaquim Rocha <jrocha igalia com>
Date:   Sat Oct 6 15:10:58 2012 +0200

    Make selecting/moving pages dependent on the number of pages
    
    They need to be enabled only if there are more than 1 page loaded.

 src/ocrfeeder/studio/studioBuilder.py   |    8 ++++++++
 src/ocrfeeder/studio/widgetPresenter.py |    5 +++++
 2 files changed, 13 insertions(+), 0 deletions(-)
---
diff --git a/src/ocrfeeder/studio/studioBuilder.py b/src/ocrfeeder/studio/studioBuilder.py
index f82a917..1ca5aec 100644
--- a/src/ocrfeeder/studio/studioBuilder.py
+++ b/src/ocrfeeder/studio/studioBuilder.py
@@ -78,6 +78,10 @@ class Studio:
         self.source_images_icon_view.setDeleteCurrentPageFunction(self.deleteCurrentPage)
         self.source_images_icon_view.connect('drag_data_received', self.dragDataReceived)
         self.source_images_icon_view.connect('drag_drop', self.dragDrop)
+        self.source_images_icon_view.get_model().connect('row-inserted',
+                                                 self.__pagesUpdatedCallback)
+        self.source_images_icon_view.get_model().connect('row-deleted',
+                                                 self.__pagesUpdatedCallback)
         self.source_images_icon_view.drag_dest_set(gtk.DEST_DEFAULT_MOTION | gtk.DEST_DEFAULT_HIGHLIGHT,
                                                    [('text/uri-list', 0, self.TARGET_TYPE_URI_LIST)], gtk.gdk.ACTION_COPY)
         self.source_images_icon_view.show()
@@ -462,6 +466,10 @@ class Studio:
     def zoomFit(self, widget = None):
         self.source_images_controler.zoomFit()
 
+    def __pagesUpdatedCallback(self, model, path, iter):
+        self.main_window.setNumberOfPages(
+            self.source_images_icon_view.getNumberOfPages())
+
     def __askForEnginesMigration(self):
         auto_update = self.engines_needing_update['auto']
         if auto_update:
diff --git a/src/ocrfeeder/studio/widgetPresenter.py b/src/ocrfeeder/studio/widgetPresenter.py
index c9c2ea3..1e14cfb 100644
--- a/src/ocrfeeder/studio/widgetPresenter.py
+++ b/src/ocrfeeder/studio/widgetPresenter.py
@@ -279,6 +279,11 @@ class MainWindow:
         if nr_images:
             self.setHasSelectedBoxes(False)
             self.setHasContentBoxes(False)
+        self.__setActionsSensitiveness(['SelectNextPage',
+                                        'SelectPreviousPage',
+                                        'MovePageUp',
+                                        'MovePageDown'],
+                                        nr_images > 1)
 
     def setHasSelectedBoxes(self, has_selected_boxes = True):
         if not self.action_group:



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]