diff --git a/scwx-qt/source/scwx/qt/map/map_widget.cpp b/scwx-qt/source/scwx/qt/map/map_widget.cpp index a54c1a5e..1df8f2ff 100644 --- a/scwx-qt/source/scwx/qt/map/map_widget.cpp +++ b/scwx-qt/source/scwx/qt/map/map_widget.cpp @@ -201,9 +201,12 @@ public slots: MapWidget::MapWidget(const QMapLibreGL::Settings& settings) : p(std::make_unique(this, settings)) { - QSurfaceFormat surfaceFormat = QSurfaceFormat::defaultFormat(); - surfaceFormat.setSamples(4); - setFormat(surfaceFormat); + if (settings::GeneralSettings::Instance().anti_aliasing_enabled().GetValue()) + { + QSurfaceFormat surfaceFormat = QSurfaceFormat::defaultFormat(); + surfaceFormat.setSamples(4); + setFormat(surfaceFormat); + } setFocusPolicy(Qt::StrongFocus); diff --git a/scwx-qt/source/scwx/qt/settings/general_settings.cpp b/scwx-qt/source/scwx/qt/settings/general_settings.cpp index bd94acef..997d4e06 100644 --- a/scwx-qt/source/scwx/qt/settings/general_settings.cpp +++ b/scwx-qt/source/scwx/qt/settings/general_settings.cpp @@ -29,6 +29,7 @@ public: boost::to_lower(defaultDefaultAlertActionValue); boost::to_lower(defaultMapProviderValue); + antiAliasingEnabled_.SetDefault(true); debugEnabled_.SetDefault(false); defaultAlertAction_.SetDefault(defaultDefaultAlertActionValue); defaultRadarSite_.SetDefault("KLSX"); @@ -104,6 +105,7 @@ public: ~Impl() {} + SettingsVariable antiAliasingEnabled_ {"anti_aliasing_enabled"}; SettingsVariable debugEnabled_ {"debug_enabled"}; SettingsVariable defaultAlertAction_ {"default_alert_action"}; SettingsVariable defaultRadarSite_ {"default_radar_site"}; @@ -122,7 +124,8 @@ public: GeneralSettings::GeneralSettings() : SettingsCategory("general"), p(std::make_unique()) { - RegisterVariables({&p->debugEnabled_, + RegisterVariables({&p->antiAliasingEnabled_, + &p->debugEnabled_, &p->defaultAlertAction_, &p->defaultRadarSite_, &p->fontSizes_, @@ -143,6 +146,11 @@ GeneralSettings::GeneralSettings(GeneralSettings&&) noexcept = default; GeneralSettings& GeneralSettings::operator=(GeneralSettings&&) noexcept = default; +SettingsVariable& GeneralSettings::anti_aliasing_enabled() const +{ + return p->antiAliasingEnabled_; +} + SettingsVariable& GeneralSettings::debug_enabled() const { return p->debugEnabled_; @@ -229,7 +237,8 @@ GeneralSettings& GeneralSettings::Instance() bool operator==(const GeneralSettings& lhs, const GeneralSettings& rhs) { - return (lhs.p->debugEnabled_ == rhs.p->debugEnabled_ && + return (lhs.p->antiAliasingEnabled_ == rhs.p->antiAliasingEnabled_ && + lhs.p->debugEnabled_ == rhs.p->debugEnabled_ && lhs.p->defaultAlertAction_ == rhs.p->defaultAlertAction_ && lhs.p->defaultRadarSite_ == rhs.p->defaultRadarSite_ && lhs.p->fontSizes_ == rhs.p->fontSizes_ && diff --git a/scwx-qt/source/scwx/qt/settings/general_settings.hpp b/scwx-qt/source/scwx/qt/settings/general_settings.hpp index ba58676f..57045ac6 100644 --- a/scwx-qt/source/scwx/qt/settings/general_settings.hpp +++ b/scwx-qt/source/scwx/qt/settings/general_settings.hpp @@ -25,6 +25,7 @@ public: GeneralSettings(GeneralSettings&&) noexcept; GeneralSettings& operator=(GeneralSettings&&) noexcept; + SettingsVariable& anti_aliasing_enabled() const; SettingsVariable& debug_enabled() const; SettingsVariable& default_alert_action() const; SettingsVariable& default_radar_site() const; diff --git a/scwx-qt/source/scwx/qt/ui/settings_dialog.cpp b/scwx-qt/source/scwx/qt/ui/settings_dialog.cpp index 328f805a..d1ef35ff 100644 --- a/scwx-qt/source/scwx/qt/ui/settings_dialog.cpp +++ b/scwx-qt/source/scwx/qt/ui/settings_dialog.cpp @@ -99,6 +99,7 @@ public: &mapboxApiKey_, &mapTilerApiKey_, &defaultAlertAction_, + &antiAliasingEnabled_, &updateNotificationsEnabled_, &debugEnabled_, &hoverTextWrap_, @@ -176,6 +177,7 @@ public: settings::SettingsInterface mapboxApiKey_ {}; settings::SettingsInterface mapTilerApiKey_ {}; settings::SettingsInterface defaultAlertAction_ {}; + settings::SettingsInterface antiAliasingEnabled_ {}; settings::SettingsInterface updateNotificationsEnabled_ {}; settings::SettingsInterface debugEnabled_ {}; @@ -511,6 +513,10 @@ void SettingsDialogImpl::SetupGeneralTab() defaultAlertAction_.SetEditWidget(self_->ui->defaultAlertActionComboBox); defaultAlertAction_.SetResetButton(self_->ui->resetDefaultAlertActionButton); + antiAliasingEnabled_.SetSettingsVariable( + generalSettings.anti_aliasing_enabled()); + antiAliasingEnabled_.SetEditWidget(self_->ui->antiAliasingEnabledCheckBox); + updateNotificationsEnabled_.SetSettingsVariable( generalSettings.update_notifications_enabled()); updateNotificationsEnabled_.SetEditWidget( diff --git a/scwx-qt/source/scwx/qt/ui/settings_dialog.ui b/scwx-qt/source/scwx/qt/ui/settings_dialog.ui index 8b0d2179..248a75fa 100644 --- a/scwx-qt/source/scwx/qt/ui/settings_dialog.ui +++ b/scwx-qt/source/scwx/qt/ui/settings_dialog.ui @@ -292,6 +292,13 @@ + + + + Anti-Aliasing Enabled + + + diff --git a/test/data b/test/data index 58d61ba3..fc428fa1 160000 --- a/test/data +++ b/test/data @@ -1 +1 @@ -Subproject commit 58d61ba37385c699df1eca547668ec3c2a93871e +Subproject commit fc428fa1460b3d5ce04646727e379e2f4f90f5ec