]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinview.h
assure correct update of the enabled/disabled state of the zoom actions (no backport...
[dolphin.git] / src / dolphinview.h
index e74975f67a492ced15c9f03a3b748bc092ce59da..63afaba58766b41a5e24fa1ede6ca22c5101bc9a 100644 (file)
@@ -234,12 +234,17 @@ public:
     /** Returns the upper left position of the view content. */
     QPoint contentsPosition() const;
 
-    /** Increases the size of the current set view mode. */
-    void zoomIn();
-
-    /** Decreases the size of the current set view mode. */
-    void zoomOut();
-
+    /**
+     * Sets the zoom level to \a level. It is assured that the used
+     * level is adjusted to be inside the range DolphinView::zoomLevelMinimum() and
+     * DolphinView::zoomLevelMaximum().
+     */
+    void setZoomLevel(int level);
+    int zoomLevel() const;
+    
+    int zoomLevelMinimum() const;
+    int zoomLevelMaximum() const;
+    
     /**
      * Returns true, if zooming in is possible. If false is returned,
      * the minimal zoom size is possible.
@@ -460,6 +465,9 @@ signals:
 
     /** Is emitted if the additional information shown for this view has been changed. */
     void additionalInfoChanged();
+    
+    /** Is emitted if the zoom level has been changed by zooming in or out. */
+    void zoomLevelChanged(int level);
 
     /**
      * Is emitted if information of an item is requested to be shown e. g. in the sidebar.
@@ -657,6 +665,14 @@ private:
      * Pastes the clipboard data into the URL \a url.
      */
     void pasteToUrl(const KUrl& url);
+    
+    /**
+     * Checks whether the current item view has the same zoom level
+     * as \a oldZoomLevel. If this is not the case, the zoom level
+     * of the controller is updated and a zoomLevelChanged() signal
+     * is emitted.
+     */
+    void updateZoomLevel(int oldZoomLevel);
 
     /**
      * Returns true, if the ColumnView is activated. As the column view