diff options
author | karl-qdh <karl@qdh.org.uk> | 2011-03-30 12:49:01 +0100 |
---|---|---|
committer | karl-qdh <karl@qdh.org.uk> | 2011-03-30 12:49:01 +0100 |
commit | 851b7395730c2679403bc69013a9aea94584721d (patch) | |
tree | a4784968ed84bd309e2af8e6fa2dec186dc3a2bb /src/indicator-datetime.c | |
parent | 26fddf955899a2751b140a8c5a75f6861509b66e (diff) | |
download | ayatana-indicator-datetime-851b7395730c2679403bc69013a9aea94584721d.tar.gz ayatana-indicator-datetime-851b7395730c2679403bc69013a9aea94584721d.tar.bz2 ayatana-indicator-datetime-851b7395730c2679403bc69013a9aea94584721d.zip |
Made marking work when you change month, still needs more work to get it to do it on startup properly.
Diffstat (limited to 'src/indicator-datetime.c')
-rw-r--r-- | src/indicator-datetime.c | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/src/indicator-datetime.c b/src/indicator-datetime.c index 71b174c..ef3a857 100644 --- a/src/indicator-datetime.c +++ b/src/indicator-datetime.c @@ -1155,25 +1155,27 @@ calendar_prop_change_cb (DbusmenuMenuitem * mi, gchar * prop, GVariant *value, I { g_debug("Changing calendar property"); if (!g_strcmp0(prop, CALENDAR_MENUITEM_PROP_MARK)) { - GVariantIter iter; - GVariant *day; - gchar *key; - - g_variant_iter_init (&iter, value); - while (g_variant_iter_loop (&iter, "{i}", &key, &day)) { - ido_calendar_menu_item_mark_day (IDO_CALENDAR_MENU_ITEM (mi_data), g_variant_get_int32(day)); - g_debug("Marked day: %d", g_variant_get_int32(day)); + ido_calendar_menu_item_clear_marks (IDO_CALENDAR_MENU_ITEM (mi_data)); + g_debug("Marks: Cleared"); + GVariantIter *iter; + gint day; + + g_variant_get (value, "ai", &iter); + while (g_variant_iter_loop (iter, "i", &day)) { + ido_calendar_menu_item_mark_day (IDO_CALENDAR_MENU_ITEM (mi_data), day); + g_debug("Marks: Marked day: %d", day); } + g_variant_iter_free (iter); } else if (!g_strcmp0(prop, CALENDAR_MENUITEM_PROP_UNMARK)) { - GVariantIter iter; - GVariant *day; - gchar *key; - - g_variant_iter_init (&iter, value); - while (g_variant_iter_loop (&iter, "{i}", &key, &day)) { - ido_calendar_menu_item_unmark_day (IDO_CALENDAR_MENU_ITEM (mi_data), g_variant_get_int32(day)); - g_debug("Unmarked day: %d", g_variant_get_int32(day)); + GVariantIter *iter; + gint day; + + g_variant_get (value, "ai", &iter); + while (g_variant_iter_loop (iter, "i", &day)) { + g_debug("Unmarked day: %d", day); + ido_calendar_menu_item_unmark_day (IDO_CALENDAR_MENU_ITEM (mi_data), day); } + g_variant_iter_free (iter); } else if (!g_strcmp0(prop, CALENDAR_MENUITEM_PROP_CLEAR_MARKS)) { ido_calendar_menu_item_clear_marks (IDO_CALENDAR_MENU_ITEM (mi_data)); g_debug("Cleared Marks"); |