/*
 * DO NOT EDIT THIS FILE - it is generated by Glade.
 */

#ifdef HAVE_CONFIG_H
#  include <config.h>
#endif

#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <string.h>
#include <stdio.h>

#include <gdk/gdkkeysyms.h>
#include <gtk/gtk.h>

#include "callbacks.h"
#include "interface.h"
#include "support.h"

#define GLADE_HOOKUP_OBJECT(component,widget,name) \
  g_object_set_data_full (G_OBJECT (component), name, \
    gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref)

#define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \
  g_object_set_data (G_OBJECT (component), name, widget)

GtkWidget*
create_main_window (void)
{
  GtkWidget *main_window;
  GtkWidget *main_window_box;
  GtkWidget *menubar;
  GtkWidget *menu_file;
  GtkWidget *menu_file_menu;
  GtkWidget *menu_load_mpeg2;
  GtkWidget *image22;
  GtkWidget *menu_load_clip_list;
  GtkWidget *image23;
  GtkWidget *menu_save_clip_list;
  GtkWidget *image24;
  GtkWidget *menu_export_mpeg2;
  GtkWidget *image25;
  GtkWidget *menu_file_close;
  GtkWidget *menu_file_separator;
  GtkWidget *menu_file_quit;
  GtkWidget *menu_edit;
  GtkWidget *menu_edit_menu;
  GtkWidget *menu_delete;
  GtkWidget *menu_file_clear;
  GtkWidget *separator1;
  GtkWidget *menu_options_preferences;
  GtkWidget *menu_view;
  GtkWidget *menu_view_menu;
  GtkWidget *menu_info_window;
  GtkWidget *menu_video_window;
  GtkWidget *menu_help;
  GtkWidget *menu_help_menu;
  GtkWidget *menu_help_about;
  GtkWidget *image26;
  GtkWidget *hseparator2;
  GtkWidget *main_label_clips;
  GtkWidget *main_scrolledwindow;
  GtkWidget *main_clist;
  GtkWidget *hbox3;
  GtkObject *GOP_selector_spinbutton_adj;
  GtkWidget *GOP_selector_spinbutton;
  GtkWidget *GOP_selector;
  GtkWidget *main_button_box;
  GtkWidget *button_start_mark;
  GtkWidget *main_label_mark;
  GtkWidget *button_end_mark;
  GtkWidget *vseparator1;
  GtkWidget *button_prev;
  GtkWidget *button_run;
  GtkWidget *button_next;
  GtkWidget *vbox2;
  GtkWidget *slider_run_speed;
  GtkWidget *label_run_speed;
  GtkWidget *button_refresh;
  GtkWidget *main_status_box;
  GtkWidget *main_statusbar;
  GtkWidget *main_progressbar;
  GtkAccelGroup *accel_group;

  accel_group = gtk_accel_group_new ();

  main_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_widget_set_name (main_window, "main_window");
  gtk_window_set_title (GTK_WINDOW (main_window), _("GOPchop"));

  main_window_box = gtk_vbox_new (FALSE, 0);
  gtk_widget_set_name (main_window_box, "main_window_box");
  gtk_widget_show (main_window_box);
  gtk_container_add (GTK_CONTAINER (main_window), main_window_box);

  menubar = gtk_menu_bar_new ();
  gtk_widget_set_name (menubar, "menubar");
  gtk_widget_show (menubar);
  gtk_box_pack_start (GTK_BOX (main_window_box), menubar, FALSE, FALSE, 0);

  menu_file = gtk_menu_item_new_with_mnemonic (_("_File"));
  gtk_widget_set_name (menu_file, "menu_file");
  gtk_widget_show (menu_file);
  gtk_container_add (GTK_CONTAINER (menubar), menu_file);

  menu_file_menu = gtk_menu_new ();
  gtk_widget_set_name (menu_file_menu, "menu_file_menu");
  gtk_menu_item_set_submenu (GTK_MENU_ITEM (menu_file), menu_file_menu);

  menu_load_mpeg2 = gtk_image_menu_item_new_with_mnemonic (_("Load _MPEG-2"));
  gtk_widget_set_name (menu_load_mpeg2, "menu_load_mpeg2");
  gtk_widget_show (menu_load_mpeg2);
  gtk_container_add (GTK_CONTAINER (menu_file_menu), menu_load_mpeg2);
  gtk_widget_add_accelerator (menu_load_mpeg2, "activate", accel_group,
                              GDK_N, GDK_CONTROL_MASK,
                              GTK_ACCEL_VISIBLE);

  image22 = gtk_image_new_from_stock ("gtk-new", GTK_ICON_SIZE_MENU);
  gtk_widget_set_name (image22, "image22");
  gtk_widget_show (image22);
  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_load_mpeg2), image22);

  menu_load_clip_list = gtk_image_menu_item_new_with_mnemonic (_("_Load Clip List"));
  gtk_widget_set_name (menu_load_clip_list, "menu_load_clip_list");
  gtk_widget_show (menu_load_clip_list);
  gtk_container_add (GTK_CONTAINER (menu_file_menu), menu_load_clip_list);
  gtk_widget_add_accelerator (menu_load_clip_list, "activate", accel_group,
                              GDK_O, GDK_CONTROL_MASK,
                              GTK_ACCEL_VISIBLE);

  image23 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_MENU);
  gtk_widget_set_name (image23, "image23");
  gtk_widget_show (image23);
  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_load_clip_list), image23);

  menu_save_clip_list = gtk_image_menu_item_new_with_mnemonic (_("_Save Clip List"));
  gtk_widget_set_name (menu_save_clip_list, "menu_save_clip_list");
  gtk_widget_show (menu_save_clip_list);
  gtk_container_add (GTK_CONTAINER (menu_file_menu), menu_save_clip_list);
  gtk_widget_set_sensitive (menu_save_clip_list, FALSE);
  gtk_widget_add_accelerator (menu_save_clip_list, "activate", accel_group,
                              GDK_S, GDK_CONTROL_MASK,
                              GTK_ACCEL_VISIBLE);

  image24 = gtk_image_new_from_stock ("gtk-save", GTK_ICON_SIZE_MENU);
  gtk_widget_set_name (image24, "image24");
  gtk_widget_show (image24);
  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_save_clip_list), image24);

  menu_export_mpeg2 = gtk_image_menu_item_new_with_mnemonic (_("_Export MPEG-2"));
  gtk_widget_set_name (menu_export_mpeg2, "menu_export_mpeg2");
  gtk_widget_show (menu_export_mpeg2);
  gtk_container_add (GTK_CONTAINER (menu_file_menu), menu_export_mpeg2);

  image25 = gtk_image_new_from_stock ("gtk-convert", GTK_ICON_SIZE_MENU);
  gtk_widget_set_name (image25, "image25");
  gtk_widget_show (image25);
  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_export_mpeg2), image25);

  menu_file_close = gtk_image_menu_item_new_from_stock ("gtk-close", accel_group);
  gtk_widget_set_name (menu_file_close, "menu_file_close");
  gtk_widget_show (menu_file_close);
  gtk_container_add (GTK_CONTAINER (menu_file_menu), menu_file_close);
  gtk_widget_set_sensitive (menu_file_close, FALSE);

  menu_file_separator = gtk_menu_item_new ();
  gtk_widget_set_name (menu_file_separator, "menu_file_separator");
  gtk_widget_show (menu_file_separator);
  gtk_container_add (GTK_CONTAINER (menu_file_menu), menu_file_separator);
  gtk_widget_set_sensitive (menu_file_separator, FALSE);

  menu_file_quit = gtk_image_menu_item_new_from_stock ("gtk-quit", accel_group);
  gtk_widget_set_name (menu_file_quit, "menu_file_quit");
  gtk_widget_show (menu_file_quit);
  gtk_container_add (GTK_CONTAINER (menu_file_menu), menu_file_quit);

  menu_edit = gtk_menu_item_new_with_mnemonic (_("_Edit"));
  gtk_widget_set_name (menu_edit, "menu_edit");
  gtk_widget_show (menu_edit);
  gtk_container_add (GTK_CONTAINER (menubar), menu_edit);

  menu_edit_menu = gtk_menu_new ();
  gtk_widget_set_name (menu_edit_menu, "menu_edit_menu");
  gtk_menu_item_set_submenu (GTK_MENU_ITEM (menu_edit), menu_edit_menu);

  menu_delete = gtk_image_menu_item_new_from_stock ("gtk-delete", accel_group);
  gtk_widget_set_name (menu_delete, "menu_delete");
  gtk_widget_show (menu_delete);
  gtk_container_add (GTK_CONTAINER (menu_edit_menu), menu_delete);

  menu_file_clear = gtk_image_menu_item_new_from_stock ("gtk-clear", accel_group);
  gtk_widget_set_name (menu_file_clear, "menu_file_clear");
  gtk_widget_show (menu_file_clear);
  gtk_container_add (GTK_CONTAINER (menu_edit_menu), menu_file_clear);

  separator1 = gtk_menu_item_new ();
  gtk_widget_set_name (separator1, "separator1");
  gtk_widget_show (separator1);
  gtk_container_add (GTK_CONTAINER (menu_edit_menu), separator1);
  gtk_widget_set_sensitive (separator1, FALSE);

  menu_options_preferences = gtk_image_menu_item_new_from_stock ("gtk-preferences", accel_group);
  gtk_widget_set_name (menu_options_preferences, "menu_options_preferences");
  gtk_widget_show (menu_options_preferences);
  gtk_container_add (GTK_CONTAINER (menu_edit_menu), menu_options_preferences);
  gtk_widget_set_sensitive (menu_options_preferences, FALSE);

  menu_view = gtk_menu_item_new_with_mnemonic (_("_View"));
  gtk_widget_set_name (menu_view, "menu_view");
  gtk_widget_show (menu_view);
  gtk_container_add (GTK_CONTAINER (menubar), menu_view);

  menu_view_menu = gtk_menu_new ();
  gtk_widget_set_name (menu_view_menu, "menu_view_menu");
  gtk_menu_item_set_submenu (GTK_MENU_ITEM (menu_view), menu_view_menu);

  menu_info_window = gtk_check_menu_item_new_with_mnemonic (_("Info Window"));
  gtk_widget_set_name (menu_info_window, "menu_info_window");
  gtk_widget_show (menu_info_window);
  gtk_container_add (GTK_CONTAINER (menu_view_menu), menu_info_window);
  gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (menu_info_window), TRUE);

  menu_video_window = gtk_check_menu_item_new_with_mnemonic (_("Video Window"));
  gtk_widget_set_name (menu_video_window, "menu_video_window");
  gtk_container_add (GTK_CONTAINER (menu_view_menu), menu_video_window);

  menu_help = gtk_menu_item_new_with_mnemonic (_("_Help"));
  gtk_widget_set_name (menu_help, "menu_help");
  gtk_widget_show (menu_help);
  gtk_container_add (GTK_CONTAINER (menubar), menu_help);

  menu_help_menu = gtk_menu_new ();
  gtk_widget_set_name (menu_help_menu, "menu_help_menu");
  gtk_menu_item_set_submenu (GTK_MENU_ITEM (menu_help), menu_help_menu);

  menu_help_about = gtk_image_menu_item_new_with_mnemonic (_("_About..."));
  gtk_widget_set_name (menu_help_about, "menu_help_about");
  gtk_widget_show (menu_help_about);
  gtk_container_add (GTK_CONTAINER (menu_help_menu), menu_help_about);

  image26 = create_pixmap (main_window, "menu_about.png");
  gtk_widget_set_name (image26, "image26");
  gtk_widget_show (image26);
  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_help_about), image26);

  hseparator2 = gtk_hseparator_new ();
  gtk_widget_set_name (hseparator2, "hseparator2");
  gtk_widget_show (hseparator2);
  gtk_box_pack_start (GTK_BOX (main_window_box), hseparator2, FALSE, TRUE, 0);

  main_label_clips = gtk_label_new (_("Clips: 0"));
  gtk_widget_set_name (main_label_clips, "main_label_clips");
  gtk_widget_show (main_label_clips);
  gtk_box_pack_start (GTK_BOX (main_window_box), main_label_clips, FALSE, FALSE, 0);
  gtk_label_set_justify (GTK_LABEL (main_label_clips), GTK_JUSTIFY_CENTER);

  main_scrolledwindow = gtk_scrolled_window_new (NULL, NULL);
  gtk_widget_set_name (main_scrolledwindow, "main_scrolledwindow");
  gtk_widget_show (main_scrolledwindow);
  gtk_box_pack_start (GTK_BOX (main_window_box), main_scrolledwindow, TRUE, TRUE, 0);
  GTK_WIDGET_UNSET_FLAGS (main_scrolledwindow, GTK_CAN_FOCUS);
  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (main_scrolledwindow), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
  gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (main_scrolledwindow), GTK_SHADOW_IN);

  main_clist = gtk_tree_view_new ();
  gtk_widget_set_name (main_clist, "main_clist");
  gtk_widget_show (main_clist);
  gtk_container_add (GTK_CONTAINER (main_scrolledwindow), main_clist);

  hbox3 = gtk_hbox_new (FALSE, 0);
  gtk_widget_set_name (hbox3, "hbox3");
  gtk_widget_show (hbox3);
  gtk_box_pack_start (GTK_BOX (main_window_box), hbox3, FALSE, TRUE, 0);

  GOP_selector_spinbutton_adj = gtk_adjustment_new (0, 0, 20, 1, 2, 1);
  GOP_selector_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (GOP_selector_spinbutton_adj), 1, 0);
  gtk_widget_set_name (GOP_selector_spinbutton, "GOP_selector_spinbutton");
  gtk_widget_show (GOP_selector_spinbutton);
  gtk_box_pack_start (GTK_BOX (hbox3), GOP_selector_spinbutton, FALSE, TRUE, 0);

  GOP_selector = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 20, 1, 2, 1)));
  gtk_widget_set_name (GOP_selector, "GOP_selector");
  gtk_widget_show (GOP_selector);
  gtk_box_pack_start (GTK_BOX (hbox3), GOP_selector, TRUE, TRUE, 0);
  gtk_scale_set_draw_value (GTK_SCALE (GOP_selector), FALSE);
  gtk_scale_set_digits (GTK_SCALE (GOP_selector), 0);

  main_button_box = gtk_hbox_new (TRUE, 0);
  gtk_widget_set_name (main_button_box, "main_button_box");
  gtk_widget_show (main_button_box);
  gtk_box_pack_start (GTK_BOX (main_window_box), main_button_box, FALSE, TRUE, 0);

  button_start_mark = gtk_toggle_button_new_with_mnemonic (_("Start Mark"));
  gtk_widget_set_name (button_start_mark, "button_start_mark");
  gtk_widget_show (button_start_mark);
  gtk_box_pack_start (GTK_BOX (main_button_box), button_start_mark, FALSE, FALSE, 0);
  gtk_container_set_border_width (GTK_CONTAINER (button_start_mark), 4);

  main_label_mark = gtk_label_new (_("no mark set"));
  gtk_widget_set_name (main_label_mark, "main_label_mark");
  gtk_widget_show (main_label_mark);
  gtk_box_pack_start (GTK_BOX (main_button_box), main_label_mark, FALSE, FALSE, 0);
  gtk_label_set_justify (GTK_LABEL (main_label_mark), GTK_JUSTIFY_CENTER);

  button_end_mark = gtk_button_new_with_mnemonic (_("End Mark"));
  gtk_widget_set_name (button_end_mark, "button_end_mark");
  gtk_widget_show (button_end_mark);
  gtk_box_pack_start (GTK_BOX (main_button_box), button_end_mark, FALSE, FALSE, 0);
  gtk_container_set_border_width (GTK_CONTAINER (button_end_mark), 4);
  gtk_widget_set_sensitive (button_end_mark, FALSE);

  vseparator1 = gtk_vseparator_new ();
  gtk_widget_set_name (vseparator1, "vseparator1");
  gtk_widget_show (vseparator1);
  gtk_box_pack_start (GTK_BOX (main_button_box), vseparator1, TRUE, TRUE, 0);

  button_prev = gtk_button_new_with_mnemonic (_("Prev"));
  gtk_widget_set_name (button_prev, "button_prev");
  gtk_widget_show (button_prev);
  gtk_box_pack_start (GTK_BOX (main_button_box), button_prev, FALSE, FALSE, 0);
  gtk_container_set_border_width (GTK_CONTAINER (button_prev), 4);
  gtk_widget_set_sensitive (button_prev, FALSE);

  button_run = gtk_toggle_button_new_with_mnemonic (_("Run"));
  gtk_widget_set_name (button_run, "button_run");
  gtk_widget_show (button_run);
  gtk_box_pack_start (GTK_BOX (main_button_box), button_run, FALSE, FALSE, 0);
  gtk_container_set_border_width (GTK_CONTAINER (button_run), 4);
  gtk_widget_set_sensitive (button_run, FALSE);

  button_next = gtk_button_new_with_mnemonic (_("Next"));
  gtk_widget_set_name (button_next, "button_next");
  gtk_widget_show (button_next);
  gtk_box_pack_start (GTK_BOX (main_button_box), button_next, FALSE, FALSE, 0);
  gtk_container_set_border_width (GTK_CONTAINER (button_next), 4);
  gtk_widget_set_sensitive (button_next, FALSE);

  vbox2 = gtk_vbox_new (FALSE, 0);
  gtk_widget_set_name (vbox2, "vbox2");
  gtk_widget_show (vbox2);
  gtk_box_pack_start (GTK_BOX (main_button_box), vbox2, TRUE, TRUE, 0);

  slider_run_speed = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (1, 1, 100, 1, 2, 1)));
  gtk_widget_set_name (slider_run_speed, "slider_run_speed");
  gtk_widget_show (slider_run_speed);
  gtk_box_pack_start (GTK_BOX (vbox2), slider_run_speed, TRUE, TRUE, 0);
  gtk_scale_set_digits (GTK_SCALE (slider_run_speed), 0);

  label_run_speed = gtk_label_new (_("Run Speed"));
  gtk_widget_set_name (label_run_speed, "label_run_speed");
  gtk_widget_show (label_run_speed);
  gtk_box_pack_start (GTK_BOX (vbox2), label_run_speed, FALSE, FALSE, 0);
  gtk_label_set_justify (GTK_LABEL (label_run_speed), GTK_JUSTIFY_CENTER);

  button_refresh = gtk_button_new_with_mnemonic (_("Refresh"));
  gtk_widget_set_name (button_refresh, "button_refresh");
  gtk_widget_show (button_refresh);
  gtk_box_pack_start (GTK_BOX (main_button_box), button_refresh, FALSE, FALSE, 0);
  gtk_container_set_border_width (GTK_CONTAINER (button_refresh), 4);
  gtk_widget_set_sensitive (button_refresh, FALSE);

  main_status_box = gtk_hbox_new (FALSE, 0);
  gtk_widget_set_name (main_status_box, "main_status_box");
  gtk_widget_show (main_status_box);
  gtk_box_pack_start (GTK_BOX (main_window_box), main_status_box, FALSE, TRUE, 0);

  main_statusbar = gtk_statusbar_new ();
  gtk_widget_set_name (main_statusbar, "main_statusbar");
  gtk_widget_show (main_statusbar);
  gtk_box_pack_start (GTK_BOX (main_status_box), main_statusbar, TRUE, TRUE, 0);

  main_progressbar = gtk_progress_bar_new ();
  gtk_widget_set_name (main_progressbar, "main_progressbar");
  gtk_widget_show (main_progressbar);
  gtk_box_pack_start (GTK_BOX (main_status_box), main_progressbar, TRUE, TRUE, 0);

  g_signal_connect ((gpointer) main_window, "delete_event",
                    G_CALLBACK (on_main_window_delete_event),
                    NULL);
  g_signal_connect ((gpointer) menu_load_mpeg2, "activate",
                    G_CALLBACK (on_menu_load_mpeg2_activate),
                    NULL);
  g_signal_connect ((gpointer) menu_load_clip_list, "activate",
                    G_CALLBACK (on_menu_load_clip_list_activate),
                    NULL);
  g_signal_connect ((gpointer) menu_save_clip_list, "activate",
                    G_CALLBACK (on_menu_save_clip_list_activate),
                    NULL);
  g_signal_connect ((gpointer) menu_export_mpeg2, "activate",
                    G_CALLBACK (on_menu_export_mpeg2_activate),
                    NULL);
  g_signal_connect ((gpointer) menu_file_close, "activate",
                    G_CALLBACK (on_menu_file_close_activate),
                    NULL);
  g_signal_connect ((gpointer) menu_file_quit, "activate",
                    G_CALLBACK (on_menu_file_quit_activate),
                    NULL);
  g_signal_connect ((gpointer) menu_delete, "activate",
                    G_CALLBACK (on_menu_delete_activate),
                    NULL);
  g_signal_connect ((gpointer) menu_file_clear, "activate",
                    G_CALLBACK (on_menu_file_clear_activate),
                    NULL);
  g_signal_connect ((gpointer) menu_options_preferences, "activate",
                    G_CALLBACK (on_menu_options_preferences_activate),
                    NULL);
  g_signal_connect ((gpointer) menu_info_window, "activate",
                    G_CALLBACK (on_menu_info_window_activate),
                    NULL);
  g_signal_connect ((gpointer) menu_video_window, "activate",
                    G_CALLBACK (on_menu_video_window_activate),
                    NULL);
  g_signal_connect ((gpointer) menu_help_about, "activate",
                    G_CALLBACK (on_menu_help_about_activate),
                    NULL);
  g_signal_connect ((gpointer) main_clist, "key_press_event",
                    G_CALLBACK (on_main_clist_key_press_event),
                    NULL);
  g_signal_connect ((gpointer) main_clist, "button_press_event",
                    G_CALLBACK (on_main_clist_button_press_event),
                    NULL);
  g_signal_connect ((gpointer) GOP_selector_spinbutton, "value_changed",
                    G_CALLBACK (on_GOP_selector_spinbutton_value_changed),
                    NULL);
  g_signal_connect ((gpointer) GOP_selector, "value_changed",
                    G_CALLBACK (on_GOP_selector_value_changed),
                    NULL);
  g_signal_connect ((gpointer) button_start_mark, "toggled",
                    G_CALLBACK (on_button_start_mark_toggled),
                    NULL);
  g_signal_connect ((gpointer) button_end_mark, "clicked",
                    G_CALLBACK (on_button_end_mark_clicked),
                    NULL);
  g_signal_connect ((gpointer) button_prev, "clicked",
                    G_CALLBACK (on_button_prev_clicked),
                    NULL);
  g_signal_connect ((gpointer) button_run, "toggled",
                    G_CALLBACK (on_button_run_toggled),
                    NULL);
  g_signal_connect ((gpointer) button_next, "clicked",
                    G_CALLBACK (on_button_next_clicked),
                    NULL);
  g_signal_connect ((gpointer) slider_run_speed, "value_changed",
                    G_CALLBACK (on_slider_run_speed_value_changed),
                    NULL);
  g_signal_connect ((gpointer) button_refresh, "clicked",
                    G_CALLBACK (on_button_refresh_clicked),
                    NULL);

  /* Store pointers to all widgets, for use by lookup_widget(). */
  GLADE_HOOKUP_OBJECT_NO_REF (main_window, main_window, "main_window");
  GLADE_HOOKUP_OBJECT (main_window, main_window_box, "main_window_box");
  GLADE_HOOKUP_OBJECT (main_window, menubar, "menubar");
  GLADE_HOOKUP_OBJECT (main_window, menu_file, "menu_file");
  GLADE_HOOKUP_OBJECT (main_window, menu_file_menu, "menu_file_menu");
  GLADE_HOOKUP_OBJECT (main_window, menu_load_mpeg2, "menu_load_mpeg2");
  GLADE_HOOKUP_OBJECT (main_window, image22, "image22");
  GLADE_HOOKUP_OBJECT (main_window, menu_load_clip_list, "menu_load_clip_list");
  GLADE_HOOKUP_OBJECT (main_window, image23, "image23");
  GLADE_HOOKUP_OBJECT (main_window, menu_save_clip_list, "menu_save_clip_list");
  GLADE_HOOKUP_OBJECT (main_window, image24, "image24");
  GLADE_HOOKUP_OBJECT (main_window, menu_export_mpeg2, "menu_export_mpeg2");
  GLADE_HOOKUP_OBJECT (main_window, image25, "image25");
  GLADE_HOOKUP_OBJECT (main_window, menu_file_close, "menu_file_close");
  GLADE_HOOKUP_OBJECT (main_window, menu_file_separator, "menu_file_separator");
  GLADE_HOOKUP_OBJECT (main_window, menu_file_quit, "menu_file_quit");
  GLADE_HOOKUP_OBJECT (main_window, menu_edit, "menu_edit");
  GLADE_HOOKUP_OBJECT (main_window, menu_edit_menu, "menu_edit_menu");
  GLADE_HOOKUP_OBJECT (main_window, menu_delete, "menu_delete");
  GLADE_HOOKUP_OBJECT (main_window, menu_file_clear, "menu_file_clear");
  GLADE_HOOKUP_OBJECT (main_window, separator1, "separator1");
  GLADE_HOOKUP_OBJECT (main_window, menu_options_preferences, "menu_options_preferences");
  GLADE_HOOKUP_OBJECT (main_window, menu_view, "menu_view");
  GLADE_HOOKUP_OBJECT (main_window, menu_view_menu, "menu_view_menu");
  GLADE_HOOKUP_OBJECT (main_window, menu_info_window, "menu_info_window");
  GLADE_HOOKUP_OBJECT (main_window, menu_video_window, "menu_video_window");
  GLADE_HOOKUP_OBJECT (main_window, menu_help, "menu_help");
  GLADE_HOOKUP_OBJECT (main_window, menu_help_menu, "menu_help_menu");
  GLADE_HOOKUP_OBJECT (main_window, menu_help_about, "menu_help_about");
  GLADE_HOOKUP_OBJECT (main_window, image26, "image26");
  GLADE_HOOKUP_OBJECT (main_window, hseparator2, "hseparator2");
  GLADE_HOOKUP_OBJECT (main_window, main_label_clips, "main_label_clips");
  GLADE_HOOKUP_OBJECT (main_window, main_scrolledwindow, "main_scrolledwindow");
  GLADE_HOOKUP_OBJECT (main_window, main_clist, "main_clist");
  GLADE_HOOKUP_OBJECT (main_window, hbox3, "hbox3");
  GLADE_HOOKUP_OBJECT (main_window, GOP_selector_spinbutton, "GOP_selector_spinbutton");
  GLADE_HOOKUP_OBJECT (main_window, GOP_selector, "GOP_selector");
  GLADE_HOOKUP_OBJECT (main_window, main_button_box, "main_button_box");
  GLADE_HOOKUP_OBJECT (main_window, button_start_mark, "button_start_mark");
  GLADE_HOOKUP_OBJECT (main_window, main_label_mark, "main_label_mark");
  GLADE_HOOKUP_OBJECT (main_window, button_end_mark, "button_end_mark");
  GLADE_HOOKUP_OBJECT (main_window, vseparator1, "vseparator1");
  GLADE_HOOKUP_OBJECT (main_window, button_prev, "button_prev");
  GLADE_HOOKUP_OBJECT (main_window, button_run, "button_run");
  GLADE_HOOKUP_OBJECT (main_window, button_next, "button_next");
  GLADE_HOOKUP_OBJECT (main_window, vbox2, "vbox2");
  GLADE_HOOKUP_OBJECT (main_window, slider_run_speed, "slider_run_speed");
  GLADE_HOOKUP_OBJECT (main_window, label_run_speed, "label_run_speed");
  GLADE_HOOKUP_OBJECT (main_window, button_refresh, "button_refresh");
  GLADE_HOOKUP_OBJECT (main_window, main_status_box, "main_status_box");
  GLADE_HOOKUP_OBJECT (main_window, main_statusbar, "main_statusbar");
  GLADE_HOOKUP_OBJECT (main_window, main_progressbar, "main_progressbar");

  gtk_window_add_accel_group (GTK_WINDOW (main_window), accel_group);

  return main_window;
}

