diff --git a/scwx-qt/res/icons/font-awesome-6/earth-americas-solid.svg b/scwx-qt/res/icons/font-awesome-6/earth-americas-solid.svg
new file mode 100644
index 00000000..f427a71e
--- /dev/null
+++ b/scwx-qt/res/icons/font-awesome-6/earth-americas-solid.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/scwx-qt/scwx-qt.cmake b/scwx-qt/scwx-qt.cmake
index 3856117f..691741a9 100644
--- a/scwx-qt/scwx-qt.cmake
+++ b/scwx-qt/scwx-qt.cmake
@@ -160,6 +160,7 @@ set(HDR_UI source/scwx/qt/ui/about_dialog.hpp
source/scwx/qt/ui/level2_products_widget.hpp
source/scwx/qt/ui/level2_settings_widget.hpp
source/scwx/qt/ui/level3_products_widget.hpp
+ source/scwx/qt/ui/placefile_settings_widget.hpp
source/scwx/qt/ui/radar_site_dialog.hpp
source/scwx/qt/ui/settings_dialog.hpp
source/scwx/qt/ui/update_dialog.hpp)
@@ -174,6 +175,7 @@ set(SRC_UI source/scwx/qt/ui/about_dialog.cpp
source/scwx/qt/ui/level2_products_widget.cpp
source/scwx/qt/ui/level2_settings_widget.cpp
source/scwx/qt/ui/level3_products_widget.cpp
+ source/scwx/qt/ui/placefile_settings_widget.cpp
source/scwx/qt/ui/radar_site_dialog.cpp
source/scwx/qt/ui/settings_dialog.cpp
source/scwx/qt/ui/update_dialog.cpp)
@@ -183,6 +185,7 @@ set(UI_UI source/scwx/qt/ui/about_dialog.ui
source/scwx/qt/ui/animation_dock_widget.ui
source/scwx/qt/ui/collapsible_group.ui
source/scwx/qt/ui/imgui_debug_dialog.ui
+ source/scwx/qt/ui/placefile_settings_widget.ui
source/scwx/qt/ui/radar_site_dialog.ui
source/scwx/qt/ui/settings_dialog.ui
source/scwx/qt/ui/update_dialog.ui)
diff --git a/scwx-qt/scwx-qt.qrc b/scwx-qt/scwx-qt.qrc
index 8f29eed1..6d786fff 100644
--- a/scwx-qt/scwx-qt.qrc
+++ b/scwx-qt/scwx-qt.qrc
@@ -21,6 +21,7 @@
res/icons/font-awesome-6/backward-step-solid.svg
res/icons/font-awesome-6/book-solid.svg
res/icons/font-awesome-6/discord.svg
+ res/icons/font-awesome-6/earth-americas-solid.svg
res/icons/font-awesome-6/forward-step-solid.svg
res/icons/font-awesome-6/gears-solid.svg
res/icons/font-awesome-6/github.svg
diff --git a/scwx-qt/source/scwx/qt/ui/placefile_settings_widget.cpp b/scwx-qt/source/scwx/qt/ui/placefile_settings_widget.cpp
new file mode 100644
index 00000000..c8578c78
--- /dev/null
+++ b/scwx-qt/source/scwx/qt/ui/placefile_settings_widget.cpp
@@ -0,0 +1,38 @@
+#include "placefile_settings_widget.hpp"
+#include "ui_placefile_settings_widget.h"
+
+namespace scwx
+{
+namespace qt
+{
+namespace ui
+{
+
+class PlacefileSettingsWidgetImpl
+{
+public:
+ explicit PlacefileSettingsWidgetImpl(PlacefileSettingsWidget* self) :
+ self_ {self}
+ {
+ }
+ ~PlacefileSettingsWidgetImpl() = default;
+
+ PlacefileSettingsWidget* self_;
+};
+
+PlacefileSettingsWidget::PlacefileSettingsWidget(QWidget* parent) :
+ QFrame(parent),
+ p {std::make_unique(this)},
+ ui(new Ui::PlacefileSettingsWidget)
+{
+ ui->setupUi(this);
+}
+
+PlacefileSettingsWidget::~PlacefileSettingsWidget()
+{
+ delete ui;
+}
+
+} // namespace ui
+} // namespace qt
+} // namespace scwx
diff --git a/scwx-qt/source/scwx/qt/ui/placefile_settings_widget.hpp b/scwx-qt/source/scwx/qt/ui/placefile_settings_widget.hpp
new file mode 100644
index 00000000..69628446
--- /dev/null
+++ b/scwx-qt/source/scwx/qt/ui/placefile_settings_widget.hpp
@@ -0,0 +1,35 @@
+#pragma once
+
+#include
+
+namespace Ui
+{
+class PlacefileSettingsWidget;
+}
+
+namespace scwx
+{
+namespace qt
+{
+namespace ui
+{
+
+class PlacefileSettingsWidgetImpl;
+
+class PlacefileSettingsWidget : public QFrame
+{
+ Q_OBJECT
+
+public:
+ explicit PlacefileSettingsWidget(QWidget* parent = nullptr);
+ ~PlacefileSettingsWidget();
+
+private:
+ friend class PlacefileSettingsWidgetImpl;
+ std::unique_ptr p;
+ Ui::PlacefileSettingsWidget* ui;
+};
+
+} // namespace ui
+} // namespace qt
+} // namespace scwx
diff --git a/scwx-qt/source/scwx/qt/ui/placefile_settings_widget.ui b/scwx-qt/source/scwx/qt/ui/placefile_settings_widget.ui
new file mode 100644
index 00000000..145aef86
--- /dev/null
+++ b/scwx-qt/source/scwx/qt/ui/placefile_settings_widget.ui
@@ -0,0 +1,88 @@
+
+
+ PlacefileSettingsWidget
+
+
+
+ 0
+ 0
+ 400
+ 300
+
+
+
+ Frame
+
+
+ -
+
+
+ -
+
+
+ QFrame::StyledPanel
+
+
+ QFrame::Raised
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+ Filter
+
+
+ true
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ &Add
+
+
+
+ -
+
+
+ false
+
+
+ &Remove
+
+
+
+
+
+
+
+
+
+
+
diff --git a/scwx-qt/source/scwx/qt/ui/settings_dialog.cpp b/scwx-qt/source/scwx/qt/ui/settings_dialog.cpp
index ee962794..e3672c5f 100644
--- a/scwx-qt/source/scwx/qt/ui/settings_dialog.cpp
+++ b/scwx-qt/source/scwx/qt/ui/settings_dialog.cpp
@@ -8,6 +8,7 @@
#include
#include
#include
+#include
#include
#include
#include
@@ -115,6 +116,7 @@ public:
void SetupGeneralTab();
void SetupPalettesColorTablesTab();
void SetupPalettesAlertsTab();
+ void SetupPlacefilesTab();
void ShowColorDialog(QLineEdit* lineEdit, QFrame* frame = nullptr);
void UpdateRadarDialogLocation(const std::string& id);
@@ -136,8 +138,9 @@ public:
RadarSiteLabel(std::shared_ptr& radarSite);
static void SetBackgroundColor(const std::string& value, QFrame* frame);
- SettingsDialog* self_;
- RadarSiteDialog* radarSiteDialog_;
+ SettingsDialog* self_;
+ PlacefileSettingsWidget* placefileSettingsWidget_;
+ RadarSiteDialog* radarSiteDialog_;
settings::SettingsInterface defaultRadarSite_ {};
settings::SettingsInterface> fontSizes_ {};
@@ -178,6 +181,9 @@ SettingsDialog::SettingsDialog(QWidget* parent) :
// Palettes > Alerts
p->SetupPalettesAlertsTab();
+ // Placefiles
+ p->SetupPlacefilesTab();
+
p->ConnectSignals();
}
@@ -618,6 +624,12 @@ void SettingsDialogImpl::SetupPalettesAlertsTab()
}
}
+void SettingsDialogImpl::SetupPlacefilesTab()
+{
+ placefileSettingsWidget_ = new PlacefileSettingsWidget(self_);
+ self_->ui->placefiles->layout()->addWidget(placefileSettingsWidget_);
+}
+
QImage SettingsDialogImpl::GenerateColorTableImage(
std::shared_ptr colorTable,
std::uint16_t min,
diff --git a/scwx-qt/source/scwx/qt/ui/settings_dialog.ui b/scwx-qt/source/scwx/qt/ui/settings_dialog.ui
index e12f8909..9a4b2c86 100644
--- a/scwx-qt/source/scwx/qt/ui/settings_dialog.ui
+++ b/scwx-qt/source/scwx/qt/ui/settings_dialog.ui
@@ -73,6 +73,15 @@
:/res/icons/font-awesome-6/palette-solid.svg:/res/icons/font-awesome-6/palette-solid.svg
+ -
+
+ Placefiles
+
+
+
+ :/res/icons/font-awesome-6/earth-americas-solid.svg:/res/icons/font-awesome-6/earth-americas-solid.svg
+
+
-
@@ -338,8 +347,8 @@
0
0
- 66
- 18
+ 481
+ 382
@@ -410,6 +419,22 @@
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+