Put new citation after selected item rather than at end of list.

Fixes bug #12940.

Patch from Daniel.

(cherry picked from commit 40ae8644f9)
This commit is contained in:
Richard Kimberly Heck 2024-06-01 20:25:20 -04:00
parent 37a865762b
commit 1d7c8325f2
2 changed files with 14 additions and 3 deletions

View File

@ -285,17 +285,26 @@ void GuiSelectionManager::addPB_clicked()
return;
QModelIndex const idxToAdd = selIdx.first();
int const srows = selectedModel->rowCount();
// Add item after selected item
int const currentRow = selectedLV->currentIndex().row();
int const srows = currentRow == -1 ? selectedModel->rowCount() :
currentRow + 1;
QMap<int, QVariant> qm = availableModel->itemData(idxToAdd);
insertRowToSelected(srows, qm);
bool const isAdded = insertRowToSelected(srows, qm);
selectionChanged(); //signal
QModelIndex const idx = selectedLV->currentIndex();
if (idx.isValid())
selectedLV->setCurrentIndex(idx);
// select and show last added item
if (isAdded) {
QModelIndex idx = selectedModel->index(srows, 0);
selectedLV->setCurrentIndex(idx);
}
updateHook();
}

View File

@ -88,6 +88,8 @@ What's new
- Allow "longest label" to be empty (bug 11934).
- Put new citation after selected item rather than at end of list (bug 12940).
* INTERNALS