mirror of
git://git.savannah.nongnu.org/eliot.git
synced 2024-12-28 09:58:15 +01:00
Arbitration: give the focus on the first search result after a search
This commit is contained in:
parent
27a7cc6846
commit
50855fc104
2 changed files with 20 additions and 2 deletions
|
@ -470,6 +470,9 @@ void ArbitrationWidget::searchResults()
|
|||
{
|
||||
m_assignmentsWidget->assignDefaultMasterMove();
|
||||
}
|
||||
|
||||
// Set the focus to the first result
|
||||
selectAndFocusResult(0, false);
|
||||
}
|
||||
|
||||
|
||||
|
@ -558,8 +561,15 @@ void ArbitrationWidget::checkWord()
|
|||
lineEditCoords->clear();
|
||||
|
||||
// Show the new result and select it
|
||||
const QModelIndex &index =
|
||||
m_proxyResultsModel->mapFromSource(m_resultsModel->index(rowNum, 0));
|
||||
selectAndFocusResult(rowNum);
|
||||
}
|
||||
|
||||
|
||||
void ArbitrationWidget::selectAndFocusResult(int iRowNum, bool logical)
|
||||
{
|
||||
QModelIndex index = m_resultsModel->index(iRowNum, 0);
|
||||
if (logical)
|
||||
index = m_proxyResultsModel->mapFromSource(index);
|
||||
treeViewResults->scrollTo(index);
|
||||
treeViewResults->selectionModel()->clearSelection();
|
||||
treeViewResults->selectionModel()->select(index,
|
||||
|
|
|
@ -120,6 +120,14 @@ private:
|
|||
/// Clear search results
|
||||
void clearResults();
|
||||
|
||||
/**
|
||||
* Give the focus to the result corresponding to the given row number.
|
||||
* If logical is true, the row number is adapted to respect a possible
|
||||
* user-defined ordering of the table, otherwise it is used unmodified
|
||||
* (in the latter case, the row number corresponds to visible rows).
|
||||
*/
|
||||
void selectAndFocusResult(int iRowNum, bool logical = true);
|
||||
|
||||
/**
|
||||
* Add the given move to the results list.
|
||||
* Return the row number of the added item.
|
||||
|
|
Loading…
Reference in a new issue