mirror of
https://github.com/dragonpilot/dragonpilot.git
synced 2026-06-23 23:12:04 +08:00
@@ -30,12 +30,12 @@ void MapETA::paintEvent(QPaintEvent *event) {
|
||||
void MapETA::updateETA(float s, float s_typical, float d) {
|
||||
// ETA
|
||||
auto eta_t = QDateTime::currentDateTime().addSecs(s).time();
|
||||
auto eta = format_24h ? std::array{eta_t.toString("HH:mm"), tr("eta")}
|
||||
: std::array{eta_t.toString("h:mm a").split(' ')[0], eta_t.toString("a")};
|
||||
auto eta = format_24h ? std::pair{eta_t.toString("HH:mm"), tr("eta")}
|
||||
: std::pair{eta_t.toString("h:mm a").split(' ')[0], eta_t.toString("a")};
|
||||
|
||||
// Remaining time
|
||||
auto remaining = s < 3600 ? std::array{QString::number(int(s / 60)), tr("min")}
|
||||
: std::array{QString("%1:%2").arg((int)s / 3600).arg(((int)s % 3600) / 60, 2, 10, QLatin1Char('0')), tr("hr")};
|
||||
auto remaining = s < 3600 ? std::pair{QString::number(int(s / 60)), tr("min")}
|
||||
: std::pair{QString("%1:%2").arg((int)s / 3600).arg(((int)s % 3600) / 60, 2, 10, QLatin1Char('0')), tr("hr")};
|
||||
QString color = "#25DA6E";
|
||||
if (s / s_typical > 1.5)
|
||||
color = "#DA3025";
|
||||
@@ -44,13 +44,13 @@ void MapETA::updateETA(float s, float s_typical, float d) {
|
||||
|
||||
// Distance
|
||||
float num = uiState()->scene.is_metric ? (d / 1000.0) : (d * METER_TO_MILE);
|
||||
auto distance = std::array{QString::number(num, 'f', num < 100 ? 1 : 0),
|
||||
uiState()->scene.is_metric ? tr("km") : tr("mi")};
|
||||
auto distance = std::pair{QString::number(num, 'f', num < 100 ? 1 : 0),
|
||||
uiState()->scene.is_metric ? tr("km") : tr("mi")};
|
||||
|
||||
eta_doc.setHtml(QString(R"(<body><table><tr style="vertical-align:bottom;"><td><b>%1</b></td><td>%2</td>
|
||||
<td style="padding-left:40px;color:%3;"><b>%4</b></td><td style="padding-right:40px;color:%3;">%5</td>
|
||||
<td><b>%6</b></td><td>%7</td></tr></body>)")
|
||||
.arg(eta[0], eta[1], color, remaining[0], remaining[1], distance[0], distance[1]));
|
||||
.arg(eta.first, eta.second, color, remaining.first, remaining.second, distance.first, distance.second));
|
||||
|
||||
setVisible(d >= MANEUVER_TRANSITION_THRESHOLD);
|
||||
update();
|
||||
|
||||
Reference in New Issue
Block a user