┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/dolphincolumnwidget.cpp2
-rw-r--r--src/dolphindetailsview.cpp2
-rw-r--r--src/dolphiniconsview.cpp2
-rw-r--r--src/draganddrophelper.cpp33
-rw-r--r--src/draganddrophelper.h2
-rw-r--r--src/sidebartreeview.cpp2
6 files changed, 25 insertions, 18 deletions
diff --git a/src/dolphincolumnwidget.cpp b/src/dolphincolumnwidget.cpp
index 7d29251ea..9a500df6b 100644
--- a/src/dolphincolumnwidget.cpp
+++ b/src/dolphincolumnwidget.cpp
@@ -290,7 +290,7 @@ void DolphinColumnWidget::paintEvent(QPaintEvent* event)
// TODO: remove this code when the issue #160611 is solved in Qt 4.4
if (m_dragging) {
const QBrush& brush = viewOptions().palette.brush(QPalette::Normal, QPalette::Highlight);
- DragAndDropHelper::drawHoverIndication(viewport(), m_dropRect, brush);
+ DragAndDropHelper::drawHoverIndication(this, m_dropRect, brush);
}
}
diff --git a/src/dolphindetailsview.cpp b/src/dolphindetailsview.cpp
index 36ea99ad8..46752fc95 100644
--- a/src/dolphindetailsview.cpp
+++ b/src/dolphindetailsview.cpp
@@ -320,7 +320,7 @@ void DolphinDetailsView::paintEvent(QPaintEvent* event)
// TODO: remove this code when the issue #160611 is solved in Qt 4.4
if (m_dragging) {
const QBrush& brush = viewOptions().palette.brush(QPalette::Normal, QPalette::Highlight);
- DragAndDropHelper::drawHoverIndication(viewport(), m_dropRect, brush);
+ DragAndDropHelper::drawHoverIndication(this, m_dropRect, brush);
}
}
diff --git a/src/dolphiniconsview.cpp b/src/dolphiniconsview.cpp
index 0c888d871..8d474f4bc 100644
--- a/src/dolphiniconsview.cpp
+++ b/src/dolphiniconsview.cpp
@@ -268,7 +268,7 @@ void DolphinIconsView::paintEvent(QPaintEvent* event)
// TODO: remove this code when the issue #160611 is solved in Qt 4.4
if (m_dragging) {
const QBrush& brush = viewOptions().palette.brush(QPalette::Normal, QPalette::Highlight);
- DragAndDropHelper::drawHoverIndication(viewport(), m_dropRect, brush);
+ DragAndDropHelper::drawHoverIndication(this, m_dropRect, brush);
}
}
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();
}
diff --git a/src/draganddrophelper.h b/src/draganddrophelper.h
index 8003b75d2..8e1e4531f 100644
--- a/src/draganddrophelper.h
+++ b/src/draganddrophelper.h
@@ -44,7 +44,7 @@ public:
static void startDrag(QAbstractItemView* itemView, Qt::DropActions supportedActions);
// TODO: remove this method when the issue #160611 is solved in Qt 4.4
- static void drawHoverIndication(QWidget* widget,
+ static void drawHoverIndication(QAbstractItemView* itemView,
const QRect& bounds,
const QBrush& brush);
};
diff --git a/src/sidebartreeview.cpp b/src/sidebartreeview.cpp
index 9ab10a0b2..af676541a 100644
--- a/src/sidebartreeview.cpp
+++ b/src/sidebartreeview.cpp
@@ -155,7 +155,7 @@ void SidebarTreeView::paintEvent(QPaintEvent* event)
// TODO: remove this code when the issue #160611 is solved in Qt 4.4
if (m_dragging) {
const QBrush& brush = palette().brush(QPalette::Normal, QPalette::Highlight);
- DragAndDropHelper::drawHoverIndication(viewport(), m_dropRect, brush);
+ DragAndDropHelper::drawHoverIndication(this, m_dropRect, brush);
}
}