]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphincontroller.cpp
${CMAKE_SOURCE_DIR}/libkonq doesn't exist now
[dolphin.git] / src / dolphincontroller.cpp
index 378c1b4ba86d443999d824ea36d84c70ea003bbe..7723fd8ef693582e40d8d906ceeee86b96df051b 100644 (file)
 
 #include "dolphincontroller.h"
 
+#include <QPainter>
+
 DolphinController::DolphinController(QObject* parent) :
     QObject(parent),
     m_showPreview(false),
-    m_showAdditionalInfo(false),
     m_zoomInPossible(false),
-    m_zoomOutPossible(false)
+    m_zoomOutPossible(false),
+    m_additionalInfoCount(0),
+    m_url()
 {
 }
 
@@ -32,6 +35,14 @@ DolphinController::~DolphinController()
 {
 }
 
+void DolphinController::setUrl(const KUrl& url)
+{
+    if (m_url != url) {
+        m_url = url;
+        emit urlChanged(url);
+    }
+}
+
 void DolphinController::triggerContextMenuRequest(const QPoint& pos)
 {
     emit activated();
@@ -44,10 +55,11 @@ void DolphinController::triggerActivation()
 }
 
 void DolphinController::indicateDroppedUrls(const KUrl::List& urls,
-        const QModelIndex& index,
-        QWidget* source)
+                                            const KUrl& destPath,
+                                            const QModelIndex& destIndex,
+                                            QWidget* source)
 {
-    emit urlsDropped(urls, index, source);
+    emit urlsDropped(urls, destPath, destIndex, source);
 }
 
 
@@ -69,11 +81,11 @@ void DolphinController::setShowPreview(bool show)
     }
 }
 
-void DolphinController::setShowAdditionalInfo(bool show)
+void DolphinController::setAdditionalInfoCount(int count)
 {
-    if (m_showAdditionalInfo != show) {
-        m_showAdditionalInfo = show;
-        emit showAdditionalInfoChanged(show);
+    if (m_additionalInfoCount != count) {
+        m_additionalInfoCount = count;
+        emit additionalInfoCountChanged(count);
     }
 }
 
@@ -87,6 +99,33 @@ void DolphinController::triggerZoomOut()
     emit zoomOut();
 }
 
+void DolphinController::drawHoverIndication(QWidget* widget,
+                                            const QRect& bounds,
+                                            const QBrush& brush)
+{
+    QPainter painter(widget);
+    painter.save();
+    QBrush blendedBrush(brush);
+    QColor color = blendedBrush.color();
+    color.setAlpha(64);
+    blendedBrush.setColor(color);
+
+    const int radius = 10;
+    QPainterPath path(QPointF(bounds.left(), bounds.top() + radius));
+    path.quadTo(bounds.left(), bounds.top(), bounds.left() + radius, bounds.top());
+    path.lineTo(bounds.right() - radius, bounds.top());
+    path.quadTo(bounds.right(), bounds.top(), bounds.right(), bounds.top() + radius);
+    path.lineTo(bounds.right(), bounds.bottom() - radius);
+    path.quadTo(bounds.right(), bounds.bottom(), bounds.right() - radius, bounds.bottom());
+    path.lineTo(bounds.left() + radius, bounds.bottom());
+    path.quadTo(bounds.left(), bounds.bottom(), bounds.left(), bounds.bottom() - radius);
+    path.closeSubpath();
+
+    painter.setRenderHint(QPainter::Antialiasing);
+    painter.fillPath(path, blendedBrush);
+    painter.restore();
+}
+
 void DolphinController::triggerItem(const QModelIndex& index)
 {
     emit itemTriggered(index);