Changeset View
Changeset View
Standalone View
Standalone View
src/kitemviews/kitemlistselectionmanager.cpp
Show First 20 Lines • Show All 167 Lines • ▼ Show 20 Line(s) | 167 | { | |||
---|---|---|---|---|---|
168 | const KItemSet previous = selectedItems(); | 168 | const KItemSet previous = selectedItems(); | ||
169 | if (!previous.isEmpty()) { | 169 | if (!previous.isEmpty()) { | ||
170 | m_selectedItems.clear(); | 170 | m_selectedItems.clear(); | ||
171 | m_isAnchoredSelectionActive = false; | 171 | m_isAnchoredSelectionActive = false; | ||
172 | emit selectionChanged(KItemSet(), previous); | 172 | emit selectionChanged(KItemSet(), previous); | ||
173 | } | 173 | } | ||
174 | } | 174 | } | ||
175 | 175 | | |||
176 | void KItemListSelectionManager::replaceSelection(int index, int count) | ||||
177 | { | ||||
178 | // Equivalent to: | ||||
179 | // clearSelection(); | ||||
180 | // setSelected(index, count); | ||||
181 | // but emitting once only selectionChanged | ||||
elvisangelaccio: Is `selectionChanged()` being emitted twice part of the bug? Or is this an unrelated… | |||||
I opened a separated diff D24505 meven: I opened a separated diff D24505 | |||||
182 | const KItemSet previous = selectedItems(); | ||||
183 | if (!previous.isEmpty()) { | ||||
184 | m_selectedItems.clear(); | ||||
185 | m_isAnchoredSelectionActive = false; | ||||
186 | } | ||||
187 | setSelected(index, count); | ||||
188 | } | ||||
189 | | ||||
176 | void KItemListSelectionManager::beginAnchoredSelection(int anchor) | 190 | void KItemListSelectionManager::beginAnchoredSelection(int anchor) | ||
177 | { | 191 | { | ||
178 | if (anchor >= 0 && m_model && anchor < m_model->count()) { | 192 | if (anchor >= 0 && m_model && anchor < m_model->count()) { | ||
179 | m_isAnchoredSelectionActive = true; | 193 | m_isAnchoredSelectionActive = true; | ||
180 | m_anchorItem = anchor; | 194 | m_anchorItem = anchor; | ||
181 | } | 195 | } | ||
182 | } | 196 | } | ||
183 | 197 | | |||
▲ Show 20 Lines • Show All 221 Lines • Show Last 20 Lines |
Is selectionChanged() being emitted twice part of the bug? Or is this an unrelated refactoring that could go to another commit?