dateMenu: Fix temperature edge case

We currently format the temperature with a precision of 0, that is
with no digits after the decimal-point. As a result, a temperature
like -0.2 shows up as -0.

Math.trunc() has the same effect as `%.0f` and handles that edge
case correctly, but while at it, we can just as well round the
value properly.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3441

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1548>
This commit is contained in:
Florian Müllner 2020-12-20 23:11:26 +01:00 committed by Marge Bot
parent adaa5ec6bd
commit e85d127ae3

View File

@ -567,7 +567,7 @@ class WeatherSection extends St.Button {
ampm: false, ampm: false,
}); });
const [, tempValue] = fc.get_value_temp(GWeather.TemperatureUnit.DEFAULT); const [, tempValue] = fc.get_value_temp(GWeather.TemperatureUnit.DEFAULT);
const tempPrefix = tempValue >= 0 ? ' ' : ''; const tempPrefix = Math.round(tempValue) >= 0 ? ' ' : '';
let time = new St.Label({ let time = new St.Label({
style_class: 'weather-forecast-time', style_class: 'weather-forecast-time',
@ -582,7 +582,7 @@ class WeatherSection extends St.Button {
}); });
let temp = new St.Label({ let temp = new St.Label({
style_class: 'weather-forecast-temp', style_class: 'weather-forecast-temp',
text: '%s%.0f°'.format(tempPrefix, tempValue), text: '%s%d°'.format(tempPrefix, Math.round(tempValue)),
x_align: Clutter.ActorAlign.CENTER, x_align: Clutter.ActorAlign.CENTER,
}); });