GtkWidget*
create_about_window (void)
{
  GtkWidget *about_window;
  GtkWidget *about_box;
  GtkWidget *about_box_picture;
  GtkWidget *about_pixmap;
  GtkWidget *about_label_version;
  GtkWidget *about_label_cvsid;
  GtkWidget *about_label_gpl;
  GtkWidget *about_box_buttons;
  GtkWidget *about_button_cool;
  GtkWidget *label2;

  about_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_widget_set_name (about_window, "about_window");
  gtk_window_set_title (GTK_WINDOW (about_window), _("About..."));

  about_box = gtk_vbox_new (FALSE, 0);
  gtk_widget_set_name (about_box, "about_box");
  gtk_widget_show (about_box);
  gtk_container_add (GTK_CONTAINER (about_window), about_box);
  gtk_container_set_border_width (GTK_CONTAINER (about_box), 4);

  about_box_picture = gtk_vbox_new (FALSE, 0);
  gtk_widget_set_name (about_box_picture, "about_box_picture");
  gtk_widget_show (about_box_picture);
  gtk_box_pack_start (GTK_BOX (about_box), about_box_picture, TRUE, TRUE, 4);

  about_pixmap = create_pixmap (about_window, "about.xpm");
  gtk_widget_set_name (about_pixmap, "about_pixmap");
  gtk_widget_show (about_pixmap);
  gtk_box_pack_start (GTK_BOX (about_box_picture), about_pixmap, FALSE, FALSE, 0);

  about_label_version = gtk_label_new (_("GOPchop"));
  gtk_widget_set_name (about_label_version, "about_label_version");
  gtk_widget_show (about_label_version);
  gtk_box_pack_start (GTK_BOX (about_box), about_label_version, FALSE, FALSE, 0);
  gtk_label_set_justify (GTK_LABEL (about_label_version), GTK_JUSTIFY_CENTER);

  about_label_cvsid = gtk_label_new (_("CVS"));
  gtk_widget_set_name (about_label_cvsid, "about_label_cvsid");
  gtk_widget_show (about_label_cvsid);
  gtk_box_pack_start (GTK_BOX (about_box), about_label_cvsid, FALSE, FALSE, 0);
  gtk_label_set_justify (GTK_LABEL (about_label_cvsid), GTK_JUSTIFY_CENTER);

  about_label_gpl = gtk_label_new (_("Copyright 2001-2009\nKees Cook <kees@outflux.net>\n\nGOPchop is a GOP-accurate MPEG2-PS editor.\n\n\nGOPchop comes with ABSOLUTELY NO WARRANTY.\nThis is free software, and you are welcome\nto redistribute it under certain conditions;\nfor details visit:\n\nhttp://www.gnu.org/copyleft/gpl.html\n"));
  gtk_widget_set_name (about_label_gpl, "about_label_gpl");
  gtk_widget_show (about_label_gpl);
  gtk_box_pack_start (GTK_BOX (about_box), about_label_gpl, FALSE, FALSE, 0);
  gtk_label_set_justify (GTK_LABEL (about_label_gpl), GTK_JUSTIFY_CENTER);

  about_box_buttons = gtk_hbox_new (TRUE, 0);
  gtk_widget_set_name (about_box_buttons, "about_box_buttons");
  gtk_widget_show (about_box_buttons);
  gtk_box_pack_start (GTK_BOX (about_box), about_box_buttons, FALSE, TRUE, 0);

  about_button_cool = gtk_button_new_with_mnemonic (_("Cool"));
  gtk_widget_set_name (about_button_cool, "about_button_cool");
  gtk_widget_show (about_button_cool);
  gtk_box_pack_start (GTK_BOX (about_box_buttons), about_button_cool, FALSE, FALSE, 0);
  gtk_container_set_border_width (GTK_CONTAINER (about_button_cool), 4);

  label2 = gtk_label_new (_("(Image from www.sciencephotography.com)"));
  gtk_widget_set_name (label2, "label2");
  gtk_widget_show (label2);
  gtk_box_pack_start (GTK_BOX (about_box), label2, FALSE, FALSE, 0);
  gtk_label_set_justify (GTK_LABEL (label2), GTK_JUSTIFY_CENTER);

  g_signal_connect ((gpointer) about_window, "destroy",
                    G_CALLBACK (on_about_window_destroy),
                    NULL);
  g_signal_connect ((gpointer) about_button_cool, "clicked",
                    G_CALLBACK (on_about_button_cool_clicked),
                    NULL);

  /* Store pointers to all widgets, for use by lookup_widget(). */
  GLADE_HOOKUP_OBJECT_NO_REF (about_window, about_window, "about_window");
  GLADE_HOOKUP_OBJECT (about_window, about_box, "about_box");
  GLADE_HOOKUP_OBJECT (about_window, about_box_picture, "about_box_picture");
  GLADE_HOOKUP_OBJECT (about_window, about_pixmap, "about_pixmap");
  GLADE_HOOKUP_OBJECT (about_window, about_label_version, "about_label_version");
  GLADE_HOOKUP_OBJECT (about_window, about_label_cvsid, "about_label_cvsid");
  GLADE_HOOKUP_OBJECT (about_window, about_label_gpl, "about_label_gpl");
  GLADE_HOOKUP_OBJECT (about_window, about_box_buttons, "about_box_buttons");
  GLADE_HOOKUP_OBJECT (about_window, about_button_cool, "about_button_cool");
  GLADE_HOOKUP_OBJECT (about_window, label2, "label2");

  return about_window;
}

GtkWidget*
create_preferences_window (void)
{
  GtkWidget *preferences_window;
  GtkWidget *dialog_vbox2;
  GtkWidget *vbox3;
  GtkWidget *pref_frame_general;
  GtkWidget *vbox4;
  GtkWidget *hbox1;
  GtkWidget *label6;
  GtkWidget *video_output_driver_combo;
  GtkWidget *combo_entry1;
  GtkWidget *hbox2;
  GtkWidget *label7;
  GtkWidget *default_run_speed_slider;
  GtkObject *default_run_speed_spinner_adj;
  GtkWidget *default_run_speed_spinner;
  GtkWidget *run_loop_checkbutton;
  GtkWidget *auto_refresh_checkbutton;
  GtkWidget *label3;
  GtkWidget *pref_frame_advanced;
  GtkWidget *vbox7;
  GtkWidget *drop_orphaned_frames_checkbutton;
  GtkWidget *adjust_timestamps_checkbutton;
  GtkWidget *force_system_header_checkbutton;
  GtkWidget *drop_trailing_pack_with_system_header_checkbutton;
  GtkWidget *ignore_endcode_checkbutton;
  GtkWidget *label8;
  GtkWidget *pref_frame_devel;
  GtkWidget *vbox6;
  GtkWidget *ignore_errors_checkbutton;
  GtkWidget *label5;
  GtkWidget *dialog_action_area2;
  GtkWidget *cancelbutton1;
  GtkWidget *okbutton1;
  GtkTooltips *tooltips;

  tooltips = gtk_tooltips_new ();

  preferences_window = gtk_dialog_new ();
  gtk_widget_set_name (preferences_window, "preferences_window");
  gtk_window_set_title (GTK_WINDOW (preferences_window), _("Preferences"));
  gtk_window_set_modal (GTK_WINDOW (preferences_window), TRUE);
  gtk_window_set_resizable (GTK_WINDOW (preferences_window), FALSE);
  gtk_window_set_type_hint (GTK_WINDOW (preferences_window), GDK_WINDOW_TYPE_HINT_DIALOG);

  dialog_vbox2 = GTK_DIALOG (preferences_window)->vbox;
  gtk_widget_set_name (dialog_vbox2, "dialog_vbox2");
  gtk_widget_show (dialog_vbox2);

  vbox3 = gtk_vbox_new (FALSE, 0);
  gtk_widget_set_name (vbox3, "vbox3");
  gtk_widget_show (vbox3);
  gtk_box_pack_start (GTK_BOX (dialog_vbox2), vbox3, TRUE, TRUE, 0);

  pref_frame_general = gtk_frame_new (NULL);
  gtk_widget_set_name (pref_frame_general, "pref_frame_general");
  gtk_widget_show (pref_frame_general);
  gtk_box_pack_start (GTK_BOX (vbox3), pref_frame_general, TRUE, TRUE, 3);
  gtk_container_set_border_width (GTK_CONTAINER (pref_frame_general), 3);

  vbox4 = gtk_vbox_new (FALSE, 2);
  gtk_widget_set_name (vbox4, "vbox4");
  gtk_widget_show (vbox4);
  gtk_container_add (GTK_CONTAINER (pref_frame_general), vbox4);

  hbox1 = gtk_hbox_new (FALSE, 0);
  gtk_widget_set_name (hbox1, "hbox1");
  gtk_widget_show (hbox1);
  gtk_box_pack_start (GTK_BOX (vbox4), hbox1, TRUE, TRUE, 0);

  label6 = gtk_label_new (_("Video Output Driver"));
  gtk_widget_set_name (label6, "label6");
  gtk_widget_show (label6);
  gtk_box_pack_start (GTK_BOX (hbox1), label6, FALSE, FALSE, 0);

  video_output_driver_combo = gtk_combo_new ();
  g_object_set_data (G_OBJECT (GTK_COMBO (video_output_driver_combo)->popwin),
                     "GladeParentKey", video_output_driver_combo);
  gtk_widget_set_name (video_output_driver_combo, "video_output_driver_combo");
  gtk_widget_show (video_output_driver_combo);
  gtk_box_pack_start (GTK_BOX (hbox1), video_output_driver_combo, FALSE, FALSE, 10);
  gtk_widget_set_size_request (video_output_driver_combo, 90, 24);

  combo_entry1 = GTK_COMBO (video_output_driver_combo)->entry;
  gtk_widget_set_name (combo_entry1, "combo_entry1");
  gtk_widget_show (combo_entry1);
  gtk_widget_set_size_request (combo_entry1, 60, 24);
  gtk_tooltips_set_tip (tooltips, combo_entry1, _("Desired output video driver.  The \"xv\" drivers are recommended, since they can correct for non-square aspect ratios."), NULL);
  gtk_editable_set_editable (GTK_EDITABLE (combo_entry1), FALSE);

  hbox2 = gtk_hbox_new (FALSE, 0);
  gtk_widget_set_name (hbox2, "hbox2");
  gtk_widget_show (hbox2);
  gtk_box_pack_start (GTK_BOX (vbox4), hbox2, FALSE, FALSE, 0);

  label7 = gtk_label_new (_("Default Run Speed"));
  gtk_widget_set_name (label7, "label7");
  gtk_widget_show (label7);
  gtk_box_pack_start (GTK_BOX (hbox2), label7, FALSE, FALSE, 0);

  default_run_speed_slider = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (1, 1, 100, 1, 2, 1)));
  gtk_widget_set_name (default_run_speed_slider, "default_run_speed_slider");
  gtk_widget_show (default_run_speed_slider);
  gtk_box_pack_start (GTK_BOX (hbox2), default_run_speed_slider, TRUE, TRUE, 7);
  gtk_scale_set_draw_value (GTK_SCALE (default_run_speed_slider), FALSE);
  gtk_scale_set_digits (GTK_SCALE (default_run_speed_slider), 0);

  default_run_speed_spinner_adj = gtk_adjustment_new (1, 1, 100, 1, 5, 25);
  default_run_speed_spinner = gtk_spin_button_new (GTK_ADJUSTMENT (default_run_speed_spinner_adj), 1, 0);
  gtk_widget_set_name (default_run_speed_spinner, "default_run_speed_spinner");
  gtk_widget_show (default_run_speed_spinner);
  gtk_box_pack_start (GTK_BOX (hbox2), default_run_speed_spinner, FALSE, FALSE, 0);
  gtk_tooltips_set_tip (tooltips, default_run_speed_spinner, _("On load, sets the Run Speed to this value."), NULL);
  gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (default_run_speed_spinner), TRUE);

  run_loop_checkbutton = gtk_check_button_new_with_mnemonic (_("Run Loop"));
  gtk_widget_set_name (run_loop_checkbutton, "run_loop_checkbutton");
  gtk_widget_show (run_loop_checkbutton);
  gtk_box_pack_start (GTK_BOX (vbox4), run_loop_checkbutton, FALSE, FALSE, 0);
  gtk_tooltips_set_tip (tooltips, run_loop_checkbutton, _("When in \"Run\" mode, the playback will loop from the end of the stream back to the start, and continue playing indefinitely."), NULL);

  auto_refresh_checkbutton = gtk_check_button_new_with_mnemonic (_("Auto Refresh"));
  gtk_widget_set_name (auto_refresh_checkbutton, "auto_refresh_checkbutton");
  gtk_widget_show (auto_refresh_checkbutton);
  gtk_box_pack_start (GTK_BOX (vbox4), auto_refresh_checkbutton, FALSE, FALSE, 0);
  gtk_tooltips_set_tip (tooltips, auto_refresh_checkbutton, _("Redraws the selected GOP on each click of the \"Next\" and \"Prev\" buttons as well as any changes made to the GOP selector bar."), NULL);

  label3 = gtk_label_new (_("General"));
  gtk_widget_set_name (label3, "label3");
  gtk_widget_show (label3);
  gtk_frame_set_label_widget (GTK_FRAME (pref_frame_general), label3);

  pref_frame_advanced = gtk_frame_new (NULL);
  gtk_widget_set_name (pref_frame_advanced, "pref_frame_advanced");
  gtk_widget_show (pref_frame_advanced);
  gtk_box_pack_start (GTK_BOX (vbox3), pref_frame_advanced, TRUE, TRUE, 0);
  gtk_container_set_border_width (GTK_CONTAINER (pref_frame_advanced), 3);

  vbox7 = gtk_vbox_new (FALSE, 2);
  gtk_widget_set_name (vbox7, "vbox7");
  gtk_widget_show (vbox7);
  gtk_container_add (GTK_CONTAINER (pref_frame_advanced), vbox7);

  drop_orphaned_frames_checkbutton = gtk_check_button_new_with_mnemonic (_("Drop Orphaned Frames"));
  gtk_widget_set_name (drop_orphaned_frames_checkbutton, "drop_orphaned_frames_checkbutton");
  gtk_widget_show (drop_orphaned_frames_checkbutton);
  gtk_box_pack_start (GTK_BOX (vbox7), drop_orphaned_frames_checkbutton, FALSE, FALSE, 0);
  gtk_tooltips_set_tip (tooltips, drop_orphaned_frames_checkbutton, _("If a GOP is \"open\", that means that there are Pictures in the GOP that depend on the prior GOP's Pictures.  When this \"open\" GOP is at the start of a splice point, it is already marked \"broken\" to indicate to the decoder that the dependent Pictures should be ignore.  However, some decoders do not honor the \"broken\" flag, and try to decode this Pictures, causing a garbled image.  If \"Drop Orphaned Frames\" is selected, the invalid Pictures will be removed from the stream when the GOP is saved.  This can cause corrupted video if video packets containing data from two different Pictures end up in the same Pack, since GOPchop currently drops the entire Pack."), NULL);

  adjust_timestamps_checkbutton = gtk_check_button_new_with_mnemonic (_("Adjust GOP Timestamps"));
  gtk_widget_set_name (adjust_timestamps_checkbutton, "adjust_timestamps_checkbutton");
  gtk_widget_show (adjust_timestamps_checkbutton);
  gtk_box_pack_start (GTK_BOX (vbox7), adjust_timestamps_checkbutton, FALSE, FALSE, 0);
  gtk_tooltips_set_tip (tooltips, adjust_timestamps_checkbutton, _("When clips are written to the destination stream, the timestamps in the GOP header will be recalculated, starting at 0:00.0.  Without this, the GOP timestamp will jump forward at every split point.  Some decoders are sensitive to this."), NULL);

  force_system_header_checkbutton = gtk_check_button_new_with_mnemonic (_("Force Prepended System Header"));
  gtk_widget_set_name (force_system_header_checkbutton, "force_system_header_checkbutton");
  gtk_widget_show (force_system_header_checkbutton);
  gtk_box_pack_start (GTK_BOX (vbox7), force_system_header_checkbutton, FALSE, FALSE, 0);
  gtk_tooltips_set_tip (tooltips, force_system_header_checkbutton, _("Forces a Pack to be written to the start of the saved stream, which includes the first System Header seen in the source stream, followed by Private Stream 2 padding to 2048 bytes.  This may be needed for DVD authoring tools."), NULL);

  drop_trailing_pack_with_system_header_checkbutton = gtk_check_button_new_with_mnemonic (_("Drop Trailing Pack with System Header"));
  gtk_widget_set_name (drop_trailing_pack_with_system_header_checkbutton, "drop_trailing_pack_with_system_header_checkbutton");
  gtk_widget_show (drop_trailing_pack_with_system_header_checkbutton);
  gtk_box_pack_start (GTK_BOX (vbox7), drop_trailing_pack_with_system_header_checkbutton, FALSE, FALSE, 0);
  gtk_tooltips_set_tip (tooltips, drop_trailing_pack_with_system_header_checkbutton, _("If the last Pack in the destination stream contains a System Header, it will be discarded during save.  This may be needed for DVD authoring tools."), NULL);

  ignore_endcode_checkbutton = gtk_check_button_new_with_mnemonic (_("Ignore Program End Codes"));
  gtk_widget_set_name (ignore_endcode_checkbutton, "ignore_endcode_checkbutton");
  gtk_widget_show (ignore_endcode_checkbutton);
  gtk_box_pack_start (GTK_BOX (vbox7), ignore_endcode_checkbutton, FALSE, FALSE, 0);
  gtk_tooltips_set_tip (tooltips, ignore_endcode_checkbutton, _("If the source stream has multiple MPEGs concatenated together, there may be Program End codes in the middle of the stream.  If they are ignored, GOPchop will continue parsing until EOF."), NULL);

  label8 = gtk_label_new (_("Advanced"));
  gtk_widget_set_name (label8, "label8");
  gtk_widget_show (label8);
  gtk_frame_set_label_widget (GTK_FRAME (pref_frame_advanced), label8);

  pref_frame_devel = gtk_frame_new (NULL);
  gtk_widget_set_name (pref_frame_devel, "pref_frame_devel");
  gtk_widget_show (pref_frame_devel);
  gtk_box_pack_start (GTK_BOX (vbox3), pref_frame_devel, TRUE, TRUE, 3);
  gtk_container_set_border_width (GTK_CONTAINER (pref_frame_devel), 3);

  vbox6 = gtk_vbox_new (FALSE, 2);
  gtk_widget_set_name (vbox6, "vbox6");
  gtk_widget_show (vbox6);
  gtk_container_add (GTK_CONTAINER (pref_frame_devel), vbox6);

  ignore_errors_checkbutton = gtk_check_button_new_with_mnemonic (_("Ignore Errors"));
  gtk_widget_set_name (ignore_errors_checkbutton, "ignore_errors_checkbutton");
  gtk_widget_show (ignore_errors_checkbutton);
  gtk_box_pack_start (GTK_BOX (vbox6), ignore_errors_checkbutton, FALSE, FALSE, 0);
  gtk_tooltips_set_tip (tooltips, ignore_errors_checkbutton, _("Disables the reporting of unusual data in the stream during initial MPEG2 and GOP parsing."), NULL);

  label5 = gtk_label_new (_("Developer"));
  gtk_widget_set_name (label5, "label5");
  gtk_widget_show (label5);
  gtk_frame_set_label_widget (GTK_FRAME (pref_frame_devel), label5);

  dialog_action_area2 = GTK_DIALOG (preferences_window)->action_area;
  gtk_widget_set_name (dialog_action_area2, "dialog_action_area2");
  gtk_widget_show (dialog_action_area2);
  gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area2), GTK_BUTTONBOX_SPREAD);

  cancelbutton1 = gtk_button_new_from_stock ("gtk-cancel");
  gtk_widget_set_name (cancelbutton1, "cancelbutton1");
  gtk_widget_show (cancelbutton1);
  gtk_dialog_add_action_widget (GTK_DIALOG (preferences_window), cancelbutton1, GTK_RESPONSE_CANCEL);
  GTK_WIDGET_SET_FLAGS (cancelbutton1, GTK_CAN_DEFAULT);

  okbutton1 = gtk_button_new_from_stock ("gtk-ok");
  gtk_widget_set_name (okbutton1, "okbutton1");
  gtk_widget_show (okbutton1);
  gtk_dialog_add_action_widget (GTK_DIALOG (preferences_window), okbutton1, GTK_RESPONSE_OK);
  GTK_WIDGET_SET_FLAGS (okbutton1, GTK_CAN_DEFAULT);

  g_signal_connect ((gpointer) preferences_window, "delete_event",
                    G_CALLBACK (on_preferences_window_delete_event),
                    NULL);
  g_signal_connect ((gpointer) default_run_speed_slider, "value_changed",
                    G_CALLBACK (on_preferences_run_speed_slider_value_changed),
                    NULL);
  g_signal_connect ((gpointer) default_run_speed_spinner, "value_changed",
                    G_CALLBACK (on_preferences_run_speed_spinner_value_changed),
                    NULL);
  g_signal_connect ((gpointer) cancelbutton1, "clicked",
                    G_CALLBACK (on_preferences_cancelbutton_clicked),
                    NULL);
  g_signal_connect ((gpointer) okbutton1, "clicked",
                    G_CALLBACK (on_preferences_okbutton_clicked),
                    NULL);

  /* Store pointers to all widgets, for use by lookup_widget(). */
  GLADE_HOOKUP_OBJECT_NO_REF (preferences_window, preferences_window, "preferences_window");
  GLADE_HOOKUP_OBJECT_NO_REF (preferences_window, dialog_vbox2, "dialog_vbox2");
  GLADE_HOOKUP_OBJECT (preferences_window, vbox3, "vbox3");
  GLADE_HOOKUP_OBJECT (preferences_window, pref_frame_general, "pref_frame_general");
  GLADE_HOOKUP_OBJECT (preferences_window, vbox4, "vbox4");
  GLADE_HOOKUP_OBJECT (preferences_window, hbox1, "hbox1");
  GLADE_HOOKUP_OBJECT (preferences_window, label6, "label6");
  GLADE_HOOKUP_OBJECT (preferences_window, video_output_driver_combo, "video_output_driver_combo");
  GLADE_HOOKUP_OBJECT (preferences_window, combo_entry1, "combo_entry1");
  GLADE_HOOKUP_OBJECT (preferences_window, hbox2, "hbox2");
  GLADE_HOOKUP_OBJECT (preferences_window, label7, "label7");
  GLADE_HOOKUP_OBJECT (preferences_window, default_run_speed_slider, "default_run_speed_slider");
  GLADE_HOOKUP_OBJECT (preferences_window, default_run_speed_spinner, "default_run_speed_spinner");
  GLADE_HOOKUP_OBJECT (preferences_window, run_loop_checkbutton, "run_loop_checkbutton");
  GLADE_HOOKUP_OBJECT (preferences_window, auto_refresh_checkbutton, "auto_refresh_checkbutton");
  GLADE_HOOKUP_OBJECT (preferences_window, label3, "label3");
  GLADE_HOOKUP_OBJECT (preferences_window, pref_frame_advanced, "pref_frame_advanced");
  GLADE_HOOKUP_OBJECT (preferences_window, vbox7, "vbox7");
  GLADE_HOOKUP_OBJECT (preferences_window, drop_orphaned_frames_checkbutton, "drop_orphaned_frames_checkbutton");
  GLADE_HOOKUP_OBJECT (preferences_window, adjust_timestamps_checkbutton, "adjust_timestamps_checkbutton");
  GLADE_HOOKUP_OBJECT (preferences_window, force_system_header_checkbutton, "force_system_header_checkbutton");
  GLADE_HOOKUP_OBJECT (preferences_window, drop_trailing_pack_with_system_header_checkbutton, "drop_trailing_pack_with_system_header_checkbutton");
  GLADE_HOOKUP_OBJECT (preferences_window, ignore_endcode_checkbutton, "ignore_endcode_checkbutton");
  GLADE_HOOKUP_OBJECT (preferences_window, label8, "label8");
  GLADE_HOOKUP_OBJECT (preferences_window, pref_frame_devel, "pref_frame_devel");
  GLADE_HOOKUP_OBJECT (preferences_window, vbox6, "vbox6");
  GLADE_HOOKUP_OBJECT (preferences_window, ignore_errors_checkbutton, "ignore_errors_checkbutton");
  GLADE_HOOKUP_OBJECT (preferences_window, label5, "label5");
  GLADE_HOOKUP_OBJECT_NO_REF (preferences_window, dialog_action_area2, "dialog_action_area2");
  GLADE_HOOKUP_OBJECT (preferences_window, cancelbutton1, "cancelbutton1");
  GLADE_HOOKUP_OBJECT (preferences_window, okbutton1, "okbutton1");
  GLADE_HOOKUP_OBJECT_NO_REF (preferences_window, tooltips, "tooltips");

  return preferences_window;
}

