From 3957884bf2e44619a4ed35ba0ffead519988885b Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Mon, 8 Aug 2011 23:41:18 +0200 Subject: Improvements for selections, smooth scrolling, tooltips and info-panel --- src/kitemviews/kitemlistview.h | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'src/kitemviews/kitemlistview.h') diff --git a/src/kitemviews/kitemlistview.h b/src/kitemviews/kitemlistview.h index 81ad52ac3..23181db6e 100644 --- a/src/kitemviews/kitemlistview.h +++ b/src/kitemviews/kitemlistview.h @@ -30,6 +30,7 @@ #include #include #include +#include class KItemListController; class KItemListWidgetCreatorBase; @@ -62,6 +63,8 @@ class LIBDOLPHINPRIVATE_EXPORT KItemListView : public QGraphicsWidget { Q_OBJECT + Q_PROPERTY(qreal offset READ offset WRITE setOffset) + public: KItemListView(QGraphicsWidget* parent = 0); virtual ~KItemListView(); @@ -132,6 +135,8 @@ public: virtual QSizeF itemSizeHint(int index) const; virtual QHash visibleRoleSizes() const; + QRectF itemBoundingRect(int index) const; + void beginTransaction(); void endTransaction(); bool isTransactionActive() const; @@ -157,8 +162,6 @@ protected: virtual bool event(QEvent* event); virtual void mousePressEvent(QGraphicsSceneMouseEvent* event); - virtual void hoverMoveEvent(QGraphicsSceneHoverEvent* event); - virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent* event); QList visibleItemListWidgets() const; @@ -169,7 +172,8 @@ protected slots: const QSet& roles); private slots: - void currentChanged(int current, int previous); + void slotCurrentChanged(int current, int previous); + void slotSelectionChanged(const QSet& current, const QSet& previous); void slotAnimationFinished(QGraphicsWidget* widget, KItemListViewAnimation::AnimationType type); void slotLayoutTimerFinished(); @@ -229,6 +233,12 @@ private: */ void applyDynamicItemSize(); + /** + * Helper method for createWidget() and setWidgetIndex() to update the properties + * of the itemlist widget. + */ + void updateWidgetProperties(KItemListWidget* widget, int index); + private: bool m_grouped; int m_activeTransactions; // Counter for beginTransaction()/endTransaction() -- cgit v1.3.1