#include <libdolphin_export.h>
class DolphinController;
-class QRubberBand;
/**
* @brief Represents the details view which shows the name, size,
virtual void mouseMoveEvent(QMouseEvent* event);
virtual void mouseReleaseEvent(QMouseEvent* event);
virtual void dragEnterEvent(QDragEnterEvent* event);
+ virtual void dragLeaveEvent(QDragLeaveEvent* event);
+ virtual void dragMoveEvent(QDragMoveEvent* event);
virtual void dropEvent(QDropEvent* event);
+ virtual void paintEvent(QPaintEvent* event);
private slots:
/**
void slotEntered(const QModelIndex& index);
/**
- * Updates the geometry of the rubberband dependent from the current
- * mouse position and the starting origin \a m_origin.
+ * Updates the destination \a m_elasticBandDestination from
+ * the elastic band to the current mouse position and triggers
+ * an update.
*/
- void updateRubberBandGeometry();
+ void updateElasticBand();
+
+ /**
+ * Returns the rectangle for the elastic band dependent from the
+ * origin \a m_elasticBandOrigin, the current destination
+ * \a m_elasticBandDestination and the viewport position.
+ */
+ QRect elasticBandRect() const;
void zoomIn();
void zoomOut();
DolphinController* m_controller;
QStyleOptionViewItem m_viewOptions;
- QRubberBand* m_rubberBand;
- QPoint m_origin;
+ bool m_dragging; // TODO: remove this property when the issue #160611 is solved in Qt 4.4
+ QRect m_dropRect; // TODO: remove this property when the issue #160611 is solved in Qt 4.4
+
+ bool m_showElasticBand;
+ QPoint m_elasticBandOrigin;
+ QPoint m_elasticBandDestination;
};
#endif