[Client] Visual Deck Editor: Added more mouse click modifiers to add/decrement cards to specific zones (#7589)

* Make visual database mouse click modifiers properly add/decrement different card zones

* Use event->modifiers(), refactor

* Removed QApplication include

* Added visual database display documentation page

* Minor fixes

* Added documentation for the mouse interaction of the table view
This commit is contained in:
Jurriaan 2026-11-03 10:35:58 +01:00 • committed by GitHub
parent 381dd21e8c
commit bfb53c5def
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 43 additions and 10 deletions

View file

@ -20,7 +20,6 @@
#include "tab_deck_editor_visual_tab_widget.h"
#include <QAction>
#include <QApplication>
#include <QByteArray>
#include <QDebug>
#include <QDockWidget>
@ -261,17 +260,25 @@ void TabDeckEditorVisual::processMainboardCardClick(const QMouseEvent *event,
}
}
/** @brief Get a zone name corresponding to keyboard modifiers. */
static QString zoneForClickModifiers(const Qt::KeyboardModifiers &modifiers)
{
if (modifiers.testFlag(Qt::ControlModifier)) {
return DECK_ZONE_SIDE;
} else if (modifiers.testFlag(Qt::ShiftModifier)) {
return DECK_ZONE_MAYBEBOARD;
} else {
return DECK_ZONE_MAIN;
}
}
/** @brief Handles clicks on cards in the database display. */
void TabDeckEditorVisual::processDatabaseCardClick(const QMouseEvent *event, const ExactCard &card)
{
if (event->button() == Qt::LeftButton) {
if (QApplication::keyboardModifiers() & Qt::ControlModifier) {
addCard(card, DECK_ZONE_SIDE);
} else {
addCard(card, DECK_ZONE_MAIN);
}
addCard(card, zoneForClickModifiers(event->modifiers()));
} else if (event->button() == Qt::RightButton) {
decrementCard(card, DECK_ZONE_MAIN);
decrementCard(card, zoneForClickModifiers(event->modifiers()));
} else if (event->button() == Qt::MiddleButton) {
deckDockWidget->actRemoveCard();
}