GtkWidget*
create_GOP_window (void)
{
  GtkWidget *GOP_window;
  GtkWidget *GOP_box;
  GtkWidget *GOP_label_filename;
  GtkWidget *GOP_hseparator;
  GtkWidget *GOP_label_GOP;
  GtkWidget *GOP_label_sequence_info;
  GtkWidget *GOP_scrolledwindow;
  GtkWidget *GOP_clist;

  GOP_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_widget_set_name (GOP_window, "GOP_window");
  gtk_window_set_title (GTK_WINDOW (GOP_window), _("GOP Info"));
  gtk_window_set_default_size (GTK_WINDOW (GOP_window), 400, 400);

  GOP_box = gtk_vbox_new (FALSE, 0);
  gtk_widget_set_name (GOP_box, "GOP_box");
  gtk_widget_show (GOP_box);
  gtk_container_add (GTK_CONTAINER (GOP_window), GOP_box);

  GOP_label_filename = gtk_label_new ("");
  gtk_widget_set_name (GOP_label_filename, "GOP_label_filename");
  gtk_widget_show (GOP_label_filename);
  gtk_box_pack_start (GTK_BOX (GOP_box), GOP_label_filename, FALSE, FALSE, 0);
  gtk_misc_set_padding (GTK_MISC (GOP_label_filename), 4, 4);

  GOP_hseparator = gtk_hseparator_new ();
  gtk_widget_set_name (GOP_hseparator, "GOP_hseparator");
  gtk_widget_show (GOP_hseparator);
  gtk_box_pack_start (GTK_BOX (GOP_box), GOP_hseparator, FALSE, TRUE, 0);

  GOP_label_GOP = gtk_label_new (_("No GOP selected"));
  gtk_widget_set_name (GOP_label_GOP, "GOP_label_GOP");
  gtk_widget_show (GOP_label_GOP);
  gtk_box_pack_start (GTK_BOX (GOP_box), GOP_label_GOP, FALSE, FALSE, 0);
  gtk_label_set_justify (GTK_LABEL (GOP_label_GOP), GTK_JUSTIFY_CENTER);

  GOP_label_sequence_info = gtk_label_new (_("No Sequence Info Found"));
  gtk_widget_set_name (GOP_label_sequence_info, "GOP_label_sequence_info");
  gtk_widget_show (GOP_label_sequence_info);
  gtk_box_pack_start (GTK_BOX (GOP_box), GOP_label_sequence_info, FALSE, FALSE, 0);
  gtk_label_set_justify (GTK_LABEL (GOP_label_sequence_info), GTK_JUSTIFY_CENTER);

  GOP_scrolledwindow = gtk_scrolled_window_new (NULL, NULL);
  gtk_widget_set_name (GOP_scrolledwindow, "GOP_scrolledwindow");
  gtk_widget_show (GOP_scrolledwindow);
  gtk_box_pack_start (GTK_BOX (GOP_box), GOP_scrolledwindow, TRUE, TRUE, 0);
  GTK_WIDGET_UNSET_FLAGS (GOP_scrolledwindow, GTK_CAN_FOCUS);
  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (GOP_scrolledwindow), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
  gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (GOP_scrolledwindow), GTK_SHADOW_IN);

  GOP_clist = gtk_tree_view_new ();
  gtk_widget_set_name (GOP_clist, "GOP_clist");
  gtk_widget_show (GOP_clist);
  gtk_container_add (GTK_CONTAINER (GOP_scrolledwindow), GOP_clist);

  g_signal_connect ((gpointer) GOP_window, "delete_event",
                    G_CALLBACK (on_GOP_window_delete_event),
                    NULL);

  /* Store pointers to all widgets, for use by lookup_widget(). */
  GLADE_HOOKUP_OBJECT_NO_REF (GOP_window, GOP_window, "GOP_window");
  GLADE_HOOKUP_OBJECT (GOP_window, GOP_box, "GOP_box");
  GLADE_HOOKUP_OBJECT (GOP_window, GOP_label_filename, "GOP_label_filename");
  GLADE_HOOKUP_OBJECT (GOP_window, GOP_hseparator, "GOP_hseparator");
  GLADE_HOOKUP_OBJECT (GOP_window, GOP_label_GOP, "GOP_label_GOP");
  GLADE_HOOKUP_OBJECT (GOP_window, GOP_label_sequence_info, "GOP_label_sequence_info");
  GLADE_HOOKUP_OBJECT (GOP_window, GOP_scrolledwindow, "GOP_scrolledwindow");
  GLADE_HOOKUP_OBJECT (GOP_window, GOP_clist, "GOP_clist");

  return GOP_window;
}

