diff options
| author | stonedDiscord <Tukz@gmx.de> | 2026-02-06 16:09:21 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-02-06 16:09:21 +0100 |
| commit | 1176bb5fece1e1b2c8c0c1113cfbfe33efb2a673 (patch) | |
| tree | 3047fb118b84c213d519a8f0cba1414b1e62e60d | |
| parent | 5dea0406c73704ebf30cf0b8aac671f698e89959 (diff) | |
Double scaling factor (#1104)
* float scaling
* float scaling factor
* aooptions float
* doublespinbox
* header file double
* double it up
* clamp to 0.1
| -rw-r--r-- | data/ui/options_dialog.ui | 2 | ||||
| -rw-r--r-- | src/options.cpp | 10 | ||||
| -rw-r--r-- | src/options.h | 4 | ||||
| -rw-r--r-- | src/widgets/aooptionsdialog.cpp | 17 | ||||
| -rw-r--r-- | src/widgets/aooptionsdialog.h | 2 |
5 files changed, 24 insertions, 11 deletions
diff --git a/data/ui/options_dialog.ui b/data/ui/options_dialog.ui index 99b60a4f..dbb61713 100644 --- a/data/ui/options_dialog.ui +++ b/data/ui/options_dialog.ui @@ -102,7 +102,7 @@ </widget> </item> <item row="4" column="1"> - <widget class="QSpinBox" name="theme_scaling_factor_sb"> + <widget class="QDoubleSpinBox" name="theme_scaling_factor_sb"> <property name="minimum"> <number>1</number> </property> diff --git a/src/options.cpp b/src/options.cpp index 0827399a..818ad852 100644 --- a/src/options.cpp +++ b/src/options.cpp @@ -92,17 +92,17 @@ void Options::setTheme(QString value) config.setValue("theme", value); } -int Options::themeScalingFactor() const +double Options::themeScalingFactor() const { - int value = config.value("theme_scaling_factor", "1").toInt(); - if (value <= 0) + double value = config.value("theme_scaling_factor", "1").toDouble(); + if (value < 0.1) { - value = 1; + value = 0.1; } return value; } -void Options::setThemeScalingFactor(int value) +void Options::setThemeScalingFactor(double value) { config.setValue("theme_scaling_factor", value); } diff --git a/src/options.h b/src/options.h index 58b02253..dfa7c2c3 100644 --- a/src/options.h +++ b/src/options.h @@ -30,8 +30,8 @@ public: QString theme() const; void setTheme(QString value); - int themeScalingFactor() const; - void setThemeScalingFactor(int value); + double themeScalingFactor() const; + void setThemeScalingFactor(double value); // Returns the blip rate from config.ini (once per X symbols) int blipRate() const; diff --git a/src/widgets/aooptionsdialog.cpp b/src/widgets/aooptionsdialog.cpp index 67f9c1ca..81d5eb70 100644 --- a/src/widgets/aooptionsdialog.cpp +++ b/src/widgets/aooptionsdialog.cpp @@ -10,6 +10,7 @@ #include <bass.h> #include <QCollator> +#include <QDoubleSpinBox> #include <QGroupBox> #include <QResource> #include <QUiLoader> @@ -98,6 +99,18 @@ int AOOptionsDialog::widgetData(QSpinBox *widget) const } template <> +void AOOptionsDialog::setWidgetData(QDoubleSpinBox *widget, const double &value) +{ + widget->setValue(value); +} + +template <> +double AOOptionsDialog::widgetData(QDoubleSpinBox *widget) const +{ + return widget->value(); +} + +template <> void AOOptionsDialog::setWidgetData(QComboBox *widget, const QString &value) { for (auto i = 0; i < widget->count(); i++) @@ -344,7 +357,7 @@ void AOOptionsDialog::setupUI() QDesktopServices::openUrl(QUrl::fromLocalFile(p_path)); }); - FROM_UI(QSpinBox, theme_scaling_factor_sb); + FROM_UI(QDoubleSpinBox, theme_scaling_factor_sb); FROM_UI(QCheckBox, animated_theme_cb); FROM_UI(QSpinBox, stay_time_spinbox); FROM_UI(QCheckBox, instant_objection_cb); @@ -374,7 +387,7 @@ void AOOptionsDialog::setupUI() FROM_UI(QCheckBox, restoreposition_cb); FROM_UI(QLineEdit, playerlist_format_edit); - registerOption<QSpinBox, int>("theme_scaling_factor_sb", &Options::themeScalingFactor, &Options::setThemeScalingFactor); + registerOption<QDoubleSpinBox, double>("theme_scaling_factor_sb", &Options::themeScalingFactor, &Options::setThemeScalingFactor); registerOption<QCheckBox, bool>("animated_theme_cb", &Options::animatedThemeEnabled, &Options::setAnimatedThemeEnabled); registerOption<QSpinBox, int>("stay_time_spinbox", &Options::textStayTime, &Options::setTextStayTime); registerOption<QCheckBox, bool>("instant_objection_cb", &Options::objectionSkipQueueEnabled, &Options::setObjectionSkipQueueEnabled); diff --git a/src/widgets/aooptionsdialog.h b/src/widgets/aooptionsdialog.h index 4409c9ef..b89607dc 100644 --- a/src/widgets/aooptionsdialog.h +++ b/src/widgets/aooptionsdialog.h @@ -43,7 +43,7 @@ private: QWidget *ui_settings_widget; QComboBox *ui_theme_combobox; QComboBox *ui_subtheme_combobox; - QSpinBox *ui_theme_scaling_factor_sb; + QDoubleSpinBox *ui_theme_scaling_factor_sb; QPushButton *ui_theme_reload_button; QPushButton *ui_theme_folder_button; QCheckBox *ui_evidence_double_click_cb; |
