┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/draganddrophelper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/draganddrophelper.cpp')
-rw-r--r--src/draganddrophelper.cpp33
1 files changed, 20 insertions, 13 deletions
diff --git a/src/draganddrophelper.cpp b/src/draganddrophelper.cpp
index 39af6a3ce..0148f731b 100644
--- a/src/draganddrophelper.cpp
+++ b/src/draganddrophelper.cpp
@@ -18,6 +18,7 @@
***************************************************************************/
#include "draganddrophelper.h"
+#include "dolphiniconsview.h"
#include <kdirmodel.h>
#include <kicon.h>
@@ -57,7 +58,7 @@ void DragAndDropHelper::startDrag(QAbstractItemView* itemView, Qt::DropActions s
}
}
-void DragAndDropHelper::drawHoverIndication(QWidget* widget,
+void DragAndDropHelper::drawHoverIndication(QAbstractItemView* itemView,
const QRect& bounds,
const QBrush& brush)
{
@@ -65,6 +66,8 @@ void DragAndDropHelper::drawHoverIndication(QWidget* widget,
return;
}
+ QWidget* widget = itemView->viewport();
+
QPainter painter(widget);
painter.save();
QBrush blendedBrush(brush);
@@ -72,18 +75,22 @@ void DragAndDropHelper::drawHoverIndication(QWidget* widget,
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();
+ if (dynamic_cast<DolphinIconsView*>(itemView)) {
+ 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.setRenderHint(QPainter::Antialiasing);
+ painter.fillPath(path, blendedBrush);
+ } else {
+ painter.fillRect(bounds, blendedBrush);
+ }
painter.restore();
}