Shuffle some slots and signals around to distinguish between the tag filter and the tags on the deck preview widgets.

This commit is contained in:
Lukas Brübach 2025-02-10 15:08:52 +01:00
parent ff884dfe98
commit 5f5744685c
9 changed files with 56 additions and 39 deletions

View file

@ -31,6 +31,9 @@ DeckPreviewWidget::DeckPreviewWidget(QWidget *_parent,
connect(bannerCardDisplayWidget, &DeckPreviewCardPictureWidget::imageDoubleClicked, this, connect(bannerCardDisplayWidget, &DeckPreviewCardPictureWidget::imageDoubleClicked, this,
&DeckPreviewWidget::imageDoubleClickedEvent); &DeckPreviewWidget::imageDoubleClickedEvent);
connect(&SettingsCache::instance(), &SettingsCache::visualDeckStorageShowTagsOnDeckPreviewsChanged, this,
&DeckPreviewWidget::updateTagsVisibility);
layout->addWidget(bannerCardDisplayWidget); layout->addWidget(bannerCardDisplayWidget);
} }
@ -52,7 +55,7 @@ void DeckPreviewWidget::initializeUi(const bool deckLoadSuccess)
colorIdentityWidget = new DeckPreviewColorIdentityWidget(this, getColorIdentity()); colorIdentityWidget = new DeckPreviewColorIdentityWidget(this, getColorIdentity());
deckTagsDisplayWidget = new DeckPreviewDeckTagsDisplayWidget(this, deckLoader); deckTagsDisplayWidget = new DeckPreviewDeckTagsDisplayWidget(this, deckLoader);
updateTagsVisibility(SettingsCache::instance().getVisualDeckStorageShowTags()); updateTagsVisibility(SettingsCache::instance().getVisualDeckStorageShowTagsOnDeckPreviews());
layout->addWidget(colorIdentityWidget); layout->addWidget(colorIdentityWidget);
layout->addWidget(deckTagsDisplayWidget); layout->addWidget(deckTagsDisplayWidget);

View file

@ -39,8 +39,6 @@ VisualDeckStorageFolderDisplayWidget::VisualDeckStorageFolderDisplayWidget(
&VisualDeckStorageFolderDisplayWidget::updateVisibility); &VisualDeckStorageFolderDisplayWidget::updateVisibility);
connect(visualDeckStorageWidget, &VisualDeckStorageWidget::searchFilterUpdated, this, connect(visualDeckStorageWidget, &VisualDeckStorageWidget::searchFilterUpdated, this,
&VisualDeckStorageFolderDisplayWidget::updateVisibility); &VisualDeckStorageFolderDisplayWidget::updateVisibility);
connect(visualDeckStorageWidget, &VisualDeckStorageWidget::tagsVisibilityChanged, this,
&VisualDeckStorageFolderDisplayWidget::updateTagVisibility);
createWidgetsForFiles(); createWidgetsForFiles();
createWidgetsForFolders(); createWidgetsForFolders();
@ -95,8 +93,6 @@ void VisualDeckStorageFolderDisplayWidget::createWidgetsForFiles()
&VisualDeckStorageWidget::deckPreviewDoubleClickedEvent); &VisualDeckStorageWidget::deckPreviewDoubleClickedEvent);
connect(visualDeckStorageWidget->cardSizeWidget->getSlider(), &QSlider::valueChanged, connect(visualDeckStorageWidget->cardSizeWidget->getSlider(), &QSlider::valueChanged,
display->bannerCardDisplayWidget, &CardInfoPictureWidget::setScaleFactor); display->bannerCardDisplayWidget, &CardInfoPictureWidget::setScaleFactor);
connect(this, &VisualDeckStorageFolderDisplayWidget::tagsVisibilityChanged, display,
&DeckPreviewWidget::updateTagsVisibility);
display->bannerCardDisplayWidget->setScaleFactor(visualDeckStorageWidget->cardSizeWidget->getSlider()->value()); display->bannerCardDisplayWidget->setScaleFactor(visualDeckStorageWidget->cardSizeWidget->getSlider()->value());
allDecks.append(display); allDecks.append(display);
} }
@ -165,8 +161,6 @@ void VisualDeckStorageFolderDisplayWidget::createWidgetsForFolders()
for (const QString &dir : getAllSubFolders(filePath)) { for (const QString &dir : getAllSubFolders(filePath)) {
auto *display = new VisualDeckStorageFolderDisplayWidget(this, visualDeckStorageWidget, dir, true, showFolders); auto *display = new VisualDeckStorageFolderDisplayWidget(this, visualDeckStorageWidget, dir, true, showFolders);
connect(this, &VisualDeckStorageFolderDisplayWidget::tagsVisibilityChanged, display,
&VisualDeckStorageFolderDisplayWidget::updateTagVisibility);
containerLayout->addWidget(display); containerLayout->addWidget(display);
} }
} }
@ -186,11 +180,6 @@ void VisualDeckStorageFolderDisplayWidget::updateShowFolders(bool enabled)
header->setHidden(!showFolders); header->setHidden(!showFolders);
} }
void VisualDeckStorageFolderDisplayWidget::updateTagVisibility(bool visible)
{
emit tagsVisibilityChanged(visible);
}
/** /**
* Recursively gets all DeckPreviewWidgets in this folder and its subfolders * Recursively gets all DeckPreviewWidgets in this folder and its subfolders
*/ */

