Add radar site threshold setting

This commit is contained in:
AdenKoperczak 2024-12-10 11:44:24 -05:00
parent bef8628bb6
commit f7a1668c3f
5 changed files with 362 additions and 302 deletions

View file

@ -1,5 +1,6 @@
#include <scwx/qt/map/radar_site_layer.hpp> #include <scwx/qt/map/radar_site_layer.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/text_settings.hpp> #include <scwx/qt/settings/text_settings.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>
@ -59,6 +60,16 @@ void RadarSiteLayer::Initialize()
void RadarSiteLayer::Render( void RadarSiteLayer::Render(
const QMapLibre::CustomLayerRenderParameters& params) const QMapLibre::CustomLayerRenderParameters& params)
{ {
p->hoverText_.clear();
auto mapDistance = util::maplibre::GetMapDistance(params);
auto threshold = units::length::nautical_miles<double>(
settings::GeneralSettings::Instance().radar_site_threshold().GetValue());
if (threshold.value() != 0.0 && mapDistance > threshold)
{
return;
}
gl::OpenGLFunctions& gl = context()->gl(); gl::OpenGLFunctions& gl = context()->gl();
context()->set_render_parameters(params); context()->set_render_parameters(params);
@ -73,8 +84,6 @@ void RadarSiteLayer::Render(
p->halfWidth_ = params.width * 0.5f; p->halfWidth_ = params.width * 0.5f;
p->halfHeight_ = params.height * 0.5f; p->halfHeight_ = params.height * 0.5f;
p->hoverText_.clear();
// Radar site ImGui windows shouldn't have padding // Radar site ImGui windows shouldn't have padding
ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding, ImVec2 {0.0f, 0.0f}); ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding, ImVec2 {0.0f, 0.0f});

View file

@ -78,6 +78,7 @@ public:
updateNotificationsEnabled_.SetDefault(true); updateNotificationsEnabled_.SetDefault(true);
warningsProvider_.SetDefault(defaultWarningsProviderValue); warningsProvider_.SetDefault(defaultWarningsProviderValue);
cursorIconAlwaysOn_.SetDefault(false); cursorIconAlwaysOn_.SetDefault(false);
radarSiteThreshold_.SetDefault(0.0);
fontSizes_.SetElementMinimum(1); fontSizes_.SetElementMinimum(1);
fontSizes_.SetElementMaximum(72); fontSizes_.SetElementMaximum(72);
@ -95,6 +96,8 @@ public:
loopTime_.SetMaximum(1440); loopTime_.SetMaximum(1440);
nmeaBaudRate_.SetMinimum(1); nmeaBaudRate_.SetMinimum(1);
nmeaBaudRate_.SetMaximum(999999999); nmeaBaudRate_.SetMaximum(999999999);
radarSiteThreshold_.SetMinimum(0);
radarSiteThreshold_.SetMaximum(999);
customStyleDrawLayer_.SetTransform([](const std::string& value) customStyleDrawLayer_.SetTransform([](const std::string& value)
{ return boost::trim_copy(value); }); { return boost::trim_copy(value); });
@ -168,6 +171,7 @@ public:
SettingsVariable<bool> updateNotificationsEnabled_ {"update_notifications"}; SettingsVariable<bool> updateNotificationsEnabled_ {"update_notifications"};
SettingsVariable<std::string> warningsProvider_ {"warnings_provider"}; SettingsVariable<std::string> warningsProvider_ {"warnings_provider"};
SettingsVariable<bool> cursorIconAlwaysOn_ {"cursor_icon_always_on"}; SettingsVariable<bool> cursorIconAlwaysOn_ {"cursor_icon_always_on"};
SettingsVariable<double> radarSiteThreshold_ {"radar_site_threshold"};
}; };
GeneralSettings::GeneralSettings() : GeneralSettings::GeneralSettings() :
@ -201,7 +205,8 @@ GeneralSettings::GeneralSettings() :
&p->trackLocation_, &p->trackLocation_,
&p->updateNotificationsEnabled_, &p->updateNotificationsEnabled_,
&p->warningsProvider_, &p->warningsProvider_,
&p->cursorIconAlwaysOn_}); &p->cursorIconAlwaysOn_,
&p->radarSiteThreshold_});
SetDefaults(); SetDefaults();
} }
GeneralSettings::~GeneralSettings() = default; GeneralSettings::~GeneralSettings() = default;
@ -356,6 +361,11 @@ SettingsVariable<bool>& GeneralSettings::cursor_icon_always_on() const
return p->cursorIconAlwaysOn_; return p->cursorIconAlwaysOn_;
} }
SettingsVariable<double>& GeneralSettings::radar_site_threshold() const
{
return p->radarSiteThreshold_;
}
bool GeneralSettings::Shutdown() bool GeneralSettings::Shutdown()
{ {
bool dataChanged = false; bool dataChanged = false;
@ -406,7 +416,8 @@ bool operator==(const GeneralSettings& lhs, const GeneralSettings& rhs)
lhs.p->updateNotificationsEnabled_ == lhs.p->updateNotificationsEnabled_ ==
rhs.p->updateNotificationsEnabled_ && rhs.p->updateNotificationsEnabled_ &&
lhs.p->warningsProvider_ == rhs.p->warningsProvider_ && lhs.p->warningsProvider_ == rhs.p->warningsProvider_ &&
lhs.p->cursorIconAlwaysOn_ == rhs.p->cursorIconAlwaysOn_); lhs.p->cursorIconAlwaysOn_ == rhs.p->cursorIconAlwaysOn_ &&
lhs.p->radarSiteThreshold_ == rhs.p->radarSiteThreshold_);
} }
} // namespace settings } // namespace settings

