mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 19:10:06 +00:00
made alerts use unit setting for distance
This commit is contained in:
parent
c3a6d861bb
commit
c072d24de0
2 changed files with 31 additions and 28 deletions
|
|
@ -1,13 +1,16 @@
|
||||||
#include <scwx/qt/model/alert_model.hpp>
|
#include <scwx/qt/model/alert_model.hpp>
|
||||||
#include <scwx/qt/config/county_database.hpp>
|
#include <scwx/qt/config/county_database.hpp>
|
||||||
#include <scwx/qt/manager/text_event_manager.hpp>
|
#include <scwx/qt/manager/text_event_manager.hpp>
|
||||||
|
#include <scwx/qt/settings/unit_settings.hpp>
|
||||||
#include <scwx/qt/types/qt_types.hpp>
|
#include <scwx/qt/types/qt_types.hpp>
|
||||||
|
#include <scwx/qt/types/unit_types.hpp>
|
||||||
#include <scwx/qt/util/geographic_lib.hpp>
|
#include <scwx/qt/util/geographic_lib.hpp>
|
||||||
#include <scwx/common/geographic.hpp>
|
#include <scwx/common/geographic.hpp>
|
||||||
#include <scwx/util/logger.hpp>
|
#include <scwx/util/logger.hpp>
|
||||||
#include <scwx/util/strings.hpp>
|
#include <scwx/util/strings.hpp>
|
||||||
#include <scwx/util/time.hpp>
|
#include <scwx/util/time.hpp>
|
||||||
|
|
||||||
|
|
||||||
#include <format>
|
#include <format>
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
|
|
@ -73,7 +76,6 @@ public:
|
||||||
double,
|
double,
|
||||||
types::TextEventHash<types::TextEventKey>>
|
types::TextEventHash<types::TextEventKey>>
|
||||||
distanceMap_;
|
distanceMap_;
|
||||||
scwx::common::DistanceType distanceDisplay_;
|
|
||||||
scwx::common::Coordinate previousPosition_;
|
scwx::common::Coordinate previousPosition_;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -182,18 +184,19 @@ QVariant AlertModel::data(const QModelIndex& index, int role) const
|
||||||
case static_cast<int>(Column::Distance):
|
case static_cast<int>(Column::Distance):
|
||||||
if (role == Qt::DisplayRole)
|
if (role == Qt::DisplayRole)
|
||||||
{
|
{
|
||||||
if (p->distanceDisplay_ == scwx::common::DistanceType::Miles)
|
const std::string distanceUnitName =
|
||||||
{
|
settings::UnitSettings::Instance().distance_units().GetValue();
|
||||||
return QString("%1 mi").arg(
|
types::DistanceUnits distanceUnits =
|
||||||
static_cast<uint32_t>(p->distanceMap_.at(textEventKey) *
|
types::GetDistanceUnitsFromName(distanceUnitName);
|
||||||
scwx::common::kMilesPerMeter));
|
double distanceScale = types::GetDistanceUnitsScale(distanceUnits);
|
||||||
}
|
std::string abbreviation =
|
||||||
else
|
types::GetDistanceUnitsAbbreviation(distanceUnits);
|
||||||
{
|
|
||||||
return QString("%1 km").arg(
|
return QString("%1 %2")
|
||||||
static_cast<uint32_t>(p->distanceMap_.at(textEventKey) *
|
.arg(static_cast<uint32_t>(p->distanceMap_.at(textEventKey) *
|
||||||
scwx::common::kKilometersPerMeter));
|
scwx::common::kKilometersPerMeter *
|
||||||
}
|
distanceScale))
|
||||||
|
.arg(QString::fromStdString(abbreviation));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -419,7 +422,6 @@ AlertModelImpl::AlertModelImpl() :
|
||||||
textEventKeys_ {},
|
textEventKeys_ {},
|
||||||
geodesic_(util::GeographicLib::DefaultGeodesic()),
|
geodesic_(util::GeographicLib::DefaultGeodesic()),
|
||||||
distanceMap_ {},
|
distanceMap_ {},
|
||||||
distanceDisplay_ {scwx::common::DistanceType::Miles},
|
|
||||||
previousPosition_ {}
|
previousPosition_ {}
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
#include <scwx/qt/model/radar_site_model.hpp>
|
#include <scwx/qt/model/radar_site_model.hpp>
|
||||||
#include <scwx/qt/config/radar_site.hpp>
|
#include <scwx/qt/config/radar_site.hpp>
|
||||||
|
#include <scwx/qt/settings/unit_settings.hpp>
|
||||||
#include <scwx/qt/types/qt_types.hpp>
|
#include <scwx/qt/types/qt_types.hpp>
|
||||||
|
#include <scwx/qt/types/unit_types.hpp>
|
||||||
#include <scwx/qt/util/geographic_lib.hpp>
|
#include <scwx/qt/util/geographic_lib.hpp>
|
||||||
#include <scwx/qt/util/json.hpp>
|
#include <scwx/qt/util/json.hpp>
|
||||||
#include <scwx/common/geographic.hpp>
|
#include <scwx/common/geographic.hpp>
|
||||||
|
|
@ -36,7 +38,6 @@ public:
|
||||||
radarSites_ {},
|
radarSites_ {},
|
||||||
geodesic_(util::GeographicLib::DefaultGeodesic()),
|
geodesic_(util::GeographicLib::DefaultGeodesic()),
|
||||||
distanceMap_ {},
|
distanceMap_ {},
|
||||||
distanceDisplay_ {scwx::common::DistanceType::Miles},
|
|
||||||
previousPosition_ {}
|
previousPosition_ {}
|
||||||
{
|
{
|
||||||
// Get all loaded radar sites
|
// Get all loaded radar sites
|
||||||
|
|
@ -64,7 +65,6 @@ public:
|
||||||
const GeographicLib::Geodesic& geodesic_;
|
const GeographicLib::Geodesic& geodesic_;
|
||||||
|
|
||||||
std::unordered_map<std::string, double> distanceMap_;
|
std::unordered_map<std::string, double> distanceMap_;
|
||||||
scwx::common::DistanceType distanceDisplay_;
|
|
||||||
scwx::common::Coordinate previousPosition_;
|
scwx::common::Coordinate previousPosition_;
|
||||||
|
|
||||||
QIcon starIcon_ {":/res/icons/font-awesome-6/star-solid.svg"};
|
QIcon starIcon_ {":/res/icons/font-awesome-6/star-solid.svg"};
|
||||||
|
|
@ -213,18 +213,19 @@ QVariant RadarSiteModel::data(const QModelIndex& index, int role) const
|
||||||
case static_cast<int>(Column::Distance):
|
case static_cast<int>(Column::Distance):
|
||||||
if (role == Qt::DisplayRole)
|
if (role == Qt::DisplayRole)
|
||||||
{
|
{
|
||||||
if (p->distanceDisplay_ == scwx::common::DistanceType::Miles)
|
const std::string distanceUnitName =
|
||||||
{
|
settings::UnitSettings::Instance().distance_units().GetValue();
|
||||||
return QString("%1 mi").arg(
|
types::DistanceUnits distanceUnits =
|
||||||
static_cast<uint32_t>(p->distanceMap_.at(site->id()) *
|
types::GetDistanceUnitsFromName(distanceUnitName);
|
||||||
scwx::common::kMilesPerMeter));
|
double distanceScale = types::GetDistanceUnitsScale(distanceUnits);
|
||||||
}
|
std::string abbreviation =
|
||||||
else
|
types::GetDistanceUnitsAbbreviation(distanceUnits);
|
||||||
{
|
|
||||||
return QString("%1 km").arg(
|
return QString("%1 %2")
|
||||||
static_cast<uint32_t>(p->distanceMap_.at(site->id()) *
|
.arg(static_cast<uint32_t>(p->distanceMap_.at(site->id()) *
|
||||||
scwx::common::kKilometersPerMeter));
|
scwx::common::kKilometersPerMeter *
|
||||||
}
|
distanceScale))
|
||||||
|
.arg(QString::fromStdString(abbreviation));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue