X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/5ebf2065d525160a29f1d7aeef41541c6033bccf..40cc5f665d:/src/kitemviews/kitemlistcontroller.h diff --git a/src/kitemviews/kitemlistcontroller.h b/src/kitemviews/kitemlistcontroller.h index d2e56eb64..b6a2f05fe 100644 --- a/src/kitemviews/kitemlistcontroller.h +++ b/src/kitemviews/kitemlistcontroller.h @@ -126,6 +126,13 @@ public: void setSingleClickActivationEnforced(bool singleClick); bool singleClickActivationEnforced() const; + /** + * Setting the selection mode to enabled will make selecting and deselecting easier by acting + * kind of similar to when the Control Key is held down. + */ + void setSelectionModeEnabled(bool enabled); + bool selectionMode() const; + bool processEvent(QEvent* event, const QTransform& transform); Q_SIGNALS: @@ -209,6 +216,17 @@ Q_SIGNALS: */ void escapePressed(); + /** + * Used to request either entering or leaving of selection mode + * Leaving is requested by pressing Escape when no item is selected. + * + * Entering is requested if left click is pressed down for a long time without moving the cursor too much. + * Moving the cursor would either trigger an item drag if the click was initiated on top of an item + * or a selection rectangle if the click was not initiated on top of an item. + * So long press is only emitted if there wasn't a lot of cursor movement. + */ + void selectionModeChangeRequested(bool enabled); + void modelChanged(KItemModelBase* current, KItemModelBase* previous); void viewChanged(KItemListView* current, KItemListView* previous); @@ -325,6 +343,7 @@ private: private: bool m_singleClickActivationEnforced; + bool m_selectionMode; bool m_selectionTogglePressed; bool m_clearSelectionIfItemsAreNotDragged; bool m_isSwipeGesture;