# HG changeset patch # User Matti Hamalainen # Date 1511256435 -7200 # Node ID 6f404158ce8cc9131c4da1e051a2c15b0fdd77d5 # Parent e6a2658ae0966582c9b344ea62e64d7a1772871c Get rid of tiny bit of code duplication. diff -r e6a2658ae096 -r 6f404158ce8c src/main.cpp --- a/src/main.cpp Fri Nov 17 04:12:38 2017 +0200 +++ b/src/main.cpp Tue Nov 21 11:27:15 2017 +0200 @@ -949,27 +949,34 @@ } -void SyntilistaMainWindow::selectRowPrev() +void SyntilistaMainWindow::selectRowDelta(const int delta) { QItemSelectionModel *sel = ui->tableview_People->selectionModel(); - int row = sel->currentIndex().row() - 1; - if (row < 0) - row = 0; + int prow = sel->currentIndex().row(); + int nrow = prow + delta; + if (nrow < 0) + nrow = 0; + else + if (nrow >= model_People->rowCount()) + nrow = model_People->rowCount() - 1; - sel->setCurrentIndex(model_People->index(row, 0), - QItemSelectionModel::ClearAndSelect|QItemSelectionModel::Rows); + if (nrow != prow) + { + sel->setCurrentIndex(model_People->index(nrow, 0), + QItemSelectionModel::ClearAndSelect|QItemSelectionModel::Rows); + } +} + + +void SyntilistaMainWindow::selectRowPrev() +{ + selectRowDelta(-1); } void SyntilistaMainWindow::selectRowNext() { - QItemSelectionModel *sel = ui->tableview_People->selectionModel(); - int row = sel->currentIndex().row() + 1; - if (row >= model_People->rowCount()) - row = model_People->rowCount() - 1; - - sel->setCurrentIndex(model_People->index(row, 0), - QItemSelectionModel::ClearAndSelect|QItemSelectionModel::Rows); + selectRowDelta(1); } diff -r e6a2658ae096 -r 6f404158ce8c src/main.h --- a/src/main.h Fri Nov 17 04:12:38 2017 +0200 +++ b/src/main.h Tue Nov 21 11:27:15 2017 +0200 @@ -193,6 +193,7 @@ void selectedPersonChanged(const QModelIndex &, const QModelIndex &); + void selectRowDelta(const int delta); void selectRowPrev(); void selectRowNext();