]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphincontroller.h
Added Rafael López's item categorizer into Dolphin (it's currently deactivated in...
[dolphin.git] / src / dolphincontroller.h
index 8229ade1eda0f6b457cea45d472ccab77a3eb984..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,18 +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,
-                                   const QPoint& globalPos);
+    void triggerContextMenuRequest(const QPoint& pos);
 
     void triggerActivation();
 
+    void indicateDroppedUrls(const KUrl::List& urls,
+                             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();
@@ -76,23 +112,35 @@ signals:
      *                  context menu should be opened. It is recommended
      *                  to get the corresponding model index from
      *                  this position.
-     * @param globalPos Global position where the context menu should
-     *                  be opened.
      */
-    void requestContextMenu(const QPoint& pos,
-                            const QPoint& globalPos);
+    void requestContextMenu(const QPoint& pos);
 
     /**
      * Is emitted if the view has been activated by e. g. a mouse click.
      */
     void activated();
 
+    /**
+     * 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 QModelIndex& index,
+                     QWidget* source);
+
     /** Is emitted if the sorting has been changed to \a sorting. */
     void sortingChanged(DolphinView::Sorting sorting);
 
     /** 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
@@ -103,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;
 };