add settings

This commit is contained in:
RickyRister 2026-07-27 01:34:55 -07:00
parent e9eab328a4
commit b55b106735
5 changed files with 32 additions and 0 deletions

View file

@ -18,12 +18,17 @@ ReplayQuickSettingsWidget::ReplayQuickSettingsWidget(QWidget *parent) : Settings
connect(&fastForwardSpeedBox, qOverload<double>(&QDoubleSpinBox::valueChanged), this, connect(&fastForwardSpeedBox, qOverload<double>(&QDoubleSpinBox::valueChanged), this,
&ReplayQuickSettingsWidget::actUpdateFastForwardSpeed); &ReplayQuickSettingsWidget::actUpdateFastForwardSpeed);
skipEmptyCheckBox.setChecked(SettingsCache::instance().interface().getSkipEmptySections());
connect(&skipEmptyCheckBox, &QCheckBox::QT_STATE_CHANGED, this,
&ReplayQuickSettingsWidget::actUpdateSkipEmptySections);
// putting it all together // putting it all together
auto *widget = new QWidget; auto *widget = new QWidget;
auto *grid = new QGridLayout(widget); auto *grid = new QGridLayout(widget);
grid->setContentsMargins(0, 0, 0, 0); grid->setContentsMargins(0, 0, 0, 0);
grid->addWidget(&fastForwardSpeedLabel, 0, 0, 1, 1); grid->addWidget(&fastForwardSpeedLabel, 0, 0, 1, 1);
grid->addWidget(&fastForwardSpeedBox, 0, 1, 1, 1); grid->addWidget(&fastForwardSpeedBox, 0, 1, 1, 1);
grid->addWidget(&skipEmptyCheckBox, 1, 0, 1, 2);
this->addSettingsWidget(widget); this->addSettingsWidget(widget);
@ -36,6 +41,8 @@ void ReplayQuickSettingsWidget::retranslateUi()
{ {
fastForwardSpeedLabel.setText(tr("Fast forward speed:")); fastForwardSpeedLabel.setText(tr("Fast forward speed:"));
fastForwardSpeedBox.setSuffix("x"); fastForwardSpeedBox.setSuffix("x");
skipEmptyCheckBox.setText(tr("Skip empty sections"));
} }
void ReplayQuickSettingsWidget::actUpdateFastForwardSpeed(qreal value) void ReplayQuickSettingsWidget::actUpdateFastForwardSpeed(qreal value)
@ -43,3 +50,9 @@ void ReplayQuickSettingsWidget::actUpdateFastForwardSpeed(qreal value)
SettingsCache::instance().userInterface().setFastForwardSpeed(value); SettingsCache::instance().userInterface().setFastForwardSpeed(value);
emit fastForwardSpeedChanged(value); emit fastForwardSpeedChanged(value);
} }
void ReplayQuickSettingsWidget::actUpdateSkipEmptySections(QT_STATE_CHANGED_T value)
{
SettingsCache::instance().interface().setSkipEmptySections(value);
emit skipEmptySectionsChanged(value);
}

View file

@ -3,7 +3,9 @@
#include "../../interface/widgets/quick_settings/settings_button_widget.h" #include "../../interface/widgets/quick_settings/settings_button_widget.h"
#include <QCheckBox>
#include <QDoubleSpinBox> #include <QDoubleSpinBox>
#include <libcockatrice/utility/macros.h>
class ReplayQuickSettingsWidget : public SettingsButtonWidget class ReplayQuickSettingsWidget : public SettingsButtonWidget
{ {
@ -16,13 +18,17 @@ public:
signals: signals:
void fastForwardSpeedChanged(qreal speed); void fastForwardSpeedChanged(qreal speed);
void skipEmptySectionsChanged(bool skip);
private: private:
QLabel fastForwardSpeedLabel; QLabel fastForwardSpeedLabel;
QDoubleSpinBox fastForwardSpeedBox; QDoubleSpinBox fastForwardSpeedBox;
QCheckBox skipEmptyCheckBox;
private slots: private slots:
void actUpdateFastForwardSpeed(qreal value); void actUpdateFastForwardSpeed(qreal value);
void actUpdateSkipEmptySections(QT_STATE_CHANGED_T value);
}; };
#endif // COCKATRICE_REPLAY_QUICK_SETTINGS_WIDGET_H #endif // COCKATRICE_REPLAY_QUICK_SETTINGS_WIDGET_H

