diff options
| author | Peter Penz <[email protected]> | 2011-11-13 16:20:42 +0100 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2011-11-13 16:21:56 +0100 |
| commit | 2438b61d8e76f8ea016217150be711a1467c32d0 (patch) | |
| tree | 8519e8eb38d7f33b50b75eaeb96dfaeb30bacab4 /src/kitemviews/kitemlistview.cpp | |
| parent | fddcbc7a9edbed9267ea3114c8b7316f18904aba (diff) | |
Bring back the selection-markers
Still some finetuning is necessary, but lets first bring
back the missing features from Dolphin 1.x to 2.0 before starting
with this.
Diffstat (limited to 'src/kitemviews/kitemlistview.cpp')
| -rw-r--r-- | src/kitemviews/kitemlistview.cpp | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/src/kitemviews/kitemlistview.cpp b/src/kitemviews/kitemlistview.cpp index 7976f397b..4ded4a93e 100644 --- a/src/kitemviews/kitemlistview.cpp +++ b/src/kitemviews/kitemlistview.cpp @@ -52,6 +52,7 @@ namespace { KItemListView::KItemListView(QGraphicsWidget* parent) : QGraphicsWidget(parent), + m_enabledSelectionToggles(false), m_grouped(false), m_activeTransactions(0), m_itemSize(), @@ -269,6 +270,24 @@ bool KItemListView::autoScroll() const return m_autoScrollTimer != 0; } +void KItemListView::setEnabledSelectionToggles(bool enabled) +{ + if (m_enabledSelectionToggles != enabled) { + m_enabledSelectionToggles = enabled; + + QHashIterator<int, KItemListWidget*> it(m_visibleItems); + while (it.hasNext()) { + it.next(); + it.value()->setEnabledSelectionToggle(enabled); + } + } +} + +bool KItemListView::enabledSelectionToggles() const +{ + return m_enabledSelectionToggles; +} + KItemListController* KItemListView::controller() const { return m_controller; @@ -362,8 +381,14 @@ int KItemListView::itemAt(const QPointF& pos) const bool KItemListView::isAboveSelectionToggle(int index, const QPointF& pos) const { - Q_UNUSED(index); - Q_UNUSED(pos); + const KItemListWidget* widget = m_visibleItems.value(index); + if (widget) { + const QRectF selectionToggleRect = widget->selectionToggleRect(); + if (!selectionToggleRect.isEmpty()) { + const QPointF mappedPos = widget->mapFromItem(this, pos); + return selectionToggleRect.contains(mappedPos); + } + } return false; } @@ -1486,6 +1511,7 @@ void KItemListView::updateWidgetProperties(KItemListWidget* widget, int index) widget->setSelected(selectionManager->isSelected(index)); widget->setHovered(false); widget->setAlternatingBackgroundColors(false); + widget->setEnabledSelectionToggle(enabledSelectionToggles()); widget->setIndex(index); widget->setData(m_model->data(index)); } |
