From 3fa377a11cd511c88a52bf7ca902e83266eb0273 Mon Sep 17 00:00:00 2001 From: RickyRister <42636155+RickyRister@users.noreply.github.com> Date: Sun, 31 May 2026 03:44:40 -0700 Subject: [PATCH] [TabDeckEditor] Refactor check ctrl to be on click (#6956) --- .../deck_editor_database_display_widget.cpp | 11 ++++++++++- .../deck_editor/deck_editor_database_display_widget.h | 1 + .../widgets/tabs/abstract_tab_deck_editor.cpp | 6 +----- .../visual_deck_editor/tab_deck_editor_visual.cpp | 6 +++++- 4 files changed, 17 insertions(+), 7 deletions(-) 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 580db67f4..e09a4311f 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 @@ -79,7 +79,7 @@ DeckEditorDatabaseDisplayWidget::DeckEditorDatabaseDisplayWidget(QWidget *parent &DeckEditorDatabaseDisplayWidget::databaseCustomMenu); connect(databaseView->selectionModel(), &QItemSelectionModel::currentRowChanged, this, &DeckEditorDatabaseDisplayWidget::updateCard); - connect(databaseView, &QTreeView::doubleClicked, this, &DeckEditorDatabaseDisplayWidget::actAddCardToMainDeck); + connect(databaseView, &QTreeView::doubleClicked, this, &DeckEditorDatabaseDisplayWidget::actAddCard); QByteArray dbHeaderState = SettingsCache::instance().layouts().getDeckEditorDbHeaderState(); if (dbHeaderState.isNull()) { @@ -146,6 +146,15 @@ void DeckEditorDatabaseDisplayWidget::updateCard(const QModelIndex ¤t, con } } +void DeckEditorDatabaseDisplayWidget::actAddCard() +{ + if (QApplication::keyboardModifiers() & Qt::ControlModifier) { + actAddCardToSideboard(); + } else { + actAddCardToMainDeck(); + } +} + void DeckEditorDatabaseDisplayWidget::actAddCardToMainDeck() { highlightAllSearchEdit(); diff --git a/cockatrice/src/interface/widgets/deck_editor/deck_editor_database_display_widget.h b/cockatrice/src/interface/widgets/deck_editor/deck_editor_database_display_widget.h index 0f62998ef..c5b1d2f2f 100644 --- a/cockatrice/src/interface/widgets/deck_editor/deck_editor_database_display_widget.h +++ b/cockatrice/src/interface/widgets/deck_editor/deck_editor_database_display_widget.h @@ -39,6 +39,7 @@ public slots: void clearAllDatabaseFilters(); void updateSearch(const QString &search); void updateCard(const QModelIndex ¤t, const QModelIndex &); + void actAddCard(); void actAddCardToMainDeck(); void actAddCardToSideboard(); void actDecrementCardFromMainDeck(); diff --git a/cockatrice/src/interface/widgets/tabs/abstract_tab_deck_editor.cpp b/cockatrice/src/interface/widgets/tabs/abstract_tab_deck_editor.cpp index 9a4588a25..e9fc08c76 100644 --- a/cockatrice/src/interface/widgets/tabs/abstract_tab_deck_editor.cpp +++ b/cockatrice/src/interface/widgets/tabs/abstract_tab_deck_editor.cpp @@ -144,11 +144,7 @@ void AbstractTabDeckEditor::decrementCard(const ExactCard &card, const QString & */ void AbstractTabDeckEditor::actAddCard(const ExactCard &card) { - if (QApplication::keyboardModifiers() & Qt::ControlModifier) { - actAddCardToSideboard(card); - } else { - addCard(card, DECK_ZONE_MAIN); - } + addCard(card, DECK_ZONE_MAIN); } /** @brief Adds a card to the sideboard explicitly. */ diff --git a/cockatrice/src/interface/widgets/tabs/visual_deck_editor/tab_deck_editor_visual.cpp b/cockatrice/src/interface/widgets/tabs/visual_deck_editor/tab_deck_editor_visual.cpp index 3cdad91fc..30bf6bfaa 100644 --- a/cockatrice/src/interface/widgets/tabs/visual_deck_editor/tab_deck_editor_visual.cpp +++ b/cockatrice/src/interface/widgets/tabs/visual_deck_editor/tab_deck_editor_visual.cpp @@ -223,7 +223,11 @@ void TabDeckEditorVisual::processCardClickDatabaseDisplay(QMouseEvent *event, CardInfoPictureWithTextOverlayWidget *instance) { if (event->button() == Qt::LeftButton) { - actAddCard(instance->getCard()); + if (QApplication::keyboardModifiers() & Qt::ControlModifier) { + actAddCardToSideboard(instance->getCard()); + } else { + actAddCard(instance->getCard()); + } } else if (event->button() == Qt::RightButton) { actDecrementCard(instance->getCard()); } else if (event->button() == Qt::MiddleButton) {