This commit is contained in:
Lukas Brübach 2025-02-27 15:52:03 +01:00
parent 73533ce4bc
commit 8709fadd7b
31 changed files with 133 additions and 132 deletions

View file

@ -142,7 +142,7 @@ set(cockatrice_SOURCES
src/client/tabs/tab.cpp
src/client/tabs/tab_account.cpp
src/client/tabs/tab_admin.cpp
src/client/tabs/tab_generic_deck_editor.cpp
src/client/tabs/abstract_tab_deck_editor.cpp
src/client/tabs/tab_deck_editor.cpp
src/client/tabs/tab_deck_storage.cpp
src/client/tabs/tab_game.cpp

View file

@ -3,7 +3,7 @@
#include "../../../settings/cache_settings.h"
#include "../../../settings/shortcuts_settings.h"
DeckEditorMenu::DeckEditorMenu(QWidget *parent, TabGenericDeckEditor *_deckEditor)
DeckEditorMenu::DeckEditorMenu(QWidget *parent, AbstractTabDeckEditor *_deckEditor)
: QMenu(parent), deckEditor(_deckEditor)
{
aNewDeck = new QAction(QString(), this);
@ -62,7 +62,7 @@ DeckEditorMenu::DeckEditorMenu(QWidget *parent, TabGenericDeckEditor *_deckEdito
analyzeDeckMenu->addAction(aAnalyzeDeckTappedout);
aClose = new QAction(QString(), this);
connect(aClose, &QAction::triggered, deckEditor, &TabGenericDeckEditor::closeRequest);
connect(aClose, &QAction::triggered, deckEditor, &AbstractTabDeckEditor::closeRequest);
saveDeckToClipboardMenu = new QMenu(this);
saveDeckToClipboardMenu->addAction(aSaveDeckToClipboard);

View file

@ -1,18 +1,18 @@
#ifndef DECK_EDITOR_MENU_H
#define DECK_EDITOR_MENU_H
#include "../../tabs/tab_generic_deck_editor.h"
#include "../../tabs/abstract_tab_deck_editor.h"
#include <QMenu>
class TabGenericDeckEditor;
class AbstractTabDeckEditor;
class DeckEditorMenu : public QMenu
{
Q_OBJECT
public:
explicit DeckEditorMenu(QWidget *parent, TabGenericDeckEditor *deckEditor);
explicit DeckEditorMenu(QWidget *parent, AbstractTabDeckEditor *deckEditor);
TabGenericDeckEditor *deckEditor;
AbstractTabDeckEditor *deckEditor;
QAction *aNewDeck, *aLoadDeck, *aClearRecents, *aSaveDeck, *aSaveDeckAs, *aLoadDeckFromClipboard,
*aSaveDeckToClipboard, *aSaveDeckToClipboardNoSetNameAndNumber, *aSaveDeckToClipboardRaw,

View file

@ -1,4 +1,4 @@
#include "tab_generic_deck_editor.h"
#include "abstract_tab_deck_editor.h"
#include "../../client/game_logic/abstract_client.h"
#include "../../client/tapped_out_interface.h"
@ -38,23 +38,46 @@
#include <QTreeView>
#include <QUrl>
TabGenericDeckEditor::TabGenericDeckEditor(TabSupervisor *_tabSupervisor) : Tab(_tabSupervisor)
AbstractTabDeckEditor::AbstractTabDeckEditor(TabSupervisor *_tabSupervisor) : Tab(_tabSupervisor)
{
setDockOptions(QMainWindow::AnimatedDocks | QMainWindow::AllowNestedDocks | QMainWindow::AllowTabbedDocks);
databaseDisplayDockWidget = new DeckEditorDatabaseDisplayWidget(this, this);
deckDockWidget = new DeckEditorDeckDockWidget(this, this);
cardInfoDockWidget = new DeckEditorCardInfoDockWidget(this, this);
filterDockWidget = new DeckEditorFilterDockWidget(this, this);
printingSelectorDockWidget = new DeckEditorPrintingSelectorDockWidget(this, this);
connect(deckDockWidget, &DeckEditorDeckDockWidget::deckChanged, this, &AbstractTabDeckEditor::onDeckChanged);
connect(deckDockWidget, &DeckEditorDeckDockWidget::cardChanged, this, &AbstractTabDeckEditor::updateCard);
connect(this, &AbstractTabDeckEditor::decrementCard, deckDockWidget, &DeckEditorDeckDockWidget::actDecrementCard);
connect(databaseDisplayDockWidget, &DeckEditorDatabaseDisplayWidget::cardChanged, this,
&AbstractTabDeckEditor::updateCard);
connect(databaseDisplayDockWidget, &DeckEditorDatabaseDisplayWidget::addCardToMainDeck, this,
&AbstractTabDeckEditor::actAddCard);
connect(databaseDisplayDockWidget, &DeckEditorDatabaseDisplayWidget::addCardToSideboard, this,
&AbstractTabDeckEditor::actAddCardToSideboard);
connect(databaseDisplayDockWidget, &DeckEditorDatabaseDisplayWidget::decrementCardFromMainDeck, this,
&AbstractTabDeckEditor::actDecrementCard);
connect(databaseDisplayDockWidget, &DeckEditorDatabaseDisplayWidget::decrementCardFromSideboard, this,
&AbstractTabDeckEditor::actDecrementCardFromSideboard);
connect(&SettingsCache::instance().shortcuts(), SIGNAL(shortCutChanged()), this, SLOT(refreshShortcuts()));
}
void TabGenericDeckEditor::updateCard(CardInfoPtr _card)
void AbstractTabDeckEditor::updateCard(CardInfoPtr _card)
{
cardInfoDockWidget->updateCard(_card);
printingSelectorDockWidget->printingSelector->setCard(_card, DECK_ZONE_MAIN);
}
void TabGenericDeckEditor::onDeckChanged()
void AbstractTabDeckEditor::onDeckChanged()
{
setModified(true);
deckMenu->setSaveStatus(!getDeckList()->isEmpty());
}
void TabGenericDeckEditor::addCardHelper(const CardInfoPtr info, QString zoneName)
void AbstractTabDeckEditor::addCardHelper(const CardInfoPtr info, QString zoneName)
{
if (!info)
return;
@ -69,7 +92,7 @@ void TabGenericDeckEditor::addCardHelper(const CardInfoPtr info, QString zoneNam
databaseDisplayDockWidget->searchEdit->setSelection(0, databaseDisplayDockWidget->searchEdit->text().length());
}
void TabGenericDeckEditor::actAddCard(CardInfoPtr info)
void AbstractTabDeckEditor::actAddCard(CardInfoPtr info)
{
if (QApplication::keyboardModifiers() & Qt::ControlModifier)
actAddCardToSideboard(info);
@ -78,23 +101,23 @@ void TabGenericDeckEditor::actAddCard(CardInfoPtr info)
deckMenu->setSaveStatus(true);
}
void TabGenericDeckEditor::actAddCardToSideboard(CardInfoPtr info)
void AbstractTabDeckEditor::actAddCardToSideboard(CardInfoPtr info)
{
addCardHelper(info, DECK_ZONE_SIDE);
deckMenu->setSaveStatus(true);
}
void TabGenericDeckEditor::actDecrementCard(CardInfoPtr info)
void AbstractTabDeckEditor::actDecrementCard(CardInfoPtr info)
{
emit decrementCard(info, DECK_ZONE_MAIN);
}
void TabGenericDeckEditor::actDecrementCardFromSideboard(CardInfoPtr info)
void AbstractTabDeckEditor::actDecrementCardFromSideboard(CardInfoPtr info)
{
emit decrementCard(info, DECK_ZONE_SIDE);
}
void TabGenericDeckEditor::actSwapCard(CardInfoPtr info, QString zoneName)
void AbstractTabDeckEditor::actSwapCard(CardInfoPtr info, QString zoneName)
{
QString providerId = CardDatabaseManager::getInstance()->getSetInfoForCard(info).getProperty("uuid");
QString collectorNumber = CardDatabaseManager::getInstance()->getSetInfoForCard(info).getProperty("num");
@ -102,7 +125,7 @@ void TabGenericDeckEditor::actSwapCard(CardInfoPtr info, QString zoneName)
deckDockWidget->deckModel->findCard(info->getName(), zoneName, providerId, collectorNumber));
}
void TabGenericDeckEditor::setDeck(DeckLoader *_deck)
void AbstractTabDeckEditor::setDeck(DeckLoader *_deck)
{
deckDockWidget->setDeck(_deck);
PictureLoader::cacheCardPixmaps(CardDatabaseManager::getInstance()->getCards(getDeckList()->getCardList()));
@ -113,12 +136,12 @@ void TabGenericDeckEditor::setDeck(DeckLoader *_deck)
deckDockWidget->setVisible(aDeckDockVisible->isChecked());
}
DeckLoader *TabGenericDeckEditor::getDeckList() const
DeckLoader *AbstractTabDeckEditor::getDeckList() const
{
return deckDockWidget->getDeckList();
}
void TabGenericDeckEditor::setModified(bool _modified)
void AbstractTabDeckEditor::setModified(bool _modified)
{
modified = _modified;
emit tabTextChanged(this, getTabText());
@ -127,13 +150,13 @@ void TabGenericDeckEditor::setModified(bool _modified)
/**
* @brief Returns true if this tab is a blank newly opened tab, as if it was just created with the `New Deck` action.
*/
bool TabGenericDeckEditor::isBlankNewDeck() const
bool AbstractTabDeckEditor::isBlankNewDeck() const
{
DeckLoader *deck = getDeckList();
return !modified && deck->hasNotBeenLoaded();
}
void TabGenericDeckEditor::actNewDeck()
void AbstractTabDeckEditor::actNewDeck()
{
auto deckOpenLocation = confirmOpen(false);
@ -149,7 +172,7 @@ void TabGenericDeckEditor::actNewDeck()
cleanDeckAndResetModified();
}
void TabGenericDeckEditor::cleanDeckAndResetModified()
void AbstractTabDeckEditor::cleanDeckAndResetModified()
{
deckMenu->setSaveStatus(false);
deckDockWidget->cleanDeck();
@ -165,7 +188,7 @@ void TabGenericDeckEditor::cleanDeckAndResetModified()
*
* @returns An enum that indicates if and where to load the deck
*/
TabGenericDeckEditor::DeckOpenLocation TabGenericDeckEditor::confirmOpen(const bool openInSameTabIfBlank)
AbstractTabDeckEditor::DeckOpenLocation AbstractTabDeckEditor::confirmOpen(const bool openInSameTabIfBlank)
{
// handle `openDeckInNewTab` setting
if (SettingsCache::instance().getOpenDeckInNewTab()) {
@ -210,7 +233,7 @@ TabGenericDeckEditor::DeckOpenLocation TabGenericDeckEditor::confirmOpen(const b
*
* @returns A QMessageBox that can be further modified
*/
QMessageBox *TabGenericDeckEditor::createSaveConfirmationWindow()
QMessageBox *AbstractTabDeckEditor::createSaveConfirmationWindow()
{
QMessageBox *msgBox = new QMessageBox(this);
msgBox->setIcon(QMessageBox::Warning);
@ -220,7 +243,7 @@ QMessageBox *TabGenericDeckEditor::createSaveConfirmationWindow()
return msgBox;
}
void TabGenericDeckEditor::actLoadDeck()
void AbstractTabDeckEditor::actLoadDeck()
{
auto deckOpenLocation = confirmOpen();
@ -237,7 +260,7 @@ void TabGenericDeckEditor::actLoadDeck()
deckDockWidget->updateBannerCardComboBox();
}
void TabGenericDeckEditor::actOpenRecent(const QString &fileName)
void AbstractTabDeckEditor::actOpenRecent(const QString &fileName)
{
auto deckOpenLocation = confirmOpen();
@ -253,7 +276,7 @@ void TabGenericDeckEditor::actOpenRecent(const QString &fileName)
* @param fileName The path of the deck to open
* @param deckOpenLocation Which tab to open the deck
*/
void TabGenericDeckEditor::openDeckFromFile(const QString &fileName, DeckOpenLocation deckOpenLocation)
void AbstractTabDeckEditor::openDeckFromFile(const QString &fileName, DeckOpenLocation deckOpenLocation)
{
DeckLoader::FileFormat fmt = DeckLoader::getFormatFromName(fileName);
@ -273,7 +296,7 @@ void TabGenericDeckEditor::openDeckFromFile(const QString &fileName, DeckOpenLoc
deckMenu->setSaveStatus(true);
}
bool TabGenericDeckEditor::actSaveDeck()
bool AbstractTabDeckEditor::actSaveDeck()
{
DeckLoader *const deck = getDeckList();
if (deck->getLastRemoteDeckId() != -1) {
@ -305,7 +328,7 @@ bool TabGenericDeckEditor::actSaveDeck()
return false;
}
bool TabGenericDeckEditor::actSaveDeckAs()
bool AbstractTabDeckEditor::actSaveDeckAs()
{
QFileDialog dialog(this, tr("Save deck"));
dialog.setDirectory(SettingsCache::instance().getDeckPath());
@ -332,7 +355,7 @@ bool TabGenericDeckEditor::actSaveDeckAs()
return true;
}
void TabGenericDeckEditor::saveDeckRemoteFinished(const Response &response)
void AbstractTabDeckEditor::saveDeckRemoteFinished(const Response &response)
{
if (response.response_code() != Response::RespOk)
QMessageBox::critical(this, tr("Error"), tr("The deck could not be saved."));
@ -340,7 +363,7 @@ void TabGenericDeckEditor::saveDeckRemoteFinished(const Response &response)
setModified(false);
}
void TabGenericDeckEditor::actLoadDeckFromClipboard()
void AbstractTabDeckEditor::actLoadDeckFromClipboard()
{
auto deckOpenLocation = confirmOpen();
@ -362,7 +385,7 @@ void TabGenericDeckEditor::actLoadDeckFromClipboard()
deckMenu->setSaveStatus(true);
}
void TabGenericDeckEditor::actSaveDeckToClipboard()
void AbstractTabDeckEditor::actSaveDeckToClipboard()
{
QString buffer;
QTextStream stream(&buffer);
@ -371,7 +394,7 @@ void TabGenericDeckEditor::actSaveDeckToClipboard()
QApplication::clipboard()->setText(buffer, QClipboard::Selection);
}
void TabGenericDeckEditor::actSaveDeckToClipboardNoSetNameAndNumber()
void AbstractTabDeckEditor::actSaveDeckToClipboardNoSetNameAndNumber()
{
QString buffer;
QTextStream stream(&buffer);
@ -380,7 +403,7 @@ void TabGenericDeckEditor::actSaveDeckToClipboardNoSetNameAndNumber()
QApplication::clipboard()->setText(buffer, QClipboard::Selection);
}
void TabGenericDeckEditor::actSaveDeckToClipboardRaw()
void AbstractTabDeckEditor::actSaveDeckToClipboardRaw()
{
QString buffer;
QTextStream stream(&buffer);
@ -389,7 +412,7 @@ void TabGenericDeckEditor::actSaveDeckToClipboardRaw()
QApplication::clipboard()->setText(buffer, QClipboard::Selection);
}
void TabGenericDeckEditor::actSaveDeckToClipboardRawNoSetNameAndNumber()
void AbstractTabDeckEditor::actSaveDeckToClipboardRawNoSetNameAndNumber()
{
QString buffer;
QTextStream stream(&buffer);
@ -398,7 +421,7 @@ void TabGenericDeckEditor::actSaveDeckToClipboardRawNoSetNameAndNumber()
QApplication::clipboard()->setText(buffer, QClipboard::Selection);
}
void TabGenericDeckEditor::actPrintDeck()
void AbstractTabDeckEditor::actPrintDeck()
{
auto *dlg = new QPrintPreviewDialog(this);
connect(dlg, SIGNAL(paintRequested(QPrinter *)), deckDockWidget->deckModel, SLOT(printDeckList(QPrinter *)));
@ -406,7 +429,7 @@ void TabGenericDeckEditor::actPrintDeck()
}
// Action called when export deck to decklist menu item is pressed.
void TabGenericDeckEditor::actExportDeckDecklist()
void AbstractTabDeckEditor::actExportDeckDecklist()
{
// Get the decklist class for the deck.
DeckLoader *const deck = getDeckList();
@ -435,27 +458,27 @@ void TabGenericDeckEditor::actExportDeckDecklist()
}
}
void TabGenericDeckEditor::actAnalyzeDeckDeckstats()
void AbstractTabDeckEditor::actAnalyzeDeckDeckstats()
{
auto *interface = new DeckStatsInterface(*databaseDisplayDockWidget->databaseModel->getDatabase(),
this); // it deletes itself when done
interface->analyzeDeck(getDeckList());
}
void TabGenericDeckEditor::actAnalyzeDeckTappedout()
void AbstractTabDeckEditor::actAnalyzeDeckTappedout()
{
auto *interface = new TappedOutInterface(*databaseDisplayDockWidget->databaseModel->getDatabase(),
this); // it deletes itself when done
interface->analyzeDeck(getDeckList());
}
void TabGenericDeckEditor::filterTreeChanged(FilterTree *filterTree)
void AbstractTabDeckEditor::filterTreeChanged(FilterTree *filterTree)
{
databaseDisplayDockWidget->setFilterTree(filterTree);
}
// Method uses to sync docks state with menu items state
bool TabGenericDeckEditor::eventFilter(QObject *o, QEvent *e)
bool AbstractTabDeckEditor::eventFilter(QObject *o, QEvent *e)
{
if (e->type() == QEvent::Close) {
if (o == cardInfoDockWidget) {
@ -484,7 +507,7 @@ bool TabGenericDeckEditor::eventFilter(QObject *o, QEvent *e)
return false;
}
bool TabGenericDeckEditor::confirmClose()
bool AbstractTabDeckEditor::confirmClose()
{
if (modified) {
tabSupervisor->setCurrentWidget(this);
@ -497,7 +520,7 @@ bool TabGenericDeckEditor::confirmClose()
return true;
}
void TabGenericDeckEditor::closeRequest(bool forced)
void AbstractTabDeckEditor::closeRequest(bool forced)
{
if (!forced && !confirmClose()) {
return;

View file

@ -40,12 +40,12 @@ class QDockWidget;
class QMenu;
class QAction;
class TabGenericDeckEditor : public Tab
class AbstractTabDeckEditor : public Tab
{
Q_OBJECT
public:
explicit TabGenericDeckEditor(TabSupervisor *_tabSupervisor);
explicit AbstractTabDeckEditor(TabSupervisor *_tabSupervisor);
// UI and Navigation
virtual void createMenus() = 0;
@ -81,7 +81,7 @@ public slots:
signals:
void openDeckEditor(const DeckLoader *deckLoader);
void deckEditorClosing(TabGenericDeckEditor *tab);
void deckEditorClosing(AbstractTabDeckEditor *tab);
void decrementCard(CardInfoPtr card, QString zoneName);
protected slots:

View file

@ -39,37 +39,15 @@
#include <QTreeView>
#include <QVBoxLayout>
TabDeckEditor::TabDeckEditor(TabSupervisor *_tabSupervisor) : TabGenericDeckEditor(_tabSupervisor)
TabDeckEditor::TabDeckEditor(TabSupervisor *_tabSupervisor) : AbstractTabDeckEditor(_tabSupervisor)
{
setObjectName("TabDeckEditor");
setDockOptions(QMainWindow::AnimatedDocks | QMainWindow::AllowNestedDocks | QMainWindow::AllowTabbedDocks);
databaseDisplayDockWidget = new DeckEditorDatabaseDisplayWidget(this, this);
deckDockWidget = new DeckEditorDeckDockWidget(this, this);
cardInfoDockWidget = new DeckEditorCardInfoDockWidget(this, this);
filterDockWidget = new DeckEditorFilterDockWidget(this, this);
printingSelectorDockWidget = new DeckEditorPrintingSelectorDockWidget(this, this);
connect(deckDockWidget, &DeckEditorDeckDockWidget::deckChanged, this, &TabGenericDeckEditor::onDeckChanged);
connect(deckDockWidget, &DeckEditorDeckDockWidget::cardChanged, this, &TabGenericDeckEditor::updateCard);
connect(this, &TabGenericDeckEditor::decrementCard, deckDockWidget, &DeckEditorDeckDockWidget::actDecrementCard);
connect(databaseDisplayDockWidget, &DeckEditorDatabaseDisplayWidget::cardChanged, this,
&TabGenericDeckEditor::updateCard);
connect(databaseDisplayDockWidget, &DeckEditorDatabaseDisplayWidget::addCardToMainDeck, this,
&TabGenericDeckEditor::actAddCard);
connect(databaseDisplayDockWidget, &DeckEditorDatabaseDisplayWidget::addCardToSideboard, this,
&TabGenericDeckEditor::actAddCardToSideboard);
connect(databaseDisplayDockWidget, &DeckEditorDatabaseDisplayWidget::decrementCardFromMainDeck, this,
&TabGenericDeckEditor::actDecrementCard);
connect(databaseDisplayDockWidget, &DeckEditorDatabaseDisplayWidget::decrementCardFromSideboard, this,
&TabGenericDeckEditor::actDecrementCardFromSideboard);
TabDeckEditor::createMenus();
installEventFilter(this);
TabDeckEditor::retranslateUi();
connect(&SettingsCache::instance().shortcuts(), SIGNAL(shortCutChanged()), this, SLOT(refreshShortcuts()));
TabDeckEditor::refreshShortcuts();
TabDeckEditor::loadLayout();

View file

@ -4,7 +4,7 @@
#include "../../game/cards/card_database.h"
#include "../game_logic/key_signals.h"
#include "../ui/widgets/visual_deck_storage/deck_preview/deck_preview_deck_tags_display_widget.h"
#include "tab_generic_deck_editor.h"
#include "abstract_tab_deck_editor.h"
class CardDatabaseModel;
class CardDatabaseDisplayModel;
@ -13,7 +13,7 @@ class DeckListModel;
class QLabel;
class DeckLoader;
class TabDeckEditor : public TabGenericDeckEditor
class TabDeckEditor : public AbstractTabDeckEditor
{
Q_OBJECT

View file

@ -201,7 +201,7 @@ void TabSupervisor::retranslateUi()
QListIterator<TabGame *> replayIterator(replayTabs);
while (replayIterator.hasNext())
tabs.append(replayIterator.next());
QListIterator<TabGenericDeckEditor *> deckEditorIterator(deckEditorTabs);
QListIterator<AbstractTabDeckEditor *> deckEditorIterator(deckEditorTabs);
while (deckEditorIterator.hasNext())
tabs.append(deckEditorIterator.next());
QMapIterator<QString, TabMessage *> messageIterator(messageTabs);
@ -242,7 +242,7 @@ bool TabSupervisor::closeRequest()
}
}
for (TabGenericDeckEditor *tab : deckEditorTabs) {
for (AbstractTabDeckEditor *tab : deckEditorTabs) {
if (!tab->confirmClose())
return false;
}
@ -706,8 +706,8 @@ TabDeckEditor *TabSupervisor::addDeckEditorTab(const DeckLoader *deckToOpen)
auto *tab = new TabDeckEditor(this);
if (deckToOpen)
tab->setDeck(new DeckLoader(*deckToOpen));
connect(tab, &TabGenericDeckEditor::deckEditorClosing, this, &TabSupervisor::deckEditorClosed);
connect(tab, &TabGenericDeckEditor::openDeckEditor, this, &TabSupervisor::addDeckEditorTab);
connect(tab, &AbstractTabDeckEditor::deckEditorClosing, this, &TabSupervisor::deckEditorClosed);
connect(tab, &AbstractTabDeckEditor::openDeckEditor, this, &TabSupervisor::addDeckEditorTab);
myAddTab(tab);
deckEditorTabs.append(tab);
setCurrentWidget(tab);
@ -726,7 +726,7 @@ TabEdhRec *TabSupervisor::addEdhrecTab(const CardInfoPtr &cardToQuery, bool isCo
return tab;
}
void TabSupervisor::deckEditorClosed(TabGenericDeckEditor *tab)
void TabSupervisor::deckEditorClosed(AbstractTabDeckEditor *tab)
{
if (tab == currentWidget())
emit setMenu();

View file

@ -3,8 +3,8 @@
#include "../../deck/deck_loader.h"
#include "../../server/user/user_list_proxy.h"
#include "abstract_tab_deck_editor.h"
#include "api/edhrec/tab_edhrec.h"
#include "tab_generic_deck_editor.h"
#include "visual_deck_storage/tab_deck_storage_visual.h"
#include <QAbstractButton>
@ -88,7 +88,7 @@ private:
QMap<int, TabGame *> gameTabs;
QList<TabGame *> replayTabs;
QMap<QString, TabMessage *> messageTabs;
QList<TabGenericDeckEditor *> deckEditorTabs;
QList<AbstractTabDeckEditor *> deckEditorTabs;
bool isLocalGame;
QAction *aTabDeckEditor, *aTabVisualDeckStorage, *aTabServer, *aTabAccount, *aTabDeckStorage, *aTabReplays,
@ -133,7 +133,7 @@ public:
{
return roomTabs;
}
QList<TabGenericDeckEditor *> getDeckEditorTabs() const
QList<AbstractTabDeckEditor *> getDeckEditorTabs() const
{
return deckEditorTabs;
}
@ -175,7 +175,7 @@ private slots:
void processUserLeft(const QString &userName);
void processUserJoined(const ServerInfo_User &userInfo);
void talkLeft(TabMessage *tab);
void deckEditorClosed(TabGenericDeckEditor *tab);
void deckEditorClosed(AbstractTabDeckEditor *tab);
void tabUserEvent(bool globalEvent);
void updateTabText(Tab *tab, const QString &newTabText);
void processRoomEvent(const RoomEvent &event);

View file

@ -296,7 +296,7 @@ QMenu *CardInfoPictureWidget::createAddToOpenDeckMenu()
auto addToOpenDeckMenu = new QMenu(tr("Add card to deck"));
auto *mainWindow = qobject_cast<MainWindow *>(window());
QList<TabGenericDeckEditor *> deckEditorTabs = mainWindow->getTabSupervisor()->getDeckEditorTabs();
QList<AbstractTabDeckEditor *> deckEditorTabs = mainWindow->getTabSupervisor()->getDeckEditorTabs();
if (deckEditorTabs.isEmpty()) {
addToOpenDeckMenu->setEnabled(false);

View file

@ -4,7 +4,7 @@
#include <QVBoxLayout>
DeckEditorCardInfoDockWidget::DeckEditorCardInfoDockWidget(QWidget *parent, TabGenericDeckEditor *_deckEditor)
DeckEditorCardInfoDockWidget::DeckEditorCardInfoDockWidget(QWidget *parent, AbstractTabDeckEditor *_deckEditor)
: QDockWidget(parent), deckEditor(_deckEditor)
{
setObjectName("cardInfoDock");
@ -31,7 +31,7 @@ void DeckEditorCardInfoDockWidget::createCardInfoDock()
setWidget(cardInfoDockContents);
installEventFilter(deckEditor);
connect(this, &QDockWidget::topLevelChanged, deckEditor, &TabGenericDeckEditor::dockTopLevelChanged);
connect(this, &QDockWidget::topLevelChanged, deckEditor, &AbstractTabDeckEditor::dockTopLevelChanged);
}
void DeckEditorCardInfoDockWidget::updateCard(CardInfoPtr _card)

View file

@ -1,21 +1,21 @@
#ifndef DECK_EDITOR_CARD_INFO_DOCK_WIDGET_H
#define DECK_EDITOR_CARD_INFO_DOCK_WIDGET_H
#include "../../../tabs/tab_generic_deck_editor.h"
#include "../../../tabs/abstract_tab_deck_editor.h"
#include "../cards/card_info_frame_widget.h"
#include <QDockWidget>
class TabGenericDeckEditor;
class AbstractTabDeckEditor;
class DeckEditorCardInfoDockWidget : public QDockWidget
{
Q_OBJECT
public:
explicit DeckEditorCardInfoDockWidget(QWidget *parent, TabGenericDeckEditor *deckEditor);
explicit DeckEditorCardInfoDockWidget(QWidget *parent, AbstractTabDeckEditor *deckEditor);
void createCardInfoDock();
void retranslateUi();
TabGenericDeckEditor *deckEditor;
AbstractTabDeckEditor *deckEditor;
CardInfoFrameWidget *cardInfo;
public slots:

View file

@ -2,7 +2,7 @@
#include "../../../../game/cards/card_database_manager.h"
#include "../../../../settings/cache_settings.h"
#include "../../../tabs/tab_generic_deck_editor.h"
#include "../../../tabs/abstract_tab_deck_editor.h"
#include "../../../tabs/tab_supervisor.h"
#include <QClipboard>
@ -20,7 +20,7 @@ static bool canBeCommander(const CardInfoPtr &cardInfo)
cardInfo->getText().contains("can be your commander", Qt::CaseInsensitive);
}
DeckEditorDatabaseDisplayWidget::DeckEditorDatabaseDisplayWidget(QWidget *parent, TabGenericDeckEditor *_deckEditor)
DeckEditorDatabaseDisplayWidget::DeckEditorDatabaseDisplayWidget(QWidget *parent, AbstractTabDeckEditor *_deckEditor)
: QWidget(parent), deckEditor(_deckEditor)
{
setObjectName("centralWidget");

View file

@ -4,19 +4,19 @@
#include "../../../../deck/custom_line_edit.h"
#include "../../../../game/cards/card_database_model.h"
#include "../../../game_logic/key_signals.h"
#include "../../../tabs/tab_generic_deck_editor.h"
#include "../../../tabs/abstract_tab_deck_editor.h"
#include <QHBoxLayout>
#include <QWidget>
class TabGenericDeckEditor;
class AbstractTabDeckEditor;
class DeckEditorDatabaseDisplayWidget : public QWidget
{
Q_OBJECT
public:
explicit DeckEditorDatabaseDisplayWidget(QWidget *parent, TabGenericDeckEditor *_deckEditor);
TabGenericDeckEditor *deckEditor;
explicit DeckEditorDatabaseDisplayWidget(QWidget *parent, AbstractTabDeckEditor *_deckEditor);
AbstractTabDeckEditor *deckEditor;
SearchLineEdit *searchEdit;
CardDatabaseModel *databaseModel;
CardDatabaseDisplayModel *databaseDisplayModel;

View file

@ -11,7 +11,7 @@
#include <QTextEdit>
#include <trice_limits.h>
DeckEditorDeckDockWidget::DeckEditorDeckDockWidget(QWidget *parent, TabGenericDeckEditor *_deckEditor)
DeckEditorDeckDockWidget::DeckEditorDeckDockWidget(QWidget *parent, AbstractTabDeckEditor *_deckEditor)
: QDockWidget(parent), deckEditor(_deckEditor)
{
setObjectName("deckDock");
@ -494,7 +494,7 @@ void DeckEditorDeckDockWidget::decklistCustomMenu(QPoint point)
QAction *selectPrinting = menu.addAction(tr("Select Printing"));
connect(selectPrinting, &QAction::triggered, deckEditor, &TabGenericDeckEditor::showPrintingSelector);
connect(selectPrinting, &QAction::triggered, deckEditor, &AbstractTabDeckEditor::showPrintingSelector);
menu.exec(deckView->mapToGlobal(point));
}

View file

@ -4,7 +4,7 @@
#include "../../../../deck/custom_line_edit.h"
#include "../../../../game/cards/card_database.h"
#include "../../../game_logic/key_signals.h"
#include "../../../tabs/tab_generic_deck_editor.h"
#include "../../../tabs/abstract_tab_deck_editor.h"
#include "../visual_deck_storage/deck_preview/deck_preview_deck_tags_display_widget.h"
#include <QComboBox>
@ -14,12 +14,12 @@
#include <QTreeView>
class DeckListModel;
class TabGenericDeckEditor;
class AbstractTabDeckEditor;
class DeckEditorDeckDockWidget : public QDockWidget
{
Q_OBJECT
public:
explicit DeckEditorDeckDockWidget(QWidget *parent, TabGenericDeckEditor *_deckEditor);
explicit DeckEditorDeckDockWidget(QWidget *parent, AbstractTabDeckEditor *_deckEditor);
DeckListModel *deckModel;
QTreeView *deckView;
QComboBox *bannerCardComboBox;
@ -53,7 +53,7 @@ signals:
void cardChanged(CardInfoPtr _card);
private:
TabGenericDeckEditor *deckEditor;
AbstractTabDeckEditor *deckEditor;
KeySignals deckViewKeySignals;
QLabel *nameLabel;
LineEditUnfocusable *nameEdit;

View file

@ -9,7 +9,7 @@
#include <QMenu>
#include <QToolButton>
DeckEditorFilterDockWidget::DeckEditorFilterDockWidget(QWidget *parent, TabGenericDeckEditor *_deckEditor)
DeckEditorFilterDockWidget::DeckEditorFilterDockWidget(QWidget *parent, AbstractTabDeckEditor *_deckEditor)
: QDockWidget(parent), deckEditor(_deckEditor)
{
setObjectName("filterDock");
@ -81,7 +81,7 @@ void DeckEditorFilterDockWidget::createFiltersDock()
setWidget(filterDockContents);
installEventFilter(deckEditor);
connect(this, &QDockWidget::topLevelChanged, deckEditor, &TabGenericDeckEditor::dockTopLevelChanged);
connect(this, &QDockWidget::topLevelChanged, deckEditor, &AbstractTabDeckEditor::dockTopLevelChanged);
}
void DeckEditorFilterDockWidget::filterViewCustomContextMenu(const QPoint &point)

View file

@ -2,24 +2,24 @@
#define DECK_EDITOR_FILTER_DOCK_WIDGET_H
#include "../../../game_logic/key_signals.h"
#include "../../../tabs/tab_generic_deck_editor.h"
#include "../../../tabs/abstract_tab_deck_editor.h"
#include <QDockWidget>
#include <QTreeView>
class FilterTreeModel;
class TabGenericDeckEditor;
class AbstractTabDeckEditor;
class DeckEditorFilterDockWidget : public QDockWidget
{
Q_OBJECT
public:
explicit DeckEditorFilterDockWidget(QWidget *parent, TabGenericDeckEditor *_deckEditor);
explicit DeckEditorFilterDockWidget(QWidget *parent, AbstractTabDeckEditor *_deckEditor);
void createFiltersDock();
void retranslateUi();
QAction *aClearFilterAll, *aClearFilterOne;
private:
TabGenericDeckEditor *deckEditor;
AbstractTabDeckEditor *deckEditor;
FilterTreeModel *filterModel;
QTreeView *filterView;
KeySignals filterViewKeySignals;

View file

@ -1,11 +1,11 @@
#include "deck_editor_printing_selector_dock_widget.h"
#include "../../../tabs/tab_generic_deck_editor.h"
#include "../../../tabs/abstract_tab_deck_editor.h"
#include <QVBoxLayout>
DeckEditorPrintingSelectorDockWidget::DeckEditorPrintingSelectorDockWidget(QWidget *parent,
TabGenericDeckEditor *_deckEditor)
AbstractTabDeckEditor *_deckEditor)
: QDockWidget(parent), deckEditor(_deckEditor)
{
setObjectName("printingSelectorDock");
@ -33,7 +33,7 @@ void DeckEditorPrintingSelectorDockWidget::createPrintingSelectorDock()
setWidget(printingSelectorDockContents);
installEventFilter(deckEditor);
connect(this, &QDockWidget::topLevelChanged, deckEditor, &TabGenericDeckEditor::dockTopLevelChanged);
connect(this, &QDockWidget::topLevelChanged, deckEditor, &AbstractTabDeckEditor::dockTopLevelChanged);
}
void DeckEditorPrintingSelectorDockWidget::retranslateUi()

View file

@ -1,7 +1,7 @@
#ifndef DECK_EDITOR_PRINTING_SELECTOR_DOCK_WIDGET_H
#define DECK_EDITOR_PRINTING_SELECTOR_DOCK_WIDGET_H
#include "../../../tabs/tab_generic_deck_editor.h"
#include "../../../tabs/abstract_tab_deck_editor.h"
#include "../printing_selector/printing_selector.h"
#include <QDockWidget>
@ -11,13 +11,13 @@ class DeckEditorPrintingSelectorDockWidget : public QDockWidget
{
Q_OBJECT
public:
explicit DeckEditorPrintingSelectorDockWidget(QWidget *parent, TabGenericDeckEditor *_deckEditor);
explicit DeckEditorPrintingSelectorDockWidget(QWidget *parent, AbstractTabDeckEditor *_deckEditor);
void createPrintingSelectorDock();
void retranslateUi();
PrintingSelector *printingSelector;
private:
TabGenericDeckEditor *deckEditor;
AbstractTabDeckEditor *deckEditor;
};
#endif // DECK_EDITOR_PRINTING_SELECTOR_DOCK_WIDGET_H

View file

@ -19,7 +19,7 @@
* @param setInfoForCard The set information for the card.
*/
AllZonesCardAmountWidget::AllZonesCardAmountWidget(QWidget *parent,
TabGenericDeckEditor *deckEditor,
AbstractTabDeckEditor *deckEditor,
DeckListModel *deckModel,
QTreeView *deckView,
QSlider *cardSizeSlider,

View file

@ -12,7 +12,7 @@ class AllZonesCardAmountWidget : public QWidget
Q_OBJECT
public:
explicit AllZonesCardAmountWidget(QWidget *parent,
TabGenericDeckEditor *deckEditor,
AbstractTabDeckEditor *deckEditor,
DeckListModel *deckModel,
QTreeView *deckView,
QSlider *cardSizeSlider,
@ -31,7 +31,7 @@ public slots:
private:
QVBoxLayout *layout;
TabGenericDeckEditor *deckEditor;
AbstractTabDeckEditor *deckEditor;
DeckListModel *deckModel;
QTreeView *deckView;
QSlider *cardSizeSlider;

View file

@ -16,7 +16,7 @@
* @param zoneName The zone name (e.g., DECK_ZONE_MAIN or DECK_ZONE_SIDE).
*/
CardAmountWidget::CardAmountWidget(QWidget *parent,
TabGenericDeckEditor *deckEditor,
AbstractTabDeckEditor *deckEditor,
DeckListModel *deckModel,
QTreeView *deckView,
QSlider *cardSizeSlider,

View file

@ -4,7 +4,7 @@
#include "../../../../deck/deck_list_model.h"
#include "../../../../deck/deck_loader.h"
#include "../../../../game/cards/card_database.h"
#include "../../../tabs/tab_generic_deck_editor.h"
#include "../../../tabs/abstract_tab_deck_editor.h"
#include "../general/display/dynamic_font_size_push_button.h"
#include <QHBoxLayout>
@ -18,7 +18,7 @@ class CardAmountWidget : public QWidget
Q_OBJECT
public:
explicit CardAmountWidget(QWidget *parent,
TabGenericDeckEditor *deckEditor,
AbstractTabDeckEditor *deckEditor,
DeckListModel *deckModel,
QTreeView *deckView,
QSlider *cardSizeSlider,
@ -36,7 +36,7 @@ protected:
void showEvent(QShowEvent *event) override;
private:
TabGenericDeckEditor *deckEditor;
AbstractTabDeckEditor *deckEditor;
DeckListModel *deckModel;
QTreeView *deckView;
QSlider *cardSizeSlider;

View file

@ -21,7 +21,7 @@
* @param deckModel The DeckListModel instance that provides data for the deck's contents.
* @param deckView The QTreeView instance used to display the deck and its contents.
*/
PrintingSelector::PrintingSelector(QWidget *parent, TabGenericDeckEditor *_deckEditor)
PrintingSelector::PrintingSelector(QWidget *parent, AbstractTabDeckEditor *_deckEditor)
: QWidget(parent), deckEditor(_deckEditor), deckModel(deckEditor->deckDockWidget->deckModel),
deckView(deckEditor->deckDockWidget->deckView)
{

View file

@ -19,13 +19,13 @@ class PrintingSelectorCardSearchWidget;
class PrintingSelectorCardSelectionWidget;
class PrintingSelectorCardSortingWidget;
class PrintingSelectorViewOptionsWidget;
class TabGenericDeckEditor;
class AbstractTabDeckEditor;
class PrintingSelector : public QWidget
{
Q_OBJECT
public:
PrintingSelector(QWidget *parent, TabGenericDeckEditor *deckEditor);
PrintingSelector(QWidget *parent, AbstractTabDeckEditor *deckEditor);
void setCard(const CardInfoPtr &newCard, const QString &_currentZone);
void getAllSetsForCurrentCard();
@ -51,7 +51,7 @@ private:
FlowWidget *flowWidget;
CardSizeWidget *cardSizeWidget;
PrintingSelectorCardSelectionWidget *cardSelectionBar;
TabGenericDeckEditor *deckEditor;
AbstractTabDeckEditor *deckEditor;
DeckListModel *deckModel;
QTreeView *deckView;
CardInfoPtr selectedCard;

View file

@ -28,7 +28,7 @@
* @param _currentZone The current zone in which the card is located.
*/
PrintingSelectorCardDisplayWidget::PrintingSelectorCardDisplayWidget(QWidget *parent,
TabGenericDeckEditor *_deckEditor,
AbstractTabDeckEditor *_deckEditor,
DeckListModel *_deckModel,
QTreeView *_deckView,
QSlider *_cardSizeSlider,

View file

@ -3,7 +3,7 @@
#include "../../../../deck/deck_list_model.h"
#include "../../../../game/cards/card_database.h"
#include "../../../tabs/tab_generic_deck_editor.h"
#include "../../../tabs/abstract_tab_deck_editor.h"
#include "printing_selector_card_overlay_widget.h"
#include "set_name_and_collectors_number_display_widget.h"
@ -16,7 +16,7 @@ class PrintingSelectorCardDisplayWidget : public QWidget
public:
PrintingSelectorCardDisplayWidget(QWidget *parent,
TabGenericDeckEditor *_deckEditor,
AbstractTabDeckEditor *_deckEditor,
DeckListModel *_deckModel,
QTreeView *_deckView,
QSlider *_cardSizeSlider,
@ -33,7 +33,7 @@ signals:
private:
QVBoxLayout *layout;
SetNameAndCollectorsNumberDisplayWidget *setNameAndCollectorsNumberDisplayWidget;
TabGenericDeckEditor *deckEditor;
AbstractTabDeckEditor *deckEditor;
DeckListModel *deckModel;
QTreeView *deckView;
QSlider *cardSizeSlider;

View file

@ -25,7 +25,7 @@
* @param _setInfoForCard The set-specific information for the card being displayed.
*/
PrintingSelectorCardOverlayWidget::PrintingSelectorCardOverlayWidget(QWidget *parent,
TabGenericDeckEditor *_deckEditor,
AbstractTabDeckEditor *_deckEditor,
DeckListModel *_deckModel,
QTreeView *_deckView,
QSlider *_cardSizeSlider,

View file

@ -4,7 +4,7 @@
#include "../../../../client/ui/widgets/cards/card_info_picture_widget.h"
#include "../../../../deck/deck_list_model.h"
#include "../../../../game/cards/card_database.h"
#include "../../../tabs/tab_generic_deck_editor.h"
#include "../../../tabs/abstract_tab_deck_editor.h"
#include "all_zones_card_amount_widget.h"
#include "card_amount_widget.h"
#include "set_name_and_collectors_number_display_widget.h"
@ -15,7 +15,7 @@ class PrintingSelectorCardOverlayWidget : public QWidget
public:
explicit PrintingSelectorCardOverlayWidget(QWidget *parent,
TabGenericDeckEditor *_deckEditor,
AbstractTabDeckEditor *_deckEditor,
DeckListModel *_deckModel,
QTreeView *_deckView,
QSlider *_cardSizeSlider,
@ -39,7 +39,7 @@ signals:
private:
CardInfoPictureWidget *cardInfoPicture;
AllZonesCardAmountWidget *allZonesCardAmountWidget;
TabGenericDeckEditor *deckEditor;
AbstractTabDeckEditor *deckEditor;
DeckListModel *deckModel;
QTreeView *deckView;
QSlider *cardSizeSlider;

View file

@ -1,7 +1,7 @@
#include "deck_preview_tag_addition_widget.h"
#include "../../../../../settings/cache_settings.h"
#include "../../../../tabs/tab_generic_deck_editor.h"
#include "../../../../tabs/abstract_tab_deck_editor.h"
#include "deck_preview_tag_dialog.h"
#include <QFontMetrics>