From 99b479df5c4af616952859e4e8cccd0b24215e5e Mon Sep 17 00:00:00 2001 From: karl-qdh Date: Mon, 21 Feb 2011 09:22:31 +0000 Subject: Added additional API for marking days and setting options --- src/idocalendarmenuitem.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/idocalendarmenuitem.c') diff --git a/src/idocalendarmenuitem.c b/src/idocalendarmenuitem.c index fca4bb6..8208ba2 100644 --- a/src/idocalendarmenuitem.c +++ b/src/idocalendarmenuitem.c @@ -264,3 +264,27 @@ ido_calendar_menu_item_get_calendar (IdoCalendarMenuItem *item) return item->priv->calendar; } + +gboolean +ido_calendar_menu_item_mark_day (IdoCalendarMenuItem *menuitem, guint day) +{ + return gtk_calendar_mark_day(menuitem->priv->calendar, day); +} + +gboolean +ido_calendar_menu_item_unmark_day (IdoCalendarMenuItem *menuitem, guint day) +{ + return gtk_calendar_unmark_day(menuitem->priv->calendar, day); +} + +void +ido_calendar_menu_item_clear_marks (IdoCalendarMenuItem *menuitem) +{ + gtk_calendar_clear_marks(menuitem->priv->calendar); +} + +void +ido_calendar_menu_item_set_display_options (IdoCalendarMenuItem *menuitem, GtkCalendarDisplayOptions flags) +{ + gtk_calendar_set_display_options (menuitem->priv->calendar, flags); +} -- cgit v1.2.3 From f01389981e7826d94e765665b6f6aa5f7672960e Mon Sep 17 00:00:00 2001 From: karl-qdh Date: Mon, 21 Feb 2011 16:05:48 +0000 Subject: Added month change signal too, slight cleanup of tabs --- src/idocalendarmenuitem.c | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) (limited to 'src/idocalendarmenuitem.c') diff --git a/src/idocalendarmenuitem.c b/src/idocalendarmenuitem.c index 8208ba2..642eb66 100644 --- a/src/idocalendarmenuitem.c +++ b/src/idocalendarmenuitem.c @@ -76,6 +76,11 @@ ido_calendar_menu_item_class_init (IdoCalendarMenuItemClass *klass) menu_item_class->hide_on_activate = TRUE; g_type_class_add_private (gobject_class, sizeof (IdoCalendarMenuItemPrivate)); + + g_signal_new("month-changed", G_TYPE_FROM_CLASS(klass), + G_SIGNAL_RUN_LAST, 0, NULL, NULL, + gtk_marshal_VOID__VOID, + G_TYPE_NONE, 0); } static void @@ -234,6 +239,11 @@ calendar_realized_cb (GtkWidget *widget, "key-press-event", G_CALLBACK (ido_calendar_menu_item_key_press), item); + + g_signal_connect (priv->calendar, + "month-changed", + G_CALLBACK (calendar_month_changed_cb), + item); ido_calendar_menu_item_send_focus_change (widget, TRUE); } @@ -250,6 +260,13 @@ calendar_move_focus_cb (GtkWidget *widget, GTK_DIR_TAB_FORWARD); } +static void +calendar_month_changed_cb (GtkWidget *widget, + gpointer user_data) +{ + g_signal_emit_by_name (item, "month-changed", NULL); +} + /* Public API */ GtkWidget * ido_calendar_menu_item_new (void) @@ -268,23 +285,23 @@ ido_calendar_menu_item_get_calendar (IdoCalendarMenuItem *item) gboolean ido_calendar_menu_item_mark_day (IdoCalendarMenuItem *menuitem, guint day) { - return gtk_calendar_mark_day(menuitem->priv->calendar, day); + return gtk_calendar_mark_day(menuitem->priv->calendar, day); } gboolean ido_calendar_menu_item_unmark_day (IdoCalendarMenuItem *menuitem, guint day) { - return gtk_calendar_unmark_day(menuitem->priv->calendar, day); + return gtk_calendar_unmark_day(menuitem->priv->calendar, day); } void ido_calendar_menu_item_clear_marks (IdoCalendarMenuItem *menuitem) { - gtk_calendar_clear_marks(menuitem->priv->calendar); + gtk_calendar_clear_marks(menuitem->priv->calendar); } void ido_calendar_menu_item_set_display_options (IdoCalendarMenuItem *menuitem, GtkCalendarDisplayOptions flags) { - gtk_calendar_set_display_options (menuitem->priv->calendar, flags); + gtk_calendar_set_display_options (menuitem->priv->calendar, flags); } -- cgit v1.2.3 From 841bcef77a1720bfec31144812ef03e43984c5c1 Mon Sep 17 00:00:00 2001 From: karl-qdh Date: Tue, 22 Feb 2011 15:21:54 +0000 Subject: Removed get_calendar, we don't want it and it's unnecessary to do this --- src/idocalendarmenuitem.c | 8 -------- 1 file changed, 8 deletions(-) (limited to 'src/idocalendarmenuitem.c') diff --git a/src/idocalendarmenuitem.c b/src/idocalendarmenuitem.c index 642eb66..c3f3a73 100644 --- a/src/idocalendarmenuitem.c +++ b/src/idocalendarmenuitem.c @@ -274,14 +274,6 @@ ido_calendar_menu_item_new (void) return g_object_new (IDO_TYPE_CALENDAR_MENU_ITEM, NULL); } -GtkWidget * -ido_calendar_menu_item_get_calendar (IdoCalendarMenuItem *item) -{ - g_return_val_if_fail (IDO_IS_CALENDAR_MENU_ITEM (item), NULL); - - return item->priv->calendar; -} - gboolean ido_calendar_menu_item_mark_day (IdoCalendarMenuItem *menuitem, guint day) { -- cgit v1.2.3 From f18b9b84c098ec90c3503611d85e3a9871bdcc8e Mon Sep 17 00:00:00 2001 From: karl-qdh Date: Wed, 23 Feb 2011 15:35:06 +0000 Subject: Fixed building of api changes --- src/idocalendarmenuitem.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'src/idocalendarmenuitem.c') diff --git a/src/idocalendarmenuitem.c b/src/idocalendarmenuitem.c index c3f3a73..adc3841 100644 --- a/src/idocalendarmenuitem.c +++ b/src/idocalendarmenuitem.c @@ -24,6 +24,7 @@ */ #include +#include #include "idocalendarmenuitem.h" static void ido_calendar_menu_item_select (GtkItem *item); @@ -42,6 +43,8 @@ static void calendar_realized_cb (GtkWidget *widg static void calendar_move_focus_cb (GtkWidget *widget, GtkDirectionType direction, IdoCalendarMenuItem *item); +static void calendar_month_changed_cb (GtkWidget *widget, + gpointer user_data); struct _IdoCalendarMenuItemPrivate { @@ -79,7 +82,7 @@ ido_calendar_menu_item_class_init (IdoCalendarMenuItemClass *klass) g_signal_new("month-changed", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, 0, NULL, NULL, - gtk_marshal_VOID__VOID, + g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); } @@ -240,7 +243,7 @@ calendar_realized_cb (GtkWidget *widget, G_CALLBACK (ido_calendar_menu_item_key_press), item); - g_signal_connect (priv->calendar, + g_signal_connect (item->priv->calendar, "month-changed", G_CALLBACK (calendar_month_changed_cb), item); @@ -264,6 +267,7 @@ static void calendar_month_changed_cb (GtkWidget *widget, gpointer user_data) { + IdoCalendarMenuItem *item = (IdoCalendarMenuItem *)user_data; g_signal_emit_by_name (item, "month-changed", NULL); } @@ -277,23 +281,23 @@ ido_calendar_menu_item_new (void) gboolean ido_calendar_menu_item_mark_day (IdoCalendarMenuItem *menuitem, guint day) { - return gtk_calendar_mark_day(menuitem->priv->calendar, day); + return gtk_calendar_mark_day(GTK_CALENDAR (menuitem->priv->calendar), day); } gboolean ido_calendar_menu_item_unmark_day (IdoCalendarMenuItem *menuitem, guint day) { - return gtk_calendar_unmark_day(menuitem->priv->calendar, day); + return gtk_calendar_unmark_day(GTK_CALENDAR (menuitem->priv->calendar), day); } void ido_calendar_menu_item_clear_marks (IdoCalendarMenuItem *menuitem) { - gtk_calendar_clear_marks(menuitem->priv->calendar); + gtk_calendar_clear_marks(GTK_CALENDAR (menuitem->priv->calendar)); } void ido_calendar_menu_item_set_display_options (IdoCalendarMenuItem *menuitem, GtkCalendarDisplayOptions flags) { - gtk_calendar_set_display_options (menuitem->priv->calendar, flags); + gtk_calendar_set_display_options (GTK_CALENDAR (menuitem->priv->calendar), flags); } -- cgit v1.2.3 From 3acb7aa0ab282b7a4480ba6abeabc949ad3bb5b4 Mon Sep 17 00:00:00 2001 From: karl-qdh Date: Wed, 23 Feb 2011 15:38:31 +0000 Subject: Removed useless marshal include --- src/idocalendarmenuitem.c | 1 - 1 file changed, 1 deletion(-) (limited to 'src/idocalendarmenuitem.c') diff --git a/src/idocalendarmenuitem.c b/src/idocalendarmenuitem.c index adc3841..64b67a5 100644 --- a/src/idocalendarmenuitem.c +++ b/src/idocalendarmenuitem.c @@ -24,7 +24,6 @@ */ #include -#include #include "idocalendarmenuitem.h" static void ido_calendar_menu_item_select (GtkItem *item); -- cgit v1.2.3 From b6f75c173098cd4a7ea605496a2692d436a16a96 Mon Sep 17 00:00:00 2001 From: karl-qdh Date: Wed, 23 Feb 2011 15:49:47 +0000 Subject: Added get_date, pretty critical function --- src/idocalendarmenuitem.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/idocalendarmenuitem.c') diff --git a/src/idocalendarmenuitem.c b/src/idocalendarmenuitem.c index 64b67a5..3e326e0 100644 --- a/src/idocalendarmenuitem.c +++ b/src/idocalendarmenuitem.c @@ -300,3 +300,12 @@ ido_calendar_menu_item_set_display_options (IdoCalendarMenuItem *menuitem, GtkCa { gtk_calendar_set_display_options (GTK_CALENDAR (menuitem->priv->calendar), flags); } + +void +ido_calendar_menu_item_get_date (IdoCalendarMenuItem *menuitem, + guint *year, + guint *month, + guint *day) { + + gtk_calendar_get_date (GTK_CALENDAR (menuitem->priv->calendar), year, month, day); +} -- cgit v1.2.3