View file

@ -27,14 +27,10 @@ public:
return flowWidget; return flowWidget;
}; };
signals:
void tagsVisibilityChanged(bool visible);
public slots: public slots:
void updateVisibility(); void updateVisibility();
bool checkVisibility(); bool checkVisibility();
void updateShowFolders(bool enabled); void updateShowFolders(bool enabled);
void updateTagVisibility(bool visible);
private: private:
bool showFolders; bool showFolders;

View file

@ -41,11 +41,17 @@ VisualDeckStorageWidget::VisualDeckStorageWidget(QWidget *parent) : QWidget(pare
connect(showFoldersCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), connect(showFoldersCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(),
&SettingsCache::setVisualDeckStorageShowFolders); &SettingsCache::setVisualDeckStorageShowFolders);
tagsVisibilityCheckBox = new QCheckBox(this); tagFilterVisibilityCheckBox = new QCheckBox(this);
tagsVisibilityCheckBox->setChecked(SettingsCache::instance().getVisualDeckStorageShowTags()); tagFilterVisibilityCheckBox->setChecked(SettingsCache::instance().getVisualDeckStorageShowTagFilter());
connect(tagsVisibilityCheckBox, &QCheckBox::QT_STATE_CHANGED, this, &VisualDeckStorageWidget::updateTagsVisibility); connect(tagFilterVisibilityCheckBox, &QCheckBox::QT_STATE_CHANGED, this,
connect(tagsVisibilityCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &VisualDeckStorageWidget::updateTagsVisibility);
&SettingsCache::setVisualDeckStorageShowTags); connect(tagFilterVisibilityCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(),
&SettingsCache::setVisualDeckStorageShowTagFilter);
tagsOnWidgetsVisibilityCheckBox = new QCheckBox(this);
tagsOnWidgetsVisibilityCheckBox->setChecked(SettingsCache::instance().getVisualDeckStorageShowTagsOnDeckPreviews());
connect(tagsOnWidgetsVisibilityCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(),
&SettingsCache::setVisualDeckStorageShowTagsOnDeckPreviews);
cardSizeSliderVisibilityCheckBox = new QCheckBox(this); cardSizeSliderVisibilityCheckBox = new QCheckBox(this);
cardSizeSliderVisibilityCheckBox->setChecked(SettingsCache::instance().getVisualDeckStorageShowCardSizeSlider()); cardSizeSliderVisibilityCheckBox->setChecked(SettingsCache::instance().getVisualDeckStorageShowCardSizeSlider());
@ -56,7 +62,8 @@ VisualDeckStorageWidget::VisualDeckStorageWidget(QWidget *parent) : QWidget(pare
quickSettingsWidget = new SettingsButtonWidget(this); quickSettingsWidget = new SettingsButtonWidget(this);
quickSettingsWidget->addSettingsWidget(showFoldersCheckBox); quickSettingsWidget->addSettingsWidget(showFoldersCheckBox);
quickSettingsWidget->addSettingsWidget(tagsVisibilityCheckBox); quickSettingsWidget->addSettingsWidget(tagFilterVisibilityCheckBox);
quickSettingsWidget->addSettingsWidget(tagsOnWidgetsVisibilityCheckBox);
quickSettingsWidget->addSettingsWidget(cardSizeSliderVisibilityCheckBox); quickSettingsWidget->addSettingsWidget(cardSizeSliderVisibilityCheckBox);
searchAndSortLayout->addWidget(deckPreviewColorIdentityFilterWidget); searchAndSortLayout->addWidget(deckPreviewColorIdentityFilterWidget);
@ -66,7 +73,7 @@ VisualDeckStorageWidget::VisualDeckStorageWidget(QWidget *parent) : QWidget(pare
// tag filter box // tag filter box
tagFilterWidget = new VisualDeckStorageTagFilterWidget(this); tagFilterWidget = new VisualDeckStorageTagFilterWidget(this);
updateTagsVisibility(SettingsCache::instance().getVisualDeckStorageShowTags()); updateTagsVisibility(SettingsCache::instance().getVisualDeckStorageShowTagFilter());
// card size slider // card size slider
cardSizeWidget = new CardSizeWidget(this, nullptr, SettingsCache::instance().getVisualDeckStorageCardSize()); cardSizeWidget = new CardSizeWidget(this, nullptr, SettingsCache::instance().getVisualDeckStorageCardSize());
@ -124,7 +131,8 @@ void VisualDeckStorageWidget::retranslateUi()
databaseLoadIndicator->setText(tr("Loading database ...")); databaseLoadIndicator->setText(tr("Loading database ..."));
showFoldersCheckBox->setText(tr("Show Folders")); showFoldersCheckBox->setText(tr("Show Folders"));
tagsVisibilityCheckBox->setText(tr("Show Tags")); tagFilterVisibilityCheckBox->setText(tr("Show Tag Filter"));
tagsOnWidgetsVisibilityCheckBox->setText(tr("Show Tags On Deck Previews"));
cardSizeSliderVisibilityCheckBox->setText(tr("Show Card Size Slider")); cardSizeSliderVisibilityCheckBox->setText(tr("Show Card Size Slider"));
} }
@ -143,8 +151,6 @@ void VisualDeckStorageWidget::createRootFolderWidget()
{ {
folderWidget = new VisualDeckStorageFolderDisplayWidget(this, this, SettingsCache::instance().getDeckPath(), false, folderWidget = new VisualDeckStorageFolderDisplayWidget(this, this, SettingsCache::instance().getDeckPath(), false,
showFoldersCheckBox->isChecked()); showFoldersCheckBox->isChecked());
connect(this, &VisualDeckStorageWidget::tagsVisibilityChanged, folderWidget,
&VisualDeckStorageFolderDisplayWidget::updateTagVisibility);
scrollArea->setWidget(folderWidget); scrollArea->setWidget(folderWidget);
scrollArea->widget()->setMaximumWidth(scrollArea->viewport()->width()); scrollArea->widget()->setMaximumWidth(scrollArea->viewport()->width());
@ -203,7 +209,6 @@ void VisualDeckStorageWidget::updateTagsVisibility(const bool visible)
} else { } else {
tagFilterWidget->setHidden(true); tagFilterWidget->setHidden(true);
} }
emit tagsVisibilityChanged(visible);
} }
void VisualDeckStorageWidget::updateCardSizeSliderVisibility(const bool _visible) const void VisualDeckStorageWidget::updateCardSizeSliderVisibility(const bool _visible) const

