1 /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
4 * Copyright (C) 2003 Naba Kumar <naba@gnome.org>
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
12 his program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
35 #include <libgnomeui/gnome-window-icon.h>
37 #include <libanjuta/anjuta-utils.h>
38 #include <libanjuta/resources.h>
39 #include <libanjuta/interfaces/ianjuta-preferences.h>
41 #include "anjuta-app.h"
43 #include "action-callbacks.h"
47 on_exit1_activate (GtkAction
* action
, AnjutaApp
*app
)
49 GdkEvent
*event
= gdk_event_new (GDK_DELETE
);
51 event
->any
.window
= g_object_ref (GTK_WIDGET(app
)->window
);
52 event
->any
.send_event
= TRUE
;
54 gtk_main_do_event (event
);
55 gdk_event_free (event
);
59 on_fullscreen_toggle (GtkAction
*action
, AnjutaApp
*app
)
61 if (gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action
)))
62 gtk_window_fullscreen (GTK_WINDOW(app
));
64 gtk_window_unfullscreen (GTK_WINDOW(app
));
68 on_layout_lock_toggle (GtkAction
*action
, AnjutaApp
*app
)
70 if (app
->layout_manager
)
71 g_object_set (app
->layout_manager
->master
, "locked",
72 gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action
)),
77 on_reset_layout_activate(GtkAction
*action
, AnjutaApp
*app
)
79 anjuta_app_layout_reset (app
);
83 on_set_preferences1_activate (GtkAction
* action
, AnjutaApp
*app
)
86 GtkWidget
*preferences_dialog
;
88 preferences_dialog
= anjuta_preferences_get_dialog (app
->preferences
);
90 /* Install main application preferences */
91 anjuta_app_install_preferences (app
);
93 g_signal_connect_swapped (G_OBJECT (preferences_dialog
),
95 G_CALLBACK (gtk_widget_destroy
),
98 gtk_window_set_transient_for (GTK_WINDOW (preferences_dialog
),
101 gtk_widget_show (preferences_dialog
);
105 help_activate (GtkWindow
*parent
, const gchar
*doc_id
, const gchar
*item
)
107 anjuta_util_help_display (parent
, doc_id
, item
);
111 on_help_manual_activate (GtkAction
*action
, gpointer data
)
113 help_activate (data
, "anjuta-manual", "anjuta-manual.xml");
117 on_help_tutorial_activate (GtkAction
*action
, gpointer data
)
119 help_activate (data
, "anjuta-tutorial", "anjuta-tutorial.xml");
123 on_help_advanced_tutorial_activate (GtkAction
*action
, gpointer data
)
125 help_activate (data
, "anjuta-advanced-tutorial", "anjuta-advanced-tutorial.xml");
129 on_help_faqs_activate (GtkAction
*action
, gpointer data
)
131 help_activate (data
, "anjuta-faqs", "anjuta-faqs.xml");
135 on_url_home_activate (GtkAction
* action
, gpointer user_data
)
137 anjuta_res_url_show("http://www.anjuta.org");
141 on_url_bugs_activate (GtkAction
* action
, gpointer user_data
)
143 anjuta_res_url_show("http://bugzilla.gnome.org/simple-bug-guide.cgi");
147 on_url_faqs_activate (GtkAction
* action
, gpointer user_data
)
149 anjuta_res_url_show("mailto:anjuta-list@lists.sourceforge.net");
153 on_about_activate (GtkAction
* action
, gpointer user_data
)
155 GtkWidget
*about_dlg
= about_box_new ();
157 g_signal_connect_swapped(about_dlg
, "response",
158 G_CALLBACK(gtk_widget_destroy
), about_dlg
);
160 gtk_widget_show (about_dlg
);