/*
 *  Copyright (C) 2000 Marco Pesenti Gritti
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2, or (at your option)
 *  any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */

#include <gtk/gtkcheckmenuitem.h>
#include <libgnomeui/gnome-app.h>
#include <libgnomeui/gnome-app-helper.h>

/* from menu_callbacks.c */
void window_menu_zoom_in_activate_cb (GtkCheckMenuItem *menuitem,
                                      GaleonWindow *window);
void window_menu_zoom_100_activate_cb (GtkCheckMenuItem *menuitem,
				       GaleonWindow *window);
void window_menu_zoom_out_activate_cb (GtkCheckMenuItem *menuitem,
                                       GaleonWindow *window);
void window_menu_bookmarks_edit_activate_cb (GtkMenuItem *menuitem,
                                             GaleonWindow *window);
void window_menu_help_about_activate_cb (GtkMenuItem *menuitem,
					 GaleonWindow *window);
void window_menu_help_manual_activate_cb (GtkMenuItem *menuitem,
					  GaleonWindow *window);
void window_menu_help_homepage_activate_cb (GtkWidget *menuitem,
					    GaleonWindow *window);
void window_menu_help_bugreport_activate_cb (GtkWidget *menuitem,
					     GaleonWindow *window);
void window_menu_help_about_plugins_activate_cb (GtkWidget *menuitem,
					         GaleonWindow *window);
void window_menu_help_homepage_release_cb (GtkWidget *menuitem,
				           GdkEventButton *event,
					   GaleonWindow *window);
void window_menu_help_bugreport_release_cb (GtkWidget *menuitem,
					    GdkEventButton *event,
					    GaleonWindow *window);
void window_menu_help_about_plugins_release_cb (GtkWidget *menuitem,
						GdkEventButton *event,
					        GaleonWindow *window);
void window_menu_new_window_activate_cb (GtkMenuItem *menuitem,
                                         GaleonWindow *window);
void window_menu_new_tab_activate_cb (GtkMenuItem *menuitem,
                                      GaleonWindow *window);
void window_menu_open_activate_cb (GtkMenuItem *menuitem,
                                   GaleonWindow *window);
void window_menu_save_as_activate_cb (GtkMenuItem *menuitem,
				      GaleonWindow *window);
void window_menu_new_window_activate_cb (GtkMenuItem *menuitem,
                                         GaleonWindow *window);   
void window_menu_new_tab_activate_cb (GtkMenuItem *menuitem, 
                                      GaleonWindow *window);
void window_menu_open_activate_cb (GtkMenuItem *menuitem,
                                   GaleonWindow *window); 
void window_menu_save_as_activate_cb (GtkMenuItem *menuitem,
                                      GaleonWindow *window);
void window_menu_exit_activate_cb (GtkMenuItem *menuitem,  
                                   GaleonWindow *window);
void window_menu_exit_with_session_activate_cb (GtkMenuItem *menuitem,
                                                GaleonWindow *window);
void window_menu_print_activate_cb (GtkMenuItem *menuitem,  
                                    GaleonWindow *window);
void window_menu_close_activate_cb (GtkMenuItem *menuitem,
                                    GaleonWindow *window);  
void window_menu_view_source_mode_activate_cb (GtkCheckMenuItem *menuitem,
					       GaleonWindow *window);
void window_menu_add_bookmark_activate_cb (GtkMenuItem *menuitem,
                                                GaleonWindow *window);
void window_menu_toolbar_activate_cb (GtkCheckMenuItem *menuitem,
                                      GaleonWindow *window);
void window_menu_statusbar_activate_cb (GtkCheckMenuItem *menuitem,
                                        GaleonWindow *window);
void window_menu_menubar_activate_cb (GtkCheckMenuItem *menuitem,
                                      GaleonWindow *window);
void window_menu_fullscreen_activate_cb (GtkCheckMenuItem *menuitem,
                                         GaleonWindow *window);
void window_menu_own_colors_activate_cb (GtkCheckMenuItem *menuitem,
                                         GaleonWindow *window);
void window_menu_allow_javascript_activate_cb (GtkCheckMenuItem *menuitem,
                                               GaleonWindow *window);
void window_menu_own_fonts_activate_cb (GtkCheckMenuItem *menuitem,
                                        GaleonWindow *window);
void window_menu_galeon_mime_handling_activate_cb (GtkCheckMenuItem *menuitem,
                                                   GaleonWindow *window);
