Fix first entry is not selected when a search is performed (#9868)

This commit is contained in:
Colfenor 2023-09-25 15:21:28 +02:00 committed by GitHub
parent 6b67f587e5
commit cd7a53abbb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 1 deletions

View File

@ -219,11 +219,12 @@ void EntryView::displaySearch(const QList<Entry*>& entries)
m_model->setEntries(entries); m_model->setEntries(entries);
header()->showSection(EntryModel::ParentGroup); header()->showSection(EntryModel::ParentGroup);
setFirstEntryActive();
// Reset sort column to 'Group', overrides DatabaseWidgetStateSync // Reset sort column to 'Group', overrides DatabaseWidgetStateSync
m_sortModel->sort(EntryModel::ParentGroup, Qt::AscendingOrder); m_sortModel->sort(EntryModel::ParentGroup, Qt::AscendingOrder);
sortByColumn(EntryModel::ParentGroup, Qt::AscendingOrder); sortByColumn(EntryModel::ParentGroup, Qt::AscendingOrder);
setFirstEntryActive();
m_inSearchMode = true; m_inSearchMode = true;
} }

View File

@ -1082,6 +1082,13 @@ void TestGui::testSearch()
QCOMPARE(groupView->currentGroup(), m_db->rootGroup()); QCOMPARE(groupView->currentGroup(), m_db->rootGroup());
QVERIFY(!m_dbWidget->isSearchActive()); QVERIFY(!m_dbWidget->isSearchActive());
// check if first entry is selected after search
QTest::keyClicks(searchTextEdit, "some");
QTRY_VERIFY(m_dbWidget->isSearchActive());
QTRY_COMPARE(entryView->selectedEntries().length(), 1);
QModelIndex index_current = entryView->indexFromEntry(entryView->currentEntry());
QTRY_COMPARE(index_current.row(), 0);
// Try to edit the first entry from the search view // Try to edit the first entry from the search view
// Refocus back to search edit // Refocus back to search edit
QTest::mouseClick(searchTextEdit, Qt::LeftButton); QTest::mouseClick(searchTextEdit, Qt::LeftButton);