diff --git a/scwx-qt/source/scwx/qt/ui/radar_site_dialog.cpp b/scwx-qt/source/scwx/qt/ui/radar_site_dialog.cpp index f6089b03..038e3bc1 100644 --- a/scwx-qt/source/scwx/qt/ui/radar_site_dialog.cpp +++ b/scwx-qt/source/scwx/qt/ui/radar_site_dialog.cpp @@ -4,6 +4,8 @@ #include #include +#include + namespace scwx { namespace qt @@ -17,8 +19,14 @@ static const auto logger_ = scwx::util::Logger::Create(logPrefix_); class RadarSiteDialogImpl { public: - explicit RadarSiteDialogImpl() {} + explicit RadarSiteDialogImpl() : + radarSiteModel_ {nullptr}, proxyModel_ {nullptr} + { + } ~RadarSiteDialogImpl() = default; + + model::RadarSiteModel* radarSiteModel_; + QSortFilterProxyModel* proxyModel_; }; RadarSiteDialog::RadarSiteDialog(QWidget* parent) : @@ -28,10 +36,12 @@ RadarSiteDialog::RadarSiteDialog(QWidget* parent) : { ui->setupUi(this); - model::RadarSiteModel* radarSiteModel = new model::RadarSiteModel(this); - ui->radarSiteView->setModel(radarSiteModel); + p->radarSiteModel_ = new model::RadarSiteModel(this); + p->proxyModel_ = new QSortFilterProxyModel(this); + p->proxyModel_->setSourceModel(p->radarSiteModel_); + ui->radarSiteView->setModel(p->proxyModel_); - for (int column = 0; column < radarSiteModel->columnCount(); column++) + for (int column = 0; column < p->radarSiteModel_->columnCount(); column++) { ui->radarSiteView->resizeColumnToContents(column); } diff --git a/scwx-qt/source/scwx/qt/ui/radar_site_dialog.ui b/scwx-qt/source/scwx/qt/ui/radar_site_dialog.ui index 21bfe09a..8c4232e3 100644 --- a/scwx-qt/source/scwx/qt/ui/radar_site_dialog.ui +++ b/scwx-qt/source/scwx/qt/ui/radar_site_dialog.ui @@ -19,6 +19,9 @@ 0 + + true +