diff --git a/data/ui/options_dialog.ui b/data/ui/options_dialog.ui index 99b60a4f0..dbb61713d 100644 --- a/data/ui/options_dialog.ui +++ b/data/ui/options_dialog.ui @@ -102,7 +102,7 @@ - + 1 diff --git a/src/options.cpp b/src/options.cpp index caa559c80..a4035f1da 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.2) { value = 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 58b02253b..dfa7c2c3d 100644 --- a/src/options.h +++ b/src/options.h @@ -30,8 +30,8 @@ class Options 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 67f9c1cab..81d5eb70a 100644 --- a/src/widgets/aooptionsdialog.cpp +++ b/src/widgets/aooptionsdialog.cpp @@ -10,6 +10,7 @@ #include #include +#include #include #include #include @@ -97,6 +98,18 @@ int AOOptionsDialog::widgetData(QSpinBox *widget) const return widget->value(); } +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) { @@ -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("theme_scaling_factor_sb", &Options::themeScalingFactor, &Options::setThemeScalingFactor); + registerOption("theme_scaling_factor_sb", &Options::themeScalingFactor, &Options::setThemeScalingFactor); registerOption("animated_theme_cb", &Options::animatedThemeEnabled, &Options::setAnimatedThemeEnabled); registerOption("stay_time_spinbox", &Options::textStayTime, &Options::setTextStayTime); registerOption("instant_objection_cb", &Options::objectionSkipQueueEnabled, &Options::setObjectionSkipQueueEnabled); diff --git a/src/widgets/aooptionsdialog.h b/src/widgets/aooptionsdialog.h index 4409c9eff..b89607dcb 100644 --- a/src/widgets/aooptionsdialog.h +++ b/src/widgets/aooptionsdialog.h @@ -43,7 +43,7 @@ class AOOptionsDialog : public QDialog 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;