┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews/kitemlistview.cpp
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2011-11-13 16:20:42 +0100
committerPeter Penz <[email protected]>2011-11-13 16:21:56 +0100
commit2438b61d8e76f8ea016217150be711a1467c32d0 (patch)
tree8519e8eb38d7f33b50b75eaeb96dfaeb30bacab4 /src/kitemviews/kitemlistview.cpp
parentfddcbc7a9edbed9267ea3114c8b7316f18904aba (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.cpp30
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));
}