commit b13685d9bb3ce6db8f285f1c92abbe6b8bf90d2c Author: Juergen Spitzmueller <sp...@lyx.org> Date: Mon Sep 18 10:02:34 2023 +0200
Prefer following, not previous, item in selection manager after deletion (#12871) --- src/frontends/qt/GuiSelectionManager.cpp | 14 ++++++++------ 1 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/frontends/qt/GuiSelectionManager.cpp b/src/frontends/qt/GuiSelectionManager.cpp index b5c34ee..d99cd23 100644 --- a/src/frontends/qt/GuiSelectionManager.cpp +++ b/src/frontends/qt/GuiSelectionManager.cpp @@ -309,17 +309,19 @@ void GuiSelectionManager::deletePB_clicked() QModelIndex idx = selIdx.first(); int const row = idx.row(); - int nrows = selectedLV->model()->rowCount(); selectedModel->removeRow(row); selectionChanged(); //signal - // select previous item - if (nrows > 0) + int nrows = selectedLV->model()->rowCount(); + + // select following item if one follows, + // otherwise use previous one if we have one + if (row < nrows) + selectedLV->setCurrentIndex(selectedLV->model()->index(row, 0)); + else if (nrows > 0 && row > 0) selectedLV->setCurrentIndex(selectedLV->model()->index(row - 1, 0)); - else if (nrows == 0) - selectedLV->setCurrentIndex(selectedLV->model()->index(0, 0)); - selectedHasFocus_ = (nrows > 1); + selectedHasFocus_ = (nrows > 0); updateHook(); } -- lyx-cvs mailing list lyx-cvs@lists.lyx.org http://lists.lyx.org/mailman/listinfo/lyx-cvs