void window_menu_enable_proxy_activate_cb (GtkCheckMenuItem *menuitem,
                                           GaleonWindow *window);
void window_menu_allow_java_activate_cb (GtkCheckMenuItem *menuitem,
                                         GaleonWindow *window);
void window_menu_allow_popups_activate_cb (GtkCheckMenuItem *menuitem,
					   GaleonWindow *window);
void window_menu_images_never_activate_cb (GtkCheckMenuItem *menuitem,
					   GaleonWindow *window);
void window_menu_images_current_server_activate_cb (GtkCheckMenuItem *menuitem,
                                                    GaleonWindow *window);
void window_menu_images_always_activate_cb (GtkCheckMenuItem *menuitem,
					    GaleonWindow *window);
void window_menu_animate_always_activate_cb (GtkCheckMenuItem *menuitem,
                                             GaleonWindow *window);
void window_menu_animate_once_through_activate_cb (GtkCheckMenuItem *menuitem,
                                                   GaleonWindow *window);
void window_menu_animate_never_activate_cb (GtkCheckMenuItem *menuitem,
                                            GaleonWindow *window);
void window_menu_back_activate_cb (GtkMenuItem *menuitem,
                                   GaleonWindow *window);
void window_menu_up_activate_cb (GtkMenuItem *menuitem,
				 GaleonWindow *window);
void window_menu_forward_activate_cb (GtkMenuItem *menuitem,
                                      GaleonWindow *window);
void window_menu_detach_tab_activate_cb (GtkMenuItem *menuitem,
					 GaleonWindow *window);
void window_menu_prev_tab_activate_cb (GtkMenuItem *menuitem,
				       GaleonWindow *window);
void window_menu_next_tab_activate_cb (GtkMenuItem *menuitem,
				       GaleonWindow *window);
void window_menu_shift_tab_left_activate_cb (GtkMenuItem *menuitem,
					     GaleonWindow *window);
void window_menu_shift_tab_right_activate_cb (GtkMenuItem *menuitem,
					      GaleonWindow *window);
void window_menu_stop_activate_cb (GtkMenuItem *menuitem,
                                   GaleonWindow *window);
void window_menu_reload_activate_cb (GtkMenuItem *menuitem,
                                     GaleonWindow *window);
void window_menu_home_page_activate_cb (GtkMenuItem *menuitem,
                                        GaleonWindow *window);
void window_menu_find_activate_cb (GtkMenuItem *menuitem,
                                   GaleonWindow *window);
gboolean window_menu_edit_expose_event_cb (GtkWidget *editmenu, 
					   GdkEvent *event,
					   GaleonWindow *window);
void window_menu_edit_cut_cb (GtkMenuItem *menuitem,
                              GaleonWindow *window);
void window_menu_edit_copy_cb (GtkMenuItem *menuitem,
                               GaleonWindow *window);
void window_menu_edit_paste_cb (GtkMenuItem *menuitem,
                                GaleonWindow *window);
void window_menu_prefs_activate_cb (GtkMenuItem *menuitem,
                                    GaleonWindow *window);
void window_menu_view_source_activate_cb (GtkMenuItem *menuitem,
                                          GaleonWindow *window);
void window_menu_history_activate_cb (GtkMenuItem *menuitem,
                                      GaleonWindow *window);
void window_run_first_time_druid_activate_cb (GtkMenuItem *menuitem,
					      GaleonWindow *window);
void window_menu_open_url_activate_cb (GtkMenuItem *menuitem,
                                       GaleonWindow *window);
void window_block_images_from_activate_cb (GtkMenuItem *menuitem,
                                           GaleonWindow *window);
void window_allow_images_from_activate_cb (GtkMenuItem *menuitem,
                                           GaleonWindow *window); 
void window_view_image_sites_activate_cb (GtkMenuItem *menuItem,
                                          GaleonWindow *window);
void window_view_cookies_activate_cb (GtkMenuItem *menuitem,   
                                      GaleonWindow *window);   
void window_view_cookie_sites_activate_cb (GtkMenuItem *menuitem,   
                                           GaleonWindow *window);   
void window_block_cookies_from_activate_cb (GtkMenuItem *menuitem,
                                            GaleonWindow *window);
void window_allow_cookies_from_activate_cb (GtkMenuItem *menuitem,
                                            GaleonWindow *window);
void window_view_passwords_activate_cb (GtkMenuItem *menuItem,
                                        GaleonWindow *window);
void window_view_password_sites_activate_cb (GtkMenuItem *menuItem,
                                             GaleonWindow *window);
void window_menu_offline_mode_activate_cb (GtkCheckMenuItem *menuitem,
					   GaleonWindow *window);
void window_menu_bookmark_activate_cb  (GtkWidget *menuitem, 
					gpointer user_data);
void window_menu_encoding_activate_cb (GtkWidget *menuitem,
				       GaleonWindow *window);
void window_menu_encoding_state_changed_cb (GtkMenuItem *encoding_menu,
					    GtkStateType state, 
					    GaleonWindow *window);
void window_menu_save_session_as_activate_cb (GtkWidget *menuitem,
					      GaleonWindow *window);
void window_menu_open_session_activate_cb  (GtkWidget *menuitem,
					    GaleonWindow *window);
void window_menu_bookmarks_toolbars_activate_cb (GtkCheckMenuItem *menuitem,
						 GaleonWindow *window);
void window_menu_show_java_console_cb (GtkWidget *meniutem,
				       GaleonWindow *window);
void window_menu_show_javascript_console_cb (GtkWidget *meniutem,
					     GaleonWindow *window);
void window_menu_filters_activate_cb (GtkWidget *menuitem,
				      GaleonWindow *window);
void window_menu_no_proxies_activate_cb (GtkCheckMenuItem *menuitem,
					 GaleonWindow *window);
void window_menu_manual_proxies_activate_cb (GtkCheckMenuItem *menuitem,
					     GaleonWindow *window);
void window_menu_automatic_proxies_activate_cb (GtkCheckMenuItem *menuitem,
					        GaleonWindow *window);
void window_menu_proxy_settings_activate_cb (GtkCheckMenuItem *menuitem,
					     GaleonWindow *window);
	                    		
/* from window_callbacks.c */
gboolean window_delete_cb (GtkWidget *widget, GdkEventAny *event,
                           GaleonWindow *window);

/* from menubar.c */
extern GnomeUIInfo file_menu_uiinfo[];
extern GnomeUIInfo edit_menu_uiinfo[];
extern GnomeUIInfo zoom_menu_uiinfo[];
extern GnomeUIInfo view_menu_uiinfo[];
extern GnomeUIInfo tab_menu_uiinfo[];
extern GnomeUIInfo load_images_always_uiinfo[];
extern GnomeUIInfo load_images_menu_uiinfo[];
extern GnomeUIInfo animate_always_uiinfo[];
extern GnomeUIInfo animate_images_menu_uiinfo[];
extern GnomeUIInfo cookies_menu_uiinfo[];
extern GnomeUIInfo passwords_menu_uiinfo[];
extern GnomeUIInfo proxies_always_uiinfo[];
extern GnomeUIInfo settings_menu_uiinfo[];
extern GnomeUIInfo bookmarks_menu_uiinfo[];
extern GnomeUIInfo go_menu_uiinfo[];
extern GnomeUIInfo tools_menu_uiinfo[];
extern GnomeUIInfo help_menu_uiinfo[];
extern GnomeUIInfo menubar_uiinfo[];
extern GnomeUIInfo *all_menus[];
extern gint menus_num_items[];
extern gint num_menus;


/* from window_callbacks.c */
gboolean window_delete_cb (GtkWidget *widget, GdkEventAny *event,
                           GaleonWindow *window);

/* from menubar.c */
extern GnomeUIInfo file_menu_uiinfo[];
extern GnomeUIInfo edit_menu_uiinfo[];
extern GnomeUIInfo zoom_menu_uiinfo[];
extern GnomeUIInfo view_menu_uiinfo[];
extern GnomeUIInfo tab_menu_uiinfo[];
extern GnomeUIInfo load_images_always_uiinfo[];
extern GnomeUIInfo load_images_menu_uiinfo[];
extern GnomeUIInfo animate_always_uiinfo[];
extern GnomeUIInfo animate_images_menu_uiinfo[];
extern GnomeUIInfo cookies_menu_uiinfo[];
extern GnomeUIInfo passwords_menu_uiinfo[];
extern GnomeUIInfo settings_menu_uiinfo[];
extern GnomeUIInfo bookmarks_menu_uiinfo[];
extern GnomeUIInfo go_menu_uiinfo[];
extern GnomeUIInfo tools_menu_uiinfo[];
extern GnomeUIInfo help_menu_uiinfo[];
extern GnomeUIInfo menubar_uiinfo[];
extern GnomeUIInfo *all_menus[];
extern gint menus_num_items[];
extern gint num_menus;
