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 ++++++++++++++++++++++++ src/idocalendarmenuitem.h | 10 +++++++--- 2 files changed, 31 insertions(+), 3 deletions(-) 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); +} diff --git a/src/idocalendarmenuitem.h b/src/idocalendarmenuitem.h index 3f9bf96..804dab9 100644 --- a/src/idocalendarmenuitem.h +++ b/src/idocalendarmenuitem.h @@ -53,10 +53,14 @@ struct _IdoCalendarMenuItemClass GtkMenuItemClass parent_class; }; -GType ido_calendar_menu_item_get_type (void) G_GNUC_CONST; +GType ido_calendar_menu_item_get_type (void) G_GNUC_CONST; -GtkWidget *ido_calendar_menu_item_new (void); -GtkWidget *ido_calendar_menu_item_get_calendar (IdoCalendarMenuItem *menuitem); +GtkWidget *ido_calendar_menu_item_new (void); +GtkWidget *ido_calendar_menu_item_get_calendar (IdoCalendarMenuItem *menuitem); +gboolean ido_calendar_menu_item_mark_day (IdoCalendarMenuItem *menuitem, guint day); +gboolean ido_calendar_menu_item_unmark_day (IdoCalendarMenuItem *menuitem, guint day); +void ido_calendar_menu_item_clear_marks (IdoCalendarMenuItem *menuitem); +void ido_calendar_menu_item_set_display_options (IdoCalendarMenuItem *menuitem, GtkCalendarDisplayOptions flags); G_END_DECLS -- 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(-) 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 -------- src/idocalendarmenuitem.h | 1 - 2 files changed, 9 deletions(-) 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) { diff --git a/src/idocalendarmenuitem.h b/src/idocalendarmenuitem.h index 804dab9..6d65985 100644 --- a/src/idocalendarmenuitem.h +++ b/src/idocalendarmenuitem.h @@ -56,7 +56,6 @@ struct _IdoCalendarMenuItemClass GType ido_calendar_menu_item_get_type (void) G_GNUC_CONST; GtkWidget *ido_calendar_menu_item_new (void); -GtkWidget *ido_calendar_menu_item_get_calendar (IdoCalendarMenuItem *menuitem); gboolean ido_calendar_menu_item_mark_day (IdoCalendarMenuItem *menuitem, guint day); gboolean ido_calendar_menu_item_unmark_day (IdoCalendarMenuItem *menuitem, guint day); void ido_calendar_menu_item_clear_marks (IdoCalendarMenuItem *menuitem); -- 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(-) 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(-) 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 +++++++++ src/idocalendarmenuitem.h | 5 ++++- 2 files changed, 13 insertions(+), 1 deletion(-) 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); +} diff --git a/src/idocalendarmenuitem.h b/src/idocalendarmenuitem.h index 6d65985..6e9ff9a 100644 --- a/src/idocalendarmenuitem.h +++ b/src/idocalendarmenuitem.h @@ -60,7 +60,10 @@ gboolean ido_calendar_menu_item_mark_day (IdoCalendarMenuItem *menui gboolean ido_calendar_menu_item_unmark_day (IdoCalendarMenuItem *menuitem, guint day); void ido_calendar_menu_item_clear_marks (IdoCalendarMenuItem *menuitem); void ido_calendar_menu_item_set_display_options (IdoCalendarMenuItem *menuitem, GtkCalendarDisplayOptions flags); - +void ido_calendar_menu_item_get_date (IdoCalendarMenuItem *menuitem, + guint *year, + guint *month, + guint *day) G_END_DECLS #endif /* __IDO_CALENDAR_MENU_ITEM_H__ */ -- cgit v1.2.3