View file

@ -31,6 +31,7 @@ public:
[[nodiscard]] virtual int getMinPlayersForMultiColumnLayout() const = 0; [[nodiscard]] virtual int getMinPlayersForMultiColumnLayout() const = 0;
[[nodiscard]] virtual int getRewindBufferingMs() const = 0; [[nodiscard]] virtual int getRewindBufferingMs() const = 0;
[[nodiscard]] virtual qreal getFastForwardSpeed() const = 0; [[nodiscard]] virtual qreal getFastForwardSpeed() const = 0;
[[nodiscard]] virtual bool getSkipEmptySections() const = 0;
[[nodiscard]] virtual bool getLeftJustified() const = 0; [[nodiscard]] virtual bool getLeftJustified() const = 0;
[[nodiscard]] virtual int getZoneViewGroupByIndex() const = 0; [[nodiscard]] virtual int getZoneViewGroupByIndex() const = 0;
[[nodiscard]] virtual int getZoneViewSortByIndex() const = 0; [[nodiscard]] virtual int getZoneViewSortByIndex() const = 0;

View file

@ -120,6 +120,11 @@ qreal InterfaceSettings::getFastForwardSpeed() const
return getValue("fastForwardSpeed", "replay", QString(), 10).toReal(); return getValue("fastForwardSpeed", "replay", QString(), 10).toReal();
} }
bool InterfaceSettings::getSkipEmptySections() const
{
return getValue("skipEmptySections", "replay", QString(), false).toBool();
}
bool InterfaceSettings::getLeftJustified() const bool InterfaceSettings::getLeftJustified() const
{ {
return getValue("leftJustified", QString(), QString(), false).toBool(); return getValue("leftJustified", QString(), QString(), false).toBool();
@ -279,6 +284,11 @@ void InterfaceSettings::setFastForwardSpeed(qreal _value)
setValue(_value, "fastForwardSpeed", "replay"); setValue(_value, "fastForwardSpeed", "replay");
} }
void InterfaceSettings::setSkipEmptySections(bool _value)
{
setValue(_value, "skipEmptySections", "replay");
}
void InterfaceSettings::setLeftJustified(bool _leftJustified) void InterfaceSettings::setLeftJustified(bool _leftJustified)
{ {
setValue(_leftJustified, "leftJustified"); setValue(_leftJustified, "leftJustified");

View file

@ -34,6 +34,7 @@ public:
[[nodiscard]] int getMinPlayersForMultiColumnLayout() const override; [[nodiscard]] int getMinPlayersForMultiColumnLayout() const override;
[[nodiscard]] int getRewindBufferingMs() const override; [[nodiscard]] int getRewindBufferingMs() const override;
[[nodiscard]] qreal getFastForwardSpeed() const override; [[nodiscard]] qreal getFastForwardSpeed() const override;
[[nodiscard]] bool getSkipEmptySections() const override;
[[nodiscard]] bool getLeftJustified() const override; [[nodiscard]] bool getLeftJustified() const override;
[[nodiscard]] int getZoneViewGroupByIndex() const override; [[nodiscard]] int getZoneViewGroupByIndex() const override;
[[nodiscard]] int getZoneViewSortByIndex() const override; [[nodiscard]] int getZoneViewSortByIndex() const override;
@ -65,6 +66,7 @@ public:
void setMinPlayersForMultiColumnLayout(int _minPlayersForMultiColumnLayout); void setMinPlayersForMultiColumnLayout(int _minPlayersForMultiColumnLayout);
void setRewindBufferingMs(int _rewindBufferingMs); void setRewindBufferingMs(int _rewindBufferingMs);
void setFastForwardSpeed(qreal _value); void setFastForwardSpeed(qreal _value);
void setSkipEmptySections(bool _value);
void setLeftJustified(bool _leftJustified); void setLeftJustified(bool _leftJustified);
void setZoneViewGroupByIndex(int _zoneViewGroupByIndex); void setZoneViewGroupByIndex(int _zoneViewGroupByIndex);
void setZoneViewSortByIndex(int _zoneViewSortByIndex); void setZoneViewSortByIndex(int _zoneViewSortByIndex);