[TabDeckEditor] Refactor: Create shared CardDatabaseModel for tab (#6968)

This commit is contained in:
RickyRister 2026-06-05 09:21:13 -07:00 committed by GitHub
parent 86256602ff
commit 29cc622ce3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 8 additions and 7 deletions

View file

@ -13,7 +13,7 @@ DeckEditorCardDatabaseDockWidget::DeckEditorCardDatabaseDockWidget(AbstractTabDe
void DeckEditorCardDatabaseDockWidget::createDatabaseDisplayDock(AbstractTabDeckEditor *deckEditor)
{
databaseDisplayWidget = new DeckEditorDatabaseDisplayWidget(this, deckEditor);
databaseDisplayWidget = new DeckEditorDatabaseDisplayWidget(this, deckEditor->databaseModel);
auto *frame = new QVBoxLayout;
frame->setObjectName("databaseDisplayFrame");

View file

@ -21,8 +21,8 @@ static bool canBeCommander(const CardInfo &cardInfo)
cardInfo.getText().contains("can be your commander", Qt::CaseInsensitive);
}
DeckEditorDatabaseDisplayWidget::DeckEditorDatabaseDisplayWidget(QWidget *parent, AbstractTabDeckEditor *deckEditor)
: QWidget(parent), deckEditor(deckEditor)
DeckEditorDatabaseDisplayWidget::DeckEditorDatabaseDisplayWidget(QWidget *parent, CardDatabaseModel *databaseModel)
: QWidget(parent), databaseModel(databaseModel)
{
setObjectName("databaseDisplayWidget");
@ -58,8 +58,6 @@ DeckEditorDatabaseDisplayWidget::DeckEditorDatabaseDisplayWidget(QWidget *parent
connect(&searchKeySignals, &KeySignals::onCtrlC, this, &DeckEditorDatabaseDisplayWidget::copyDatabaseCellContents);
connect(help, &QAction::triggered, this, [this] { createSearchSyntaxHelpWindow(searchEdit); });
databaseModel = new CardDatabaseModel(CardDatabaseManager::getInstance(), true, this);
databaseModel->setObjectName("databaseModel");
databaseDisplayModel = new CardDatabaseDisplayModel(this);
databaseDisplayModel->setObjectName("databaseDisplayModel");
databaseDisplayModel->setSourceModel(databaseModel);

View file

@ -23,8 +23,7 @@ class DeckEditorDatabaseDisplayWidget : public QWidget
Q_OBJECT
public:
explicit DeckEditorDatabaseDisplayWidget(QWidget *parent, AbstractTabDeckEditor *deckEditor);
AbstractTabDeckEditor *deckEditor;
explicit DeckEditorDatabaseDisplayWidget(QWidget *parent, CardDatabaseModel *databaseModel);
CardDatabaseModel *databaseModel;
CardDatabaseDisplayModel *databaseDisplayModel;

View file

@ -56,6 +56,9 @@ AbstractTabDeckEditor::AbstractTabDeckEditor(TabSupervisor *_tabSupervisor) : Ta
deckStateManager = new DeckStateManager(this);
databaseModel = new CardDatabaseModel(CardDatabaseManager::getInstance(), true, this);
databaseModel->setObjectName("databaseModel");
cardDatabaseDockWidget = new DeckEditorCardDatabaseDockWidget(this);
deckDockWidget = new DeckEditorDeckDockWidget(this);
cardInfoDockWidget = new DeckEditorCardInfoDockWidget(this);

View file

@ -126,6 +126,7 @@ public:
// UI Elements
DeckStateManager *deckStateManager;
CardDatabaseModel *databaseModel; ///< Card database
DeckEditorMenu *deckMenu; ///< Menu for deck operations
DeckEditorCardDatabaseDockWidget *cardDatabaseDockWidget; ///< Database dock
DeckEditorCardInfoDockWidget *cardInfoDockWidget; ///< Card info dock