[TabDeckEditor] Refactor: pass nullable deck model into filter widget (#6969)

This commit is contained in:
RickyRister 2026-06-05 09:21:28 -07:00 committed by GitHub
parent 29cc622ce3
commit 0da2ac4087
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 19 additions and 22 deletions

View file

@ -38,7 +38,7 @@ TabDeckEditorVisualTabWidget::TabDeckEditorVisualTabWidget(QWidget *parent,
&TabDeckEditorVisualTabWidget::actAddCard);
visualDatabaseDisplay =
new VisualDatabaseDisplayWidget(this, deckEditor, _cardDatabaseModel, _cardDatabaseDisplayModel);
new VisualDatabaseDisplayWidget(this, deckEditor, _cardDatabaseModel, _cardDatabaseDisplayModel, deckModel);
visualDatabaseDisplay->setObjectName("visualDatabaseView");
connect(visualDatabaseDisplay, &VisualDatabaseDisplayWidget::cardHoveredDatabaseDisplay, this,
&TabDeckEditorVisualTabWidget::onCardChangedDatabaseDisplay);

View file

@ -4,9 +4,10 @@
#include <QGroupBox>
VisualDatabaseDisplayFilterToolbarWidget::VisualDatabaseDisplayFilterToolbarWidget(VisualDatabaseDisplayWidget *_parent)
VisualDatabaseDisplayFilterToolbarWidget::VisualDatabaseDisplayFilterToolbarWidget(VisualDatabaseDisplayWidget *_parent,
DeckListModel *deckListModel)
: FlowWidget(_parent, Qt::Horizontal, Qt::ScrollBarAlwaysOff, Qt::ScrollBarAlwaysOff),
visualDatabaseDisplay(_parent)
visualDatabaseDisplay(_parent), deckListModel(deckListModel)
{
connect(this, &VisualDatabaseDisplayFilterToolbarWidget::searchModelChanged, visualDatabaseDisplay,
&VisualDatabaseDisplayWidget::onSearchModelChanged);
@ -97,8 +98,7 @@ void VisualDatabaseDisplayFilterToolbarWidget::initialize()
auto filterModel = visualDatabaseDisplay->getFilterModel();
saveLoadWidget = new VisualDatabaseDisplayFilterSaveLoadWidget(this, filterModel);
nameFilterWidget =
new VisualDatabaseDisplayNameFilterWidget(this, visualDatabaseDisplay->getDeckEditor(), filterModel);
nameFilterWidget = new VisualDatabaseDisplayNameFilterWidget(this, filterModel, deckListModel);
mainTypeFilterWidget = new VisualDatabaseDisplayMainTypeFilterWidget(this, filterModel);
formatLegalityWidget = new VisualDatabaseDisplayFormatLegalityFilterWidget(this, filterModel);
subTypeFilterWidget = new VisualDatabaseDisplaySubTypeFilterWidget(this, filterModel);

View file

@ -18,12 +18,14 @@ signals:
void searchModelChanged();
public:
explicit VisualDatabaseDisplayFilterToolbarWidget(VisualDatabaseDisplayWidget *parent);
explicit VisualDatabaseDisplayFilterToolbarWidget(VisualDatabaseDisplayWidget *parent,
DeckListModel *deckListModel = nullptr);
void initialize();
void retranslateUi();
private:
VisualDatabaseDisplayWidget *visualDatabaseDisplay;
DeckListModel *deckListModel;
QGroupBox *sortGroupBox;
QLabel *sortByLabel;

View file

@ -8,9 +8,9 @@
#include <QHBoxLayout>
VisualDatabaseDisplayNameFilterWidget::VisualDatabaseDisplayNameFilterWidget(QWidget *parent,
AbstractTabDeckEditor *_deckEditor,
FilterTreeModel *_filterModel)
: QWidget(parent), deckEditor(_deckEditor), filterModel(_filterModel)
FilterTreeModel *_filterModel,
DeckListModel *deckListModel)
: QWidget(parent), filterModel(_filterModel), deckListModel(deckListModel)
{
setMinimumWidth(300);
setMaximumHeight(300);
@ -62,8 +62,6 @@ void VisualDatabaseDisplayNameFilterWidget::retranslateUi()
void VisualDatabaseDisplayNameFilterWidget::actLoadFromDeck()
{
DeckListModel *deckListModel = deckEditor->deckStateManager->getModel();
if (!deckListModel) {
return;
}

View file

@ -21,8 +21,8 @@ class VisualDatabaseDisplayNameFilterWidget : public QWidget
Q_OBJECT
public:
explicit VisualDatabaseDisplayNameFilterWidget(QWidget *parent,
AbstractTabDeckEditor *deckEditor,
FilterTreeModel *filterModel);
FilterTreeModel *filterModel,
DeckListModel *deckListModel = nullptr);
void createNameFilter(const QString &name);
void removeNameFilter(const QString &name);
@ -34,8 +34,8 @@ public slots:
void retranslateUi();
private:
AbstractTabDeckEditor *deckEditor;
FilterTreeModel *filterModel;
DeckListModel *deckListModel;
QVBoxLayout *layout;
QLineEdit *searchBox;
FlowWidget *flowWidget;

View file

@ -25,7 +25,8 @@
VisualDatabaseDisplayWidget::VisualDatabaseDisplayWidget(QWidget *parent,
AbstractTabDeckEditor *_deckEditor,
CardDatabaseModel *database_model,
CardDatabaseDisplayModel *database_display_model)
CardDatabaseDisplayModel *database_display_model,
DeckListModel *deckListModel)
: QWidget(parent), deckEditor(_deckEditor), databaseModel(database_model),
databaseDisplayModel(database_display_model)
{
@ -109,7 +110,7 @@ VisualDatabaseDisplayWidget::VisualDatabaseDisplayWidget(QWidget *parent,
colorFilterWidget = new VisualDatabaseDisplayColorFilterWidget(this, filterModel);
filterContainer = new VisualDatabaseDisplayFilterToolbarWidget(this);
filterContainer = new VisualDatabaseDisplayFilterToolbarWidget(this, deckListModel);
clearFilterWidget = new QToolButton();
clearFilterWidget->setFixedSize(32, 32);

View file

@ -36,7 +36,8 @@ public:
explicit VisualDatabaseDisplayWidget(QWidget *parent,
AbstractTabDeckEditor *deckEditor,
CardDatabaseModel *database_model,
CardDatabaseDisplayModel *database_display_model);
CardDatabaseDisplayModel *database_display_model,
DeckListModel *deckListModel = nullptr);
void retranslateUi();
void adjustCardsPerPage();
@ -47,11 +48,6 @@ public:
void sortCardList(const QStringList &properties, Qt::SortOrder order) const;
void setDeckList(const DeckList &new_deck_list_model);
AbstractTabDeckEditor *getDeckEditor()
{
return deckEditor;
}
CardDatabaseDisplayModel *getDatabaseDisplayModel()
{
return databaseDisplayModel;