From 216794724ca89104ad394ea9e55f5fdba1523707 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Thu, 9 Oct 2014 11:08:39 -0500 Subject: [PATCH] Add protected helper methods to better handle rubberband operations outside of a TDEListView in file manager mode This relates to Bug 1961 --- tdeui/tdelistview.cpp | 14 ++++++++++++++ tdeui/tdelistview.h | 15 +++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/tdeui/tdelistview.cpp b/tdeui/tdelistview.cpp index b2965ab3e..ace1ea075 100644 --- a/tdeui/tdelistview.cpp +++ b/tdeui/tdelistview.cpp @@ -1549,6 +1549,20 @@ bool TDEListView::automaticSelection() const return d->selectedBySimpleMove; } +void TDEListView::resetKeyboardSelectionOperation() +{ + d->wasShiftEvent = false; + d->selectionDirection = 0; +} + +void TDEListView::setActiveMultiSelectItem(TQListViewItem *item) { + TQListViewItem* origItem = currentItem(); + if (!d->initialFileManagerItem) { + d->initialFileManagerItem = origItem; + } + setCurrentItem(item); +} + void TDEListView::fileManagerKeyPressEvent (TQKeyEvent* e) { //don't care whether it's on the keypad or not diff --git a/tdeui/tdelistview.h b/tdeui/tdelistview.h index 950ce253a..f62e8f61e 100644 --- a/tdeui/tdelistview.h +++ b/tdeui/tdelistview.h @@ -996,6 +996,21 @@ protected: */ void resetAutoSelection(); + /** + * In FileManager selection mode: reset the keyboard selection operation; + * e.g. after completion of a mouse rubberband operation + * @since 14.0 + */ + void resetKeyboardSelectionOperation(); + + /** + * In FileManager selection mode: set the current keyboard cursor selection + * item; e.g. during a mouse rubberband operation + * @param direction down is 1, up is -1 + * @since 14.0 + */ + void setActiveMultiSelectItem(TQListViewItem *item); + /** * @deprecated This is just here for binary compatibility. Use the signal * in TQListView instead.