diff --git a/cockatrice/src/interface/widgets/visual_deck_editor/visual_deck_editor_widget.cpp b/cockatrice/src/interface/widgets/visual_deck_editor/visual_deck_editor_widget.cpp index 064fbed5d..60e354d6e 100644 --- a/cockatrice/src/interface/widgets/visual_deck_editor/visual_deck_editor_widget.cpp +++ b/cockatrice/src/interface/widgets/visual_deck_editor/visual_deck_editor_widget.cpp @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include @@ -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); diff --git a/cockatrice/src/interface/widgets/visual_deck_editor/visual_deck_editor_widget.h b/cockatrice/src/interface/widgets/visual_deck_editor/visual_deck_editor_widget.h index ac0d07efd..cc045fca2 100644 --- a/cockatrice/src/interface/widgets/visual_deck_editor/visual_deck_editor_widget.h +++ b/cockatrice/src/interface/widgets/visual_deck_editor/visual_deck_editor_widget.h @@ -78,6 +78,7 @@ signals: protected: void initializeSearchBarAndCompleter(); + void addCardFromSearch(); void initializeDisplayOptionsWidget(); void initializeDisplayOptionsAndSearchWidget(); void initializeScrollAreaAndZoneContainer();