Persist card size slider selection in SettingsCache.

This commit is contained in:
Lukas Brübach 2024-12-16 02:01:17 +01:00 committed by ZeldaZach
parent 2d59540f15
commit 61b33aa808
No known key found for this signature in database
7 changed files with 36 additions and 4 deletions

View file

@ -1,6 +1,8 @@
#include "card_size_widget.h"
CardSizeWidget::CardSizeWidget(QWidget *parent, FlowWidget *flowWidget) : parent(parent), flowWidget(flowWidget)
#include "../../../../settings/cache_settings.h"
CardSizeWidget::CardSizeWidget(QWidget *parent, FlowWidget *flowWidget, int defaultValue) : parent(parent), flowWidget(flowWidget)
{
cardSizeLayout = new QHBoxLayout(this);
setLayout(cardSizeLayout);
@ -9,7 +11,7 @@ CardSizeWidget::CardSizeWidget(QWidget *parent, FlowWidget *flowWidget) : parent
cardSizeLabel->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
cardSizeSlider = new QSlider(Qt::Horizontal, this);
cardSizeSlider->setRange(50, 250);
cardSizeSlider->setValue(100);
cardSizeSlider->setValue(defaultValue);
cardSizeLayout->addWidget(cardSizeLabel);
cardSizeLayout->addWidget(cardSizeSlider);
@ -17,6 +19,13 @@ CardSizeWidget::CardSizeWidget(QWidget *parent, FlowWidget *flowWidget) : parent
if (flowWidget != nullptr) {
connect(cardSizeSlider, &QSlider::valueChanged, flowWidget, &FlowWidget::setMinimumSizeToMaxSizeHint);
}
connect(cardSizeSlider, &QSlider::valueChanged, this, &CardSizeWidget::updateCardSizeSetting);
}
void CardSizeWidget::updateCardSizeSetting(int newValue)
{
SettingsCache::instance().setPrintingSelectorCardSize(newValue);
}
QSlider *CardSizeWidget::getSlider() const

View file

@ -13,8 +13,10 @@ class CardSizeWidget : public QWidget
Q_OBJECT
public:
explicit CardSizeWidget(QWidget *parent, FlowWidget *flowWidget = nullptr);
explicit CardSizeWidget(QWidget *parent, FlowWidget *flowWidget = nullptr, int defaultValue = 100);
QSlider *getSlider() const;
public slots:
void updateCardSizeSetting(int newValue);
private:
QWidget *parent;

View file

@ -33,7 +33,7 @@ PrintingSelector::PrintingSelector(QWidget *parent,
flowWidget = new FlowWidget(this, Qt::ScrollBarAlwaysOff, Qt::ScrollBarAsNeeded);
layout->addWidget(flowWidget);
cardSizeWidget = new CardSizeWidget(this);
cardSizeWidget = new CardSizeWidget(this, flowWidget, SettingsCache::instance().getPrintingSelectorCardSize());
layout->addWidget(cardSizeWidget);
cardSelectionBar = new PrintingSelectorCardSelectionWidget(this);

View file

@ -246,6 +246,7 @@ SettingsCache::SettingsCache()
settings->value("cards/overrideallcardartwithpersonalpreference", false).toBool();
bumpSetsWithCardsInDeckToTop = settings->value("cards/bumpsetswithcardsindecktotop", true).toBool();
printingSelectorSortOrder = settings->value("cards/printingselectorsortorder", 1).toInt();
printingSelectorCardSize = settings->value("cards/printingselectorcardsize", 100).toInt();
horizontalHand = settings->value("hand/horizontal", true).toBool();
invertVerticalCoordinate = settings->value("table/invert_vertical", false).toBool();
minPlayersForMultiColumnLayout = settings->value("interface/min_players_multicolumn", 4).toInt();
@ -552,6 +553,13 @@ void SettingsCache::setPrintingSelectorSortOrder(int _printingSelectorSortOrder)
emit printingSelectorSortOrderChanged();
}
void SettingsCache::setPrintingSelectorCardSize(int _printingSelectorCardSize)
{
printingSelectorCardSize = _printingSelectorCardSize;
settings->setValue("cards/printingselectorcardsize", printingSelectorCardSize);
emit printingSelectorCardSizeChanged();
}
void SettingsCache::setHorizontalHand(QT_STATE_CHANGED_T _horizontalHand)
{
horizontalHand = static_cast<bool>(_horizontalHand);

View file

@ -51,6 +51,7 @@ signals:
void overrideAllCardArtWithPersonalPreferenceChanged();
void bumpSetsWithCardsInDeckToTopChanged();
void printingSelectorSortOrderChanged();
void printingSelectorCardSizeChanged();
void horizontalHandChanged();
void handJustificationChanged();
void invertVerticalCoordinateChanged();
@ -105,6 +106,7 @@ private:
bool overrideAllCardArtWithPersonalPreference;
bool bumpSetsWithCardsInDeckToTop;
int printingSelectorSortOrder;
int printingSelectorCardSize;
bool horizontalHand;
bool invertVerticalCoordinate;
int minPlayersForMultiColumnLayout;
@ -317,6 +319,10 @@ public:
{
return printingSelectorSortOrder;
}
int getPrintingSelectorCardSize() const
{
return printingSelectorCardSize;
}
bool getHorizontalHand() const
{
return horizontalHand;
@ -599,6 +605,7 @@ public slots:
void setOverrideAllCardArtWithPersonalPreference(QT_STATE_CHANGED_T _overrideAllCardArt);
void setBumpSetsWithCardsInDeckToTop(QT_STATE_CHANGED_T _bumpSetsWithCardsInDeckToTop);
void setPrintingSelectorSortOrder(int _printingSelectorSortOrder);
void setPrintingSelectorCardSize(int _printingSelectorCardSize);
void setHorizontalHand(QT_STATE_CHANGED_T _horizontalHand);
void setInvertVerticalCoordinate(QT_STATE_CHANGED_T _invertVerticalCoordinate);
void setMinPlayersForMultiColumnLayout(int _minPlayersForMultiColumnLayout);

View file

@ -166,6 +166,9 @@ void SettingsCache::setBumpSetsWithCardsInDeckToTop(QT_STATE_CHANGED_T /* _bumpS
void SettingsCache::setPrintingSelectorSortOrder(int /* _printingSelectorSortOrder */)
{
}
void SettingsCache::setPrintingSelectorCardSize(int /* _printingSelectorCardSize */)
{
}
void SettingsCache::setHorizontalHand(QT_STATE_CHANGED_T /* _horizontalHand */)
{
}

View file

@ -170,6 +170,9 @@ void SettingsCache::setBumpSetsWithCardsInDeckToTop(QT_STATE_CHANGED_T /* _bumpS
void SettingsCache::setPrintingSelectorSortOrder(int /* _printingSelectorSortOrder */)
{
}
void SettingsCache::setPrintingSelectorCardSize(int /* _printingSelectorCardSize */)
{
}
void SettingsCache::setHorizontalHand(QT_STATE_CHANGED_T /* _horizontalHand */)
{
}