mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 19:50:05 +00:00
Add Map Provider and MapTiler to general settings
This commit is contained in:
parent
26067255f0
commit
eed7e8e5e9
3 changed files with 35 additions and 1 deletions
|
|
@ -1,6 +1,8 @@
|
|||
#include <scwx/qt/settings/general_settings.hpp>
|
||||
#include <scwx/qt/settings/settings_container.hpp>
|
||||
|
||||
#include <array>
|
||||
|
||||
namespace scwx
|
||||
{
|
||||
namespace qt
|
||||
|
|
@ -10,6 +12,9 @@ namespace settings
|
|||
|
||||
static const std::string logPrefix_ = "scwx::qt::settings::general_settings";
|
||||
|
||||
static const std::array<std::string, 2> kMapProviderValues_ {"mapbox",
|
||||
"maptiler"};
|
||||
|
||||
class GeneralSettingsImpl
|
||||
{
|
||||
public:
|
||||
|
|
@ -20,7 +25,9 @@ public:
|
|||
fontSizes_.SetDefault({16});
|
||||
gridWidth_.SetDefault(1);
|
||||
gridHeight_.SetDefault(1);
|
||||
mapProvider_.SetDefault("maptiler");
|
||||
mapboxApiKey_.SetDefault("?");
|
||||
maptilerApiKey_.SetDefault("?");
|
||||
updateNotificationsEnabled_.SetDefault(true);
|
||||
|
||||
fontSizes_.SetElementMinimum(1);
|
||||
|
|
@ -31,8 +38,17 @@ public:
|
|||
gridWidth_.SetMaximum(2);
|
||||
gridHeight_.SetMinimum(1);
|
||||
gridHeight_.SetMaximum(2);
|
||||
mapProvider_.SetValidator(
|
||||
[](const std::string& value)
|
||||
{
|
||||
return std::find(kMapProviderValues_.cbegin(),
|
||||
kMapProviderValues_.cend(),
|
||||
value) != kMapProviderValues_.cend();
|
||||
});
|
||||
mapboxApiKey_.SetValidator([](const std::string& value)
|
||||
{ return !value.empty(); });
|
||||
maptilerApiKey_.SetValidator([](const std::string& value)
|
||||
{ return !value.empty(); });
|
||||
}
|
||||
|
||||
~GeneralSettingsImpl() {}
|
||||
|
|
@ -42,7 +58,9 @@ public:
|
|||
SettingsContainer<std::vector<std::int64_t>> fontSizes_ {"font_sizes"};
|
||||
SettingsVariable<std::int64_t> gridWidth_ {"grid_width"};
|
||||
SettingsVariable<std::int64_t> gridHeight_ {"grid_height"};
|
||||
SettingsVariable<std::string> mapProvider_ {"map_provider"};
|
||||
SettingsVariable<std::string> mapboxApiKey_ {"mapbox_api_key"};
|
||||
SettingsVariable<std::string> maptilerApiKey_ {"maptiler_api_key"};
|
||||
SettingsVariable<bool> updateNotificationsEnabled_ {"update_notifications"};
|
||||
};
|
||||
|
||||
|
|
@ -54,7 +72,9 @@ GeneralSettings::GeneralSettings() :
|
|||
&p->fontSizes_,
|
||||
&p->gridWidth_,
|
||||
&p->gridHeight_,
|
||||
&p->mapProvider_,
|
||||
&p->mapboxApiKey_,
|
||||
&p->maptilerApiKey_,
|
||||
&p->updateNotificationsEnabled_});
|
||||
SetDefaults();
|
||||
}
|
||||
|
|
@ -90,11 +110,21 @@ SettingsVariable<std::int64_t>& GeneralSettings::grid_width() const
|
|||
return p->gridWidth_;
|
||||
}
|
||||
|
||||
SettingsVariable<std::string>& GeneralSettings::map_provider() const
|
||||
{
|
||||
return p->mapProvider_;
|
||||
}
|
||||
|
||||
SettingsVariable<std::string>& GeneralSettings::mapbox_api_key() const
|
||||
{
|
||||
return p->mapboxApiKey_;
|
||||
}
|
||||
|
||||
SettingsVariable<std::string>& GeneralSettings::maptiler_api_key() const
|
||||
{
|
||||
return p->maptilerApiKey_;
|
||||
}
|
||||
|
||||
SettingsVariable<bool>& GeneralSettings::update_notifications_enabled() const
|
||||
{
|
||||
return p->updateNotificationsEnabled_;
|
||||
|
|
@ -107,7 +137,9 @@ bool operator==(const GeneralSettings& lhs, const GeneralSettings& rhs)
|
|||
lhs.p->fontSizes_ == rhs.p->fontSizes_ &&
|
||||
lhs.p->gridWidth_ == rhs.p->gridWidth_ &&
|
||||
lhs.p->gridHeight_ == rhs.p->gridHeight_ &&
|
||||
lhs.p->mapProvider_ == rhs.p->mapProvider_ &&
|
||||
lhs.p->mapboxApiKey_ == rhs.p->mapboxApiKey_ &&
|
||||
lhs.p->maptilerApiKey_ == rhs.p->maptilerApiKey_ &&
|
||||
lhs.p->updateNotificationsEnabled_ ==
|
||||
rhs.p->updateNotificationsEnabled_);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,7 +32,9 @@ public:
|
|||
SettingsContainer<std::vector<std::int64_t>>& font_sizes() const;
|
||||
SettingsVariable<std::int64_t>& grid_height() const;
|
||||
SettingsVariable<std::int64_t>& grid_width() const;
|
||||
SettingsVariable<std::string>& map_provider() const;
|
||||
SettingsVariable<std::string>& mapbox_api_key() const;
|
||||
SettingsVariable<std::string>& maptiler_api_key() const;
|
||||
SettingsVariable<bool>& update_notifications_enabled() const;
|
||||
|
||||
friend bool operator==(const GeneralSettings& lhs,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue