aboutsummaryrefslogtreecommitdiff
path: root/src/indicator-datetime.c
diff options
context:
space:
mode:
authorSebastien Bacher <seb128@ubuntu.com>2012-10-04 17:51:52 +0200
committerSebastien Bacher <seb128@ubuntu.com>2012-10-04 17:51:52 +0200
commit57e21f7a78cad4aa01e56a5ee3e273c71b9fe4ec (patch)
tree4ca93f9332461420be5a9c3d0a18c1e92fc5a8b4 /src/indicator-datetime.c
parent52099c2fe93e72a86e5f6a742582d1110aab5eff (diff)
parentafa16b907401ab78c34bd8adf93a21a4f5072ec1 (diff)
downloadayatana-indicator-datetime-57e21f7a78cad4aa01e56a5ee3e273c71b9fe4ec.tar.gz
ayatana-indicator-datetime-57e21f7a78cad4aa01e56a5ee3e273c71b9fe4ec.tar.bz2
ayatana-indicator-datetime-57e21f7a78cad4aa01e56a5ee3e273c71b9fe4ec.zip
Import upstream version 12.10.2
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);