ui: show empty box when speed limit is unavailable during nav (#24891)

* ui: show empty box when speed limit is unavailable during nav

* variant 2, long -
This commit is contained in:
Willem Melching
2022-06-17 19:47:37 +02:00
committed by GitHub
parent 2c877ce490
commit 33eaebfab2
+5 -3
View File
@@ -186,8 +186,8 @@ void NvgWindow::updateState(const UIState &s) {
speed_limit *= (s.scene.is_metric ? MS_TO_KPH : MS_TO_MPH);
setProperty("speedLimit", speed_limit);
setProperty("has_us_speed_limit", speed_limit > 1 && speed_limit_sign == cereal::NavInstruction::SpeedLimitSign::MUTCD);
setProperty("has_eu_speed_limit", speed_limit > 1 && speed_limit_sign == cereal::NavInstruction::SpeedLimitSign::VIENNA);
setProperty("has_us_speed_limit", sm["navInstruction"].getValid() && speed_limit_sign == cereal::NavInstruction::SpeedLimitSign::MUTCD);
setProperty("has_eu_speed_limit", sm["navInstruction"].getValid() && speed_limit_sign == cereal::NavInstruction::SpeedLimitSign::VIENNA);
setProperty("is_cruise_set", cruise_set);
setProperty("speed", cur_speed);
@@ -212,7 +212,7 @@ void NvgWindow::drawHud(QPainter &p) {
bg.setColorAt(1, QColor::fromRgbF(0, 0, 0, 0));
p.fillRect(0, 0, width(), header_h, bg);
QString speedLimitStr = QString::number(std::nearbyint(speedLimit));
QString speedLimitStr = (speedLimit > 1) ? QString::number(std::nearbyint(speedLimit)) : "";
QString speedStr = QString::number(std::nearbyint(speed));
QString setSpeedStr = is_cruise_set ? QString::number(std::nearbyint(setSpeed)) : "";
@@ -334,6 +334,8 @@ void NvgWindow::drawHud(QPainter &p) {
p.drawEllipse(center, inner_radius_2, inner_radius_2);
// Speed limit value
if (speedLimit < 1 ) center -= {0, 2}; // Make sure dash is centered if no speed limit available
int font_size = (speedLimitStr.size() >= 3) ? 62 : 70;
configFont(p, "Open Sans", font_size, "Bold");
QRect speed_limit_rect = getTextRect(p, Qt::AlignCenter, speedLimitStr);