View file

@ -54,6 +54,7 @@ public:
SettingsVariable<bool>& update_notifications_enabled() const; SettingsVariable<bool>& update_notifications_enabled() const;
SettingsVariable<std::string>& warnings_provider() const; SettingsVariable<std::string>& warnings_provider() const;
SettingsVariable<bool>& cursor_icon_always_on() const; SettingsVariable<bool>& cursor_icon_always_on() const;
SettingsVariable<double>& radar_site_threshold() const;
static GeneralSettings& Instance(); static GeneralSettings& Instance();

View file

@ -133,6 +133,7 @@ public:
&nmeaBaudRate_, &nmeaBaudRate_,
&nmeaSource_, &nmeaSource_,
&warningsProvider_, &warningsProvider_,
&radarSiteThreshold_,
&antiAliasingEnabled_, &antiAliasingEnabled_,
&showMapAttribution_, &showMapAttribution_,
&showMapCenter_, &showMapCenter_,
@ -249,6 +250,7 @@ public:
settings::SettingsInterface<std::string> theme_ {}; settings::SettingsInterface<std::string> theme_ {};
settings::SettingsInterface<std::string> themeFile_ {}; settings::SettingsInterface<std::string> themeFile_ {};
settings::SettingsInterface<std::string> warningsProvider_ {}; settings::SettingsInterface<std::string> warningsProvider_ {};
settings::SettingsInterface<double> radarSiteThreshold_ {};
settings::SettingsInterface<bool> antiAliasingEnabled_ {}; settings::SettingsInterface<bool> antiAliasingEnabled_ {};
settings::SettingsInterface<bool> showMapAttribution_ {}; settings::SettingsInterface<bool> showMapAttribution_ {};
settings::SettingsInterface<bool> showMapCenter_ {}; settings::SettingsInterface<bool> showMapCenter_ {};
@ -749,6 +751,12 @@ void SettingsDialogImpl::SetupGeneralTab()
warningsProvider_.SetResetButton(self_->ui->resetWarningsProviderButton); warningsProvider_.SetResetButton(self_->ui->resetWarningsProviderButton);
warningsProvider_.EnableTrimming(); warningsProvider_.EnableTrimming();
radarSiteThreshold_.SetSettingsVariable(
generalSettings.radar_site_threshold());
radarSiteThreshold_.SetEditWidget(
self_->ui->radarSiteThresholdSpinBox);
radarSiteThreshold_.SetResetButton(self_->ui->resetRadarSiteThresholdButton);
antiAliasingEnabled_.SetSettingsVariable( antiAliasingEnabled_.SetSettingsVariable(
generalSettings.anti_aliasing_enabled()); generalSettings.anti_aliasing_enabled());
antiAliasingEnabled_.SetEditWidget(self_->ui->antiAliasingEnabledCheckBox); antiAliasingEnabled_.SetEditWidget(self_->ui->antiAliasingEnabledCheckBox);

View file

@ -135,9 +135,9 @@
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>0</x> <x>0</x>
<y>-272</y> <y>-302</y>
<width>513</width> <width>511</width>
<height>702</height> <height>733</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
@ -159,156 +159,16 @@
<property name="bottomMargin"> <property name="bottomMargin">
<number>0</number> <number>0</number>
</property> </property>
<item row="3" column="3"> <item row="5" column="0">
<widget class="QToolButton" name="radarSiteSelectButton"> <widget class="QLabel" name="label_2">
<property name="text"> <property name="text">
<string>...</string> <string>Grid Width</string>
</property>
</widget>
</item>
<item row="12" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Mapbox API Key</string>
</property>
</widget>
</item>
<item row="15" column="0">
<widget class="QLabel" name="label_27">
<property name="text">
<string>Custom Map Layer</string>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QComboBox" name="radarSiteComboBox"/>
</item>
<item row="8" column="0">
<widget class="QLabel" name="label_23">
<property name="text">
<string>GPS Plugin</string>
</property>
</widget>
</item>
<item row="9" column="4">
<widget class="QToolButton" name="resetNmeaSourceButton">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../../../scwx-qt.qrc">
<normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</iconset>
</property>
</widget>
</item>
<item row="11" column="2">
<widget class="QComboBox" name="mapProviderComboBox"/>
</item>
<item row="14" column="2">
<widget class="QLineEdit" name="customMapUrlLineEdit"/>
</item>
<item row="9" column="3">
<widget class="QToolButton" name="gpsSourceSelectButton">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
<item row="15" column="4">
<widget class="QToolButton" name="resetCustomMapLayerButton">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../../../scwx-qt.qrc">
<normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</iconset>
</property>
</widget>
</item>
<item row="4" column="2">
<widget class="QComboBox" name="defaultTimeZoneComboBox"/>
</item>
<item row="6" column="2">
<widget class="QSpinBox" name="gridHeightSpinBox"/>
</item>
<item row="11" column="4">
<widget class="QToolButton" name="resetMapProviderButton">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../../../scwx-qt.qrc">
<normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</iconset>
</property>
</widget>
</item>
<item row="14" column="4">
<widget class="QToolButton" name="resetCustomMapUrlButton">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../../../scwx-qt.qrc">
<normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</iconset>
</property>
</widget>
</item>
<item row="18" column="4">
<widget class="QToolButton" name="resetThemeButton">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../../../scwx-qt.qrc">
<normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</iconset>
</property> </property>
</widget> </widget>
</item> </item>
<item row="18" column="2"> <item row="18" column="2">
<widget class="QComboBox" name="themeComboBox"/> <widget class="QComboBox" name="themeComboBox"/>
</item> </item>
<item row="9" column="0">
<widget class="QLabel" name="label_25">
<property name="text">
<string>GPS Source</string>
</property>
</widget>
</item>
<item row="22" column="2">
<widget class="QLineEdit" name="warningsProviderLineEdit"/>
</item>
<item row="22" column="0">
<widget class="QLabel" name="label_22">
<property name="text">
<string>Warnings Provider</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Default Radar Site</string>
</property>
</widget>
</item>
<item row="3" column="4">
<widget class="QToolButton" name="resetRadarSiteButton">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../../../scwx-qt.qrc">
<normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</iconset>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Grid Height</string>
</property>
</widget>
</item>
<item row="13" column="4"> <item row="13" column="4">
<widget class="QToolButton" name="resetMapTilerApiKeyButton"> <widget class="QToolButton" name="resetMapTilerApiKeyButton">
<property name="text"> <property name="text">
@ -320,20 +180,31 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="10" column="2"> <item row="9" column="3">
<widget class="QSpinBox" name="nmeaBaudRateSpinBox"> <widget class="QToolButton" name="gpsSourceSelectButton">
<property name="minimum"> <property name="text">
<number>1</number> <string>...</string>
</property>
<property name="maximum">
<number>999999999</number>
</property> </property>
</widget> </widget>
</item> </item>
<item row="12" column="2"> <item row="10" column="4">
<widget class="QLineEdit" name="mapboxApiKeyLineEdit"> <widget class="QToolButton" name="resetNmeaBaudRateButton">
<property name="echoMode"> <property name="text">
<enum>QLineEdit::EchoMode::Password</enum> <string>...</string>
</property>
<property name="icon">
<iconset resource="../../../../scwx-qt.qrc">
<normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</iconset>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QComboBox" name="clockFormatComboBox"/>
</item>
<item row="12" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Mapbox API Key</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -348,110 +219,8 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="9" column="2"> <item row="19" column="4">
<widget class="QLineEdit" name="nmeaSourceLineEdit"/> <widget class="QToolButton" name="resetThemeFileButton">
</item>
<item row="10" column="0">
<widget class="QLabel" name="label_24">
<property name="text">
<string>GPS Baud Rate</string>
</property>
</widget>
</item>
<item row="6" column="4">
<widget class="QToolButton" name="resetGridHeightButton">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../../../scwx-qt.qrc">
<normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</iconset>
</property>
</widget>
</item>
<item row="12" column="4">
<widget class="QToolButton" name="resetMapboxApiKeyButton">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../../../scwx-qt.qrc">
<normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</iconset>
</property>
</widget>
</item>
<item row="5" column="4">
<widget class="QToolButton" name="resetGridWidthButton">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../../../scwx-qt.qrc">
<normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</iconset>
</property>
</widget>
</item>
<item row="4" column="4">
<widget class="QToolButton" name="resetDefaultTimeZoneButton">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../../../scwx-qt.qrc">
<normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</iconset>
</property>
</widget>
</item>
<item row="11" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Map Provider</string>
</property>
</widget>
</item>
<item row="5" column="2">
<widget class="QSpinBox" name="gridWidthSpinBox"/>
</item>
<item row="18" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Theme</string>
</property>
</widget>
</item>
<item row="13" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>MapTiler API Key</string>
</property>
</widget>
</item>
<item row="1" column="4">
<widget class="QToolButton" name="resetClockFormatButton">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../../../scwx-qt.qrc">
<normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</iconset>
</property>
</widget>
</item>
<item row="15" column="2">
<widget class="QLineEdit" name="customMapLayerLineEdit"/>
</item>
<item row="14" column="0">
<widget class="QLabel" name="label_26">
<property name="text">
<string>Custom Map URL</string>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QComboBox" name="defaultAlertActionComboBox"/>
</item>
<item row="10" column="4">
<widget class="QToolButton" name="resetNmeaBaudRateButton">
<property name="text"> <property name="text">
<string>...</string> <string>...</string>
</property> </property>
@ -468,33 +237,8 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="4"> <item row="9" column="4">
<widget class="QToolButton" name="resetDefaultAlertActionButton"> <widget class="QToolButton" name="resetNmeaSourceButton">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../../../scwx-qt.qrc">
<normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</iconset>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Grid Width</string>
</property>
</widget>
</item>
<item row="13" column="2">
<widget class="QLineEdit" name="mapTilerApiKeyLineEdit">
<property name="echoMode">
<enum>QLineEdit::EchoMode::Password</enum>
</property>
</widget>
</item>
<item row="8" column="4">
<widget class="QToolButton" name="resetPositioningPluginButton">
<property name="text"> <property name="text">
<string>...</string> <string>...</string>
</property> </property>
@ -511,18 +255,33 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="0"> <item row="13" column="2">
<widget class="QLabel" name="defaultAlertActionLabel"> <widget class="QLineEdit" name="mapTilerApiKeyLineEdit">
<property name="text"> <property name="echoMode">
<string>Default Alert Action</string> <enum>QLineEdit::EchoMode::Password</enum>
</property>
</widget>
</item>
<item row="12" column="2">
<widget class="QLineEdit" name="mapboxApiKeyLineEdit">
<property name="echoMode">
<enum>QLineEdit::EchoMode::Password</enum>
</property> </property>
</widget> </widget>
</item> </item>
<item row="8" column="2"> <item row="8" column="2">
<widget class="QComboBox" name="positioningPluginComboBox"/> <widget class="QComboBox" name="positioningPluginComboBox"/>
</item> </item>
<item row="1" column="2"> <item row="18" column="4">
<widget class="QComboBox" name="clockFormatComboBox"/> <widget class="QToolButton" name="resetThemeButton">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../../../scwx-qt.qrc">
<normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</iconset>
</property>
</widget>
</item> </item>
<item row="19" column="0"> <item row="19" column="0">
<widget class="QLabel" name="label_30"> <widget class="QLabel" name="label_30">
@ -531,8 +290,72 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="19" column="2"> <item row="5" column="2">
<widget class="QLineEdit" name="themeFileLineEdit"/> <widget class="QSpinBox" name="gridWidthSpinBox"/>
</item>
<item row="6" column="4">
<widget class="QToolButton" name="resetGridHeightButton">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../../../scwx-qt.qrc">
<normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</iconset>
</property>
</widget>
</item>
<item row="3" column="4">
<widget class="QToolButton" name="resetRadarSiteButton">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../../../scwx-qt.qrc">
<normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</iconset>
</property>
</widget>
</item>
<item row="4" column="2">
<widget class="QComboBox" name="defaultTimeZoneComboBox"/>
</item>
<item row="5" column="4">
<widget class="QToolButton" name="resetGridWidthButton">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../../../scwx-qt.qrc">
<normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</iconset>
</property>
</widget>
</item>
<item row="14" column="2">
<widget class="QLineEdit" name="customMapUrlLineEdit"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="defaultAlertActionLabel">
<property name="text">
<string>Default Alert Action</string>
</property>
</widget>
</item>
<item row="13" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>MapTiler API Key</string>
</property>
</widget>
</item>
<item row="11" column="4">
<widget class="QToolButton" name="resetMapProviderButton">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../../../scwx-qt.qrc">
<normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</iconset>
</property>
</widget>
</item> </item>
<item row="19" column="3"> <item row="19" column="3">
<widget class="QToolButton" name="themeFileSelectButton"> <widget class="QToolButton" name="themeFileSelectButton">
@ -541,8 +364,41 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="19" column="4"> <item row="9" column="0">
<widget class="QToolButton" name="resetThemeFileButton"> <widget class="QLabel" name="label_25">
<property name="text">
<string>GPS Source</string>
</property>
</widget>
</item>
<item row="15" column="2">
<widget class="QLineEdit" name="customMapLayerLineEdit"/>
</item>
<item row="14" column="0">
<widget class="QLabel" name="label_26">
<property name="text">
<string>Custom Map URL</string>
</property>
</widget>
</item>
<item row="10" column="2">
<widget class="QSpinBox" name="nmeaBaudRateSpinBox">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>999999999</number>
</property>
</widget>
</item>
<item row="11" column="2">
<widget class="QComboBox" name="mapProviderComboBox"/>
</item>
<item row="19" column="2">
<widget class="QLineEdit" name="themeFileLineEdit"/>
</item>
<item row="2" column="4">
<widget class="QToolButton" name="resetDefaultAlertActionButton">
<property name="text"> <property name="text">
<string>...</string> <string>...</string>
</property> </property>
@ -552,6 +408,181 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="15" column="4">
<widget class="QToolButton" name="resetCustomMapLayerButton">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../../../scwx-qt.qrc">
<normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</iconset>
</property>
</widget>
</item>
<item row="9" column="2">
<widget class="QLineEdit" name="nmeaSourceLineEdit"/>
</item>
<item row="11" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Map Provider</string>
</property>
</widget>
</item>
<item row="18" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Theme</string>
</property>
</widget>
</item>
<item row="4" column="4">
<widget class="QToolButton" name="resetDefaultTimeZoneButton">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../../../scwx-qt.qrc">
<normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</iconset>
</property>
</widget>
</item>
<item row="22" column="0">
<widget class="QLabel" name="label_22">
<property name="text">
<string>Warnings Provider</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Default Radar Site</string>
</property>
</widget>
</item>
<item row="14" column="4">
<widget class="QToolButton" name="resetCustomMapUrlButton">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../../../scwx-qt.qrc">
<normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</iconset>
</property>
</widget>
</item>
<item row="10" column="0">
<widget class="QLabel" name="label_24">
<property name="text">
<string>GPS Baud Rate</string>
</property>
</widget>
</item>
<item row="15" column="0">
<widget class="QLabel" name="label_27">
<property name="text">
<string>Custom Map Layer</string>
</property>
</widget>
</item>
<item row="6" column="2">
<widget class="QSpinBox" name="gridHeightSpinBox"/>
</item>
<item row="2" column="2">
<widget class="QComboBox" name="defaultAlertActionComboBox"/>
</item>
<item row="12" column="4">
<widget class="QToolButton" name="resetMapboxApiKeyButton">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../../../scwx-qt.qrc">
<normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</iconset>
</property>
</widget>
</item>
<item row="22" column="2">
<widget class="QLineEdit" name="warningsProviderLineEdit"/>
</item>
<item row="8" column="4">
<widget class="QToolButton" name="resetPositioningPluginButton">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../../../scwx-qt.qrc">
<normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</iconset>
</property>
</widget>
</item>
<item row="3" column="3">
<widget class="QToolButton" name="radarSiteSelectButton">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Grid Height</string>
</property>
</widget>
</item>
<item row="1" column="4">
<widget class="QToolButton" name="resetClockFormatButton">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../../../scwx-qt.qrc">
<normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</iconset>
</property>
</widget>
</item>
<item row="8" column="0">
<widget class="QLabel" name="label_23">
<property name="text">
<string>GPS Plugin</string>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QComboBox" name="radarSiteComboBox"/>
</item>
<item row="23" column="0">
<widget class="QLabel" name="label_31">
<property name="text">
<string>Radar Site Threshold</string>
</property>
</widget>
</item>
<item row="23" column="4">
<widget class="QToolButton" name="resetRadarSiteThresholdButton">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="../../../../scwx-qt.qrc">
<normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</normaloff>:/res/icons/font-awesome-6/rotate-left-solid.svg</iconset>
</property>
</widget>
</item>
<item row="23" column="2">
<widget class="QDoubleSpinBox" name="radarSiteThresholdSpinBox">
<property name="decimals">
<number>0</number>
</property>
<property name="maximum">
<double>999.000000000000000</double>
</property>
<property name="stepType">
<enum>QAbstractSpinBox::StepType::DefaultStepType</enum>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>