diff --git a/modules/clock/clock-applet.c b/modules/clock/clock-applet.c index 70ccfb7a0fcb89b56c519323919781b8c4d2b187..2de5dd007cb1b02d6f17b647ae518f7157a48233 100644 --- a/modules/clock/clock-applet.c +++ b/modules/clock/clock-applet.c @@ -837,6 +837,16 @@ static const GActionEntry clock_menu_actions [] = { { NULL } }; +static void +expand_locations_changed (GSettings *settings, + const gchar *key, + ClockApplet *clock) +{ + if (clock->calendar_popup != NULL) { + position_calendar_popup (clock); + } +} + static void format_changed (GSettings *settings, const gchar *key, @@ -945,6 +955,9 @@ locations_changed (GSettings *settings, if (cd->clock_vbox) create_cities_section (cd); + + if (cd->calendar_popup) + position_calendar_popup (cd); } static void @@ -1841,6 +1854,11 @@ clock_applet_constructed (GObject *object) G_CALLBACK (show_week_changed), self); + g_signal_connect (self->applet_settings, + "changed::expand-locations", + G_CALLBACK (expand_locations_changed), + self); + g_signal_connect (self->applet_settings, "changed::locations", G_CALLBACK (locations_changed),