]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphincontroller.h
adapt Dolphin to kdelibs coding style (http://techbase.kde.org/Policies/Kdelibs_Codin...
[dolphin.git] / src / dolphincontroller.h
index bde01c28ecd378f7cfe5ebbf402156905842c288..f9f4f4e4716d05daec5469e8274ebe41ef251cfe 100644 (file)
@@ -23,6 +23,7 @@
 #include <dolphinview.h>
 #include <kurl.h>
 #include <QObject>
+#include <libdolphin_export.h>
 
 class KUrl;
 class QModelIndex;
@@ -45,7 +46,7 @@ class QPoint;
  * when an item should be triggered and a lot more. The controller emits the corresponding signals
  * so that the receiver may react on those changes.
  */
-class DolphinController : public QObject
+class LIBDOLPHINPRIVATE_EXPORT DolphinController : public QObject
 {
     Q_OBJECT
 
@@ -53,20 +54,53 @@ public:
     explicit DolphinController(QObject* parent);
     virtual ~DolphinController();
 
-    void setUrl(const KUrl& url) { m_url = url; }
-    const KUrl& url() const { return m_url; }
+    void setUrl(const KUrl& url)
+    {
+        m_url = url;
+    }
+    const KUrl& url() const
+    {
+        return m_url;
+    }
 
     void triggerContextMenuRequest(const QPoint& pos);
 
     void triggerActivation();
 
     void indicateDroppedUrls(const KUrl::List& urls,
-                             const QPoint& pos);
+                             const QModelIndex& index,
+                             QWidget* source);
 
     void indicateSortingChange(DolphinView::Sorting sorting);
 
     void indicateSortOrderChange(Qt::SortOrder order);
 
+    void setShowPreview(bool showPreview);
+    bool showPreview() const
+    {
+        return m_showPreview;
+    }
+
+    void triggerZoomIn();
+    void setZoomInPossible(bool possible)
+    {
+        m_zoomInPossible = possible;
+    }
+    bool isZoomInPossible() const
+    {
+        return m_zoomInPossible;
+    }
+
+    void triggerZoomOut();
+    void setZoomOutPossible(bool possible)
+    {
+        m_zoomOutPossible = possible;
+    }
+    bool isZoomOutPossible() const
+    {
+        return m_zoomOutPossible;
+    }
+
 public slots:
     void triggerItem(const QModelIndex& index);
     void indicateSelectionChange();
@@ -87,14 +121,13 @@ signals:
     void activated();
 
     /**
-     * Is emitted if the URLs \a urls have been dropped.
-     * @param pos Position relative to the view widget where the
-     *            dropping has been done. It is recommended
-     *            to get the corresponding model index from
-     *            this position to find out the destination.
+     * Is emitted if the URLs \a urls have been dropped to the index
+     * \a index. \a source indicates the widget where the dragging has
+     * been started from.
      */
     void urlsDropped(const KUrl::List& urls,
-                     const QPoint& pos);
+                     const QModelIndex& index,
+                     QWidget* source);
 
     /** Is emitted if the sorting has been changed to \a sorting. */
     void sortingChanged(DolphinView::Sorting sorting);
@@ -102,6 +135,12 @@ signals:
     /** Is emitted if the sort order has been changed to \a sort order. */
     void sortOrderChanged(Qt::SortOrder order);
 
+    /**
+     * Is emitted if the state for showing previews has been
+     * changed to \a showPreview.
+     */
+    void showPreviewChanged(bool showPreview);
+
     /**
      * Is emitted if the item with the index \a index should be triggered.
      * Usually triggering on a directory opens the directory, triggering
@@ -112,7 +151,16 @@ signals:
     /** Is emitted if the selection has been changed by the user. */
     void selectionChanged();
 
+    /** Is emitted if the view should zoom in. */
+    void zoomIn();
+
+    /** Is emitted if the view should zoom out. */
+    void zoomOut();
+
 private:
+    bool m_showPreview;
+    bool m_zoomInPossible;
+    bool m_zoomOutPossible;
     KUrl m_url;
 };