View file

@ -52,7 +52,6 @@ signals:
void tagFilterUpdated(); void tagFilterUpdated();
void colorFilterUpdated(); void colorFilterUpdated();
void searchFilterUpdated(); void searchFilterUpdated();
void tagsVisibilityChanged(bool visible);
private: private:
QVBoxLayout *layout; QVBoxLayout *layout;
@ -65,7 +64,8 @@ private:
DeckPreviewColorIdentityFilterWidget *deckPreviewColorIdentityFilterWidget; DeckPreviewColorIdentityFilterWidget *deckPreviewColorIdentityFilterWidget;
SettingsButtonWidget *quickSettingsWidget; SettingsButtonWidget *quickSettingsWidget;
QCheckBox *showFoldersCheckBox; QCheckBox *showFoldersCheckBox;
QCheckBox *tagsVisibilityCheckBox; QCheckBox *tagFilterVisibilityCheckBox;
QCheckBox *tagsOnWidgetsVisibilityCheckBox;
QCheckBox *cardSizeSliderVisibilityCheckBox; QCheckBox *cardSizeSliderVisibilityCheckBox;
QScrollArea *scrollArea; QScrollArea *scrollArea;
VisualDeckStorageFolderDisplayWidget *folderWidget; VisualDeckStorageFolderDisplayWidget *folderWidget;

View file

@ -267,7 +267,9 @@ SettingsCache::SettingsCache()
visualDeckStorageCardSize = settings->value("interface/visualdeckstoragecardsize", 100).toInt(); visualDeckStorageCardSize = settings->value("interface/visualdeckstoragecardsize", 100).toInt();
visualDeckStorageSortingOrder = settings->value("interface/visualdeckstoragesortingorder", 0).toInt(); visualDeckStorageSortingOrder = settings->value("interface/visualdeckstoragesortingorder", 0).toInt();
visualDeckStorageShowFolders = settings->value("interface/visualdeckstorageshowfolders", true).toBool(); visualDeckStorageShowFolders = settings->value("interface/visualdeckstorageshowfolders", true).toBool();
visualDeckStorageShowTags = settings->value("interface/visualdeckstorageshowtags", true).toBool(); visualDeckStorageShowTagFilter = settings->value("interface/visualdeckstorageshowtagfilter", true).toBool();
visualDeckStorageShowTagsOnDeckPreviews =
settings->value("interface/visualdeckstorageshowtagsondeckpreviews", true).toBool();
visualDeckStorageShowCardSizeSlider = visualDeckStorageShowCardSizeSlider =
settings->value("interface/visualdeckstorageshowcardsizeslider", true).toBool(); settings->value("interface/visualdeckstorageshowcardsizeslider", true).toBool();
visualDeckStorageDrawUnusedColorIdentities = visualDeckStorageDrawUnusedColorIdentities =
@ -688,10 +690,18 @@ void SettingsCache::setVisualDeckStorageShowFolders(QT_STATE_CHANGED_T value)
settings->setValue("interface/visualdeckstorageshowfolders", visualDeckStorageShowFolders); settings->setValue("interface/visualdeckstorageshowfolders", visualDeckStorageShowFolders);
} }
void SettingsCache::setVisualDeckStorageShowTags(QT_STATE_CHANGED_T _showTags) void SettingsCache::setVisualDeckStorageShowTagFilter(QT_STATE_CHANGED_T _showTags)
{ {
visualDeckStorageShowTags = _showTags; visualDeckStorageShowTagFilter = _showTags;
settings->setValue("interface/visualdeckstorageshowtags", visualDeckStorageShowTags); settings->setValue("interface/visualdeckstorageshowtagfilter", visualDeckStorageShowTagFilter);
emit visualDeckStorageShowTagFilterChanged(visualDeckStorageShowTagFilter);
}
void SettingsCache::setVisualDeckStorageShowTagsOnDeckPreviews(QT_STATE_CHANGED_T _showTags)
{
visualDeckStorageShowTagsOnDeckPreviews = _showTags;
settings->setValue("interface/visualdeckstorageshowtagsondeckpreviews", visualDeckStorageShowTagsOnDeckPreviews);
emit visualDeckStorageShowTagsOnDeckPreviewsChanged(visualDeckStorageShowTagsOnDeckPreviews);
} }
void SettingsCache::setVisualDeckStorageShowCardSizeSlider(QT_STATE_CHANGED_T _showCardSizeSlider) void SettingsCache::setVisualDeckStorageShowCardSizeSlider(QT_STATE_CHANGED_T _showCardSizeSlider)

View file

