#include "dolphincontroller.h"
-DolphinController::DolphinController(QObject* parent) :
- QObject(parent),
- m_showPreview(false),
- m_showAdditionalInfo(false),
+#include <QPainter>
+
+DolphinController::DolphinController(DolphinView* dolphinView) :
+ QObject(dolphinView),
m_zoomInPossible(false),
- m_zoomOutPossible(false)
+ m_zoomOutPossible(false),
+ m_url(),
+ m_dolphinView(dolphinView)
{
}
{
}
+void DolphinController::setUrl(const KUrl& url)
+{
+ if (m_url != url) {
+ m_url = url;
+ emit urlChanged(url);
+ }
+}
+
+void DolphinController::triggerUrlChangeRequest(const KUrl& url)
+{
+ if (m_url != url) {
+ emit requestUrlChange(url);
+ }
+}
+
void DolphinController::triggerContextMenuRequest(const QPoint& pos)
{
emit activated();
emit requestContextMenu(pos);
}
-void DolphinController::triggerActivation()
+void DolphinController::requestActivation()
{
emit activated();
}
void DolphinController::indicateDroppedUrls(const KUrl::List& urls,
- const QModelIndex& index,
- QWidget* source)
+ const KUrl& destPath,
+ const KFileItem& destItem,
+ QWidget* source)
{
- emit urlsDropped(urls, index, source);
+ emit urlsDropped(urls, destPath, destItem, source);
}
emit sortOrderChanged(order);
}
-void DolphinController::setShowPreview(bool show)
+void DolphinController::indicateAdditionalInfoChange(const KFileItemDelegate::InformationList& info)
{
- if (m_showPreview != show) {
- m_showPreview = show;
- emit showPreviewChanged(show);
- }
+ emit additionalInfoChanged(info);
}
-void DolphinController::setShowAdditionalInfo(bool show)
+void DolphinController::indicateActivationChange(bool active)
{
- if (m_showAdditionalInfo != show) {
- m_showAdditionalInfo = show;
- emit showAdditionalInfoChanged(show);
- }
+ emit activationChanged(active);
}
void DolphinController::triggerZoomIn()
emit zoomOut();
}
-void DolphinController::triggerItem(const QModelIndex& index)
+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 KFileItem& item)
{
- emit itemTriggered(index);
+ emit itemTriggered(item);
}
-void DolphinController::emitItemEntered(const QModelIndex& index)
+void DolphinController::emitItemEntered(const KFileItem& item)
{
- emit itemEntered(index);
+ emit itemEntered(item);
}
void DolphinController::emitViewportEntered()