From 5f5744685c1b71a912d6bb1b6943929f2de81228 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20Br=C3=BCbach?= Date: Mon, 10 Feb 2025 15:08:52 +0100 Subject: [PATCH] Shuffle some slots and signals around to distinguish between the tag filter and the tags on the deck preview widgets. --- .../deck_preview/deck_preview_widget.cpp | 5 +++- ...ual_deck_storage_folder_display_widget.cpp | 11 -------- ...isual_deck_storage_folder_display_widget.h | 4 --- .../visual_deck_storage_widget.cpp | 27 +++++++++++-------- .../visual_deck_storage_widget.h | 4 +-- cockatrice/src/settings/cache_settings.cpp | 18 ++++++++++--- cockatrice/src/settings/cache_settings.h | 16 ++++++++--- dbconverter/src/mocks.cpp | 5 +++- tests/carddatabase/mocks.cpp | 5 +++- 9 files changed, 56 insertions(+), 39 deletions(-) diff --git a/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_widget.cpp b/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_widget.cpp index af9badccf..97af6d0ca 100644 --- a/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_widget.cpp +++ b/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_widget.cpp @@ -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); diff --git a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_folder_display_widget.cpp b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_folder_display_widget.cpp index 6a2bf3fa2..84981e071 100644 --- a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_folder_display_widget.cpp +++ b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_folder_display_widget.cpp @@ -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 */ diff --git a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_folder_display_widget.h b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_folder_display_widget.h index 0f3500315..d149e4d27 100644 --- a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_folder_display_widget.h +++ b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_folder_display_widget.h @@ -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; diff --git a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.cpp b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.cpp index aabf311f1..40191d315 100644 --- a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.cpp +++ b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.cpp @@ -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 diff --git a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.h b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.h index 67bfac760..d3ef0c221 100644 --- a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.h +++ b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_widget.h @@ -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; diff --git a/cockatrice/src/settings/cache_settings.cpp b/cockatrice/src/settings/cache_settings.cpp index 33460e733..2b4c446b6 100644 --- a/cockatrice/src/settings/cache_settings.cpp +++ b/cockatrice/src/settings/cache_settings.cpp @@ -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) diff --git a/cockatrice/src/settings/cache_settings.h b/cockatrice/src/settings/cache_settings.h index c09aca596..d230ffc22 100644 --- a/cockatrice/src/settings/cache_settings.h +++ b/cockatrice/src/settings/cache_settings.h @@ -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); diff --git a/dbconverter/src/mocks.cpp b/dbconverter/src/mocks.cpp index d62b60f50..eb0ab4829 100644 --- a/dbconverter/src/mocks.cpp +++ b/dbconverter/src/mocks.cpp @@ -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 */) diff --git a/tests/carddatabase/mocks.cpp b/tests/carddatabase/mocks.cpp index 4ff6c1c58..067bb4d31 100644 --- a/tests/carddatabase/mocks.cpp +++ b/tests/carddatabase/mocks.cpp @@ -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 */)