Refactor settings to be managed by singletons

This commit is contained in:
Dan Paulat 2023-10-05 21:55:43 -05:00
parent acc782b2bc
commit b66ca2cb09
21 changed files with 138 additions and 133 deletions

View file

@ -1,10 +1,10 @@
#include "alert_dock_widget.hpp"
#include "ui_alert_dock_widget.h"
#include <scwx/qt/manager/settings_manager.hpp>
#include <scwx/qt/manager/text_event_manager.hpp>
#include <scwx/qt/model/alert_model.hpp>
#include <scwx/qt/model/alert_proxy_model.hpp>
#include <scwx/qt/settings/general_settings.hpp>
#include <scwx/qt/types/alert_types.hpp>
#include <scwx/qt/types/qt_types.hpp>
#include <scwx/qt/ui/alert_dialog.hpp>
@ -175,10 +175,10 @@ void AlertDockWidgetImpl::ConnectSignals()
// If an item is selected
if (selectedAlertKey_ != types::TextEventKey {})
{
types::AlertAction alertAction = types::GetAlertAction(
manager::SettingsManager::general_settings()
.default_alert_action()
.GetValue());
types::AlertAction alertAction =
types::GetAlertAction(settings::GeneralSettings::Instance()
.default_alert_action()
.GetValue());
switch (alertAction)
{

View file

@ -1,7 +1,7 @@
#include "animation_dock_widget.hpp"
#include "ui_animation_dock_widget.h"
#include <scwx/qt/manager/settings_manager.hpp>
#include <scwx/qt/settings/general_settings.hpp>
#include <scwx/qt/util/time.hpp>
#include <scwx/util/logger.hpp>
@ -101,7 +101,7 @@ AnimationDockWidget::AnimationDockWidget(QWidget* parent) :
maxDateTimer->start(15000);
// Set loop defaults
auto& generalSettings = manager::SettingsManager::general_settings();
auto& generalSettings = settings::GeneralSettings::Instance();
ui->loopTimeSpinBox->setValue(generalSettings.loop_time().GetValue());
ui->loopSpeedSpinBox->setValue(generalSettings.loop_speed().GetValue());
ui->loopDelaySpinBox->setValue(generalSettings.loop_delay().GetValue() *
@ -175,7 +175,7 @@ void AnimationDockWidgetImpl::ConnectSignals()
self_,
[this](int i)
{
manager::SettingsManager::general_settings().loop_time().StageValue(i);
settings::GeneralSettings::Instance().loop_time().StageValue(i);
Q_EMIT self_->LoopTimeChanged(std::chrono::minutes(i));
});
QObject::connect(
@ -184,8 +184,7 @@ void AnimationDockWidgetImpl::ConnectSignals()
self_,
[this](double d)
{
manager::SettingsManager::general_settings().loop_speed().StageValue(
d);
settings::GeneralSettings::Instance().loop_speed().StageValue(d);
Q_EMIT self_->LoopSpeedChanged(d);
});
QObject::connect(
@ -194,7 +193,7 @@ void AnimationDockWidgetImpl::ConnectSignals()
self_,
[this](double d)
{
manager::SettingsManager::general_settings().loop_delay().StageValue(
settings::GeneralSettings::Instance().loop_delay().StageValue(
static_cast<std::int64_t>(d * 1000.0));
Q_EMIT self_->LoopDelayChanged(std::chrono::milliseconds(
static_cast<typename std::chrono::milliseconds::rep>(d * 1000.0)));

View file

@ -6,6 +6,8 @@
#include <scwx/qt/config/radar_site.hpp>
#include <scwx/qt/manager/settings_manager.hpp>
#include <scwx/qt/map/map_provider.hpp>
#include <scwx/qt/settings/general_settings.hpp>
#include <scwx/qt/settings/palette_settings.hpp>
#include <scwx/qt/settings/settings_interface.hpp>
#include <scwx/qt/settings/text_settings.hpp>
#include <scwx/qt/types/alert_types.hpp>
@ -104,7 +106,7 @@ public:
&tooltipMethod_}}
{
// Configure default alert phenomena colors
auto& paletteSettings = manager::SettingsManager::palette_settings();
auto& paletteSettings = settings::PaletteSettings::Instance();
int index = 0;
for (auto& phenomenon : settings::PaletteSettings::alert_phenomena())
@ -384,7 +386,7 @@ void SettingsDialogImpl::SetupGeneralTab()
}
settings::GeneralSettings& generalSettings =
manager::SettingsManager::general_settings();
settings::GeneralSettings::Instance();
defaultRadarSite_.SetSettingsVariable(generalSettings.default_radar_site());
defaultRadarSite_.SetMapFromValueFunction(
@ -525,7 +527,7 @@ void SettingsDialogImpl::SetupGeneralTab()
void SettingsDialogImpl::SetupPalettesColorTablesTab()
{
settings::PaletteSettings& paletteSettings =
manager::SettingsManager::palette_settings();
settings::PaletteSettings::Instance();
// Palettes > Color Tables
QGridLayout* colorTableLayout =
@ -617,7 +619,7 @@ void SettingsDialogImpl::SetupPalettesColorTablesTab()
void SettingsDialogImpl::SetupPalettesAlertsTab()
{
settings::PaletteSettings& paletteSettings =
manager::SettingsManager::palette_settings();
settings::PaletteSettings::Instance();
// Palettes > Alerts
QGridLayout* alertsLayout =