GtkWidget*
create_main_popup (void)
{
  GtkWidget *main_popup;
  GtkWidget *main_popup_delete;

  main_popup = gtk_menu_new ();
  gtk_widget_set_name (main_popup, "main_popup");

  main_popup_delete = gtk_menu_item_new_with_mnemonic (_("Delete"));
  gtk_widget_set_name (main_popup_delete, "main_popup_delete");
  gtk_widget_show (main_popup_delete);
  gtk_container_add (GTK_CONTAINER (main_popup), main_popup_delete);

  g_signal_connect ((gpointer) main_popup_delete, "activate",
                    G_CALLBACK (on_main_popup_delete_activate),
                    NULL);

  /* Store pointers to all widgets, for use by lookup_widget(). */
  GLADE_HOOKUP_OBJECT_NO_REF (main_popup, main_popup, "main_popup");
  GLADE_HOOKUP_OBJECT (main_popup, main_popup_delete, "main_popup_delete");

  return main_popup;
}

GtkWidget*
create_error_dialog (void)
{
  GtkWidget *error_dialog;
  GtkWidget *error_box;
  GtkWidget *error_box_reason;
  GtkWidget *error_box_icon;
  GtkWidget *error_pixmap;
  GtkWidget *error_label_pixmap;
  GtkWidget *hseparator1;
  GtkWidget *error_scrolledwindow;
  GtkWidget *error_text_why;
  GtkWidget *error_box_buttons;
  GtkWidget *error_button_annoying;

  error_dialog = gtk_dialog_new ();
  gtk_widget_set_name (error_dialog, "error_dialog");
  gtk_window_set_title (GTK_WINDOW (error_dialog), _("Error"));
  gtk_window_set_type_hint (GTK_WINDOW (error_dialog), GDK_WINDOW_TYPE_HINT_DIALOG);

  error_box = GTK_DIALOG (error_dialog)->vbox;
  gtk_widget_set_name (error_box, "error_box");
  gtk_widget_show (error_box);

  error_box_reason = gtk_vbox_new (FALSE, 0);
  gtk_widget_set_name (error_box_reason, "error_box_reason");
  gtk_widget_show (error_box_reason);
  gtk_box_pack_start (GTK_BOX (error_box), error_box_reason, TRUE, TRUE, 0);

  error_box_icon = gtk_hbox_new (FALSE, 4);
  gtk_widget_set_name (error_box_icon, "error_box_icon");
  gtk_widget_show (error_box_icon);
  gtk_box_pack_start (GTK_BOX (error_box_reason), error_box_icon, FALSE, FALSE, 0);
  gtk_container_set_border_width (GTK_CONTAINER (error_box_icon), 10);

  error_pixmap = create_pixmap (error_dialog, "error.xpm");
  gtk_widget_set_name (error_pixmap, "error_pixmap");
  gtk_widget_show (error_pixmap);
  gtk_box_pack_start (GTK_BOX (error_box_icon), error_pixmap, FALSE, FALSE, 0);

  error_label_pixmap = gtk_label_new (_("\"You have 20 seconds to comply.\""));
  gtk_widget_set_name (error_label_pixmap, "error_label_pixmap");
  gtk_widget_show (error_label_pixmap);
  gtk_box_pack_start (GTK_BOX (error_box_icon), error_label_pixmap, TRUE, TRUE, 0);
  gtk_label_set_justify (GTK_LABEL (error_label_pixmap), GTK_JUSTIFY_CENTER);

  hseparator1 = gtk_hseparator_new ();
  gtk_widget_set_name (hseparator1, "hseparator1");
  gtk_widget_show (hseparator1);
  gtk_box_pack_start (GTK_BOX (error_box_reason), hseparator1, FALSE, FALSE, 0);

  error_scrolledwindow = gtk_scrolled_window_new (NULL, NULL);
  gtk_widget_set_name (error_scrolledwindow, "error_scrolledwindow");
  gtk_widget_show (error_scrolledwindow);
  gtk_box_pack_start (GTK_BOX (error_box_reason), error_scrolledwindow, TRUE, TRUE, 0);
  GTK_WIDGET_UNSET_FLAGS (error_scrolledwindow, GTK_CAN_FOCUS);
  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (error_scrolledwindow), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
  gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (error_scrolledwindow), GTK_SHADOW_IN);

  error_text_why = gtk_text_view_new ();
  gtk_widget_set_name (error_text_why, "error_text_why");
  gtk_widget_show (error_text_why);
  gtk_container_add (GTK_CONTAINER (error_scrolledwindow), error_text_why);
  gtk_text_view_set_editable (GTK_TEXT_VIEW (error_text_why), FALSE);
  gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (error_text_why), GTK_WRAP_WORD);

  error_box_buttons = GTK_DIALOG (error_dialog)->action_area;
  gtk_widget_set_name (error_box_buttons, "error_box_buttons");
  gtk_widget_show (error_box_buttons);
  gtk_button_box_set_layout (GTK_BUTTON_BOX (error_box_buttons), GTK_BUTTONBOX_END);

  error_button_annoying = gtk_button_new_with_mnemonic (_("That's annoying!"));
  gtk_widget_set_name (error_button_annoying, "error_button_annoying");
  gtk_widget_show (error_button_annoying);
  gtk_dialog_add_action_widget (GTK_DIALOG (error_dialog), error_button_annoying, 0);

  g_signal_connect ((gpointer) error_button_annoying, "clicked",
                    G_CALLBACK (on_error_button_annoying_clicked),
                    NULL);

  /* Store pointers to all widgets, for use by lookup_widget(). */
  GLADE_HOOKUP_OBJECT_NO_REF (error_dialog, error_dialog, "error_dialog");
  GLADE_HOOKUP_OBJECT_NO_REF (error_dialog, error_box, "error_box");
  GLADE_HOOKUP_OBJECT (error_dialog, error_box_reason, "error_box_reason");
  GLADE_HOOKUP_OBJECT (error_dialog, error_box_icon, "error_box_icon");
  GLADE_HOOKUP_OBJECT (error_dialog, error_pixmap, "error_pixmap");
  GLADE_HOOKUP_OBJECT (error_dialog, error_label_pixmap, "error_label_pixmap");
  GLADE_HOOKUP_OBJECT (error_dialog, hseparator1, "hseparator1");
  GLADE_HOOKUP_OBJECT (error_dialog, error_scrolledwindow, "error_scrolledwindow");
  GLADE_HOOKUP_OBJECT (error_dialog, error_text_why, "error_text_why");
  GLADE_HOOKUP_OBJECT_NO_REF (error_dialog, error_box_buttons, "error_box_buttons");
  GLADE_HOOKUP_OBJECT (error_dialog, error_button_annoying, "error_button_annoying");

  return error_dialog;
}

