mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-11-02 03:10:06 +00:00
Merge pull request #41 from dpaulat/feature/alert-action
Feature/alert action
This commit is contained in:
commit
acd77c6b0f
9 changed files with 280 additions and 71 deletions
|
|
@ -129,12 +129,14 @@ set(SRC_SETTINGS source/scwx/qt/settings/general_settings.cpp
|
||||||
source/scwx/qt/settings/settings_interface_base.cpp
|
source/scwx/qt/settings/settings_interface_base.cpp
|
||||||
source/scwx/qt/settings/settings_variable.cpp
|
source/scwx/qt/settings/settings_variable.cpp
|
||||||
source/scwx/qt/settings/settings_variable_base.cpp)
|
source/scwx/qt/settings/settings_variable_base.cpp)
|
||||||
set(HDR_TYPES source/scwx/qt/types/font_types.hpp
|
set(HDR_TYPES source/scwx/qt/types/alert_types.hpp
|
||||||
|
source/scwx/qt/types/font_types.hpp
|
||||||
source/scwx/qt/types/github_types.hpp
|
source/scwx/qt/types/github_types.hpp
|
||||||
source/scwx/qt/types/qt_types.hpp
|
source/scwx/qt/types/qt_types.hpp
|
||||||
source/scwx/qt/types/radar_product_record.hpp
|
source/scwx/qt/types/radar_product_record.hpp
|
||||||
source/scwx/qt/types/text_event_key.hpp)
|
source/scwx/qt/types/text_event_key.hpp)
|
||||||
set(SRC_TYPES source/scwx/qt/types/github_types.cpp
|
set(SRC_TYPES source/scwx/qt/types/alert_types.cpp
|
||||||
|
source/scwx/qt/types/github_types.cpp
|
||||||
source/scwx/qt/types/radar_product_record.cpp
|
source/scwx/qt/types/radar_product_record.cpp
|
||||||
source/scwx/qt/types/text_event_key.cpp)
|
source/scwx/qt/types/text_event_key.cpp)
|
||||||
set(HDR_UI source/scwx/qt/ui/about_dialog.hpp
|
set(HDR_UI source/scwx/qt/ui/about_dialog.hpp
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
#include <scwx/qt/settings/general_settings.hpp>
|
#include <scwx/qt/settings/general_settings.hpp>
|
||||||
#include <scwx/qt/settings/settings_container.hpp>
|
#include <scwx/qt/settings/settings_container.hpp>
|
||||||
#include <scwx/qt/map/map_provider.hpp>
|
#include <scwx/qt/map/map_provider.hpp>
|
||||||
|
#include <scwx/qt/types/alert_types.hpp>
|
||||||
|
|
||||||
#include <array>
|
#include <array>
|
||||||
|
|
||||||
|
|
@ -20,12 +21,21 @@ class GeneralSettingsImpl
|
||||||
public:
|
public:
|
||||||
explicit GeneralSettingsImpl()
|
explicit GeneralSettingsImpl()
|
||||||
{
|
{
|
||||||
|
std::string defaultDefaultAlertActionValue =
|
||||||
|
types::GetAlertActionName(types::AlertAction::Go);
|
||||||
|
std::string defaultMapProviderValue =
|
||||||
|
map::GetMapProviderName(map::MapProvider::MapTiler);
|
||||||
|
|
||||||
|
boost::to_lower(defaultDefaultAlertActionValue);
|
||||||
|
boost::to_lower(defaultMapProviderValue);
|
||||||
|
|
||||||
debugEnabled_.SetDefault(false);
|
debugEnabled_.SetDefault(false);
|
||||||
|
defaultAlertAction_.SetDefault(defaultDefaultAlertActionValue);
|
||||||
defaultRadarSite_.SetDefault("KLSX");
|
defaultRadarSite_.SetDefault("KLSX");
|
||||||
fontSizes_.SetDefault({16});
|
fontSizes_.SetDefault({16});
|
||||||
gridWidth_.SetDefault(1);
|
gridWidth_.SetDefault(1);
|
||||||
gridHeight_.SetDefault(1);
|
gridHeight_.SetDefault(1);
|
||||||
mapProvider_.SetDefault("maptiler");
|
mapProvider_.SetDefault(defaultMapProviderValue);
|
||||||
mapboxApiKey_.SetDefault("?");
|
mapboxApiKey_.SetDefault("?");
|
||||||
maptilerApiKey_.SetDefault("?");
|
maptilerApiKey_.SetDefault("?");
|
||||||
updateNotificationsEnabled_.SetDefault(true);
|
updateNotificationsEnabled_.SetDefault(true);
|
||||||
|
|
@ -38,6 +48,26 @@ public:
|
||||||
gridWidth_.SetMaximum(2);
|
gridWidth_.SetMaximum(2);
|
||||||
gridHeight_.SetMinimum(1);
|
gridHeight_.SetMinimum(1);
|
||||||
gridHeight_.SetMaximum(2);
|
gridHeight_.SetMaximum(2);
|
||||||
|
|
||||||
|
defaultAlertAction_.SetValidator(
|
||||||
|
[](const std::string& value)
|
||||||
|
{
|
||||||
|
for (types::AlertAction alertAction : types::AlertActionIterator())
|
||||||
|
{
|
||||||
|
// If the value is equal to a lower case alert action name
|
||||||
|
std::string alertActionName =
|
||||||
|
types::GetAlertActionName(alertAction);
|
||||||
|
boost::to_lower(alertActionName);
|
||||||
|
if (value == alertActionName)
|
||||||
|
{
|
||||||
|
// Regard as a match, valid
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// No match found, invalid
|
||||||
|
return false;
|
||||||
|
});
|
||||||
mapProvider_.SetValidator(
|
mapProvider_.SetValidator(
|
||||||
[](const std::string& value)
|
[](const std::string& value)
|
||||||
{
|
{
|
||||||
|
|
@ -66,6 +96,7 @@ public:
|
||||||
~GeneralSettingsImpl() {}
|
~GeneralSettingsImpl() {}
|
||||||
|
|
||||||
SettingsVariable<bool> debugEnabled_ {"debug_enabled"};
|
SettingsVariable<bool> debugEnabled_ {"debug_enabled"};
|
||||||
|
SettingsVariable<std::string> defaultAlertAction_ {"default_alert_action"};
|
||||||
SettingsVariable<std::string> defaultRadarSite_ {"default_radar_site"};
|
SettingsVariable<std::string> defaultRadarSite_ {"default_radar_site"};
|
||||||
SettingsContainer<std::vector<std::int64_t>> fontSizes_ {"font_sizes"};
|
SettingsContainer<std::vector<std::int64_t>> fontSizes_ {"font_sizes"};
|
||||||
SettingsVariable<std::int64_t> gridWidth_ {"grid_width"};
|
SettingsVariable<std::int64_t> gridWidth_ {"grid_width"};
|
||||||
|
|
@ -80,6 +111,7 @@ GeneralSettings::GeneralSettings() :
|
||||||
SettingsCategory("general"), p(std::make_unique<GeneralSettingsImpl>())
|
SettingsCategory("general"), p(std::make_unique<GeneralSettingsImpl>())
|
||||||
{
|
{
|
||||||
RegisterVariables({&p->debugEnabled_,
|
RegisterVariables({&p->debugEnabled_,
|
||||||
|
&p->defaultAlertAction_,
|
||||||
&p->defaultRadarSite_,
|
&p->defaultRadarSite_,
|
||||||
&p->fontSizes_,
|
&p->fontSizes_,
|
||||||
&p->gridWidth_,
|
&p->gridWidth_,
|
||||||
|
|
@ -101,6 +133,11 @@ SettingsVariable<bool>& GeneralSettings::debug_enabled() const
|
||||||
return p->debugEnabled_;
|
return p->debugEnabled_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SettingsVariable<std::string>& GeneralSettings::default_alert_action() const
|
||||||
|
{
|
||||||
|
return p->defaultAlertAction_;
|
||||||
|
}
|
||||||
|
|
||||||
SettingsVariable<std::string>& GeneralSettings::default_radar_site() const
|
SettingsVariable<std::string>& GeneralSettings::default_radar_site() const
|
||||||
{
|
{
|
||||||
return p->defaultRadarSite_;
|
return p->defaultRadarSite_;
|
||||||
|
|
@ -145,6 +182,7 @@ SettingsVariable<bool>& GeneralSettings::update_notifications_enabled() const
|
||||||
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_ &&
|
||||||
|
lhs.p->defaultAlertAction_ == rhs.p->defaultAlertAction_ &&
|
||||||
lhs.p->defaultRadarSite_ == rhs.p->defaultRadarSite_ &&
|
lhs.p->defaultRadarSite_ == rhs.p->defaultRadarSite_ &&
|
||||||
lhs.p->fontSizes_ == rhs.p->fontSizes_ &&
|
lhs.p->fontSizes_ == rhs.p->fontSizes_ &&
|
||||||
lhs.p->gridWidth_ == rhs.p->gridWidth_ &&
|
lhs.p->gridWidth_ == rhs.p->gridWidth_ &&
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@ public:
|
||||||
GeneralSettings& operator=(GeneralSettings&&) noexcept;
|
GeneralSettings& operator=(GeneralSettings&&) noexcept;
|
||||||
|
|
||||||
SettingsVariable<bool>& debug_enabled() const;
|
SettingsVariable<bool>& debug_enabled() const;
|
||||||
|
SettingsVariable<std::string>& default_alert_action() const;
|
||||||
SettingsVariable<std::string>& default_radar_site() const;
|
SettingsVariable<std::string>& default_radar_site() const;
|
||||||
SettingsContainer<std::vector<std::int64_t>>& font_sizes() const;
|
SettingsContainer<std::vector<std::int64_t>>& font_sizes() const;
|
||||||
SettingsVariable<std::int64_t>& grid_height() const;
|
SettingsVariable<std::int64_t>& grid_height() const;
|
||||||
|
|
|
||||||
42
scwx-qt/source/scwx/qt/types/alert_types.cpp
Normal file
42
scwx-qt/source/scwx/qt/types/alert_types.cpp
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
#include <scwx/qt/types/alert_types.hpp>
|
||||||
|
|
||||||
|
#include <boost/algorithm/string.hpp>
|
||||||
|
|
||||||
|
namespace scwx
|
||||||
|
{
|
||||||
|
namespace qt
|
||||||
|
{
|
||||||
|
namespace types
|
||||||
|
{
|
||||||
|
|
||||||
|
static const std::unordered_map<AlertAction, std::string> alertActionName_ {
|
||||||
|
{AlertAction::Go, "Go"},
|
||||||
|
{AlertAction::View, "View"},
|
||||||
|
{AlertAction::Unknown, "?"}};
|
||||||
|
|
||||||
|
AlertAction GetAlertAction(const std::string& name)
|
||||||
|
{
|
||||||
|
auto result =
|
||||||
|
std::find_if(alertActionName_.cbegin(),
|
||||||
|
alertActionName_.cend(),
|
||||||
|
[&](const std::pair<AlertAction, std::string>& pair) -> bool
|
||||||
|
{ return boost::iequals(pair.second, name); });
|
||||||
|
|
||||||
|
if (result != alertActionName_.cend())
|
||||||
|
{
|
||||||
|
return result->first;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return AlertAction::Unknown;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string GetAlertActionName(AlertAction alertAction)
|
||||||
|
{
|
||||||
|
return alertActionName_.at(alertAction);
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace types
|
||||||
|
} // namespace qt
|
||||||
|
} // namespace scwx
|
||||||
28
scwx-qt/source/scwx/qt/types/alert_types.hpp
Normal file
28
scwx-qt/source/scwx/qt/types/alert_types.hpp
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <scwx/util/iterator.hpp>
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
namespace scwx
|
||||||
|
{
|
||||||
|
namespace qt
|
||||||
|
{
|
||||||
|
namespace types
|
||||||
|
{
|
||||||
|
|
||||||
|
enum class AlertAction
|
||||||
|
{
|
||||||
|
Go,
|
||||||
|
View,
|
||||||
|
Unknown
|
||||||
|
};
|
||||||
|
typedef scwx::util::Iterator<AlertAction, AlertAction::Go, AlertAction::View>
|
||||||
|
AlertActionIterator;
|
||||||
|
|
||||||
|
AlertAction GetAlertAction(const std::string& name);
|
||||||
|
std::string GetAlertActionName(AlertAction alertAction);
|
||||||
|
|
||||||
|
} // namespace types
|
||||||
|
} // namespace qt
|
||||||
|
} // namespace scwx
|
||||||
|
|
@ -1,9 +1,11 @@
|
||||||
#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/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>
|
||||||
#include <scwx/util/logger.hpp>
|
#include <scwx/util/logger.hpp>
|
||||||
|
|
@ -165,6 +167,39 @@ void AlertDockWidgetImpl::ConnectSignals()
|
||||||
|
|
||||||
logger_->debug("Selected: {}", selectedAlertKey_.ToString());
|
logger_->debug("Selected: {}", selectedAlertKey_.ToString());
|
||||||
});
|
});
|
||||||
|
connect(self_->ui->alertView,
|
||||||
|
&QTreeView::doubleClicked,
|
||||||
|
this,
|
||||||
|
[this](const QModelIndex& /* index */)
|
||||||
|
{
|
||||||
|
// If an item is selected
|
||||||
|
if (selectedAlertKey_ != types::TextEventKey {})
|
||||||
|
{
|
||||||
|
types::AlertAction alertAction = types::GetAlertAction(
|
||||||
|
manager::SettingsManager::general_settings()
|
||||||
|
.default_alert_action()
|
||||||
|
.GetValue());
|
||||||
|
|
||||||
|
switch (alertAction)
|
||||||
|
{
|
||||||
|
case types::AlertAction::Go:
|
||||||
|
// Move map
|
||||||
|
emit self_->MoveMap(selectedAlertCentroid_.latitude_,
|
||||||
|
selectedAlertCentroid_.longitude_);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case types::AlertAction::View:
|
||||||
|
// View alert
|
||||||
|
alertDialog_->SelectAlert(selectedAlertKey_);
|
||||||
|
alertDialog_->show();
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
// Do nothing
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
connect(self_->ui->alertViewButton,
|
connect(self_->ui->alertViewButton,
|
||||||
&QPushButton::clicked,
|
&QPushButton::clicked,
|
||||||
this,
|
this,
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@
|
||||||
#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/settings_interface.hpp>
|
#include <scwx/qt/settings/settings_interface.hpp>
|
||||||
|
#include <scwx/qt/types/alert_types.hpp>
|
||||||
#include <scwx/qt/ui/radar_site_dialog.hpp>
|
#include <scwx/qt/ui/radar_site_dialog.hpp>
|
||||||
#include <scwx/qt/util/color.hpp>
|
#include <scwx/qt/util/color.hpp>
|
||||||
#include <scwx/qt/util/file.hpp>
|
#include <scwx/qt/util/file.hpp>
|
||||||
|
|
@ -88,6 +89,7 @@ public:
|
||||||
&mapProvider_,
|
&mapProvider_,
|
||||||
&mapboxApiKey_,
|
&mapboxApiKey_,
|
||||||
&mapTilerApiKey_,
|
&mapTilerApiKey_,
|
||||||
|
&defaultAlertAction_,
|
||||||
&updateNotificationsEnabled_,
|
&updateNotificationsEnabled_,
|
||||||
&debugEnabled_}}
|
&debugEnabled_}}
|
||||||
{
|
{
|
||||||
|
|
@ -144,8 +146,9 @@ public:
|
||||||
settings::SettingsInterface<std::string> mapProvider_ {};
|
settings::SettingsInterface<std::string> mapProvider_ {};
|
||||||
settings::SettingsInterface<std::string> mapboxApiKey_ {};
|
settings::SettingsInterface<std::string> mapboxApiKey_ {};
|
||||||
settings::SettingsInterface<std::string> mapTilerApiKey_ {};
|
settings::SettingsInterface<std::string> mapTilerApiKey_ {};
|
||||||
settings::SettingsInterface<bool> updateNotificationsEnabled_ {};
|
settings::SettingsInterface<std::string> defaultAlertAction_ {};
|
||||||
settings::SettingsInterface<bool> debugEnabled_ {};
|
settings::SettingsInterface<bool> updateNotificationsEnabled_ {};
|
||||||
|
settings::SettingsInterface<bool> debugEnabled_ {};
|
||||||
|
|
||||||
std::unordered_map<std::string, settings::SettingsInterface<std::string>>
|
std::unordered_map<std::string, settings::SettingsInterface<std::string>>
|
||||||
colorTables_ {};
|
colorTables_ {};
|
||||||
|
|
@ -331,10 +334,13 @@ void SettingsDialogImpl::SetupGeneralTab()
|
||||||
{
|
{
|
||||||
for (map::MapProvider mapProvider : map::MapProviderIterator())
|
for (map::MapProvider mapProvider : map::MapProviderIterator())
|
||||||
{
|
{
|
||||||
if (boost::iequals(text, map::GetMapProviderName(mapProvider)))
|
const std::string mapProviderName =
|
||||||
|
map::GetMapProviderName(mapProvider);
|
||||||
|
|
||||||
|
if (boost::iequals(text, mapProviderName))
|
||||||
{
|
{
|
||||||
// Return map provider label
|
// Return map provider label
|
||||||
return GetMapProviderName(mapProvider);
|
return mapProviderName;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -359,6 +365,42 @@ void SettingsDialogImpl::SetupGeneralTab()
|
||||||
mapTilerApiKey_.SetEditWidget(self_->ui->mapTilerApiKeyLineEdit);
|
mapTilerApiKey_.SetEditWidget(self_->ui->mapTilerApiKeyLineEdit);
|
||||||
mapTilerApiKey_.SetResetButton(self_->ui->resetMapTilerApiKeyButton);
|
mapTilerApiKey_.SetResetButton(self_->ui->resetMapTilerApiKeyButton);
|
||||||
|
|
||||||
|
for (const auto& alertAction : types::AlertActionIterator())
|
||||||
|
{
|
||||||
|
self_->ui->defaultAlertActionComboBox->addItem(
|
||||||
|
QString::fromStdString(types::GetAlertActionName(alertAction)));
|
||||||
|
}
|
||||||
|
|
||||||
|
defaultAlertAction_.SetSettingsVariable(
|
||||||
|
generalSettings.default_alert_action());
|
||||||
|
defaultAlertAction_.SetMapFromValueFunction(
|
||||||
|
[](const std::string& text) -> std::string
|
||||||
|
{
|
||||||
|
for (types::AlertAction alertAction : types::AlertActionIterator())
|
||||||
|
{
|
||||||
|
const std::string alertActionName =
|
||||||
|
types::GetAlertActionName(alertAction);
|
||||||
|
|
||||||
|
if (boost::iequals(text, alertActionName))
|
||||||
|
{
|
||||||
|
// Return alert action label
|
||||||
|
return alertActionName;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Alert action label not found, return unknown
|
||||||
|
return "?";
|
||||||
|
});
|
||||||
|
defaultAlertAction_.SetMapToValueFunction(
|
||||||
|
[](std::string text) -> std::string
|
||||||
|
{
|
||||||
|
// Convert label to lower case and return
|
||||||
|
boost::to_lower(text);
|
||||||
|
return text;
|
||||||
|
});
|
||||||
|
defaultAlertAction_.SetEditWidget(self_->ui->defaultAlertActionComboBox);
|
||||||
|
defaultAlertAction_.SetResetButton(self_->ui->resetDefaultAlertActionButton);
|
||||||
|
|
||||||
updateNotificationsEnabled_.SetSettingsVariable(
|
updateNotificationsEnabled_.SetSettingsVariable(
|
||||||
generalSettings.update_notifications_enabled());
|
generalSettings.update_notifications_enabled());
|
||||||
updateNotificationsEnabled_.SetEditWidget(
|
updateNotificationsEnabled_.SetEditWidget(
|
||||||
|
|
|
||||||
|
|
@ -109,39 +109,58 @@
|
||||||
<property name="bottomMargin">
|
<property name="bottomMargin">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
|
<item row="5" column="2">
|
||||||
|
<widget class="QComboBox" name="mapProviderComboBox"/>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_5">
|
||||||
|
<property name="text">
|
||||||
|
<string>Font Sizes</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="2">
|
||||||
|
<widget class="QComboBox" name="radarSiteComboBox"/>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>Default Radar Site</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" 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="1" column="2">
|
<item row="1" column="2">
|
||||||
<widget class="QLineEdit" name="fontSizesLineEdit"/>
|
<widget class="QLineEdit" name="fontSizesLineEdit"/>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="3">
|
<item row="6" column="0">
|
||||||
<widget class="QToolButton" name="radarSiteSelectButton">
|
<widget class="QLabel" name="label_4">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>...</string>
|
<string>Mapbox API Key</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="4">
|
<item row="7" column="0">
|
||||||
<widget class="QToolButton" name="resetRadarSiteButton">
|
<widget class="QLabel" name="label_6">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>...</string>
|
<string>MapTiler API Key</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="2" column="4">
|
<item row="2" column="2">
|
||||||
<widget class="QToolButton" name="resetGridWidthButton">
|
<widget class="QSpinBox" name="gridWidthSpinBox"/>
|
||||||
<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="6" column="4">
|
<item row="7" column="4">
|
||||||
<widget class="QToolButton" name="resetMapTilerApiKeyButton">
|
<widget class="QToolButton" name="resetMapTilerApiKeyButton">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>...</string>
|
<string>...</string>
|
||||||
|
|
@ -152,17 +171,10 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="0">
|
<item row="0" column="3">
|
||||||
<widget class="QLabel" name="label_5">
|
<widget class="QToolButton" name="radarSiteSelectButton">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Font Sizes</string>
|
<string>...</string>
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="6" column="0">
|
|
||||||
<widget class="QLabel" name="label_6">
|
|
||||||
<property name="text">
|
|
||||||
<string>MapTiler API Key</string>
|
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
|
@ -177,8 +189,22 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="2">
|
<item row="7" column="2">
|
||||||
<widget class="QSpinBox" name="gridWidthSpinBox"/>
|
<widget class="QLineEdit" name="mapTilerApiKeyLineEdit"/>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="2">
|
||||||
|
<widget class="QSpinBox" name="gridHeightSpinBox"/>
|
||||||
|
</item>
|
||||||
|
<item row="0" 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>
|
||||||
<item row="3" column="0">
|
<item row="3" column="0">
|
||||||
<widget class="QLabel" name="label_3">
|
<widget class="QLabel" name="label_3">
|
||||||
|
|
@ -199,12 +225,9 @@
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="6" column="2">
|
<item row="6" column="2">
|
||||||
<widget class="QLineEdit" name="mapTilerApiKeyLineEdit"/>
|
<widget class="QLineEdit" name="mapboxApiKeyLineEdit"/>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="2">
|
<item row="6" column="4">
|
||||||
<widget class="QComboBox" name="radarSiteComboBox"/>
|
|
||||||
</item>
|
|
||||||
<item row="5" column="4">
|
|
||||||
<widget class="QToolButton" name="resetMapboxApiKeyButton">
|
<widget class="QToolButton" name="resetMapboxApiKeyButton">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>...</string>
|
<string>...</string>
|
||||||
|
|
@ -215,19 +238,6 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="5" column="2">
|
|
||||||
<widget class="QLineEdit" name="mapboxApiKeyLineEdit"/>
|
|
||||||
</item>
|
|
||||||
<item row="5" column="0">
|
|
||||||
<widget class="QLabel" name="label_4">
|
|
||||||
<property name="text">
|
|
||||||
<string>Mapbox API Key</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="2">
|
|
||||||
<widget class="QSpinBox" name="gridHeightSpinBox"/>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="0">
|
<item row="2" column="0">
|
||||||
<widget class="QLabel" name="label_2">
|
<widget class="QLabel" name="label_2">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
|
@ -235,25 +245,36 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="0">
|
<item row="5" column="0">
|
||||||
<widget class="QLabel" name="label">
|
|
||||||
<property name="text">
|
|
||||||
<string>Default Radar Site</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="4" column="0">
|
|
||||||
<widget class="QLabel" name="label_7">
|
<widget class="QLabel" name="label_7">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Map Provider</string>
|
<string>Map Provider</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="2">
|
<item row="2" column="4">
|
||||||
<widget class="QComboBox" name="mapProviderComboBox"/>
|
<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>
|
||||||
<item row="4" column="4">
|
<item row="8" column="0">
|
||||||
<widget class="QToolButton" name="resetMapProviderButton">
|
<widget class="QLabel" name="defaultAlertActionLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>Default Alert Action</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="8" column="2">
|
||||||
|
<widget class="QComboBox" name="defaultAlertActionComboBox"/>
|
||||||
|
</item>
|
||||||
|
<item row="8" column="4">
|
||||||
|
<widget class="QToolButton" name="resetDefaultAlertActionButton">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>...</string>
|
<string>...</string>
|
||||||
</property>
|
</property>
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
Subproject commit 938b0240e51aff37530adc679a11d0e65e5e96ce
|
Subproject commit 93eb0d154ce70675812c5569a51c4fdadedbc24d
|
||||||
Loading…
Add table
Add a link
Reference in a new issue