diff options
| -rw-r--r-- | applets/clock/clock.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/applets/clock/clock.c b/applets/clock/clock.c index 2e26b39f..bc01b290 100644 --- a/applets/clock/clock.c +++ b/applets/clock/clock.c @@ -1436,6 +1436,21 @@ toggle_calendar (GtkWidget *button, } static gboolean +clock_applet_activate (MatePanelApplet *applet, + const gchar *action, + guint32 timestamp, + ClockData *cd) +{ + if (g_strcmp0 (action, "toggle-calendar") == 0) { + /* Toggle the button state first, then activate popup */ + gboolean current_state = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (cd->panel_button)); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (cd->panel_button), !current_state); + return TRUE; + } + return FALSE; +} + +static gboolean do_not_eat_button_press (GtkWidget *widget, GdkEventButton *event) { @@ -2739,6 +2754,10 @@ fill_clock_applet (MatePanelApplet *applet) G_CALLBACK (applet_change_orient), cd); + g_signal_connect (cd->applet, "activate", + G_CALLBACK (clock_applet_activate), + cd); + g_signal_connect (cd->panel_button, "size-allocate", G_CALLBACK (panel_button_change_pixel_size), cd); |
