aboutsummaryrefslogtreecommitdiff
path: root/src/indicator-datetime.c
diff options
context:
space:
mode:
authorSebastien Bacher <seb128@ubuntu.com>2012-10-04 17:53:00 +0200
committerSebastien Bacher <seb128@ubuntu.com>2012-10-04 17:53:00 +0200
commit8410e81a5f648217a0deb2e9163f6a463c881df2 (patch)
tree8018338630aabc6f2d52e51d64767d94ec70bdc0 /src/indicator-datetime.c
parentd25d5903237eb4d4d7d1c6d5151b936175f28b59 (diff)
parent57e21f7a78cad4aa01e56a5ee3e273c71b9fe4ec (diff)
downloadayatana-indicator-datetime-8410e81a5f648217a0deb2e9163f6a463c881df2.tar.gz
ayatana-indicator-datetime-8410e81a5f648217a0deb2e9163f6a463c881df2.tar.bz2
ayatana-indicator-datetime-8410e81a5f648217a0deb2e9163f6a463c881df2.zip
* New upstream release:
- Fix 12.10.0 appointment calendar regression. (LP: #1060263)
Diffstat (limited to 'src/indicator-datetime.c')
-rw-r--r--src/indicator-datetime.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/indicator-datetime.c b/src/indicator-datetime.c
index 2356c6d..9546664 100644
--- a/src/indicator-datetime.c
+++ b/src/indicator-datetime.c
@@ -268,18 +268,26 @@ indicator_datetime_class_init (IndicatorDatetimeClass *klass)
static void
menu_visible_notfy_cb(GtkWidget * menu, G_GNUC_UNUSED GParamSpec *pspec, gpointer user_data)
{
+ GtkWidget * w;
+ GtkCalendar * calendar;
IndicatorDatetime * self = INDICATOR_DATETIME(user_data);
GDateTime *datetime;
- gint y, m, d;
+ gint cur_y, cur_m, cur_d;
+ guint cal_y, cal_m, cal_d;
g_debug("notify visible signal received");
+ /* set the calendar to today's date */
datetime = g_date_time_new_now_local ();
- g_date_time_get_ymd (datetime, &y, &m, &d);
+ g_date_time_get_ymd (datetime, &cur_y, &cur_m, &cur_d);
g_date_time_unref (datetime);
-
- // Set the calendar to todays date
- ido_calendar_menu_item_set_date (self->priv->ido_calendar, y, m-1, d);
+ w = ido_calendar_menu_item_get_calendar (self->priv->ido_calendar);
+ calendar = GTK_CALENDAR(w);
+ gtk_calendar_get_date (calendar, &cal_y, &cal_m, &cal_d);
+ if ((cur_y != cal_y) || (cur_m-1 != cal_m))
+ gtk_calendar_select_month (calendar, cur_m-1, cur_y); /* (cur_m is 1-based) */
+ if (cur_d != cal_d)
+ gtk_calendar_select_day (calendar, cur_d);
/* Update in case date was changed outside of indicator-datetime */
update_label(self, NULL);