diff --git a/scwx-qt/scwx-qt.cmake b/scwx-qt/scwx-qt.cmake index 246432b6..004e1e3e 100644 --- a/scwx-qt/scwx-qt.cmake +++ b/scwx-qt/scwx-qt.cmake @@ -126,7 +126,8 @@ set(HDR_UI source/scwx/qt/ui/alert_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/radar_site_dialog.hpp) + source/scwx/qt/ui/radar_site_dialog.hpp + source/scwx/qt/ui/settings_dialog.hpp) set(SRC_UI source/scwx/qt/ui/alert_dialog.cpp source/scwx/qt/ui/alert_dock_widget.cpp source/scwx/qt/ui/flow_layout.cpp @@ -135,11 +136,13 @@ set(SRC_UI source/scwx/qt/ui/alert_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/radar_site_dialog.cpp) + source/scwx/qt/ui/radar_site_dialog.cpp + source/scwx/qt/ui/settings_dialog.cpp) set(UI_UI source/scwx/qt/ui/alert_dialog.ui source/scwx/qt/ui/alert_dock_widget.ui source/scwx/qt/ui/imgui_debug_dialog.ui - source/scwx/qt/ui/radar_site_dialog.ui) + source/scwx/qt/ui/radar_site_dialog.ui + source/scwx/qt/ui/settings_dialog.ui) set(HDR_UTIL source/scwx/qt/util/font.hpp source/scwx/qt/util/font_buffer.hpp source/scwx/qt/util/json.hpp diff --git a/scwx-qt/source/scwx/qt/ui/settings_dialog.cpp b/scwx-qt/source/scwx/qt/ui/settings_dialog.cpp new file mode 100644 index 00000000..debcc980 --- /dev/null +++ b/scwx-qt/source/scwx/qt/ui/settings_dialog.cpp @@ -0,0 +1,33 @@ +#include "settings_dialog.hpp" +#include "ui_settings_dialog.h" + +namespace scwx +{ +namespace qt +{ +namespace ui +{ + +class SettingsDialogImpl +{ +public: + explicit SettingsDialogImpl() {} + ~SettingsDialogImpl() = default; +}; + +SettingsDialog::SettingsDialog(QWidget* parent) : + QDialog(parent), + p {std::make_unique()}, + ui(new Ui::SettingsDialog) +{ + ui->setupUi(this); +} + +SettingsDialog::~SettingsDialog() +{ + delete ui; +} + +} // namespace ui +} // namespace qt +} // namespace scwx diff --git a/scwx-qt/source/scwx/qt/ui/settings_dialog.hpp b/scwx-qt/source/scwx/qt/ui/settings_dialog.hpp new file mode 100644 index 00000000..82f00905 --- /dev/null +++ b/scwx-qt/source/scwx/qt/ui/settings_dialog.hpp @@ -0,0 +1,38 @@ +#pragma once + +#include + +namespace Ui +{ +class SettingsDialog; +} + +namespace scwx +{ +namespace qt +{ +namespace ui +{ + +class SettingsDialogImpl; + +class SettingsDialog : public QDialog +{ + Q_OBJECT + +private: + Q_DISABLE_COPY(SettingsDialog) + +public: + explicit SettingsDialog(QWidget* parent = nullptr); + ~SettingsDialog(); + +private: + friend SettingsDialogImpl; + std::unique_ptr p; + Ui::SettingsDialog* ui; +}; + +} // namespace ui +} // namespace qt +} // namespace scwx diff --git a/scwx-qt/source/scwx/qt/ui/settings_dialog.ui b/scwx-qt/source/scwx/qt/ui/settings_dialog.ui new file mode 100644 index 00000000..9b639187 --- /dev/null +++ b/scwx-qt/source/scwx/qt/ui/settings_dialog.ui @@ -0,0 +1,71 @@ + + + + + SettingsDialog + + + + 0 + 0 + 400 + 300 + + + + Dialog + + + + + 30 + 240 + 341 + 32 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + buttonBox + accepted() + SettingsDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + SettingsDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + +