diff --git a/scwx-qt/source/scwx/qt/ui/settings_dialog.cpp b/scwx-qt/source/scwx/qt/ui/settings_dialog.cpp index 359bd0b2..3e1b565a 100644 --- a/scwx-qt/source/scwx/qt/ui/settings_dialog.cpp +++ b/scwx-qt/source/scwx/qt/ui/settings_dialog.cpp @@ -2,6 +2,7 @@ #include "ui_settings_dialog.h" #include +#include #include #include @@ -81,6 +82,25 @@ SettingsDialog::~SettingsDialog() void SettingsDialogImpl::SetupGeneralTab() { + auto radarSites = config::RadarSite::GetAll(); + + // Sort radar sites by ID + std::sort(radarSites.begin(), + radarSites.end(), + [](const std::shared_ptr& a, + const std::shared_ptr& b) + { return a->id() < b->id(); }); + + // Add sorted radar sites + for (std::shared_ptr& radarSite : radarSites) + { + QString text = + QString("%1 (%2)") + .arg(QString::fromStdString(radarSite->id())) + .arg(QString::fromStdString(radarSite->location_name())); + self_->ui->radarSiteComboBox->addItem(text); + } + settings::GeneralSettings& generalSettings = manager::SettingsManager::general_settings();