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 5482dd3d8..4be53cf18 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 @@ -45,9 +45,17 @@ VisualDeckStorageWidget::VisualDeckStorageWidget(QWidget *parent) : QWidget(pare connect(tagsVisibilityCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), &SettingsCache::setVisualDeckStorageShowTags); + cardSizeSliderVisibilityCheckBox = new QCheckBox(this); + cardSizeSliderVisibilityCheckBox->setChecked(SettingsCache::instance().getVisualDeckStorageShowCardSizeSlider()); + connect(cardSizeSliderVisibilityCheckBox, &QCheckBox::QT_STATE_CHANGED, this, + &VisualDeckStorageWidget::updateCardSizeSliderVisibility); + connect(cardSizeSliderVisibilityCheckBox, &QCheckBox::QT_STATE_CHANGED, &SettingsCache::instance(), + &SettingsCache::setVisualDeckStorageShowCardSizeSlider); + quickSettingsWidget = new SettingsButtonWidget(this); quickSettingsWidget->addSettingsWidget(showFoldersCheckBox); quickSettingsWidget->addSettingsWidget(tagsVisibilityCheckBox); + quickSettingsWidget->addSettingsWidget(cardSizeSliderVisibilityCheckBox); searchAndSortLayout->addWidget(deckPreviewColorIdentityFilterWidget); searchAndSortLayout->addWidget(sortWidget); @@ -60,6 +68,7 @@ VisualDeckStorageWidget::VisualDeckStorageWidget(QWidget *parent) : QWidget(pare // card size slider cardSizeWidget = new CardSizeWidget(this, nullptr, SettingsCache::instance().getVisualDeckStorageCardSize()); + updateCardSizeSliderVisibility(SettingsCache::instance().getVisualDeckStorageShowCardSizeSlider()); // deck area scrollArea = new QScrollArea(this); @@ -114,6 +123,7 @@ void VisualDeckStorageWidget::retranslateUi() showFoldersCheckBox->setText(tr("Show Folders")); tagsVisibilityCheckBox->setText(tr("Show Tags")); + cardSizeSliderVisibilityCheckBox->setText(tr("Show Card Size Slider")); } void VisualDeckStorageWidget::deckPreviewClickedEvent(QMouseEvent *event, DeckPreviewWidget *instance) @@ -193,3 +203,12 @@ void VisualDeckStorageWidget::updateTagsVisibility(const bool visible) } emit tagsVisibilityChanged(visible); } + +void VisualDeckStorageWidget::updateCardSizeSliderVisibility(const bool _visible) const +{ + if (_visible) { + cardSizeWidget->setVisible(true); + } else { + cardSizeWidget->setHidden(true); + } +} 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 487ec5148..5aa45f4ed 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 @@ -39,6 +39,7 @@ public slots: void updateColorFilter(); void updateSearchFilter(); void updateTagsVisibility(bool visible); + void updateCardSizeSliderVisibility(bool _visible) const; void updateSortOrder(); void resizeEvent(QResizeEvent *event) override; void showEvent(QShowEvent *event) override; @@ -64,6 +65,7 @@ private: SettingsButtonWidget *quickSettingsWidget; QCheckBox *showFoldersCheckBox; QCheckBox *tagsVisibilityCheckBox; + QCheckBox *cardSizeSliderVisibilityCheckBox; QScrollArea *scrollArea; VisualDeckStorageFolderDisplayWidget *folderWidget; }; diff --git a/cockatrice/src/settings/cache_settings.cpp b/cockatrice/src/settings/cache_settings.cpp index c986d9a83..4c5386707 100644 --- a/cockatrice/src/settings/cache_settings.cpp +++ b/cockatrice/src/settings/cache_settings.cpp @@ -268,6 +268,8 @@ SettingsCache::SettingsCache() visualDeckStorageSortingOrder = settings->value("interface/visualdeckstoragesortingorder", 0).toInt(); visualDeckStorageShowFolders = settings->value("interface/visualdeckstorageshowfolders", true).toBool(); visualDeckStorageShowTags = settings->value("interface/visualdeckstorageshowtags", true).toBool(); + visualDeckStorageShowCardSizeSlider = + settings->value("interface/visualdeckstorageshowcardsizeslider", true).toBool(); visualDeckStorageDrawUnusedColorIdentities = settings->value("interface/visualdeckstoragedrawunusedcoloridentities", true).toBool(); visualDeckStorageUnusedColorIdentitiesOpacity = @@ -692,6 +694,12 @@ void SettingsCache::setVisualDeckStorageShowTags(QT_STATE_CHANGED_T _showTags) settings->setValue("interface/visualdeckstorageshowtags", visualDeckStorageShowTags); } +void SettingsCache::setVisualDeckStorageShowCardSizeSlider(QT_STATE_CHANGED_T _showCardSizeSlider) +{ + visualDeckStorageShowCardSizeSlider = _showCardSizeSlider; + settings->setValue("interface/visualdeckstorageshowcardsizeslider", visualDeckStorageShowCardSizeSlider); +} + void SettingsCache::setVisualDeckStorageCardSize(int _visualDeckStorageCardSize) { visualDeckStorageCardSize = _visualDeckStorageCardSize; diff --git a/cockatrice/src/settings/cache_settings.h b/cockatrice/src/settings/cache_settings.h index b02968738..c09aca596 100644 --- a/cockatrice/src/settings/cache_settings.h +++ b/cockatrice/src/settings/cache_settings.h @@ -133,6 +133,7 @@ private: int visualDeckStorageSortingOrder; bool visualDeckStorageShowFolders; bool visualDeckStorageShowTags; + bool visualDeckStorageShowCardSizeSlider; int visualDeckStorageCardSize; bool visualDeckStorageDrawUnusedColorIdentities; int visualDeckStorageUnusedColorIdentitiesOpacity; @@ -426,6 +427,10 @@ public: { return visualDeckStorageShowTags; } + bool getVisualDeckStorageShowCardSizeSlider() const + { + return visualDeckStorageShowCardSizeSlider; + } int getVisualDeckStorageCardSize() const { return visualDeckStorageCardSize; @@ -773,6 +778,7 @@ public slots: void setVisualDeckStorageSortingOrder(int _visualDeckStorageSortingOrder); void setVisualDeckStorageShowFolders(QT_STATE_CHANGED_T value); void setVisualDeckStorageShowTags(QT_STATE_CHANGED_T _showTags); + void setVisualDeckStorageShowCardSizeSlider(QT_STATE_CHANGED_T _showCardSizeSlider); void setVisualDeckStorageCardSize(int _visualDeckStorageCardSize); void setVisualDeckStorageDrawUnusedColorIdentities(QT_STATE_CHANGED_T _visualDeckStorageDrawUnusedColorIdentities); void setVisualDeckStorageUnusedColorIdentitiesOpacity(int _visualDeckStorageUnusedColorIdentitiesOpacity); diff --git a/dbconverter/src/mocks.cpp b/dbconverter/src/mocks.cpp index 1121a341f..d62b60f50 100644 --- a/dbconverter/src/mocks.cpp +++ b/dbconverter/src/mocks.cpp @@ -217,6 +217,9 @@ void SettingsCache::setVisualDeckStorageShowFolders(QT_STATE_CHANGED_T /* value void SettingsCache::setVisualDeckStorageShowTags(QT_STATE_CHANGED_T /* _showTags */) { } +void SettingsCache::setVisualDeckStorageShowCardSizeSlider(QT_STATE_CHANGED_T /* _showCardSizeSlider */) +{ +} void SettingsCache::setVisualDeckStorageCardSize(int /* _visualDeckStorageCardSize */) { } diff --git a/tests/carddatabase/mocks.cpp b/tests/carddatabase/mocks.cpp index fbb62a0de..4ff6c1c58 100644 --- a/tests/carddatabase/mocks.cpp +++ b/tests/carddatabase/mocks.cpp @@ -221,6 +221,9 @@ void SettingsCache::setVisualDeckStorageShowFolders(QT_STATE_CHANGED_T /* value void SettingsCache::setVisualDeckStorageShowTags(QT_STATE_CHANGED_T /* _showTags */) { } +void SettingsCache::setVisualDeckStorageShowCardSizeSlider(QT_STATE_CHANGED_T /* _showCardSizeSlider */) +{ +} void SettingsCache::setVisualDeckStorageCardSize(int /* _visualDeckStorageCardSize */) { }