GtkWidget*
create_new_file_window (void)
{
  GtkWidget *new_file_window;
  GtkWidget *ok_button1;
  GtkWidget *cancel_button1;

  new_file_window = gtk_file_selection_new (_("Select MPEG File"));
  gtk_widget_set_name (new_file_window, "new_file_window");
  gtk_container_set_border_width (GTK_CONTAINER (new_file_window), 10);
  gtk_window_set_modal (GTK_WINDOW (new_file_window), TRUE);
  gtk_window_set_type_hint (GTK_WINDOW (new_file_window), GDK_WINDOW_TYPE_HINT_DIALOG);
  gtk_file_selection_hide_fileop_buttons (GTK_FILE_SELECTION (new_file_window));

  ok_button1 = GTK_FILE_SELECTION (new_file_window)->ok_button;
  gtk_widget_set_name (ok_button1, "ok_button1");
  gtk_widget_show (ok_button1);
  GTK_WIDGET_SET_FLAGS (ok_button1, GTK_CAN_DEFAULT);

  cancel_button1 = GTK_FILE_SELECTION (new_file_window)->cancel_button;
  gtk_widget_set_name (cancel_button1, "cancel_button1");
  gtk_widget_show (cancel_button1);
  GTK_WIDGET_SET_FLAGS (cancel_button1, GTK_CAN_DEFAULT);

  g_signal_connect ((gpointer) new_file_window, "destroy",
                    G_CALLBACK (on_new_file_window_destroy),
                    NULL);
  g_signal_connect ((gpointer) new_file_window, "delete_event",
                    G_CALLBACK (on_new_file_window_delete_event),
                    NULL);
  g_signal_connect ((gpointer) ok_button1, "clicked",
                    G_CALLBACK (on_new_file_okbutton_clicked),
                    NULL);
  g_signal_connect ((gpointer) cancel_button1, "clicked",
                    G_CALLBACK (on_new_file_cancelbutton_clicked),
                    NULL);

  /* Store pointers to all widgets, for use by lookup_widget(). */
  GLADE_HOOKUP_OBJECT_NO_REF (new_file_window, new_file_window, "new_file_window");
  GLADE_HOOKUP_OBJECT_NO_REF (new_file_window, ok_button1, "ok_button1");
  GLADE_HOOKUP_OBJECT_NO_REF (new_file_window, cancel_button1, "cancel_button1");

  return new_file_window;
}

GtkWidget*
create_open_file_window (void)
{
  GtkWidget *open_file_window;
  GtkWidget *fileselection_button_ok;
  GtkWidget *fileselection_button_cancel;

  open_file_window = gtk_file_selection_new (_("Open Session"));
  gtk_widget_set_name (open_file_window, "open_file_window");
  gtk_container_set_border_width (GTK_CONTAINER (open_file_window), 10);
  gtk_window_set_modal (GTK_WINDOW (open_file_window), TRUE);
  gtk_window_set_type_hint (GTK_WINDOW (open_file_window), GDK_WINDOW_TYPE_HINT_DIALOG);
  gtk_file_selection_hide_fileop_buttons (GTK_FILE_SELECTION (open_file_window));

  fileselection_button_ok = GTK_FILE_SELECTION (open_file_window)->ok_button;
  gtk_widget_set_name (fileselection_button_ok, "fileselection_button_ok");
  gtk_widget_show (fileselection_button_ok);
  GTK_WIDGET_SET_FLAGS (fileselection_button_ok, GTK_CAN_DEFAULT);

  fileselection_button_cancel = GTK_FILE_SELECTION (open_file_window)->cancel_button;
  gtk_widget_set_name (fileselection_button_cancel, "fileselection_button_cancel");
  gtk_widget_show (fileselection_button_cancel);
  GTK_WIDGET_SET_FLAGS (fileselection_button_cancel, GTK_CAN_DEFAULT);

  g_signal_connect ((gpointer) open_file_window, "destroy",
                    G_CALLBACK (on_open_file_window_destroy),
                    NULL);
  g_signal_connect ((gpointer) open_file_window, "delete_event",
                    G_CALLBACK (on_open_file_window_delete_event),
                    NULL);
  g_signal_connect ((gpointer) fileselection_button_ok, "clicked",
                    G_CALLBACK (on_open_file_okbutton_clicked),
                    NULL);
  g_signal_connect ((gpointer) fileselection_button_cancel, "clicked",
                    G_CALLBACK (on_open_file_cancelbutton_clicked),
                    NULL);

  /* Store pointers to all widgets, for use by lookup_widget(). */
  GLADE_HOOKUP_OBJECT_NO_REF (open_file_window, open_file_window, "open_file_window");
  GLADE_HOOKUP_OBJECT_NO_REF (open_file_window, fileselection_button_ok, "fileselection_button_ok");
  GLADE_HOOKUP_OBJECT_NO_REF (open_file_window, fileselection_button_cancel, "fileselection_button_cancel");

  return open_file_window;
}

