]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphincontroller.cpp
Fix the reproducible problem after the fix:
[dolphin.git] / src / dolphincontroller.cpp
index 545d365bdee28760af25654ddec6d43e22b73bf4..32560844254e34519cd9f9dc8fea819aef2f7783 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)
 {
@@ -31,6 +34,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();
@@ -43,10 +54,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);
 }
 
 
@@ -60,11 +72,19 @@ void DolphinController::indicateSortOrderChange(Qt::SortOrder order)
     emit sortOrderChanged(order);
 }
 
-void DolphinController::setShowPreview(bool showPreview)
+void DolphinController::setShowPreview(bool show)
+{
+    if (m_showPreview != show) {
+        m_showPreview = show;
+        emit showPreviewChanged(show);
+    }
+}
+
+void DolphinController::setShowAdditionalInfo(bool show)
 {
-    if (m_showPreview != showPreview) {
-        m_showPreview = showPreview;
-        emit showPreviewChanged(showPreview);
+    if (m_showAdditionalInfo != show) {
+        m_showAdditionalInfo = show;
+        emit showAdditionalInfoChanged(show);
     }
 }
 
@@ -78,14 +98,46 @@ 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);
 }
 
-void DolphinController::indicateSelectionChange()
+void DolphinController::emitItemEntered(const QModelIndex& index)
+{
+    emit itemEntered(index);
+}
+
+void DolphinController::emitViewportEntered()
 {
-    emit selectionChanged();
+    emit viewportEntered();
 }
 
 #include "dolphincontroller.moc"