mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 21:10:04 +00:00
Refactor settings to be managed by singletons
This commit is contained in:
parent
acc782b2bc
commit
b66ca2cb09
21 changed files with 138 additions and 133 deletions
|
|
@ -7,13 +7,14 @@
|
||||||
#include <scwx/qt/main/versions.hpp>
|
#include <scwx/qt/main/versions.hpp>
|
||||||
#include <scwx/qt/manager/placefile_manager.hpp>
|
#include <scwx/qt/manager/placefile_manager.hpp>
|
||||||
#include <scwx/qt/manager/radar_product_manager.hpp>
|
#include <scwx/qt/manager/radar_product_manager.hpp>
|
||||||
#include <scwx/qt/manager/settings_manager.hpp>
|
|
||||||
#include <scwx/qt/manager/text_event_manager.hpp>
|
#include <scwx/qt/manager/text_event_manager.hpp>
|
||||||
#include <scwx/qt/manager/timeline_manager.hpp>
|
#include <scwx/qt/manager/timeline_manager.hpp>
|
||||||
#include <scwx/qt/manager/update_manager.hpp>
|
#include <scwx/qt/manager/update_manager.hpp>
|
||||||
#include <scwx/qt/map/map_provider.hpp>
|
#include <scwx/qt/map/map_provider.hpp>
|
||||||
#include <scwx/qt/map/map_widget.hpp>
|
#include <scwx/qt/map/map_widget.hpp>
|
||||||
#include <scwx/qt/model/radar_product_model.hpp>
|
#include <scwx/qt/model/radar_product_model.hpp>
|
||||||
|
#include <scwx/qt/settings/general_settings.hpp>
|
||||||
|
#include <scwx/qt/settings/map_settings.hpp>
|
||||||
#include <scwx/qt/settings/ui_settings.hpp>
|
#include <scwx/qt/settings/ui_settings.hpp>
|
||||||
#include <scwx/qt/ui/about_dialog.hpp>
|
#include <scwx/qt/ui/about_dialog.hpp>
|
||||||
#include <scwx/qt/ui/alert_dock_widget.hpp>
|
#include <scwx/qt/ui/alert_dock_widget.hpp>
|
||||||
|
|
@ -89,10 +90,8 @@ public:
|
||||||
elevationButtonsChanged_ {false},
|
elevationButtonsChanged_ {false},
|
||||||
resizeElevationButtons_ {false}
|
resizeElevationButtons_ {false}
|
||||||
{
|
{
|
||||||
mapProvider_ =
|
mapProvider_ = map::GetMapProvider(
|
||||||
map::GetMapProvider(manager::SettingsManager::general_settings()
|
settings::GeneralSettings::Instance().map_provider().GetValue());
|
||||||
.map_provider()
|
|
||||||
.GetValue());
|
|
||||||
const map::MapProviderInfo& mapProviderInfo =
|
const map::MapProviderInfo& mapProviderInfo =
|
||||||
map::GetMapProviderInfo(mapProvider_);
|
map::GetMapProviderInfo(mapProvider_);
|
||||||
|
|
||||||
|
|
@ -230,7 +229,7 @@ MainWindow::MainWindow(QWidget* parent) :
|
||||||
ui->actionAlerts->setVisible(false);
|
ui->actionAlerts->setVisible(false);
|
||||||
|
|
||||||
ui->menuDebug->menuAction()->setVisible(
|
ui->menuDebug->menuAction()->setVisible(
|
||||||
manager::SettingsManager::general_settings().debug_enabled().GetValue());
|
settings::GeneralSettings::Instance().debug_enabled().GetValue());
|
||||||
|
|
||||||
// Configure Resource Explorer Dock
|
// Configure Resource Explorer Dock
|
||||||
ui->resourceExplorerDock->setVisible(false);
|
ui->resourceExplorerDock->setVisible(false);
|
||||||
|
|
@ -306,7 +305,7 @@ MainWindow::MainWindow(QWidget* parent) :
|
||||||
// Update Dialog
|
// Update Dialog
|
||||||
p->updateDialog_ = new ui::UpdateDialog(this);
|
p->updateDialog_ = new ui::UpdateDialog(this);
|
||||||
|
|
||||||
auto& mapSettings = manager::SettingsManager::map_settings();
|
auto& mapSettings = settings::MapSettings::Instance();
|
||||||
for (size_t i = 0; i < p->maps_.size(); i++)
|
for (size_t i = 0; i < p->maps_.size(); i++)
|
||||||
{
|
{
|
||||||
p->SelectRadarProduct(p->maps_.at(i),
|
p->SelectRadarProduct(p->maps_.at(i),
|
||||||
|
|
@ -582,7 +581,7 @@ void MainWindow::on_resourceTreeView_doubleClicked(const QModelIndex& index)
|
||||||
|
|
||||||
void MainWindowImpl::AsyncSetup()
|
void MainWindowImpl::AsyncSetup()
|
||||||
{
|
{
|
||||||
auto& generalSettings = manager::SettingsManager::general_settings();
|
auto& generalSettings = settings::GeneralSettings::Instance();
|
||||||
|
|
||||||
// Check for updates
|
// Check for updates
|
||||||
if (generalSettings.update_notifications_enabled().GetValue())
|
if (generalSettings.update_notifications_enabled().GetValue())
|
||||||
|
|
@ -595,7 +594,7 @@ void MainWindowImpl::AsyncSetup()
|
||||||
|
|
||||||
void MainWindowImpl::ConfigureMapLayout()
|
void MainWindowImpl::ConfigureMapLayout()
|
||||||
{
|
{
|
||||||
auto& generalSettings = manager::SettingsManager::general_settings();
|
auto& generalSettings = settings::GeneralSettings::Instance();
|
||||||
|
|
||||||
const int64_t gridWidth = generalSettings.grid_width().GetValue();
|
const int64_t gridWidth = generalSettings.grid_width().GetValue();
|
||||||
const int64_t gridHeight = generalSettings.grid_height().GetValue();
|
const int64_t gridHeight = generalSettings.grid_height().GetValue();
|
||||||
|
|
@ -646,7 +645,7 @@ void MainWindowImpl::ConfigureMapLayout()
|
||||||
void MainWindowImpl::ConfigureMapStyles()
|
void MainWindowImpl::ConfigureMapStyles()
|
||||||
{
|
{
|
||||||
const auto& mapProviderInfo = map::GetMapProviderInfo(mapProvider_);
|
const auto& mapProviderInfo = map::GetMapProviderInfo(mapProvider_);
|
||||||
auto& mapSettings = manager::SettingsManager::map_settings();
|
auto& mapSettings = settings::MapSettings::Instance();
|
||||||
|
|
||||||
for (std::size_t i = 0; i < maps_.size(); i++)
|
for (std::size_t i = 0; i < maps_.size(); i++)
|
||||||
{
|
{
|
||||||
|
|
@ -897,8 +896,7 @@ void MainWindowImpl::ConnectOtherSignals()
|
||||||
{
|
{
|
||||||
if (maps_[i] == activeMap_)
|
if (maps_[i] == activeMap_)
|
||||||
{
|
{
|
||||||
auto& mapSettings =
|
auto& mapSettings = settings::MapSettings::Instance();
|
||||||
manager::SettingsManager::map_settings();
|
|
||||||
mapSettings.map_style(i).StageValue(text.toStdString());
|
mapSettings.map_style(i).StageValue(text.toStdString());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -1075,7 +1073,7 @@ void MainWindowImpl::UpdateMapStyle(const std::string& styleName)
|
||||||
{
|
{
|
||||||
if (maps_[i] == activeMap_)
|
if (maps_[i] == activeMap_)
|
||||||
{
|
{
|
||||||
auto& mapSettings = manager::SettingsManager::map_settings();
|
auto& mapSettings = settings::MapSettings::Instance();
|
||||||
mapSettings.map_style(i).StageValue(styleName);
|
mapSettings.map_style(i).StageValue(styleName);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
#include <scwx/qt/manager/settings_manager.hpp>
|
#include <scwx/qt/manager/settings_manager.hpp>
|
||||||
#include <scwx/qt/map/map_provider.hpp>
|
#include <scwx/qt/map/map_provider.hpp>
|
||||||
|
#include <scwx/qt/settings/general_settings.hpp>
|
||||||
|
#include <scwx/qt/settings/map_settings.hpp>
|
||||||
|
#include <scwx/qt/settings/palette_settings.hpp>
|
||||||
#include <scwx/qt/settings/text_settings.hpp>
|
#include <scwx/qt/settings/text_settings.hpp>
|
||||||
#include <scwx/qt/settings/ui_settings.hpp>
|
#include <scwx/qt/settings/ui_settings.hpp>
|
||||||
#include <scwx/qt/util/json.hpp>
|
#include <scwx/qt/util/json.hpp>
|
||||||
|
|
@ -96,8 +99,8 @@ void Shutdown()
|
||||||
{
|
{
|
||||||
bool dataChanged = false;
|
bool dataChanged = false;
|
||||||
|
|
||||||
dataChanged |= general_settings().Shutdown();
|
dataChanged |= settings::GeneralSettings::Instance().Shutdown();
|
||||||
dataChanged |= map_settings().Shutdown();
|
dataChanged |= settings::MapSettings::Instance().Shutdown();
|
||||||
dataChanged |= settings::UiSettings::Instance().Shutdown();
|
dataChanged |= settings::UiSettings::Instance().Shutdown();
|
||||||
|
|
||||||
if (dataChanged)
|
if (dataChanged)
|
||||||
|
|
@ -106,31 +109,13 @@ void Shutdown()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
settings::GeneralSettings& general_settings()
|
|
||||||
{
|
|
||||||
static settings::GeneralSettings generalSettings_;
|
|
||||||
return generalSettings_;
|
|
||||||
}
|
|
||||||
|
|
||||||
settings::MapSettings& map_settings()
|
|
||||||
{
|
|
||||||
static settings::MapSettings mapSettings_;
|
|
||||||
return mapSettings_;
|
|
||||||
}
|
|
||||||
|
|
||||||
settings::PaletteSettings& palette_settings()
|
|
||||||
{
|
|
||||||
static settings::PaletteSettings paletteSettings_;
|
|
||||||
return paletteSettings_;
|
|
||||||
}
|
|
||||||
|
|
||||||
static boost::json::value ConvertSettingsToJson()
|
static boost::json::value ConvertSettingsToJson()
|
||||||
{
|
{
|
||||||
boost::json::object settingsJson;
|
boost::json::object settingsJson;
|
||||||
|
|
||||||
general_settings().WriteJson(settingsJson);
|
settings::GeneralSettings::Instance().WriteJson(settingsJson);
|
||||||
map_settings().WriteJson(settingsJson);
|
settings::MapSettings::Instance().WriteJson(settingsJson);
|
||||||
palette_settings().WriteJson(settingsJson);
|
settings::PaletteSettings::Instance().WriteJson(settingsJson);
|
||||||
settings::TextSettings::Instance().WriteJson(settingsJson);
|
settings::TextSettings::Instance().WriteJson(settingsJson);
|
||||||
settings::UiSettings::Instance().WriteJson(settingsJson);
|
settings::UiSettings::Instance().WriteJson(settingsJson);
|
||||||
|
|
||||||
|
|
@ -141,9 +126,9 @@ static void GenerateDefaultSettings()
|
||||||
{
|
{
|
||||||
logger_->info("Generating default settings");
|
logger_->info("Generating default settings");
|
||||||
|
|
||||||
general_settings().SetDefaults();
|
settings::GeneralSettings::Instance().SetDefaults();
|
||||||
map_settings().SetDefaults();
|
settings::MapSettings::Instance().SetDefaults();
|
||||||
palette_settings().SetDefaults();
|
settings::PaletteSettings::Instance().SetDefaults();
|
||||||
settings::TextSettings::Instance().SetDefaults();
|
settings::TextSettings::Instance().SetDefaults();
|
||||||
settings::UiSettings::Instance().SetDefaults();
|
settings::UiSettings::Instance().SetDefaults();
|
||||||
}
|
}
|
||||||
|
|
@ -154,9 +139,9 @@ static bool LoadSettings(const boost::json::object& settingsJson)
|
||||||
|
|
||||||
bool jsonDirty = false;
|
bool jsonDirty = false;
|
||||||
|
|
||||||
jsonDirty |= !general_settings().ReadJson(settingsJson);
|
jsonDirty |= !settings::GeneralSettings::Instance().ReadJson(settingsJson);
|
||||||
jsonDirty |= !map_settings().ReadJson(settingsJson);
|
jsonDirty |= !settings::MapSettings::Instance().ReadJson(settingsJson);
|
||||||
jsonDirty |= !palette_settings().ReadJson(settingsJson);
|
jsonDirty |= !settings::PaletteSettings::Instance().ReadJson(settingsJson);
|
||||||
jsonDirty |= !settings::TextSettings::Instance().ReadJson(settingsJson);
|
jsonDirty |= !settings::TextSettings::Instance().ReadJson(settingsJson);
|
||||||
jsonDirty |= !settings::UiSettings::Instance().ReadJson(settingsJson);
|
jsonDirty |= !settings::UiSettings::Instance().ReadJson(settingsJson);
|
||||||
|
|
||||||
|
|
@ -169,7 +154,7 @@ static void ValidateSettings()
|
||||||
|
|
||||||
bool settingsChanged = false;
|
bool settingsChanged = false;
|
||||||
|
|
||||||
auto& generalSettings = general_settings();
|
auto& generalSettings = settings::GeneralSettings::Instance();
|
||||||
|
|
||||||
// Validate map provider
|
// Validate map provider
|
||||||
std::string mapProviderName = generalSettings.map_provider().GetValue();
|
std::string mapProviderName = generalSettings.map_provider().GetValue();
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,6 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <scwx/qt/settings/general_settings.hpp>
|
#include <string>
|
||||||
#include <scwx/qt/settings/map_settings.hpp>
|
|
||||||
#include <scwx/qt/settings/palette_settings.hpp>
|
|
||||||
|
|
||||||
namespace scwx
|
namespace scwx
|
||||||
{
|
{
|
||||||
|
|
@ -18,10 +16,6 @@ void ReadSettings(const std::string& settingsPath);
|
||||||
void SaveSettings();
|
void SaveSettings();
|
||||||
void Shutdown();
|
void Shutdown();
|
||||||
|
|
||||||
settings::GeneralSettings& general_settings();
|
|
||||||
settings::MapSettings& map_settings();
|
|
||||||
settings::PaletteSettings& palette_settings();
|
|
||||||
|
|
||||||
} // namespace SettingsManager
|
} // namespace SettingsManager
|
||||||
} // namespace manager
|
} // namespace manager
|
||||||
} // namespace qt
|
} // namespace qt
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
#include <scwx/qt/manager/timeline_manager.hpp>
|
#include <scwx/qt/manager/timeline_manager.hpp>
|
||||||
#include <scwx/qt/manager/radar_product_manager.hpp>
|
#include <scwx/qt/manager/radar_product_manager.hpp>
|
||||||
#include <scwx/qt/manager/settings_manager.hpp>
|
#include <scwx/qt/settings/general_settings.hpp>
|
||||||
#include <scwx/util/logger.hpp>
|
#include <scwx/util/logger.hpp>
|
||||||
#include <scwx/util/map.hpp>
|
#include <scwx/util/map.hpp>
|
||||||
#include <scwx/util/time.hpp>
|
#include <scwx/util/time.hpp>
|
||||||
|
|
@ -39,7 +39,7 @@ class TimelineManager::Impl
|
||||||
public:
|
public:
|
||||||
explicit Impl(TimelineManager* self) : self_ {self}
|
explicit Impl(TimelineManager* self) : self_ {self}
|
||||||
{
|
{
|
||||||
auto& generalSettings = SettingsManager::general_settings();
|
auto& generalSettings = settings::GeneralSettings::Instance();
|
||||||
|
|
||||||
loopDelay_ =
|
loopDelay_ =
|
||||||
std::chrono::milliseconds(generalSettings.loop_delay().GetValue());
|
std::chrono::milliseconds(generalSettings.loop_delay().GetValue());
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
#include <scwx/qt/map/alert_layer.hpp>
|
#include <scwx/qt/map/alert_layer.hpp>
|
||||||
#include <scwx/qt/manager/settings_manager.hpp>
|
|
||||||
#include <scwx/qt/manager/text_event_manager.hpp>
|
#include <scwx/qt/manager/text_event_manager.hpp>
|
||||||
|
#include <scwx/qt/settings/palette_settings.hpp>
|
||||||
#include <scwx/qt/util/color.hpp>
|
#include <scwx/qt/util/color.hpp>
|
||||||
#include <scwx/util/logger.hpp>
|
#include <scwx/util/logger.hpp>
|
||||||
#include <scwx/util/threads.hpp>
|
#include <scwx/util/threads.hpp>
|
||||||
|
|
@ -394,7 +394,7 @@ static void AddAlertLayer(std::shared_ptr<QMapLibreGL::Map> map,
|
||||||
const QString& beforeLayer)
|
const QString& beforeLayer)
|
||||||
{
|
{
|
||||||
settings::PaletteSettings& paletteSettings =
|
settings::PaletteSettings& paletteSettings =
|
||||||
manager::SettingsManager::palette_settings();
|
settings::PaletteSettings::Instance();
|
||||||
|
|
||||||
QString sourceId = GetSourceId(phenomenon, alertActive);
|
QString sourceId = GetSourceId(phenomenon, alertActive);
|
||||||
QString idSuffix = GetSuffix(phenomenon, alertActive);
|
QString idSuffix = GetSuffix(phenomenon, alertActive);
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#include <scwx/qt/map/map_provider.hpp>
|
#include <scwx/qt/map/map_provider.hpp>
|
||||||
#include <scwx/qt/manager/settings_manager.hpp>
|
#include <scwx/qt/settings/general_settings.hpp>
|
||||||
|
|
||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
|
|
||||||
|
|
@ -128,12 +128,10 @@ std::string GetMapProviderApiKey(MapProvider mapProvider)
|
||||||
switch (mapProvider)
|
switch (mapProvider)
|
||||||
{
|
{
|
||||||
case MapProvider::Mapbox:
|
case MapProvider::Mapbox:
|
||||||
return manager::SettingsManager::general_settings()
|
return settings::GeneralSettings::Instance().mapbox_api_key().GetValue();
|
||||||
.mapbox_api_key()
|
|
||||||
.GetValue();
|
|
||||||
|
|
||||||
case MapProvider::MapTiler:
|
case MapProvider::MapTiler:
|
||||||
return manager::SettingsManager::general_settings()
|
return settings::GeneralSettings::Instance()
|
||||||
.maptiler_api_key()
|
.maptiler_api_key()
|
||||||
.GetValue();
|
.GetValue();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@
|
||||||
#include <scwx/qt/manager/font_manager.hpp>
|
#include <scwx/qt/manager/font_manager.hpp>
|
||||||
#include <scwx/qt/manager/placefile_manager.hpp>
|
#include <scwx/qt/manager/placefile_manager.hpp>
|
||||||
#include <scwx/qt/manager/radar_product_manager.hpp>
|
#include <scwx/qt/manager/radar_product_manager.hpp>
|
||||||
#include <scwx/qt/manager/settings_manager.hpp>
|
|
||||||
#include <scwx/qt/map/alert_layer.hpp>
|
#include <scwx/qt/map/alert_layer.hpp>
|
||||||
#include <scwx/qt/map/color_table_layer.hpp>
|
#include <scwx/qt/map/color_table_layer.hpp>
|
||||||
#include <scwx/qt/map/layer_wrapper.hpp>
|
#include <scwx/qt/map/layer_wrapper.hpp>
|
||||||
|
|
@ -13,6 +12,8 @@
|
||||||
#include <scwx/qt/map/radar_product_layer.hpp>
|
#include <scwx/qt/map/radar_product_layer.hpp>
|
||||||
#include <scwx/qt/map/radar_range_layer.hpp>
|
#include <scwx/qt/map/radar_range_layer.hpp>
|
||||||
#include <scwx/qt/model/imgui_context_model.hpp>
|
#include <scwx/qt/model/imgui_context_model.hpp>
|
||||||
|
#include <scwx/qt/settings/general_settings.hpp>
|
||||||
|
#include <scwx/qt/settings/palette_settings.hpp>
|
||||||
#include <scwx/qt/util/file.hpp>
|
#include <scwx/qt/util/file.hpp>
|
||||||
#include <scwx/qt/util/maplibre.hpp>
|
#include <scwx/qt/util/maplibre.hpp>
|
||||||
#include <scwx/qt/util/tooltip.hpp>
|
#include <scwx/qt/util/tooltip.hpp>
|
||||||
|
|
@ -81,8 +82,7 @@ public:
|
||||||
prevBearing_ {0.0},
|
prevBearing_ {0.0},
|
||||||
prevPitch_ {0.0}
|
prevPitch_ {0.0}
|
||||||
{
|
{
|
||||||
auto& generalSettings =
|
auto& generalSettings = settings::GeneralSettings::Instance();
|
||||||
scwx::qt::manager::SettingsManager::general_settings();
|
|
||||||
|
|
||||||
SetRadarSite(generalSettings.default_radar_site().GetValue());
|
SetRadarSite(generalSettings.default_radar_site().GetValue());
|
||||||
|
|
||||||
|
|
@ -1227,7 +1227,7 @@ void MapWidgetImpl::InitializeNewRadarProductView(
|
||||||
auto radarProductView = context_->radar_product_view();
|
auto radarProductView = context_->radar_product_view();
|
||||||
|
|
||||||
std::string colorTableFile =
|
std::string colorTableFile =
|
||||||
manager::SettingsManager::palette_settings()
|
settings::PaletteSettings::Instance()
|
||||||
.palette(colorPalette)
|
.palette(colorPalette)
|
||||||
.GetValue();
|
.GetValue();
|
||||||
if (!colorTableFile.empty())
|
if (!colorTableFile.empty())
|
||||||
|
|
|
||||||
|
|
@ -16,10 +16,10 @@ namespace settings
|
||||||
|
|
||||||
static const std::string logPrefix_ = "scwx::qt::settings::general_settings";
|
static const std::string logPrefix_ = "scwx::qt::settings::general_settings";
|
||||||
|
|
||||||
class GeneralSettingsImpl
|
class GeneralSettings::Impl
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit GeneralSettingsImpl()
|
explicit Impl()
|
||||||
{
|
{
|
||||||
std::string defaultDefaultAlertActionValue =
|
std::string defaultDefaultAlertActionValue =
|
||||||
types::GetAlertActionName(types::AlertAction::Go);
|
types::GetAlertActionName(types::AlertAction::Go);
|
||||||
|
|
@ -102,7 +102,7 @@ public:
|
||||||
{ return !value.empty(); });
|
{ return !value.empty(); });
|
||||||
}
|
}
|
||||||
|
|
||||||
~GeneralSettingsImpl() {}
|
~Impl() {}
|
||||||
|
|
||||||
SettingsVariable<bool> debugEnabled_ {"debug_enabled"};
|
SettingsVariable<bool> debugEnabled_ {"debug_enabled"};
|
||||||
SettingsVariable<std::string> defaultAlertAction_ {"default_alert_action"};
|
SettingsVariable<std::string> defaultAlertAction_ {"default_alert_action"};
|
||||||
|
|
@ -120,7 +120,7 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
GeneralSettings::GeneralSettings() :
|
GeneralSettings::GeneralSettings() :
|
||||||
SettingsCategory("general"), p(std::make_unique<GeneralSettingsImpl>())
|
SettingsCategory("general"), p(std::make_unique<Impl>())
|
||||||
{
|
{
|
||||||
RegisterVariables({&p->debugEnabled_,
|
RegisterVariables({&p->debugEnabled_,
|
||||||
&p->defaultAlertAction_,
|
&p->defaultAlertAction_,
|
||||||
|
|
@ -221,6 +221,12 @@ bool GeneralSettings::Shutdown()
|
||||||
return dataChanged;
|
return dataChanged;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GeneralSettings& GeneralSettings::Instance()
|
||||||
|
{
|
||||||
|
static GeneralSettings generalSettings_;
|
||||||
|
return generalSettings_;
|
||||||
|
}
|
||||||
|
|
||||||
bool operator==(const GeneralSettings& lhs, const GeneralSettings& rhs)
|
bool operator==(const GeneralSettings& lhs, const GeneralSettings& rhs)
|
||||||
{
|
{
|
||||||
return (lhs.p->debugEnabled_ == rhs.p->debugEnabled_ &&
|
return (lhs.p->debugEnabled_ == rhs.p->debugEnabled_ &&
|
||||||
|
|
|
||||||
|
|
@ -13,8 +13,6 @@ namespace qt
|
||||||
namespace settings
|
namespace settings
|
||||||
{
|
{
|
||||||
|
|
||||||
class GeneralSettingsImpl;
|
|
||||||
|
|
||||||
class GeneralSettings : public SettingsCategory
|
class GeneralSettings : public SettingsCategory
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
@ -41,13 +39,16 @@ public:
|
||||||
SettingsVariable<std::string>& maptiler_api_key() const;
|
SettingsVariable<std::string>& maptiler_api_key() const;
|
||||||
SettingsVariable<bool>& update_notifications_enabled() const;
|
SettingsVariable<bool>& update_notifications_enabled() const;
|
||||||
|
|
||||||
|
static GeneralSettings& Instance();
|
||||||
|
|
||||||
friend bool operator==(const GeneralSettings& lhs,
|
friend bool operator==(const GeneralSettings& lhs,
|
||||||
const GeneralSettings& rhs);
|
const GeneralSettings& rhs);
|
||||||
|
|
||||||
bool Shutdown();
|
bool Shutdown();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::unique_ptr<GeneralSettingsImpl> p;
|
class Impl;
|
||||||
|
std::unique_ptr<Impl> p;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace settings
|
} // namespace settings
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ static const std::string kDefaultRadarProductGroupString_ = "L3";
|
||||||
static const std::array<std::string, kCount_> kDefaultRadarProduct_ {
|
static const std::array<std::string, kCount_> kDefaultRadarProduct_ {
|
||||||
"N0B", "N0G", "N0C", "N0X"};
|
"N0B", "N0G", "N0C", "N0X"};
|
||||||
|
|
||||||
class MapSettingsImpl
|
class MapSettings::Impl
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
struct MapData
|
struct MapData
|
||||||
|
|
@ -47,7 +47,7 @@ public:
|
||||||
SettingsVariable<std::string> radarProduct_ {kRadarProductName_};
|
SettingsVariable<std::string> radarProduct_ {kRadarProductName_};
|
||||||
};
|
};
|
||||||
|
|
||||||
explicit MapSettingsImpl()
|
explicit Impl()
|
||||||
{
|
{
|
||||||
for (std::size_t i = 0; i < kCount_; i++)
|
for (std::size_t i = 0; i < kCount_; i++)
|
||||||
{
|
{
|
||||||
|
|
@ -101,7 +101,7 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
~MapSettingsImpl() {}
|
~Impl() {}
|
||||||
|
|
||||||
void SetDefaults(std::size_t i)
|
void SetDefaults(std::size_t i)
|
||||||
{
|
{
|
||||||
|
|
@ -111,12 +111,30 @@ public:
|
||||||
map_[i].radarProduct_.SetValueToDefault();
|
map_[i].radarProduct_.SetValueToDefault();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
friend void tag_invoke(boost::json::value_from_tag,
|
||||||
|
boost::json::value& jv,
|
||||||
|
const MapData& data)
|
||||||
|
{
|
||||||
|
jv = {{kMapStyleName_, data.mapStyle_.GetValue()},
|
||||||
|
{kRadarSiteName_, data.radarSite_.GetValue()},
|
||||||
|
{kRadarProductGroupName_, data.radarProductGroup_.GetValue()},
|
||||||
|
{kRadarProductName_, data.radarProduct_.GetValue()}};
|
||||||
|
}
|
||||||
|
|
||||||
|
friend bool operator==(const MapData& lhs, const MapData& rhs)
|
||||||
|
{
|
||||||
|
return (lhs.mapStyle_ == rhs.mapStyle_ && //
|
||||||
|
lhs.radarSite_ == rhs.radarSite_ &&
|
||||||
|
lhs.radarProductGroup_ == rhs.radarProductGroup_ &&
|
||||||
|
lhs.radarProduct_ == rhs.radarProduct_);
|
||||||
|
}
|
||||||
|
|
||||||
std::array<MapData, kCount_> map_ {};
|
std::array<MapData, kCount_> map_ {};
|
||||||
std::vector<SettingsVariableBase*> variables_ {};
|
std::vector<SettingsVariableBase*> variables_ {};
|
||||||
};
|
};
|
||||||
|
|
||||||
MapSettings::MapSettings() :
|
MapSettings::MapSettings() :
|
||||||
SettingsCategory("maps"), p(std::make_unique<MapSettingsImpl>())
|
SettingsCategory("maps"), p(std::make_unique<Impl>())
|
||||||
{
|
{
|
||||||
RegisterVariables(p->variables_);
|
RegisterVariables(p->variables_);
|
||||||
SetDefaults();
|
SetDefaults();
|
||||||
|
|
@ -161,7 +179,7 @@ bool MapSettings::Shutdown()
|
||||||
// Commit settings that are managed separate from the settings dialog
|
// Commit settings that are managed separate from the settings dialog
|
||||||
for (std::size_t i = 0; i < kCount_; ++i)
|
for (std::size_t i = 0; i < kCount_; ++i)
|
||||||
{
|
{
|
||||||
MapSettingsImpl::MapData& mapRecordSettings = p->map_[i];
|
Impl::MapData& mapRecordSettings = p->map_[i];
|
||||||
|
|
||||||
dataChanged |= mapRecordSettings.mapStyle_.Commit();
|
dataChanged |= mapRecordSettings.mapStyle_.Commit();
|
||||||
}
|
}
|
||||||
|
|
@ -184,7 +202,7 @@ bool MapSettings::ReadJson(const boost::json::object& json)
|
||||||
if (i < mapArray.size() && mapArray.at(i).is_object())
|
if (i < mapArray.size() && mapArray.at(i).is_object())
|
||||||
{
|
{
|
||||||
const boost::json::object& mapRecord = mapArray.at(i).as_object();
|
const boost::json::object& mapRecord = mapArray.at(i).as_object();
|
||||||
MapSettingsImpl::MapData& mapRecordSettings = p->map_[i];
|
Impl::MapData& mapRecordSettings = p->map_[i];
|
||||||
|
|
||||||
// Load JSON Elements
|
// Load JSON Elements
|
||||||
validated &= mapRecordSettings.mapStyle_.ReadValue(mapRecord);
|
validated &= mapRecordSettings.mapStyle_.ReadValue(mapRecord);
|
||||||
|
|
@ -234,14 +252,10 @@ void MapSettings::WriteJson(boost::json::object& json) const
|
||||||
json.insert_or_assign(name(), object);
|
json.insert_or_assign(name(), object);
|
||||||
}
|
}
|
||||||
|
|
||||||
void tag_invoke(boost::json::value_from_tag,
|
MapSettings& MapSettings::Instance()
|
||||||
boost::json::value& jv,
|
|
||||||
const MapSettingsImpl::MapData& data)
|
|
||||||
{
|
{
|
||||||
jv = {{kMapStyleName_, data.mapStyle_.GetValue()},
|
static MapSettings mapSettings_;
|
||||||
{kRadarSiteName_, data.radarSite_.GetValue()},
|
return mapSettings_;
|
||||||
{kRadarProductGroupName_, data.radarProductGroup_.GetValue()},
|
|
||||||
{kRadarProductName_, data.radarProduct_.GetValue()}};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool operator==(const MapSettings& lhs, const MapSettings& rhs)
|
bool operator==(const MapSettings& lhs, const MapSettings& rhs)
|
||||||
|
|
@ -249,15 +263,6 @@ bool operator==(const MapSettings& lhs, const MapSettings& rhs)
|
||||||
return (lhs.p->map_ == rhs.p->map_);
|
return (lhs.p->map_ == rhs.p->map_);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool operator==(const MapSettingsImpl::MapData& lhs,
|
|
||||||
const MapSettingsImpl::MapData& rhs)
|
|
||||||
{
|
|
||||||
return (lhs.mapStyle_ == rhs.mapStyle_ && //
|
|
||||||
lhs.radarSite_ == rhs.radarSite_ &&
|
|
||||||
lhs.radarProductGroup_ == rhs.radarProductGroup_ &&
|
|
||||||
lhs.radarProduct_ == rhs.radarProduct_);
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace settings
|
} // namespace settings
|
||||||
} // namespace qt
|
} // namespace qt
|
||||||
} // namespace scwx
|
} // namespace scwx
|
||||||
|
|
|
||||||
|
|
@ -13,8 +13,6 @@ namespace qt
|
||||||
namespace settings
|
namespace settings
|
||||||
{
|
{
|
||||||
|
|
||||||
class MapSettingsImpl;
|
|
||||||
|
|
||||||
class MapSettings : public SettingsCategory
|
class MapSettings : public SettingsCategory
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
@ -52,10 +50,13 @@ public:
|
||||||
*/
|
*/
|
||||||
void WriteJson(boost::json::object& json) const override;
|
void WriteJson(boost::json::object& json) const override;
|
||||||
|
|
||||||
|
static MapSettings& Instance();
|
||||||
|
|
||||||
friend bool operator==(const MapSettings& lhs, const MapSettings& rhs);
|
friend bool operator==(const MapSettings& lhs, const MapSettings& rhs);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::unique_ptr<MapSettingsImpl> p;
|
class Impl;
|
||||||
|
std::unique_ptr<Impl> p;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace settings
|
} // namespace settings
|
||||||
|
|
|
||||||
|
|
@ -72,10 +72,10 @@ static const std::map<
|
||||||
static const std::string kDefaultKey_ {"???"};
|
static const std::string kDefaultKey_ {"???"};
|
||||||
static const awips::Phenomenon kDefaultPhenomenon_ {awips::Phenomenon::Marine};
|
static const awips::Phenomenon kDefaultPhenomenon_ {awips::Phenomenon::Marine};
|
||||||
|
|
||||||
class PaletteSettingsImpl
|
class PaletteSettings::Impl
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit PaletteSettingsImpl()
|
explicit Impl()
|
||||||
{
|
{
|
||||||
for (const auto& name : kPaletteKeys_)
|
for (const auto& name : kPaletteKeys_)
|
||||||
{
|
{
|
||||||
|
|
@ -120,7 +120,7 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
~PaletteSettingsImpl() {}
|
~Impl() {}
|
||||||
|
|
||||||
static bool ValidateColor(const std::string& value);
|
static bool ValidateColor(const std::string& value);
|
||||||
|
|
||||||
|
|
@ -132,14 +132,14 @@ public:
|
||||||
std::vector<SettingsVariableBase*> variables_ {};
|
std::vector<SettingsVariableBase*> variables_ {};
|
||||||
};
|
};
|
||||||
|
|
||||||
bool PaletteSettingsImpl::ValidateColor(const std::string& value)
|
bool PaletteSettings::Impl::ValidateColor(const std::string& value)
|
||||||
{
|
{
|
||||||
static const std::regex re {"#[0-9A-Za-z]{8}"};
|
static const std::regex re {"#[0-9A-Za-z]{8}"};
|
||||||
return std::regex_match(value, re);
|
return std::regex_match(value, re);
|
||||||
}
|
}
|
||||||
|
|
||||||
PaletteSettings::PaletteSettings() :
|
PaletteSettings::PaletteSettings() :
|
||||||
SettingsCategory("palette"), p(std::make_unique<PaletteSettingsImpl>())
|
SettingsCategory("palette"), p(std::make_unique<Impl>())
|
||||||
{
|
{
|
||||||
RegisterVariables(p->variables_);
|
RegisterVariables(p->variables_);
|
||||||
SetDefaults();
|
SetDefaults();
|
||||||
|
|
@ -200,6 +200,12 @@ const std::vector<awips::Phenomenon>& PaletteSettings::alert_phenomena()
|
||||||
return kAlertPhenomena_;
|
return kAlertPhenomena_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PaletteSettings& PaletteSettings::Instance()
|
||||||
|
{
|
||||||
|
static PaletteSettings paletteSettings_;
|
||||||
|
return paletteSettings_;
|
||||||
|
}
|
||||||
|
|
||||||
bool operator==(const PaletteSettings& lhs, const PaletteSettings& rhs)
|
bool operator==(const PaletteSettings& lhs, const PaletteSettings& rhs)
|
||||||
{
|
{
|
||||||
return lhs.p->palette_ == rhs.p->palette_;
|
return lhs.p->palette_ == rhs.p->palette_;
|
||||||
|
|
|
||||||
|
|
@ -14,8 +14,6 @@ namespace qt
|
||||||
namespace settings
|
namespace settings
|
||||||
{
|
{
|
||||||
|
|
||||||
class PaletteSettingsImpl;
|
|
||||||
|
|
||||||
class PaletteSettings : public SettingsCategory
|
class PaletteSettings : public SettingsCategory
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
@ -34,11 +32,14 @@ public:
|
||||||
|
|
||||||
static const std::vector<awips::Phenomenon>& alert_phenomena();
|
static const std::vector<awips::Phenomenon>& alert_phenomena();
|
||||||
|
|
||||||
|
static PaletteSettings& Instance();
|
||||||
|
|
||||||
friend bool operator==(const PaletteSettings& lhs,
|
friend bool operator==(const PaletteSettings& lhs,
|
||||||
const PaletteSettings& rhs);
|
const PaletteSettings& rhs);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::unique_ptr<PaletteSettingsImpl> p;
|
class Impl;
|
||||||
|
std::unique_ptr<Impl> p;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace settings
|
} // namespace settings
|
||||||
|
|
|
||||||
|
|
@ -169,8 +169,8 @@ SettingsVariable<std::string>& TextSettings::tooltip_method() const
|
||||||
|
|
||||||
TextSettings& TextSettings::Instance()
|
TextSettings& TextSettings::Instance()
|
||||||
{
|
{
|
||||||
static TextSettings TextSettings_;
|
static TextSettings textSettings_;
|
||||||
return TextSettings_;
|
return textSettings_;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool operator==(const TextSettings& lhs, const TextSettings& rhs)
|
bool operator==(const TextSettings& lhs, const TextSettings& rhs)
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
#include "alert_dock_widget.hpp"
|
#include "alert_dock_widget.hpp"
|
||||||
#include "ui_alert_dock_widget.h"
|
#include "ui_alert_dock_widget.h"
|
||||||
|
|
||||||
#include <scwx/qt/manager/settings_manager.hpp>
|
|
||||||
#include <scwx/qt/manager/text_event_manager.hpp>
|
#include <scwx/qt/manager/text_event_manager.hpp>
|
||||||
#include <scwx/qt/model/alert_model.hpp>
|
#include <scwx/qt/model/alert_model.hpp>
|
||||||
#include <scwx/qt/model/alert_proxy_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/alert_types.hpp>
|
||||||
#include <scwx/qt/types/qt_types.hpp>
|
#include <scwx/qt/types/qt_types.hpp>
|
||||||
#include <scwx/qt/ui/alert_dialog.hpp>
|
#include <scwx/qt/ui/alert_dialog.hpp>
|
||||||
|
|
@ -175,10 +175,10 @@ void AlertDockWidgetImpl::ConnectSignals()
|
||||||
// If an item is selected
|
// If an item is selected
|
||||||
if (selectedAlertKey_ != types::TextEventKey {})
|
if (selectedAlertKey_ != types::TextEventKey {})
|
||||||
{
|
{
|
||||||
types::AlertAction alertAction = types::GetAlertAction(
|
types::AlertAction alertAction =
|
||||||
manager::SettingsManager::general_settings()
|
types::GetAlertAction(settings::GeneralSettings::Instance()
|
||||||
.default_alert_action()
|
.default_alert_action()
|
||||||
.GetValue());
|
.GetValue());
|
||||||
|
|
||||||
switch (alertAction)
|
switch (alertAction)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
#include "animation_dock_widget.hpp"
|
#include "animation_dock_widget.hpp"
|
||||||
#include "ui_animation_dock_widget.h"
|
#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/qt/util/time.hpp>
|
||||||
#include <scwx/util/logger.hpp>
|
#include <scwx/util/logger.hpp>
|
||||||
|
|
||||||
|
|
@ -101,7 +101,7 @@ AnimationDockWidget::AnimationDockWidget(QWidget* parent) :
|
||||||
maxDateTimer->start(15000);
|
maxDateTimer->start(15000);
|
||||||
|
|
||||||
// Set loop defaults
|
// Set loop defaults
|
||||||
auto& generalSettings = manager::SettingsManager::general_settings();
|
auto& generalSettings = settings::GeneralSettings::Instance();
|
||||||
ui->loopTimeSpinBox->setValue(generalSettings.loop_time().GetValue());
|
ui->loopTimeSpinBox->setValue(generalSettings.loop_time().GetValue());
|
||||||
ui->loopSpeedSpinBox->setValue(generalSettings.loop_speed().GetValue());
|
ui->loopSpeedSpinBox->setValue(generalSettings.loop_speed().GetValue());
|
||||||
ui->loopDelaySpinBox->setValue(generalSettings.loop_delay().GetValue() *
|
ui->loopDelaySpinBox->setValue(generalSettings.loop_delay().GetValue() *
|
||||||
|
|
@ -175,7 +175,7 @@ void AnimationDockWidgetImpl::ConnectSignals()
|
||||||
self_,
|
self_,
|
||||||
[this](int i)
|
[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));
|
Q_EMIT self_->LoopTimeChanged(std::chrono::minutes(i));
|
||||||
});
|
});
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
|
|
@ -184,8 +184,7 @@ void AnimationDockWidgetImpl::ConnectSignals()
|
||||||
self_,
|
self_,
|
||||||
[this](double d)
|
[this](double d)
|
||||||
{
|
{
|
||||||
manager::SettingsManager::general_settings().loop_speed().StageValue(
|
settings::GeneralSettings::Instance().loop_speed().StageValue(d);
|
||||||
d);
|
|
||||||
Q_EMIT self_->LoopSpeedChanged(d);
|
Q_EMIT self_->LoopSpeedChanged(d);
|
||||||
});
|
});
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
|
|
@ -194,7 +193,7 @@ void AnimationDockWidgetImpl::ConnectSignals()
|
||||||
self_,
|
self_,
|
||||||
[this](double d)
|
[this](double d)
|
||||||
{
|
{
|
||||||
manager::SettingsManager::general_settings().loop_delay().StageValue(
|
settings::GeneralSettings::Instance().loop_delay().StageValue(
|
||||||
static_cast<std::int64_t>(d * 1000.0));
|
static_cast<std::int64_t>(d * 1000.0));
|
||||||
Q_EMIT self_->LoopDelayChanged(std::chrono::milliseconds(
|
Q_EMIT self_->LoopDelayChanged(std::chrono::milliseconds(
|
||||||
static_cast<typename std::chrono::milliseconds::rep>(d * 1000.0)));
|
static_cast<typename std::chrono::milliseconds::rep>(d * 1000.0)));
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,8 @@
|
||||||
#include <scwx/qt/config/radar_site.hpp>
|
#include <scwx/qt/config/radar_site.hpp>
|
||||||
#include <scwx/qt/manager/settings_manager.hpp>
|
#include <scwx/qt/manager/settings_manager.hpp>
|
||||||
#include <scwx/qt/map/map_provider.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/settings_interface.hpp>
|
||||||
#include <scwx/qt/settings/text_settings.hpp>
|
#include <scwx/qt/settings/text_settings.hpp>
|
||||||
#include <scwx/qt/types/alert_types.hpp>
|
#include <scwx/qt/types/alert_types.hpp>
|
||||||
|
|
@ -104,7 +106,7 @@ public:
|
||||||
&tooltipMethod_}}
|
&tooltipMethod_}}
|
||||||
{
|
{
|
||||||
// Configure default alert phenomena colors
|
// Configure default alert phenomena colors
|
||||||
auto& paletteSettings = manager::SettingsManager::palette_settings();
|
auto& paletteSettings = settings::PaletteSettings::Instance();
|
||||||
int index = 0;
|
int index = 0;
|
||||||
|
|
||||||
for (auto& phenomenon : settings::PaletteSettings::alert_phenomena())
|
for (auto& phenomenon : settings::PaletteSettings::alert_phenomena())
|
||||||
|
|
@ -384,7 +386,7 @@ void SettingsDialogImpl::SetupGeneralTab()
|
||||||
}
|
}
|
||||||
|
|
||||||
settings::GeneralSettings& generalSettings =
|
settings::GeneralSettings& generalSettings =
|
||||||
manager::SettingsManager::general_settings();
|
settings::GeneralSettings::Instance();
|
||||||
|
|
||||||
defaultRadarSite_.SetSettingsVariable(generalSettings.default_radar_site());
|
defaultRadarSite_.SetSettingsVariable(generalSettings.default_radar_site());
|
||||||
defaultRadarSite_.SetMapFromValueFunction(
|
defaultRadarSite_.SetMapFromValueFunction(
|
||||||
|
|
@ -525,7 +527,7 @@ void SettingsDialogImpl::SetupGeneralTab()
|
||||||
void SettingsDialogImpl::SetupPalettesColorTablesTab()
|
void SettingsDialogImpl::SetupPalettesColorTablesTab()
|
||||||
{
|
{
|
||||||
settings::PaletteSettings& paletteSettings =
|
settings::PaletteSettings& paletteSettings =
|
||||||
manager::SettingsManager::palette_settings();
|
settings::PaletteSettings::Instance();
|
||||||
|
|
||||||
// Palettes > Color Tables
|
// Palettes > Color Tables
|
||||||
QGridLayout* colorTableLayout =
|
QGridLayout* colorTableLayout =
|
||||||
|
|
@ -617,7 +619,7 @@ void SettingsDialogImpl::SetupPalettesColorTablesTab()
|
||||||
void SettingsDialogImpl::SetupPalettesAlertsTab()
|
void SettingsDialogImpl::SetupPalettesAlertsTab()
|
||||||
{
|
{
|
||||||
settings::PaletteSettings& paletteSettings =
|
settings::PaletteSettings& paletteSettings =
|
||||||
manager::SettingsManager::palette_settings();
|
settings::PaletteSettings::Instance();
|
||||||
|
|
||||||
// Palettes > Alerts
|
// Palettes > Alerts
|
||||||
QGridLayout* alertsLayout =
|
QGridLayout* alertsLayout =
|
||||||
|
|
|
||||||
|
|
@ -5,8 +5,8 @@
|
||||||
#define _CRT_SECURE_NO_WARNINGS
|
#define _CRT_SECURE_NO_WARNINGS
|
||||||
|
|
||||||
#include <scwx/qt/util/font.hpp>
|
#include <scwx/qt/util/font.hpp>
|
||||||
#include <scwx/qt/manager/settings_manager.hpp>
|
|
||||||
#include <scwx/qt/model/imgui_context_model.hpp>
|
#include <scwx/qt/model/imgui_context_model.hpp>
|
||||||
|
#include <scwx/qt/settings/general_settings.hpp>
|
||||||
#include <scwx/util/logger.hpp>
|
#include <scwx/util/logger.hpp>
|
||||||
|
|
||||||
#include <codecvt>
|
#include <codecvt>
|
||||||
|
|
@ -337,7 +337,7 @@ std::shared_ptr<Font> Font::Create(const std::string& resource)
|
||||||
font->p->CreateImGuiFont(
|
font->p->CreateImGuiFont(
|
||||||
fontFile,
|
fontFile,
|
||||||
fontData,
|
fontData,
|
||||||
manager::SettingsManager::general_settings().font_sizes().GetValue());
|
settings::GeneralSettings::Instance().font_sizes().GetValue());
|
||||||
|
|
||||||
font->p->atlas_ = ftgl::texture_atlas_new(512, 512, 1);
|
font->p->atlas_ = ftgl::texture_atlas_new(512, 512, 1);
|
||||||
ftgl::texture_font_t* textureFont = ftgl::texture_font_new_from_memory(
|
ftgl::texture_font_t* textureFont = ftgl::texture_font_new_from_memory(
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
#include <scwx/qt/util/imgui.hpp>
|
#include <scwx/qt/util/imgui.hpp>
|
||||||
#include <scwx/qt/manager/resource_manager.hpp>
|
#include <scwx/qt/manager/resource_manager.hpp>
|
||||||
#include <scwx/qt/manager/settings_manager.hpp>
|
#include <scwx/qt/settings/general_settings.hpp>
|
||||||
#include <scwx/util/logger.hpp>
|
#include <scwx/util/logger.hpp>
|
||||||
|
|
||||||
#include <mutex>
|
#include <mutex>
|
||||||
|
|
@ -48,7 +48,7 @@ void ImGui::Impl::Initialize()
|
||||||
|
|
||||||
// Configure monospace font
|
// Configure monospace font
|
||||||
UpdateMonospaceFont();
|
UpdateMonospaceFont();
|
||||||
manager::SettingsManager::general_settings()
|
settings::GeneralSettings::Instance()
|
||||||
.font_sizes()
|
.font_sizes()
|
||||||
.RegisterValueChangedCallback([this](const std::vector<std::int64_t>&)
|
.RegisterValueChangedCallback([this](const std::vector<std::int64_t>&)
|
||||||
{ UpdateMonospaceFont(); });
|
{ UpdateMonospaceFont(); });
|
||||||
|
|
@ -61,7 +61,7 @@ void ImGui::Impl::UpdateMonospaceFont()
|
||||||
// Get monospace font size
|
// Get monospace font size
|
||||||
std::size_t fontSize = 16;
|
std::size_t fontSize = 16;
|
||||||
auto fontSizes =
|
auto fontSizes =
|
||||||
manager::SettingsManager::general_settings().font_sizes().GetValue();
|
settings::GeneralSettings::Instance().font_sizes().GetValue();
|
||||||
if (fontSizes.size() > 1)
|
if (fontSizes.size() > 1)
|
||||||
{
|
{
|
||||||
fontSize = fontSizes[1];
|
fontSize = fontSizes[1];
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#include <scwx/qt/util/tooltip.hpp>
|
#include <scwx/qt/util/tooltip.hpp>
|
||||||
#include <scwx/qt/manager/settings_manager.hpp>
|
#include <scwx/qt/settings/general_settings.hpp>
|
||||||
#include <scwx/qt/settings/text_settings.hpp>
|
#include <scwx/qt/settings/text_settings.hpp>
|
||||||
#include <scwx/qt/types/font_types.hpp>
|
#include <scwx/qt/types/font_types.hpp>
|
||||||
#include <scwx/qt/types/text_types.hpp>
|
#include <scwx/qt/types/text_types.hpp>
|
||||||
|
|
@ -100,7 +100,7 @@ void Show(const std::string& text, const QPointF& mouseGlobalPos)
|
||||||
// Get monospace font size
|
// Get monospace font size
|
||||||
units::font_size::pixels<double> fontSize {16};
|
units::font_size::pixels<double> fontSize {16};
|
||||||
auto fontSizes =
|
auto fontSizes =
|
||||||
manager::SettingsManager::general_settings().font_sizes().GetValue();
|
settings::GeneralSettings::Instance().font_sizes().GetValue();
|
||||||
if (fontSizes.size() > 1)
|
if (fontSizes.size() > 1)
|
||||||
{
|
{
|
||||||
fontSize = units::font_size::pixels<double> {fontSizes[1]};
|
fontSize = units::font_size::pixels<double> {fontSizes[1]};
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,10 @@
|
||||||
#include <scwx/qt/manager/settings_manager.hpp>
|
#include <scwx/qt/manager/settings_manager.hpp>
|
||||||
#include <scwx/qt/config/radar_site.hpp>
|
#include <scwx/qt/config/radar_site.hpp>
|
||||||
|
#include <scwx/qt/settings/general_settings.hpp>
|
||||||
|
#include <scwx/qt/settings/map_settings.hpp>
|
||||||
|
#include <scwx/qt/settings/palette_settings.hpp>
|
||||||
|
#include <scwx/qt/settings/text_settings.hpp>
|
||||||
|
#include <scwx/qt/settings/ui_settings.hpp>
|
||||||
|
|
||||||
#include <filesystem>
|
#include <filesystem>
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
|
|
@ -39,10 +44,14 @@ void VerifyDefaults()
|
||||||
settings::GeneralSettings defaultGeneralSettings {};
|
settings::GeneralSettings defaultGeneralSettings {};
|
||||||
settings::MapSettings defaultMapSettings {};
|
settings::MapSettings defaultMapSettings {};
|
||||||
settings::PaletteSettings defaultPaletteSettings {};
|
settings::PaletteSettings defaultPaletteSettings {};
|
||||||
|
settings::TextSettings defaultTextSettings {};
|
||||||
|
settings::UiSettings defaultUiSettings {};
|
||||||
|
|
||||||
EXPECT_EQ(defaultGeneralSettings, SettingsManager::general_settings());
|
EXPECT_EQ(defaultGeneralSettings, settings::GeneralSettings::Instance());
|
||||||
EXPECT_EQ(defaultMapSettings, SettingsManager::map_settings());
|
EXPECT_EQ(defaultMapSettings, settings::MapSettings::Instance());
|
||||||
EXPECT_EQ(defaultPaletteSettings, SettingsManager::palette_settings());
|
EXPECT_EQ(defaultPaletteSettings, settings::PaletteSettings::Instance());
|
||||||
|
EXPECT_EQ(defaultTextSettings, settings::TextSettings::Instance());
|
||||||
|
EXPECT_EQ(defaultUiSettings, settings::UiSettings::Instance());
|
||||||
}
|
}
|
||||||
|
|
||||||
void CompareFiles(const std::string& file1, const std::string& file2)
|
void CompareFiles(const std::string& file1, const std::string& file2)
|
||||||
|
|
@ -86,11 +95,11 @@ TEST_F(SettingsManagerTest, SettingsKeax)
|
||||||
SettingsManager::ReadSettings(filename);
|
SettingsManager::ReadSettings(filename);
|
||||||
|
|
||||||
EXPECT_EQ(
|
EXPECT_EQ(
|
||||||
SettingsManager::general_settings().default_radar_site().GetValue(),
|
settings::GeneralSettings::Instance().default_radar_site().GetValue(),
|
||||||
"KEAX");
|
"KEAX");
|
||||||
for (size_t i = 0; i < SettingsManager::map_settings().count(); ++i)
|
for (size_t i = 0; i < settings::MapSettings::Instance().count(); ++i)
|
||||||
{
|
{
|
||||||
EXPECT_EQ(SettingsManager::map_settings().radar_site(i).GetValue(),
|
EXPECT_EQ(settings::MapSettings::Instance().radar_site(i).GetValue(),
|
||||||
"KEAX");
|
"KEAX");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue