From bde1bc6bca4c5ed63a193f7dc50252e550a0fb40 Mon Sep 17 00:00:00 2001 From: Srinivasa Ragavan Date: Tue, 11 May 2010 18:47:09 +0530 Subject: Handle adding 'X' close button on the menu bar. Restore adding the same for adding in calendar since it doesn't have a toolbar. --- modules/calendar/e-cal-shell-view-actions.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'modules') diff --git a/modules/calendar/e-cal-shell-view-actions.c b/modules/calendar/e-cal-shell-view-actions.c index 1330ac7003..83f6101d0a 100644 --- a/modules/calendar/e-cal-shell-view-actions.c +++ b/modules/calendar/e-cal-shell-view-actions.c @@ -1196,6 +1196,25 @@ action_event_schedule_cb (GtkAction *action, edit_event_as (cal_shell_view, TRUE); } + static void +quit_calendar_cb (GtkAction *action, + ECalShellView *cal_shell_view) +{ + EShellView *shell_view; + EShellWindow *shell_window; + GdkEvent *event; + + shell_view = E_SHELL_VIEW (cal_shell_view); + shell_window = e_shell_view_get_shell_window (shell_view); + + /* Synthesize a delete_event on this window. */ + event = gdk_event_new (GDK_DELETE); + event->any.window = g_object_ref (((GtkWidget *) shell_window)->window); + event->any.send_event = TRUE; + gtk_main_do_event (event); + gdk_event_free (event); +} + static void action_event_schedule_appointment_cb (GtkAction *action, ECalShellView *cal_shell_view) @@ -1428,6 +1447,13 @@ static GtkActionEntry calendar_entries[] = { N_("Converts a meeting to an appointment"), G_CALLBACK (action_event_schedule_appointment_cb) }, + { "quit-calendar", + GTK_STOCK_CLOSE, + N_("Quit"), + NULL, + NULL, /* XXX Add a tooltip! */ + G_CALLBACK (quit_calendar_cb) }, + /*** Menus ***/ { "calendar-actions-menu", -- cgit v1.2.3