GtkWidget*
create_save_file_window (void)
{
  GtkWidget *save_file_window;
  GtkWidget *saveselection_button_ok;
  GtkWidget *saveselection_button_cancel;

  save_file_window = gtk_file_selection_new (_("Save Session"));
  gtk_widget_set_name (save_file_window, "save_file_window");
  gtk_container_set_border_width (GTK_CONTAINER (save_file_window), 10);
  gtk_window_set_modal (GTK_WINDOW (save_file_window), TRUE);
  gtk_window_set_type_hint (GTK_WINDOW (save_file_window), GDK_WINDOW_TYPE_HINT_DIALOG);

  saveselection_button_ok = GTK_FILE_SELECTION (save_file_window)->ok_button;
  gtk_widget_set_name (saveselection_button_ok, "saveselection_button_ok");
  gtk_widget_show (saveselection_button_ok);
  GTK_WIDGET_SET_FLAGS (saveselection_button_ok, GTK_CAN_DEFAULT);

  saveselection_button_cancel = GTK_FILE_SELECTION (save_file_window)->cancel_button;
  gtk_widget_set_name (saveselection_button_cancel, "saveselection_button_cancel");
  gtk_widget_show (saveselection_button_cancel);
  GTK_WIDGET_SET_FLAGS (saveselection_button_cancel, GTK_CAN_DEFAULT);

  g_signal_connect ((gpointer) save_file_window, "destroy",
                    G_CALLBACK (on_save_file_window_destroy),
                    NULL);
  g_signal_connect ((gpointer) save_file_window, "delete_event",
                    G_CALLBACK (on_save_file_window_delete_event),
                    NULL);
  g_signal_connect ((gpointer) saveselection_button_ok, "clicked",
                    G_CALLBACK (on_save_file_okbutton_clicked),
                    NULL);
  g_signal_connect ((gpointer) saveselection_button_cancel, "clicked",
                    G_CALLBACK (on_save_file_cancelbutton_clicked),
                    NULL);

  /* Store pointers to all widgets, for use by lookup_widget(). */
  GLADE_HOOKUP_OBJECT_NO_REF (save_file_window, save_file_window, "save_file_window");
  GLADE_HOOKUP_OBJECT_NO_REF (save_file_window, saveselection_button_ok, "saveselection_button_ok");
  GLADE_HOOKUP_OBJECT_NO_REF (save_file_window, saveselection_button_cancel, "saveselection_button_cancel");

  return save_file_window;
}

GtkWidget*
create_export_file_window (void)
{
  GtkWidget *export_file_window;
  GtkWidget *ok_button2;
  GtkWidget *cancel_button2;

  export_file_window = gtk_file_selection_new (_("Save MPEG As"));
  gtk_widget_set_name (export_file_window, "export_file_window");
  gtk_container_set_border_width (GTK_CONTAINER (export_file_window), 10);
  gtk_window_set_modal (GTK_WINDOW (export_file_window), TRUE);
  gtk_window_set_type_hint (GTK_WINDOW (export_file_window), GDK_WINDOW_TYPE_HINT_DIALOG);

  ok_button2 = GTK_FILE_SELECTION (export_file_window)->ok_button;
  gtk_widget_set_name (ok_button2, "ok_button2");
  gtk_widget_show (ok_button2);
  GTK_WIDGET_SET_FLAGS (ok_button2, GTK_CAN_DEFAULT);

  cancel_button2 = GTK_FILE_SELECTION (export_file_window)->cancel_button;
  gtk_widget_set_name (cancel_button2, "cancel_button2");
  gtk_widget_show (cancel_button2);
  GTK_WIDGET_SET_FLAGS (cancel_button2, GTK_CAN_DEFAULT);

  g_signal_connect ((gpointer) export_file_window, "destroy",
                    G_CALLBACK (on_export_file_window_destroy),
                    NULL);
  g_signal_connect ((gpointer) export_file_window, "delete_event",
                    G_CALLBACK (on_export_file_window_delete_event),
                    NULL);
  g_signal_connect ((gpointer) ok_button2, "clicked",
                    G_CALLBACK (on_export_file_okbutton_clicked),
                    NULL);
  g_signal_connect ((gpointer) cancel_button2, "clicked",
                    G_CALLBACK (on_export_file_cancelbutton_clicked),
                    NULL);

  /* Store pointers to all widgets, for use by lookup_widget(). */
  GLADE_HOOKUP_OBJECT_NO_REF (export_file_window, export_file_window, "export_file_window");
  GLADE_HOOKUP_OBJECT_NO_REF (export_file_window, ok_button2, "ok_button2");
  GLADE_HOOKUP_OBJECT_NO_REF (export_file_window, cancel_button2, "cancel_button2");

  return export_file_window;
}

