+private slots:
+ void slotViewScrollOffsetChanged(qreal current, qreal previous);
+
+ /**
+ * Is invoked when the rubberband boundaries have been changed and will select
+ * all items that are touched by the rubberband.
+ */
+ void slotRubberBandChanged();
+
+ void slotChangeCurrentItem(const QString& text, bool searchFromNextItem);
+
+ void slotAutoActivationTimeout();
+
+private:
+ /**
+ * Creates a QDrag object and initiates a drag-operation.
+ */
+ void startDragging();
+
+ /**
+ * @return Widget that is currently in the hovered state. 0 is returned
+ * if no widget is marked as hovered.
+ */
+ KItemListWidget* hoveredWidget() const;
+
+ /**
+ * @return Widget that is below the position \a pos. 0 is returned
+ * if no widget is below the position.
+ */
+ KItemListWidget* widgetForPos(const QPointF& pos) const;
+
+ /**
+ * Updates m_keyboardAnchorIndex and m_keyboardAnchorPos. If no anchor is
+ * set, it will be adjusted to the current item. If it is set it will be
+ * checked whether it is still valid, otherwise it will be reset to the
+ * current item.
+ */
+ void updateKeyboardAnchor();
+
+ /**
+ * @return Index for the next row based on \a index.
+ * If there is no next row \a index will be returned.
+ */
+ int nextRowIndex(int index) const;
+
+ /**
+ * @return Index for the previous row based on \a index.
+ * If there is no previous row \a index will be returned.
+ */
+ int previousRowIndex(int index) const;
+
+ /**
+ * Helper method for updateKeyboardAnchor(), previousRowIndex() and nextRowIndex().
+ * @return The position of the keyboard anchor for the item with the index \a index.
+ * If a horizontal scrolling is used the y-position of the item will be returned,
+ * for the vertical scrolling the x-position will be returned.
+ */
+ qreal keyboardAnchorPos(int index) const;
+
+ /**
+ * Dependent on the selection-behavior the extendedSelectionRegion-property
+ * of the KItemListStyleOption from the view should be adjusted: If no
+ * rubberband selection is used the property should be enabled.
+ */
+ void updateExtendedSelectionRegion();
+