mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-06-26 16:43:55 -07:00
[TabDeckEditor] Refactor: consolidate add/decrement card signals (#6961)
This commit is contained in:
parent
3fa377a11c
commit
f52dc6dda8
10 changed files with 40 additions and 76 deletions
|
|
@ -431,13 +431,13 @@ QMenu *CardInfoPictureWidget::createAddToOpenDeckMenu()
|
||||||
QAction *addCard = addCardMenu->addAction(tr("Mainboard"));
|
QAction *addCard = addCardMenu->addAction(tr("Mainboard"));
|
||||||
connect(addCard, &QAction::triggered, this, [this, deckEditorTab] {
|
connect(addCard, &QAction::triggered, this, [this, deckEditorTab] {
|
||||||
deckEditorTab->updateCard(exactCard);
|
deckEditorTab->updateCard(exactCard);
|
||||||
deckEditorTab->actAddCard(exactCard);
|
deckEditorTab->addCard(exactCard, DECK_ZONE_MAIN);
|
||||||
});
|
});
|
||||||
|
|
||||||
QAction *addCardSideboard = addCardMenu->addAction(tr("Sideboard"));
|
QAction *addCardSideboard = addCardMenu->addAction(tr("Sideboard"));
|
||||||
connect(addCardSideboard, &QAction::triggered, this, [this, deckEditorTab] {
|
connect(addCardSideboard, &QAction::triggered, this, [this, deckEditorTab] {
|
||||||
deckEditorTab->updateCard(exactCard);
|
deckEditorTab->updateCard(exactCard);
|
||||||
deckEditorTab->actAddCardToSideboard(exactCard);
|
deckEditorTab->addCard(exactCard, DECK_ZONE_SIDE);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -29,14 +29,10 @@ void DeckEditorCardDatabaseDockWidget::createDatabaseDisplayDock(AbstractTabDeck
|
||||||
// connect signals
|
// connect signals
|
||||||
connect(databaseDisplayWidget, &DeckEditorDatabaseDisplayWidget::cardChanged, deckEditor,
|
connect(databaseDisplayWidget, &DeckEditorDatabaseDisplayWidget::cardChanged, deckEditor,
|
||||||
&AbstractTabDeckEditor::updateCard);
|
&AbstractTabDeckEditor::updateCard);
|
||||||
connect(databaseDisplayWidget, &DeckEditorDatabaseDisplayWidget::addCardToMainDeck, deckEditor,
|
connect(databaseDisplayWidget, &DeckEditorDatabaseDisplayWidget::cardAdded, deckEditor,
|
||||||
&AbstractTabDeckEditor::actAddCard);
|
&AbstractTabDeckEditor::addCard);
|
||||||
connect(databaseDisplayWidget, &DeckEditorDatabaseDisplayWidget::addCardToSideboard, deckEditor,
|
connect(databaseDisplayWidget, &DeckEditorDatabaseDisplayWidget::cardDecremented, deckEditor,
|
||||||
&AbstractTabDeckEditor::actAddCardToSideboard);
|
&AbstractTabDeckEditor::decrementCard);
|
||||||
connect(databaseDisplayWidget, &DeckEditorDatabaseDisplayWidget::decrementCardFromMainDeck, deckEditor,
|
|
||||||
&AbstractTabDeckEditor::actDecrementCard);
|
|
||||||
connect(databaseDisplayWidget, &DeckEditorDatabaseDisplayWidget::decrementCardFromSideboard, deckEditor,
|
|
||||||
&AbstractTabDeckEditor::actDecrementCardFromSideboard);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CardDatabase *DeckEditorCardDatabaseDockWidget::getDatabase() const
|
CardDatabase *DeckEditorCardDatabaseDockWidget::getDatabase() const
|
||||||
|
|
|
||||||
|
|
@ -158,23 +158,23 @@ void DeckEditorDatabaseDisplayWidget::actAddCard()
|
||||||
void DeckEditorDatabaseDisplayWidget::actAddCardToMainDeck()
|
void DeckEditorDatabaseDisplayWidget::actAddCardToMainDeck()
|
||||||
{
|
{
|
||||||
highlightAllSearchEdit();
|
highlightAllSearchEdit();
|
||||||
emit addCardToMainDeck(currentCard());
|
emit cardAdded(currentCard(), DECK_ZONE_MAIN);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DeckEditorDatabaseDisplayWidget::actAddCardToSideboard()
|
void DeckEditorDatabaseDisplayWidget::actAddCardToSideboard()
|
||||||
{
|
{
|
||||||
highlightAllSearchEdit();
|
highlightAllSearchEdit();
|
||||||
emit addCardToSideboard(currentCard());
|
emit cardAdded(currentCard(), DECK_ZONE_SIDE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DeckEditorDatabaseDisplayWidget::actDecrementCardFromMainDeck()
|
void DeckEditorDatabaseDisplayWidget::actDecrementCardFromMainDeck()
|
||||||
{
|
{
|
||||||
emit decrementCardFromMainDeck(currentCard());
|
emit cardDecremented(currentCard(), DECK_ZONE_MAIN);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DeckEditorDatabaseDisplayWidget::actDecrementCardFromSideboard()
|
void DeckEditorDatabaseDisplayWidget::actDecrementCardFromSideboard()
|
||||||
{
|
{
|
||||||
emit decrementCardFromSideboard(currentCard());
|
emit cardDecremented(currentCard(), DECK_ZONE_SIDE);
|
||||||
}
|
}
|
||||||
|
|
||||||
ExactCard DeckEditorDatabaseDisplayWidget::currentCard() const
|
ExactCard DeckEditorDatabaseDisplayWidget::currentCard() const
|
||||||
|
|
|
||||||
|
|
@ -48,10 +48,8 @@ public slots:
|
||||||
void copyDatabaseCellContents();
|
void copyDatabaseCellContents();
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void addCardToMainDeck(const ExactCard &card);
|
void cardAdded(const ExactCard &card, const QString &zoneName);
|
||||||
void addCardToSideboard(const ExactCard &card);
|
void cardDecremented(const ExactCard &card, const QString &zoneName);
|
||||||
void decrementCardFromMainDeck(const ExactCard &card);
|
|
||||||
void decrementCardFromSideboard(const ExactCard &card);
|
|
||||||
void cardChanged(const ExactCard &_card);
|
void cardChanged(const ExactCard &_card);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
||||||
|
|
@ -139,32 +139,6 @@ void AbstractTabDeckEditor::decrementCard(const ExactCard &card, const QString &
|
||||||
deckStateManager->decrementCard(card, zoneName);
|
deckStateManager->decrementCard(card, zoneName);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Adds a card to the main deck or sideboard depending on Ctrl key.
|
|
||||||
*/
|
|
||||||
void AbstractTabDeckEditor::actAddCard(const ExactCard &card)
|
|
||||||
{
|
|
||||||
addCard(card, DECK_ZONE_MAIN);
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @brief Adds a card to the sideboard explicitly. */
|
|
||||||
void AbstractTabDeckEditor::actAddCardToSideboard(const ExactCard &card)
|
|
||||||
{
|
|
||||||
addCard(card, DECK_ZONE_SIDE);
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @brief Decrements a card from the main deck. */
|
|
||||||
void AbstractTabDeckEditor::actDecrementCard(const ExactCard &card)
|
|
||||||
{
|
|
||||||
decrementCard(card, DECK_ZONE_MAIN);
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @brief Decrements a card from the sideboard. */
|
|
||||||
void AbstractTabDeckEditor::actDecrementCardFromSideboard(const ExactCard &card)
|
|
||||||
{
|
|
||||||
decrementCard(card, DECK_ZONE_SIDE);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Opens a deck in this tab.
|
* @brief Opens a deck in this tab.
|
||||||
* @param deck The deck
|
* @param deck The deck
|
||||||
|
|
|
||||||
|
|
@ -77,8 +77,8 @@ class QAction;
|
||||||
*
|
*
|
||||||
* **Key Methods:**
|
* **Key Methods:**
|
||||||
*
|
*
|
||||||
* - actAddCard(const ExactCard &card) — Adds a card to the deck.
|
* - addCard(const ExactCard &card, const QString &zoneName) — Adds a card to the deck.
|
||||||
* - actDecrementCard(const ExactCard &card) — Removes a single instance of a card from the deck.
|
* - decrementCard(const ExactCard &card, const QString &zoneName) — Removes a single instance of a card from the deck.
|
||||||
* - actRemoveCard() — Removes the currently selected card from the deck.
|
* - actRemoveCard() — Removes the currently selected card from the deck.
|
||||||
* - actSaveDeckAs() — Performs a "Save As" action for the deck.
|
* - actSaveDeckAs() — Performs a "Save As" action for the deck.
|
||||||
* - updateCard(const ExactCard &card) — Updates the currently displayed card info in the dock.
|
* - updateCard(const ExactCard &card) — Updates the currently displayed card info in the dock.
|
||||||
|
|
@ -163,18 +163,6 @@ public slots:
|
||||||
*/
|
*/
|
||||||
void decrementCard(const ExactCard &card, const QString &zoneName);
|
void decrementCard(const ExactCard &card, const QString &zoneName);
|
||||||
|
|
||||||
/** @brief Adds a card to the main deck or sideboard based on Ctrl key. */
|
|
||||||
void actAddCard(const ExactCard &card);
|
|
||||||
|
|
||||||
/** @brief Adds a card to the sideboard explicitly. */
|
|
||||||
void actAddCardToSideboard(const ExactCard &card);
|
|
||||||
|
|
||||||
/** @brief Decrements a card from the main deck. */
|
|
||||||
void actDecrementCard(const ExactCard &card);
|
|
||||||
|
|
||||||
/** @brief Decrements a card from the sideboard. */
|
|
||||||
void actDecrementCardFromSideboard(const ExactCard &card);
|
|
||||||
|
|
||||||
/** @brief Opens a recently opened deck file. */
|
/** @brief Opens a recently opened deck file. */
|
||||||
void actOpenRecent(const QString &fileName);
|
void actOpenRecent(const QString &fileName);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -168,22 +168,14 @@ void TabDeckEditorVisual::processMainboardCardClick(QMouseEvent *event,
|
||||||
|
|
||||||
// Alt + Right-click = decrement
|
// Alt + Right-click = decrement
|
||||||
if (event->button() == Qt::RightButton && event->modifiers().testFlag(Qt::AltModifier)) {
|
if (event->button() == Qt::RightButton && event->modifiers().testFlag(Qt::AltModifier)) {
|
||||||
if (zoneName == DECK_ZONE_MAIN) {
|
decrementCard(card, zoneName);
|
||||||
actDecrementCard(card);
|
|
||||||
} else {
|
|
||||||
actDecrementCardFromSideboard(card);
|
|
||||||
}
|
|
||||||
// Keep selection intact.
|
// Keep selection intact.
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Alt + Left click = increment
|
// Alt + Left click = increment
|
||||||
if (event->button() == Qt::LeftButton && event->modifiers().testFlag(Qt::AltModifier)) {
|
if (event->button() == Qt::LeftButton && event->modifiers().testFlag(Qt::AltModifier)) {
|
||||||
if (zoneName == DECK_ZONE_MAIN) {
|
addCard(card, zoneName);
|
||||||
actAddCard(card);
|
|
||||||
} else {
|
|
||||||
actAddCardToSideboard(card);
|
|
||||||
}
|
|
||||||
// Keep selection intact.
|
// Keep selection intact.
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -224,12 +216,12 @@ void TabDeckEditorVisual::processCardClickDatabaseDisplay(QMouseEvent *event,
|
||||||
{
|
{
|
||||||
if (event->button() == Qt::LeftButton) {
|
if (event->button() == Qt::LeftButton) {
|
||||||
if (QApplication::keyboardModifiers() & Qt::ControlModifier) {
|
if (QApplication::keyboardModifiers() & Qt::ControlModifier) {
|
||||||
actAddCardToSideboard(instance->getCard());
|
addCard(instance->getCard(), DECK_ZONE_SIDE);
|
||||||
} else {
|
} else {
|
||||||
actAddCard(instance->getCard());
|
addCard(instance->getCard(), DECK_ZONE_MAIN);
|
||||||
}
|
}
|
||||||
} else if (event->button() == Qt::RightButton) {
|
} else if (event->button() == Qt::RightButton) {
|
||||||
actDecrementCard(instance->getCard());
|
decrementCard(instance->getCard(), DECK_ZONE_MAIN);
|
||||||
} else if (event->button() == Qt::MiddleButton) {
|
} else if (event->button() == Qt::MiddleButton) {
|
||||||
deckDockWidget->actRemoveCard();
|
deckDockWidget->actRemoveCard();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -34,8 +34,8 @@ TabDeckEditorVisualTabWidget::TabDeckEditorVisualTabWidget(QWidget *parent,
|
||||||
&TabDeckEditorVisualTabWidget::onCardChanged);
|
&TabDeckEditorVisualTabWidget::onCardChanged);
|
||||||
connect(visualDeckView, &VisualDeckEditorWidget::cardClicked, this,
|
connect(visualDeckView, &VisualDeckEditorWidget::cardClicked, this,
|
||||||
&TabDeckEditorVisualTabWidget::onCardClickedDeckEditor);
|
&TabDeckEditorVisualTabWidget::onCardClickedDeckEditor);
|
||||||
connect(visualDeckView, &VisualDeckEditorWidget::cardAdditionRequested, deckEditor,
|
connect(visualDeckView, &VisualDeckEditorWidget::cardAdditionRequested, this,
|
||||||
&AbstractTabDeckEditor::actAddCard);
|
&TabDeckEditorVisualTabWidget::actAddCard);
|
||||||
|
|
||||||
visualDatabaseDisplay =
|
visualDatabaseDisplay =
|
||||||
new VisualDatabaseDisplayWidget(this, deckEditor, _cardDatabaseModel, _cardDatabaseDisplayModel);
|
new VisualDatabaseDisplayWidget(this, deckEditor, _cardDatabaseModel, _cardDatabaseDisplayModel);
|
||||||
|
|
@ -166,3 +166,15 @@ void TabDeckEditorVisualTabWidget::handleTabClose(int index)
|
||||||
this->removeTab(index);
|
this->removeTab(index);
|
||||||
delete tab;
|
delete tab;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TabDeckEditorVisualTabWidget::actAddCard(const ExactCard &card)
|
||||||
|
{
|
||||||
|
QString zoneName;
|
||||||
|
if (QApplication::keyboardModifiers() & Qt::ControlModifier) {
|
||||||
|
zoneName = DECK_ZONE_SIDE;
|
||||||
|
} else {
|
||||||
|
zoneName = DECK_ZONE_MAIN;
|
||||||
|
}
|
||||||
|
|
||||||
|
deckEditor->addCard(card, zoneName);
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -132,6 +132,12 @@ private slots:
|
||||||
* @param index Index of the tab to close.
|
* @param index Index of the tab to close.
|
||||||
*/
|
*/
|
||||||
void handleTabClose(int index);
|
void handleTabClose(int index);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Adds card to maindeck or side depending on whether ctrl is held
|
||||||
|
* @param card
|
||||||
|
*/
|
||||||
|
void actAddCard(const ExactCard &card);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // TAB_DECK_EDITOR_VISUAL_TAB_WIDGET_H
|
#endif // TAB_DECK_EDITOR_VISUAL_TAB_WIDGET_H
|
||||||
|
|
@ -97,9 +97,7 @@ VisualDatabaseDisplayWidget::VisualDatabaseDisplayWidget(QWidget *parent,
|
||||||
&DeckEditorDatabaseDisplayWidget::copyDatabaseCellContents);
|
&DeckEditorDatabaseDisplayWidget::copyDatabaseCellContents);
|
||||||
connect(help, &QAction::triggered, this, [this] { createSearchSyntaxHelpWindow(searchEdit); });
|
connect(help, &QAction::triggered, this, [this] { createSearchSyntaxHelpWindow(searchEdit); });
|
||||||
|
|
||||||
connect(databaseDisplayWidget, &DeckEditorDatabaseDisplayWidget::addCardToMainDeck, this,
|
connect(databaseDisplayWidget, &DeckEditorDatabaseDisplayWidget::cardAdded, this,
|
||||||
&VisualDatabaseDisplayWidget::highlightAllSearchEdit);
|
|
||||||
connect(databaseDisplayWidget, &DeckEditorDatabaseDisplayWidget::addCardToSideboard, this,
|
|
||||||
&VisualDatabaseDisplayWidget::highlightAllSearchEdit);
|
&VisualDatabaseDisplayWidget::highlightAllSearchEdit);
|
||||||
|
|
||||||
databaseView = databaseDisplayWidget->getDatabaseView();
|
databaseView = databaseDisplayWidget->getDatabaseView();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue