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,
&DeckPreviewWidget::imageDoubleClickedEvent);
connect(&SettingsCache::instance(), &SettingsCache::visualDeckStorageShowTagsOnDeckPreviewsChanged, this,
&DeckPreviewWidget::updateTagsVisibility);
layout->addWidget(bannerCardDisplayWidget);
}
@ -52,7 +55,7 @@ void DeckPreviewWidget::initializeUi(const bool deckLoadSuccess)
colorIdentityWidget = new DeckPreviewColorIdentityWidget(this, getColorIdentity());
deckTagsDisplayWidget = new DeckPreviewDeckTagsDisplayWidget(this, deckLoader);
updateTagsVisibility(SettingsCache::instance().getVisualDeckStorageShowTags());
updateTagsVisibility(SettingsCache::instance().getVisualDeckStorageShowTagsOnDeckPreviews());
layout->addWidget(colorIdentityWidget);
layout->addWidget(deckTagsDisplayWidget);

View file

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

View file

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

View file

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

View file

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

View file

@ -267,7 +267,9 @@ SettingsCache::SettingsCache()
visualDeckStorageCardSize = settings->value("interface/visualdeckstoragecardsize", 100).toInt();
visualDeckStorageSortingOrder = settings->value("interface/visualdeckstoragesortingorder", 0).toInt();
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 =
settings->value("interface/visualdeckstorageshowcardsizeslider", true).toBool();
visualDeckStorageDrawUnusedColorIdentities =
@ -688,10 +690,18 @@ void SettingsCache::setVisualDeckStorageShowFolders(QT_STATE_CHANGED_T value)
settings->setValue("interface/visualdeckstorageshowfolders", visualDeckStorageShowFolders);
}
void SettingsCache::setVisualDeckStorageShowTags(QT_STATE_CHANGED_T _showTags)
void SettingsCache::setVisualDeckStorageShowTagFilter(QT_STATE_CHANGED_T _showTags)
{
visualDeckStorageShowTags = _showTags;
settings->setValue("interface/visualdeckstorageshowtags", visualDeckStorageShowTags);
visualDeckStorageShowTagFilter = _showTags;
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)

View file

@ -62,6 +62,8 @@ signals:
void printingSelectorSearchBarVisibleChanged();
void printingSelectorCardSizeSliderVisibleChanged();
void printingSelectorNavigationButtonsVisibleChanged();
void visualDeckStorageShowTagFilterChanged(bool _visible);
void visualDeckStorageShowTagsOnDeckPreviewsChanged(bool _visible);
void visualDeckStorageCardSizeChanged();
void visualDeckStorageInGameChanged(bool enabled);
void horizontalHandChanged();
@ -132,7 +134,8 @@ private:
bool printingSelectorNavigationButtonsVisible;
int visualDeckStorageSortingOrder;
bool visualDeckStorageShowFolders;
bool visualDeckStorageShowTags;
bool visualDeckStorageShowTagsOnDeckPreviews;
bool visualDeckStorageShowTagFilter;
bool visualDeckStorageShowCardSizeSlider;
int visualDeckStorageCardSize;
bool visualDeckStorageDrawUnusedColorIdentities;
@ -423,9 +426,13 @@ public:
{
return visualDeckStorageShowFolders;
}
bool getVisualDeckStorageShowTags() const
bool getVisualDeckStorageShowTagFilter() const
{
return visualDeckStorageShowTags;
return visualDeckStorageShowTagFilter;
}
bool getVisualDeckStorageShowTagsOnDeckPreviews() const
{
return visualDeckStorageShowTagsOnDeckPreviews;
}
bool getVisualDeckStorageShowCardSizeSlider() const
{
@ -777,7 +784,8 @@ public slots:
void setPrintingSelectorNavigationButtonsVisible(QT_STATE_CHANGED_T _navigationButtonsVisible);
void setVisualDeckStorageSortingOrder(int _visualDeckStorageSortingOrder);
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 setVisualDeckStorageCardSize(int _visualDeckStorageCardSize);
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::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 */)

View file

@ -218,7 +218,10 @@ void SettingsCache::setVisualDeckStorageSortingOrder(int /* _visualDeckStorageSo
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 */)