***************************************************************************/
#include "draganddrophelper.h"
+#include "dolphiniconsview.h"
#include <kdirmodel.h>
#include <kicon.h>
}
}
-void DragAndDropHelper::drawHoverIndication(QWidget* widget,
+void DragAndDropHelper::drawHoverIndication(QAbstractItemView* itemView,
const QRect& bounds,
const QBrush& brush)
{
return;
}
+ QWidget* widget = itemView->viewport();
+
QPainter painter(widget);
painter.save();
QBrush blendedBrush(brush);
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();
}