@ -62,6 +62,8 @@ signals:
void printingSelectorSearchBarVisibleChanged(); void printingSelectorSearchBarVisibleChanged();
void printingSelectorCardSizeSliderVisibleChanged(); void printingSelectorCardSizeSliderVisibleChanged();
void printingSelectorNavigationButtonsVisibleChanged(); void printingSelectorNavigationButtonsVisibleChanged();
void visualDeckStorageShowTagFilterChanged(bool _visible);
void visualDeckStorageShowTagsOnDeckPreviewsChanged(bool _visible);
void visualDeckStorageCardSizeChanged(); void visualDeckStorageCardSizeChanged();
void visualDeckStorageInGameChanged(bool enabled); void visualDeckStorageInGameChanged(bool enabled);
void horizontalHandChanged(); void horizontalHandChanged();
@ -132,7 +134,8 @@ private:
bool printingSelectorNavigationButtonsVisible; bool printingSelectorNavigationButtonsVisible;
int visualDeckStorageSortingOrder; int visualDeckStorageSortingOrder;
bool visualDeckStorageShowFolders; bool visualDeckStorageShowFolders;
bool visualDeckStorageShowTags; bool visualDeckStorageShowTagsOnDeckPreviews;
bool visualDeckStorageShowTagFilter;
bool visualDeckStorageShowCardSizeSlider; bool visualDeckStorageShowCardSizeSlider;
int visualDeckStorageCardSize; int visualDeckStorageCardSize;
bool visualDeckStorageDrawUnusedColorIdentities; bool visualDeckStorageDrawUnusedColorIdentities;
@ -423,9 +426,13 @@ public:
{ {
return visualDeckStorageShowFolders; return visualDeckStorageShowFolders;
} }
bool getVisualDeckStorageShowTags() const bool getVisualDeckStorageShowTagFilter() const
{ {
return visualDeckStorageShowTags; return visualDeckStorageShowTagFilter;
}
bool getVisualDeckStorageShowTagsOnDeckPreviews() const
{
return visualDeckStorageShowTagsOnDeckPreviews;
} }
bool getVisualDeckStorageShowCardSizeSlider() const bool getVisualDeckStorageShowCardSizeSlider() const
{ {
@ -777,7 +784,8 @@ public slots:
void setPrintingSelectorNavigationButtonsVisible(QT_STATE_CHANGED_T _navigationButtonsVisible); void setPrintingSelectorNavigationButtonsVisible(QT_STATE_CHANGED_T _navigationButtonsVisible);
void setVisualDeckStorageSortingOrder(int _visualDeckStorageSortingOrder); void setVisualDeckStorageSortingOrder(int _visualDeckStorageSortingOrder);
void setVisualDeckStorageShowFolders(QT_STATE_CHANGED_T value); void setVisualDeckStorageShowFolders(QT_STATE_CHANGED_T value);
void setVisualDeckStorageShowTags(QT_STATE_CHANGED_T _showTags); void setVisualDeckStorageShowTagFilter(QT_STATE_CHANGED_T _showTags);
void setVisualDeckStorageShowTagsOnDeckPreviews(QT_STATE_CHANGED_T _showTags);
void setVisualDeckStorageShowCardSizeSlider(QT_STATE_CHANGED_T _showCardSizeSlider); void setVisualDeckStorageShowCardSizeSlider(QT_STATE_CHANGED_T _showCardSizeSlider);
void setVisualDeckStorageCardSize(int _visualDeckStorageCardSize); void setVisualDeckStorageCardSize(int _visualDeckStorageCardSize);
void setVisualDeckStorageDrawUnusedColorIdentities(QT_STATE_CHANGED_T _visualDeckStorageDrawUnusedColorIdentities); void setVisualDeckStorageDrawUnusedColorIdentities(QT_STATE_CHANGED_T _visualDeckStorageDrawUnusedColorIdentities);

View file

@ -214,7 +214,10 @@ void SettingsCache::setVisualDeckStorageSortingOrder(int /* _visualDeckStorageSo
void SettingsCache::setVisualDeckStorageShowFolders(QT_STATE_CHANGED_T /* value */) void SettingsCache::setVisualDeckStorageShowFolders(QT_STATE_CHANGED_T /* value */)
{ {
} }
void SettingsCache::setVisualDeckStorageShowTags(QT_STATE_CHANGED_T /* _showTags */) void SettingsCache::setVisualDeckStorageShowTagFilter(QT_STATE_CHANGED_T /* _showTags */)
{
}
void SettingsCache::setVisualDeckStorageShowTagsOnDeckPreviews(QT_STATE_CHANGED_T /* _showTags */)
{ {
} }
void SettingsCache::setVisualDeckStorageShowCardSizeSlider(QT_STATE_CHANGED_T /* _showCardSizeSlider */) void SettingsCache::setVisualDeckStorageShowCardSizeSlider(QT_STATE_CHANGED_T /* _showCardSizeSlider */)

View file

@ -218,7 +218,10 @@ void SettingsCache::setVisualDeckStorageSortingOrder(int /* _visualDeckStorageSo
void SettingsCache::setVisualDeckStorageShowFolders(QT_STATE_CHANGED_T /* value */) void SettingsCache::setVisualDeckStorageShowFolders(QT_STATE_CHANGED_T /* value */)
{ {
} }
void SettingsCache::setVisualDeckStorageShowTags(QT_STATE_CHANGED_T /* _showTags */) void SettingsCache::setVisualDeckStorageShowTagFilter(QT_STATE_CHANGED_T /* _showTags */)
{
}
void SettingsCache::setVisualDeckStorageShowTagsOnDeckPreviews(QT_STATE_CHANGED_T /* _showTags */)
{ {
} }
void SettingsCache::setVisualDeckStorageShowCardSizeSlider(QT_STATE_CHANGED_T /* _showCardSizeSlider */) void SettingsCache::setVisualDeckStorageShowCardSizeSlider(QT_STATE_CHANGED_T /* _showCardSizeSlider */)