dateMenu: Make sure we always display a clock name

We currently use the city name for all location except named timezones.
However locations only have a city name if they are of level CITY or
DETACHED, or if they are of level WEATHER_STATION with a parent of level
CITY.

So when libgweather commit d7682676ac9 moved weather station locations from
cities to countries, it broke their names in the world clocks section.

To fix this, stop making assumptions about when we can use the city name
and simply try it first for all locations and fall back to the plain name
if its not available.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1150
This commit is contained in:
Florian Müllner 2019-04-12 02:10:04 +02:00
parent 5d9f80bc73
commit 22883f2fa2

View File

@ -139,8 +139,7 @@ var WorldClocksSection = class WorldClocksSection {
for (let i = 0; i < this._locations.length; i++) { for (let i = 0; i < this._locations.length; i++) {
let l = this._locations[i].location; let l = this._locations[i].location;
let name = l.get_level() == GWeather.LocationLevel.NAMED_TIMEZONE ? l.get_name() let name = l.get_city_name() || l.get_name();
: l.get_city_name();
let label = new St.Label({ style_class: 'world-clocks-city', let label = new St.Label({ style_class: 'world-clocks-city',
text: name, text: name,
x_align: Clutter.ActorAlign.START, x_align: Clutter.ActorAlign.START,