[escher] SelectableTableView: when reloading data, we temporary deselect

the table. We warn the SelectableTableViewDelegate that the selection
change is 'within a temporary selection change' when notifying it of the
change.
This commit is contained in:
Émilie Feral
2019-04-26 14:48:31 +02:00
parent 78907aeb4a
commit 661c7b9943
20 changed files with 48 additions and 34 deletions

View File

@@ -16,11 +16,11 @@ ExpressionModelListController::ExpressionModelListController(Responder * parentR
m_addNewModel.setMessage(text);
}
void ExpressionModelListController::tableViewDidChangeSelection(SelectableTableView * t, int previousSelectedCellX, int previousSelectedCellY) {
void ExpressionModelListController::tableViewDidChangeSelection(SelectableTableView * t, int previousSelectedCellX, int previousSelectedCellY, bool withinTemporarySelection) {
int currentSelectedRow = selectedRow();
// Update m_cumulatedHeightForSelectedIndex if we scrolled one cell up/down
if (previousSelectedCellY >= 0 && previousSelectedCellY == previousSelectedCellY + 1) {
if (currentSelectedRow >= 0 && currentSelectedRow == previousSelectedCellY + 1) {
/* We selected the cell under the previous cell. Shift the memoized cell
* heights. */
shiftMemoization(true);