diff --git a/cockatrice/src/interface/key_signals.h b/cockatrice/src/interface/key_signals.h index ca385a105..30dcee0ba 100644 --- a/cockatrice/src/interface/key_signals.h +++ b/cockatrice/src/interface/key_signals.h @@ -29,7 +29,7 @@ signals: void onShiftS(); void onCtrlC(); -public: +protected: bool eventFilter(QObject *, QEvent *event) override; }; diff --git a/cockatrice/src/interface/widgets/deck_editor/card_database_view.cpp b/cockatrice/src/interface/widgets/deck_editor/card_database_view.cpp index 4cbabdedb..a1c29e241 100644 --- a/cockatrice/src/interface/widgets/deck_editor/card_database_view.cpp +++ b/cockatrice/src/interface/widgets/deck_editor/card_database_view.cpp @@ -165,8 +165,3 @@ void CardDatabaseView::openCustomMenu(QPoint point) menu.exec(mapToGlobal(point)); } - -bool CardDatabaseView::eventFilter(QObject *object, QEvent *event) -{ - return searchKeySignals.eventFilter(object, event); -} \ No newline at end of file diff --git a/cockatrice/src/interface/widgets/deck_editor/card_database_view.h b/cockatrice/src/interface/widgets/deck_editor/card_database_view.h index 5dda430d6..0274fbdde 100644 --- a/cockatrice/src/interface/widgets/deck_editor/card_database_view.h +++ b/cockatrice/src/interface/widgets/deck_editor/card_database_view.h @@ -24,6 +24,15 @@ public: QString currentCardName() const; + /** + * @brief Get the KeySignals that are connected to this view. + * You can install the KeySignals as an eventFilter to capture keyboard shortcuts for adding and decrementing cards. + */ + KeySignals *getKeySignals() + { + return &searchKeySignals; + } + signals: void cardChanged(const QString &cardName); @@ -34,9 +43,6 @@ signals: void selectPrintingClicked(); void relatedCardClicked(const QString &relatedCard); -protected: - bool eventFilter(QObject *, QEvent *event) override; - private slots: void actDoubleClick(); diff --git a/cockatrice/src/interface/widgets/deck_editor/deck_editor_database_display_widget.cpp b/cockatrice/src/interface/widgets/deck_editor/deck_editor_database_display_widget.cpp index 4ba7d615c..9da821813 100644 --- a/cockatrice/src/interface/widgets/deck_editor/deck_editor_database_display_widget.cpp +++ b/cockatrice/src/interface/widgets/deck_editor/deck_editor_database_display_widget.cpp @@ -45,7 +45,7 @@ DeckEditorDatabaseDisplayWidget::DeckEditorDatabaseDisplayWidget(QWidget *parent databaseView->setFocusProxy(searchEdit); searchEdit->setTreeView(databaseView); - searchEdit->installEventFilter(databaseView); + searchEdit->installEventFilter(databaseView->getKeySignals()); connect(searchEdit, &SearchLineEdit::textChanged, databaseDisplayModel, &CardDatabaseDisplayModel::setStringFilter); connect(databaseView, &CardDatabaseView::cardAdded, this, &DeckEditorDatabaseDisplayWidget::addCard); diff --git a/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_widget.cpp b/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_widget.cpp index 58b761a3e..cc4cce496 100644 --- a/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_widget.cpp +++ b/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_widget.cpp @@ -87,7 +87,7 @@ VisualDatabaseDisplayWidget::VisualDatabaseDisplayWidget(QWidget *parent, databaseView->setVisible(false); searchEdit->setTreeView(databaseView); - searchEdit->installEventFilter(databaseView); + searchEdit->installEventFilter(databaseView->getKeySignals()); connect(databaseView, &CardDatabaseView::cardChanged, this, &VisualDatabaseDisplayWidget::onSelectedCardChanged); connect(databaseView, &CardDatabaseView::cardAdded, this, &VisualDatabaseDisplayWidget::actAddCard);