/* * DO NOT EDIT THIS FILE - it is generated by Glade. */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include #include #include #include #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 \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; }