[DeckEditor] Highlight card name in VDE quick search after adding (#7350)

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
This commit is contained in:
BruebachL 2026-09-25 08:31:38 +02:00 • committed by GitHub
parent 329a6ba94c
commit bc26e19564
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 18 additions and 13 deletions

View file

@ -20,6 +20,7 @@
#include <QLineEdit>
#include <QPushButton>
#include <QResizeEvent>
#include <QTimer>
#include <libcockatrice/card/card_info_comparator.h>
#include <libcockatrice/card/database/card_database.h>
#include <libcockatrice/card/database/card_database_manager.h>
@ -82,13 +83,8 @@ void VisualDeckEditorWidget::initializeSearchBarAndCompleter()
searchBar = new QLineEdit(searchContainer);
searchContainer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
connect(searchBar, &QLineEdit::returnPressed, this, [=, this]() {
if (!searchBar->hasFocus()) {
return;
}
ExactCard card = CardDatabaseManager::query()->getCard({searchBar->text()});
if (card) {
emit cardAdditionRequested(card);
if (searchBar->hasFocus()) {
addCardFromSearch();
}
});
@ -133,16 +129,24 @@ void VisualDeckEditorWidget::initializeSearchBarAndCompleter()
// Search button functionality
searchPushButton = new CompactPushButton(searchContainer);
searchPushButton->setButtonIcon(themePixmap(QStringLiteral("icons/search")));
connect(searchPushButton, &QPushButton::clicked, this, [=, this]() {
ExactCard card = CardDatabaseManager::query()->getCard({searchBar->text()});
if (card) {
emit cardAdditionRequested(card);
}
});
connect(searchPushButton, &QPushButton::clicked, this, [this] { addCardFromSearch(); });
searchLayout->addWidget(searchPushButton);
}
void VisualDeckEditorWidget::addCardFromSearch()
{
ExactCard card = CardDatabaseManager::query()->getCard({searchBar->text()});
if (!card) {
return;
}
emit cardAdditionRequested(card);
searchBar->setFocus();
QTimer::singleShot(0, searchBar, [this] { searchBar->setSelection(0, searchBar->text().length()); });
}
void VisualDeckEditorWidget::initializeDisplayOptionsWidget()
{
displayOptionsWidget = new VisualDeckDisplayOptionsWidget(this);

View file

@ -78,6 +78,7 @@ signals:
protected:
void initializeSearchBarAndCompleter();
void addCardFromSearch();
void initializeDisplayOptionsWidget();
void initializeDisplayOptionsAndSearchWidget();
void initializeScrollAreaAndZoneContainer();