mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-14 22:42:14 -07:00
Fix quick-add search bar stealing focus for modal widgets.
This commit is contained in:
parent
a0e6a5bbe5
commit
3323508722
4 changed files with 19 additions and 1 deletions
|
|
@ -19,6 +19,7 @@
|
||||||
#include <QAction>
|
#include <QAction>
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include <QCloseEvent>
|
#include <QCloseEvent>
|
||||||
|
#include <QCompleter>
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QDockWidget>
|
#include <QDockWidget>
|
||||||
#include <QFileDialog>
|
#include <QFileDialog>
|
||||||
|
|
@ -193,6 +194,15 @@ void TabDeckEditorVisual::processCardClickDatabaseDisplay(QMouseEvent *event,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool TabDeckEditorVisual::actSaveDeckAs()
|
||||||
|
{
|
||||||
|
// We have to disable the quick-add search bar or else it'll steal focus after dialog creation.
|
||||||
|
tabContainer->visualDeckView->searchBar->setEnabled(false);
|
||||||
|
auto result = AbstractTabDeckEditor::actSaveDeckAs();
|
||||||
|
tabContainer->visualDeckView->searchBar->setEnabled(true);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
void TabDeckEditorVisual::showPrintingSelector()
|
void TabDeckEditorVisual::showPrintingSelector()
|
||||||
{
|
{
|
||||||
printingSelectorDockWidget->printingSelector->setCard(cardInfoDockWidget->cardInfo->getInfo(), DECK_ZONE_MAIN);
|
printingSelectorDockWidget->printingSelector->setCard(cardInfoDockWidget->cardInfo->getInfo(), DECK_ZONE_MAIN);
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,7 @@ public slots:
|
||||||
void
|
void
|
||||||
processMainboardCardClick(QMouseEvent *event, CardInfoPictureWithTextOverlayWidget *instance, QString zoneName);
|
processMainboardCardClick(QMouseEvent *event, CardInfoPictureWithTextOverlayWidget *instance, QString zoneName);
|
||||||
void processCardClickDatabaseDisplay(QMouseEvent *event, CardInfoPictureWithTextOverlayWidget *instance);
|
void processCardClickDatabaseDisplay(QMouseEvent *event, CardInfoPictureWithTextOverlayWidget *instance);
|
||||||
|
bool actSaveDeckAs() override;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -42,11 +42,18 @@ VisualDeckEditorWidget::VisualDeckEditorWidget(QWidget *parent, DeckListModel *_
|
||||||
|
|
||||||
searchBar = new QLineEdit(this);
|
searchBar = new QLineEdit(this);
|
||||||
connect(searchBar, &QLineEdit::returnPressed, this, [=, this]() {
|
connect(searchBar, &QLineEdit::returnPressed, this, [=, this]() {
|
||||||
|
if (!searchBar->hasFocus())
|
||||||
|
return;
|
||||||
|
|
||||||
CardInfoPtr card = CardDatabaseManager::getInstance()->getCard(searchBar->text());
|
CardInfoPtr card = CardDatabaseManager::getInstance()->getCard(searchBar->text());
|
||||||
if (card) {
|
if (card) {
|
||||||
emit cardAdditionRequested(card);
|
emit cardAdditionRequested(card);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
setFocusProxy(searchBar);
|
||||||
|
setFocusPolicy(Qt::ClickFocus);
|
||||||
|
|
||||||
cardDatabaseModel = new CardDatabaseModel(CardDatabaseManager::getInstance(), false, this);
|
cardDatabaseModel = new CardDatabaseModel(CardDatabaseManager::getInstance(), false, this);
|
||||||
cardDatabaseDisplayModel = new CardDatabaseDisplayModel(this);
|
cardDatabaseDisplayModel = new CardDatabaseDisplayModel(this);
|
||||||
cardDatabaseDisplayModel->setSourceModel(cardDatabaseModel);
|
cardDatabaseDisplayModel->setSourceModel(cardDatabaseModel);
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@ public:
|
||||||
|
|
||||||
void setDeckList(const DeckList &_deckListModel);
|
void setDeckList(const DeckList &_deckListModel);
|
||||||
|
|
||||||
|
QLineEdit *searchBar;
|
||||||
CardSizeWidget *cardSizeWidget;
|
CardSizeWidget *cardSizeWidget;
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
|
|
@ -56,7 +57,6 @@ private:
|
||||||
QVBoxLayout *mainLayout;
|
QVBoxLayout *mainLayout;
|
||||||
QWidget *searchContainer;
|
QWidget *searchContainer;
|
||||||
QHBoxLayout *searchLayout;
|
QHBoxLayout *searchLayout;
|
||||||
QLineEdit *searchBar;
|
|
||||||
CardDatabaseModel *cardDatabaseModel;
|
CardDatabaseModel *cardDatabaseModel;
|
||||||
CardDatabaseDisplayModel *cardDatabaseDisplayModel;
|
CardDatabaseDisplayModel *cardDatabaseDisplayModel;
|
||||||
CardCompleterProxyModel *proxyModel;
|
CardCompleterProxyModel *proxyModel;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue