#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()
{
}
{
}
+void DolphinController::setUrl(const KUrl& url)
+{
+ if (m_url != url) {
+ m_url = url;
+ emit urlChanged(url);
+ }
+}
+
void DolphinController::triggerContextMenuRequest(const QPoint& pos)
{
emit activated();
}
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);
}
}
}
-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);
}
}
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);