diff --git a/src/gui/event-editor/gcal-multi-choice.c b/src/gui/event-editor/gcal-multi-choice.c index dcc3a571..44742175 100644 --- a/src/gui/event-editor/gcal-multi-choice.c +++ b/src/gui/event-editor/gcal-multi-choice.c @@ -73,6 +73,7 @@ enum { WRAPPED, ACTIVATE, + USER_CHANGED, LAST_SIGNAL }; @@ -132,6 +133,8 @@ action_activated (GcalMultiChoice *self, g_signal_emit (self, signals[WRAPPED], 0); gtk_widget_grab_focus (GTK_WIDGET (self)); + + g_signal_emit (self, signals[USER_CHANGED], 0); } static void @@ -490,6 +493,20 @@ gcal_multi_choice_class_init (GcalMultiChoiceClass *class) NULL, G_TYPE_NONE, 0); + /** + * GcalMultiChoice::user-changed: + * + * Emitted when the user explicitly changes the value using up and down buttons. + */ + signals[USER_CHANGED] = + g_signal_new ("user-changed", + G_TYPE_FROM_CLASS (object_class), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + NULL, + G_TYPE_NONE, 0); + gtk_widget_class_install_action (widget_class, "multi-choice.up", NULL, (GtkWidgetActionActivateFunc) up_action_activated); gtk_widget_class_install_action (widget_class, "multi-choice.down", NULL, (GtkWidgetActionActivateFunc) down_action_activated);