gnome_interface.c
上传用户:riyaled888
上传日期:2009-03-27
资源大小:7338k
文件大小:130k
源码类别:

多媒体

开发平台:

MultiPlatform

  1. /* This file was created automatically by glade and fixed by bootstrap */
  2. #include <vlc/vlc.h>
  3. #include <sys/types.h>
  4. #include <sys/stat.h>
  5. #include <unistd.h>
  6. #include <string.h>
  7. #include <gnome.h>
  8. #include "gnome_callbacks.h"
  9. #include "gnome_interface.h"
  10. #include "gnome_support.h"
  11. static GnomeUIInfo menubar_file_menu_uiinfo[] =
  12. {
  13.   {
  14.     GNOME_APP_UI_ITEM, N_("_Open File..."),
  15.     N_("Open a file"),
  16.     (gpointer) GtkFileOpenShow, NULL, NULL,
  17.     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_OPEN,
  18.     0, (GdkModifierType) 0, NULL
  19.   },
  20.   {
  21.     GNOME_APP_UI_ITEM, N_("Open _Disc..."),
  22.     N_("Open Disc Media"),
  23.     (gpointer) GtkDiscOpenShow, NULL, NULL,
  24.     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_CDROM,
  25.     0, (GdkModifierType) 0, NULL
  26.   },
  27.   {
  28.     GNOME_APP_UI_ITEM, N_("_Network stream..."),
  29.     N_("Select a network stream"),
  30.     (gpointer) GtkNetworkOpenShow, NULL, NULL,
  31.     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_REFRESH,
  32.     0, (GdkModifierType) 0, NULL
  33.   },
  34.   GNOMEUIINFO_SEPARATOR,
  35.   {
  36.     GNOME_APP_UI_ITEM, N_("_Eject Disc"),
  37.     N_("Eject disc"),
  38.     (gpointer) GtkDiscEject, NULL, NULL,
  39.     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_TOP,
  40.     0, (GdkModifierType) 0, NULL
  41.   },
  42.   GNOMEUIINFO_SEPARATOR,
  43.   GNOMEUIINFO_MENU_CLOSE_ITEM (GtkClose, NULL),
  44.   GNOMEUIINFO_MENU_EXIT_ITEM (GnomeExit, NULL),
  45.   GNOMEUIINFO_END
  46. };
  47. static GnomeUIInfo menubar_view_menu_uiinfo[] =
  48. {
  49.   {
  50.     GNOME_APP_UI_ITEM, N_("_Hide interface"),
  51.     NULL,
  52.     (gpointer) GtkWindowToggle, NULL, NULL,
  53.     GNOME_APP_PIXMAP_NONE, NULL,
  54.     0, (GdkModifierType) 0, NULL
  55.   },
  56.   GNOMEUIINFO_SEPARATOR,
  57.   {
  58.     GNOME_APP_UI_ITEM, N_("Progr_am"),
  59.     N_("Choose the program"),
  60.     (gpointer) NULL, NULL, NULL,
  61.     GNOME_APP_PIXMAP_NONE, NULL,
  62.     0, (GdkModifierType) 0, NULL
  63.   },
  64.   {
  65.     GNOME_APP_UI_ITEM, N_("_Title"),
  66.     N_("Choose title"),
  67.     (gpointer) NULL, NULL, NULL,
  68.     GNOME_APP_PIXMAP_NONE, NULL,
  69.     0, (GdkModifierType) 0, NULL
  70.   },
  71.   {
  72.     GNOME_APP_UI_ITEM, N_("_Chapter"),
  73.     N_("Choose chapter"),
  74.     (gpointer) NULL, NULL, NULL,
  75.     GNOME_APP_PIXMAP_NONE, NULL,
  76.     0, (GdkModifierType) 0, NULL
  77.   },
  78.   GNOMEUIINFO_SEPARATOR,
  79.   {
  80.     GNOME_APP_UI_ITEM, N_("_Playlist..."),
  81.     N_("Open the playlist window"),
  82.     (gpointer) GtkPlaylistShow, NULL, NULL,
  83.     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_INDEX,
  84.     0, (GdkModifierType) 0, NULL
  85.   },
  86.   {
  87.     GNOME_APP_UI_ITEM, N_("_Modules..."),
  88.     N_("Open the module manager"),
  89.     (gpointer) GtkModulesShow, NULL, NULL,
  90.     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_ATTACH,
  91.     0, (GdkModifierType) 0, NULL
  92.   },
  93.   {
  94.     GNOME_APP_UI_ITEM, N_("Messages..."),
  95.     N_("Open the messages window"),
  96.     (gpointer) GtkMessagesShow, NULL, NULL,
  97.     GNOME_APP_PIXMAP_NONE, NULL,
  98.     0, (GdkModifierType) 0, NULL
  99.   },
  100.   GNOMEUIINFO_END
  101. };
  102. static GnomeUIInfo menubar_settings_menu_uiinfo[] =
  103. {
  104.   GNOMEUIINFO_MENU_PREFERENCES_ITEM (GtkPreferencesShow, NULL),
  105.   GNOMEUIINFO_END
  106. };
  107. static GnomeUIInfo menubar_config_audio_menu_uiinfo[] =
  108. {
  109.   {
  110.     GNOME_APP_UI_ITEM, N_("_Language"),
  111.     N_("Select audio channel"),
  112.     (gpointer) NULL, NULL, NULL,
  113.     GNOME_APP_PIXMAP_NONE, NULL,
  114.     0, (GdkModifierType) 0, NULL
  115.   },
  116.   GNOMEUIINFO_SEPARATOR,
  117.   {
  118.     GNOME_APP_UI_ITEM, N_("Volume Up"),
  119.     NULL,
  120.     (gpointer) GtkVolumeUp, NULL, NULL,
  121.     GNOME_APP_PIXMAP_NONE, NULL,
  122.     0, (GdkModifierType) 0, NULL
  123.   },
  124.   {
  125.     GNOME_APP_UI_ITEM, N_("Volume Down"),
  126.     NULL,
  127.     (gpointer) GtkVolumeDown, NULL, NULL,
  128.     GNOME_APP_PIXMAP_NONE, NULL,
  129.     0, (GdkModifierType) 0, NULL
  130.   },
  131.   {
  132.     GNOME_APP_UI_ITEM, N_("Mute"),
  133.     NULL,
  134.     (gpointer) GtkVolumeMute, NULL, NULL,
  135.     GNOME_APP_PIXMAP_NONE, NULL,
  136.     0, (GdkModifierType) 0, NULL
  137.   },
  138.   GNOMEUIINFO_SEPARATOR,
  139.   {
  140.     GNOME_APP_UI_ITEM, N_("Channels"),
  141.     NULL,
  142.     (gpointer) NULL, NULL, NULL,
  143.     GNOME_APP_PIXMAP_NONE, NULL,
  144.     0, (GdkModifierType) 0, NULL
  145.   },
  146.   {
  147.     GNOME_APP_UI_ITEM, N_("Device"),
  148.     NULL,
  149.     (gpointer) NULL, NULL, NULL,
  150.     GNOME_APP_PIXMAP_NONE, NULL,
  151.     0, (GdkModifierType) 0, NULL
  152.   },
  153.   GNOMEUIINFO_END
  154. };
  155. static GnomeUIInfo menubar_config_video_menu_menu_uiinfo[] =
  156. {
  157.   {
  158.     GNOME_APP_UI_ITEM, N_("_Subtitles"),
  159.     N_("Select subtitles channel"),
  160.     (gpointer) NULL, NULL, NULL,
  161.     GNOME_APP_PIXMAP_NONE, NULL,
  162.     0, (GdkModifierType) 0, NULL
  163.   },
  164.   GNOMEUIINFO_SEPARATOR,
  165.   {
  166.     GNOME_APP_UI_ITEM, N_("_Fullscreen"),
  167.     NULL,
  168.     (gpointer) GtkFullscreen, NULL, NULL,
  169.     GNOME_APP_PIXMAP_NONE, NULL,
  170.     0, (GdkModifierType) 0, NULL
  171.   },
  172.   GNOMEUIINFO_SEPARATOR,
  173.   {
  174.     GNOME_APP_UI_ITEM, N_("Deinterlace"),
  175.     NULL,
  176.     (gpointer) NULL, NULL, NULL,
  177.     GNOME_APP_PIXMAP_NONE, NULL,
  178.     0, (GdkModifierType) 0, NULL
  179.   },
  180.   {
  181.     GNOME_APP_UI_ITEM, N_("Screen"),
  182.     NULL,
  183.     (gpointer) NULL, NULL, NULL,
  184.     GNOME_APP_PIXMAP_NONE, NULL,
  185.     0, (GdkModifierType) 0, NULL
  186.   },
  187.   GNOMEUIINFO_END
  188. };
  189. static GnomeUIInfo menubar_help_menu_uiinfo[] =
  190. {
  191.   GNOMEUIINFO_MENU_ABOUT_ITEM (GtkAboutShow, NULL),
  192.   GNOMEUIINFO_END
  193. };
  194. static GnomeUIInfo menubar_uiinfo[] =
  195. {
  196.   GNOMEUIINFO_MENU_FILE_TREE (menubar_file_menu_uiinfo),
  197.   GNOMEUIINFO_MENU_VIEW_TREE (menubar_view_menu_uiinfo),
  198.   GNOMEUIINFO_MENU_SETTINGS_TREE (menubar_settings_menu_uiinfo),
  199.   {
  200.     GNOME_APP_UI_SUBTREE, N_("_Audio"),
  201.     NULL,
  202.     menubar_config_audio_menu_uiinfo, NULL, NULL,
  203.     GNOME_APP_PIXMAP_NONE, NULL,
  204.     0, (GdkModifierType) 0, NULL
  205.   },
  206.   {
  207.     GNOME_APP_UI_SUBTREE, N_("_Video"),
  208.     NULL,
  209.     menubar_config_video_menu_menu_uiinfo, NULL, NULL,
  210.     GNOME_APP_PIXMAP_NONE, NULL,
  211.     0, (GdkModifierType) 0, NULL
  212.   },
  213.   GNOMEUIINFO_MENU_HELP_TREE (menubar_help_menu_uiinfo),
  214.   GNOMEUIINFO_END
  215. };
  216. GtkWidget*
  217. create_intf_window (void)
  218. {
  219.   GtkWidget *intf_window;
  220.   GtkWidget *dockitem;
  221.   GtkWidget *toolbar;
  222.   GtkWidget *tmp_toolbar_icon;
  223.   GtkWidget *toolbar_file;
  224.   GtkWidget *toolbar_disc;
  225.   GtkWidget *toolbar_network;
  226.   GtkWidget *toolbar_sat;
  227.   GtkWidget *toolbar_back;
  228.   GtkWidget *toolbar_stop;
  229.   GtkWidget *toolbar_eject;
  230.   GtkWidget *toolbar_play;
  231.   GtkWidget *toolbar_pause;
  232.   GtkWidget *toolbar_slow;
  233.   GtkWidget *toolbar_fast;
  234.   GtkWidget *toolbar_playlist;
  235.   GtkWidget *toolbar_prev;
  236.   GtkWidget *toolbar_next;
  237.   GtkWidget *vbox8;
  238.   GtkWidget *slider_frame;
  239.   GtkWidget *slider;
  240.   GtkWidget *file_box;
  241.   GtkWidget *label_status;
  242.   GtkWidget *dvd_box;
  243.   GtkWidget *label21;
  244.   GtkWidget *title_chapter_box;
  245.   GtkWidget *label19;
  246.   GtkWidget *title_label;
  247.   GtkWidget *button_title_prev;
  248.   GtkWidget *button_title_next;
  249.   GtkWidget *vseparator1;
  250.   GtkWidget *dvd_chapter_box;
  251.   GtkWidget *label20;
  252.   GtkWidget *chapter_label;
  253.   GtkWidget *button_chapter_prev;
  254.   GtkWidget *button_chapter_next;
  255.   GtkWidget *network_box;
  256.   GtkWidget *network_address_label;
  257.   GtkWidget *appbar;
  258.   GtkTooltips *tooltips;
  259.   tooltips = gtk_tooltips_new ();
  260.   intf_window = gnome_app_new ("VLC media player", _("VLC media player"));
  261.   gtk_object_set_data (GTK_OBJECT (intf_window), "intf_window", intf_window);
  262.   gtk_window_set_policy (GTK_WINDOW (intf_window), FALSE, TRUE, TRUE);
  263.   dockitem = GNOME_APP (intf_window)->dock;
  264.   gtk_widget_ref (dockitem);
  265.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "dockitem", dockitem,
  266.                             (GtkDestroyNotify) gtk_widget_unref);
  267.   gtk_widget_show (dockitem);
  268.   gnome_app_create_menus (GNOME_APP (intf_window), menubar_uiinfo);
  269.   gtk_widget_ref (menubar_uiinfo[0].widget);
  270.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_file",
  271.                             menubar_uiinfo[0].widget,
  272.                             (GtkDestroyNotify) gtk_widget_unref);
  273.   gtk_widget_ref (menubar_file_menu_uiinfo[0].widget);
  274.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_open",
  275.                             menubar_file_menu_uiinfo[0].widget,
  276.                             (GtkDestroyNotify) gtk_widget_unref);
  277.   gtk_widget_ref (menubar_file_menu_uiinfo[1].widget);
  278.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_disc",
  279.                             menubar_file_menu_uiinfo[1].widget,
  280.                             (GtkDestroyNotify) gtk_widget_unref);
  281.   gtk_widget_ref (menubar_file_menu_uiinfo[2].widget);
  282.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_network",
  283.                             menubar_file_menu_uiinfo[2].widget,
  284.                             (GtkDestroyNotify) gtk_widget_unref);
  285.   gtk_widget_ref (menubar_file_menu_uiinfo[3].widget);
  286.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator1",
  287.                             menubar_file_menu_uiinfo[3].widget,
  288.                             (GtkDestroyNotify) gtk_widget_unref);
  289.   gtk_widget_ref (menubar_file_menu_uiinfo[4].widget);
  290.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_eject",
  291.                             menubar_file_menu_uiinfo[4].widget,
  292.                             (GtkDestroyNotify) gtk_widget_unref);
  293.   gtk_widget_ref (menubar_file_menu_uiinfo[5].widget);
  294.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator15",
  295.                             menubar_file_menu_uiinfo[5].widget,
  296.                             (GtkDestroyNotify) gtk_widget_unref);
  297.   gtk_widget_ref (menubar_file_menu_uiinfo[6].widget);
  298.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_close",
  299.                             menubar_file_menu_uiinfo[6].widget,
  300.                             (GtkDestroyNotify) gtk_widget_unref);
  301.   gtk_widget_ref (menubar_file_menu_uiinfo[7].widget);
  302.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_exit",
  303.                             menubar_file_menu_uiinfo[7].widget,
  304.                             (GtkDestroyNotify) gtk_widget_unref);
  305.   gtk_widget_ref (menubar_uiinfo[1].widget);
  306.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_view",
  307.                             menubar_uiinfo[1].widget,
  308.                             (GtkDestroyNotify) gtk_widget_unref);
  309.   gtk_widget_ref (menubar_view_menu_uiinfo[0].widget);
  310.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_hide_interface",
  311.                             menubar_view_menu_uiinfo[0].widget,
  312.                             (GtkDestroyNotify) gtk_widget_unref);
  313.   gtk_widget_ref (menubar_view_menu_uiinfo[1].widget);
  314.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator9",
  315.                             menubar_view_menu_uiinfo[1].widget,
  316.                             (GtkDestroyNotify) gtk_widget_unref);
  317.   gtk_widget_ref (menubar_view_menu_uiinfo[2].widget);
  318.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_program",
  319.                             menubar_view_menu_uiinfo[2].widget,
  320.                             (GtkDestroyNotify) gtk_widget_unref);
  321.   gtk_widget_set_sensitive (menubar_view_menu_uiinfo[2].widget, FALSE);
  322.   gtk_widget_ref (menubar_view_menu_uiinfo[3].widget);
  323.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_title",
  324.                             menubar_view_menu_uiinfo[3].widget,
  325.                             (GtkDestroyNotify) gtk_widget_unref);
  326.   gtk_widget_set_sensitive (menubar_view_menu_uiinfo[3].widget, FALSE);
  327.   gtk_widget_ref (menubar_view_menu_uiinfo[4].widget);
  328.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_chapter",
  329.                             menubar_view_menu_uiinfo[4].widget,
  330.                             (GtkDestroyNotify) gtk_widget_unref);
  331.   gtk_widget_set_sensitive (menubar_view_menu_uiinfo[4].widget, FALSE);
  332.   gtk_widget_ref (menubar_view_menu_uiinfo[5].widget);
  333.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator7",
  334.                             menubar_view_menu_uiinfo[5].widget,
  335.                             (GtkDestroyNotify) gtk_widget_unref);
  336.   gtk_widget_ref (menubar_view_menu_uiinfo[6].widget);
  337.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_playlist",
  338.                             menubar_view_menu_uiinfo[6].widget,
  339.                             (GtkDestroyNotify) gtk_widget_unref);
  340.   gtk_widget_ref (menubar_view_menu_uiinfo[7].widget);
  341.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_modules",
  342.                             menubar_view_menu_uiinfo[7].widget,
  343.                             (GtkDestroyNotify) gtk_widget_unref);
  344.   gtk_widget_set_sensitive (menubar_view_menu_uiinfo[7].widget, FALSE);
  345.   gtk_widget_ref (menubar_view_menu_uiinfo[8].widget);
  346.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_messages",
  347.                             menubar_view_menu_uiinfo[8].widget,
  348.                             (GtkDestroyNotify) gtk_widget_unref);
  349.   gtk_widget_ref (menubar_uiinfo[2].widget);
  350.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_settings",
  351.                             menubar_uiinfo[2].widget,
  352.                             (GtkDestroyNotify) gtk_widget_unref);
  353.   gtk_widget_ref (menubar_settings_menu_uiinfo[0].widget);
  354.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_preferences",
  355.                             menubar_settings_menu_uiinfo[0].widget,
  356.                             (GtkDestroyNotify) gtk_widget_unref);
  357.   gtk_widget_ref (menubar_uiinfo[3].widget);
  358.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_config_audio",
  359.                             menubar_uiinfo[3].widget,
  360.                             (GtkDestroyNotify) gtk_widget_unref);
  361.   gtk_widget_ref (menubar_config_audio_menu_uiinfo[0].widget);
  362.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_audio",
  363.                             menubar_config_audio_menu_uiinfo[0].widget,
  364.                             (GtkDestroyNotify) gtk_widget_unref);
  365.   gtk_widget_set_sensitive (menubar_config_audio_menu_uiinfo[0].widget, FALSE);
  366.   gtk_widget_ref (menubar_config_audio_menu_uiinfo[1].widget);
  367.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator25",
  368.                             menubar_config_audio_menu_uiinfo[1].widget,
  369.                             (GtkDestroyNotify) gtk_widget_unref);
  370.   gtk_widget_ref (menubar_config_audio_menu_uiinfo[2].widget);
  371.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_volume_up",
  372.                             menubar_config_audio_menu_uiinfo[2].widget,
  373.                             (GtkDestroyNotify) gtk_widget_unref);
  374.   gtk_widget_ref (menubar_config_audio_menu_uiinfo[3].widget);
  375.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_volume_down",
  376.                             menubar_config_audio_menu_uiinfo[3].widget,
  377.                             (GtkDestroyNotify) gtk_widget_unref);
  378.   gtk_widget_ref (menubar_config_audio_menu_uiinfo[4].widget);
  379.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_volume_mute",
  380.                             menubar_config_audio_menu_uiinfo[4].widget,
  381.                             (GtkDestroyNotify) gtk_widget_unref);
  382.   gtk_widget_ref (menubar_config_audio_menu_uiinfo[5].widget);
  383.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator16",
  384.                             menubar_config_audio_menu_uiinfo[5].widget,
  385.                             (GtkDestroyNotify) gtk_widget_unref);
  386.   gtk_widget_ref (menubar_config_audio_menu_uiinfo[6].widget);
  387.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_audio_channels",
  388.                             menubar_config_audio_menu_uiinfo[6].widget,
  389.                             (GtkDestroyNotify) gtk_widget_unref);
  390.   gtk_widget_ref (menubar_config_audio_menu_uiinfo[7].widget);
  391.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_audio_device",
  392.                             menubar_config_audio_menu_uiinfo[7].widget,
  393.                             (GtkDestroyNotify) gtk_widget_unref);
  394.   gtk_widget_ref (menubar_uiinfo[4].widget);
  395.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_config_video_menu",
  396.                             menubar_uiinfo[4].widget,
  397.                             (GtkDestroyNotify) gtk_widget_unref);
  398.   gtk_widget_ref (menubar_config_video_menu_menu_uiinfo[0].widget);
  399.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_subpictures",
  400.                             menubar_config_video_menu_menu_uiinfo[0].widget,
  401.                             (GtkDestroyNotify) gtk_widget_unref);
  402.   gtk_widget_set_sensitive (menubar_config_video_menu_menu_uiinfo[0].widget, FALSE);
  403.   gtk_widget_ref (menubar_config_video_menu_menu_uiinfo[1].widget);
  404.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator23",
  405.                             menubar_config_video_menu_menu_uiinfo[1].widget,
  406.                             (GtkDestroyNotify) gtk_widget_unref);
  407.   gtk_widget_ref (menubar_config_video_menu_menu_uiinfo[2].widget);
  408.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_fullscreen",
  409.                             menubar_config_video_menu_menu_uiinfo[2].widget,
  410.                             (GtkDestroyNotify) gtk_widget_unref);
  411.   gtk_widget_ref (menubar_config_video_menu_menu_uiinfo[3].widget);
  412.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator24",
  413.                             menubar_config_video_menu_menu_uiinfo[3].widget,
  414.                             (GtkDestroyNotify) gtk_widget_unref);
  415.   gtk_widget_ref (menubar_config_video_menu_menu_uiinfo[4].widget);
  416.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_deinterlace",
  417.                             menubar_config_video_menu_menu_uiinfo[4].widget,
  418.                             (GtkDestroyNotify) gtk_widget_unref);
  419.   gtk_widget_ref (menubar_config_video_menu_menu_uiinfo[5].widget);
  420.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_video_device",
  421.                             menubar_config_video_menu_menu_uiinfo[5].widget,
  422.                             (GtkDestroyNotify) gtk_widget_unref);
  423.   gtk_widget_ref (menubar_uiinfo[5].widget);
  424.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_help",
  425.                             menubar_uiinfo[5].widget,
  426.                             (GtkDestroyNotify) gtk_widget_unref);
  427.   gtk_widget_ref (menubar_help_menu_uiinfo[0].widget);
  428.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_about",
  429.                             menubar_help_menu_uiinfo[0].widget,
  430.                             (GtkDestroyNotify) gtk_widget_unref);
  431.   toolbar = gtk_toolbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_BOTH);
  432.   gtk_widget_ref (toolbar);
  433.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar", toolbar,
  434.                             (GtkDestroyNotify) gtk_widget_unref);
  435.   gtk_widget_show (toolbar);
  436.   gnome_app_add_toolbar (GNOME_APP (intf_window), GTK_TOOLBAR (toolbar), "toolbar",
  437.                                 GNOME_DOCK_ITEM_BEH_EXCLUSIVE,
  438.                                 GNOME_DOCK_TOP, 1, 0, 2);
  439.   gtk_toolbar_set_space_size (GTK_TOOLBAR (toolbar), 16);
  440.   gtk_toolbar_set_space_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_SPACE_LINE);
  441.   gtk_toolbar_set_button_relief (GTK_TOOLBAR (toolbar), GTK_RELIEF_NONE);
  442.   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_OPEN);
  443.   toolbar_file = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
  444.                                 GTK_TOOLBAR_CHILD_BUTTON,
  445.                                 NULL,
  446.                                 _("File"),
  447.                                 _("Open a file"), NULL,
  448.                                 tmp_toolbar_icon, NULL, NULL);
  449.   gtk_widget_ref (toolbar_file);
  450.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_file", toolbar_file,
  451.                             (GtkDestroyNotify) gtk_widget_unref);
  452.   gtk_widget_show (toolbar_file);
  453.   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_CDROM);
  454.   toolbar_disc = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
  455.                                 GTK_TOOLBAR_CHILD_BUTTON,
  456.                                 NULL,
  457.                                 _("Disc"),
  458.                                 _("Open disc"), NULL,
  459.                                 tmp_toolbar_icon, NULL, NULL);
  460.   gtk_widget_ref (toolbar_disc);
  461.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_disc", toolbar_disc,
  462.                             (GtkDestroyNotify) gtk_widget_unref);
  463.   gtk_widget_show (toolbar_disc);
  464.   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_REFRESH);
  465.   toolbar_network = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
  466.                                 GTK_TOOLBAR_CHILD_BUTTON,
  467.                                 NULL,
  468.                                 _("Net"),
  469.                                 _("Select a network stream"), NULL,
  470.                                 tmp_toolbar_icon, NULL, NULL);
  471.   gtk_widget_ref (toolbar_network);
  472.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_network", toolbar_network,
  473.                             (GtkDestroyNotify) gtk_widget_unref);
  474.   gtk_widget_show (toolbar_network);
  475.   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_MIC);
  476.   toolbar_sat = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
  477.                                 GTK_TOOLBAR_CHILD_BUTTON,
  478.                                 NULL,
  479.                                 _("Sat"),
  480.                                 _("Open a satellite card"), NULL,
  481.                                 tmp_toolbar_icon, NULL, NULL);
  482.   gtk_widget_ref (toolbar_sat);
  483.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_sat", toolbar_sat,
  484.                             (GtkDestroyNotify) gtk_widget_unref);
  485.   gtk_widget_show (toolbar_sat);
  486.   gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
  487.   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_BACK);
  488.   toolbar_back = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
  489.                                 GTK_TOOLBAR_CHILD_BUTTON,
  490.                                 NULL,
  491.                                 _("Back"),
  492.                                 _("Go backward"), NULL,
  493.                                 tmp_toolbar_icon, NULL, NULL);
  494.   gtk_widget_ref (toolbar_back);
  495.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_back", toolbar_back,
  496.                             (GtkDestroyNotify) gtk_widget_unref);
  497.   gtk_widget_show (toolbar_back);
  498.   gtk_widget_set_sensitive (toolbar_back, FALSE);
  499.   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_STOP);
  500.   toolbar_stop = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
  501.                                 GTK_TOOLBAR_CHILD_BUTTON,
  502.                                 NULL,
  503.                                 _("Stop"),
  504.                                 _("Stop stream"), NULL,
  505.                                 tmp_toolbar_icon, NULL, NULL);
  506.   gtk_widget_ref (toolbar_stop);
  507.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_stop", toolbar_stop,
  508.                             (GtkDestroyNotify) gtk_widget_unref);
  509.   gtk_widget_show (toolbar_stop);
  510.   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_TOP);
  511.   toolbar_eject = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
  512.                                 GTK_TOOLBAR_CHILD_BUTTON,
  513.                                 NULL,
  514.                                 _("Eject"),
  515.                                 _("Eject disc"), NULL,
  516.                                 tmp_toolbar_icon, NULL, NULL);
  517.   gtk_widget_ref (toolbar_eject);
  518.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_eject", toolbar_eject,
  519.                             (GtkDestroyNotify) gtk_widget_unref);
  520.   gtk_widget_show (toolbar_eject);
  521.   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_FORWARD);
  522.   toolbar_play = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
  523.                                 GTK_TOOLBAR_CHILD_BUTTON,
  524.                                 NULL,
  525.                                 _("Play"),
  526.                                 _("Play stream"), NULL,
  527.                                 tmp_toolbar_icon, NULL, NULL);
  528.   gtk_widget_ref (toolbar_play);
  529.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_play", toolbar_play,
  530.                             (GtkDestroyNotify) gtk_widget_unref);
  531.   gtk_widget_show (toolbar_play);
  532.   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_BOTTOM);
  533.   toolbar_pause = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
  534.                                 GTK_TOOLBAR_CHILD_BUTTON,
  535.                                 NULL,
  536.                                 _("Pause"),
  537.                                 _("Pause stream"), NULL,
  538.                                 tmp_toolbar_icon, NULL, NULL);
  539.   gtk_widget_ref (toolbar_pause);
  540.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_pause", toolbar_pause,
  541.                             (GtkDestroyNotify) gtk_widget_unref);
  542.   gtk_widget_show (toolbar_pause);
  543.   gtk_widget_set_sensitive (toolbar_pause, FALSE);
  544.   gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
  545.   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_TIMER_STOP);
  546.   toolbar_slow = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
  547.                                 GTK_TOOLBAR_CHILD_BUTTON,
  548.                                 NULL,
  549.                                 _("Slow"),
  550.                                 _("Play slower"), NULL,
  551.                                 tmp_toolbar_icon, NULL, NULL);
  552.   gtk_widget_ref (toolbar_slow);
  553.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_slow", toolbar_slow,
  554.                             (GtkDestroyNotify) gtk_widget_unref);
  555.   gtk_widget_show (toolbar_slow);
  556.   gtk_widget_set_sensitive (toolbar_slow, FALSE);
  557.   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_TIMER);
  558.   toolbar_fast = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
  559.                                 GTK_TOOLBAR_CHILD_BUTTON,
  560.                                 NULL,
  561.                                 _("Fast"),
  562.                                 _("Play faster"), NULL,
  563.                                 tmp_toolbar_icon, NULL, NULL);
  564.   gtk_widget_ref (toolbar_fast);
  565.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_fast", toolbar_fast,
  566.                             (GtkDestroyNotify) gtk_widget_unref);
  567.   gtk_widget_show (toolbar_fast);
  568.   gtk_widget_set_sensitive (toolbar_fast, FALSE);
  569.   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_INDEX);
  570.   toolbar_playlist = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
  571.                                 GTK_TOOLBAR_CHILD_BUTTON,
  572.                                 NULL,
  573.                                 _("Playlist"),
  574.                                 _("Open playlist"), NULL,
  575.                                 tmp_toolbar_icon, NULL, NULL);
  576.   gtk_widget_ref (toolbar_playlist);
  577.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_playlist", toolbar_playlist,
  578.                             (GtkDestroyNotify) gtk_widget_unref);
  579.   gtk_widget_show (toolbar_playlist);
  580.   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_FIRST);
  581.   toolbar_prev = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
  582.                                 GTK_TOOLBAR_CHILD_BUTTON,
  583.                                 NULL,
  584.                                 _("Prev"),
  585.                                 _("Previous file"), NULL,
  586.                                 tmp_toolbar_icon, NULL, NULL);
  587.   gtk_widget_ref (toolbar_prev);
  588.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_prev", toolbar_prev,
  589.                             (GtkDestroyNotify) gtk_widget_unref);
  590.   gtk_widget_show (toolbar_prev);
  591.   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_LAST);
  592.   toolbar_next = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
  593.                                 GTK_TOOLBAR_CHILD_BUTTON,
  594.                                 NULL,
  595.                                 _("Next"),
  596.                                 _("Next file"), NULL,
  597.                                 tmp_toolbar_icon, NULL, NULL);
  598.   gtk_widget_ref (toolbar_next);
  599.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_next", toolbar_next,
  600.                             (GtkDestroyNotify) gtk_widget_unref);
  601.   gtk_widget_show (toolbar_next);
  602.   vbox8 = gtk_vbox_new (FALSE, 0);
  603.   gtk_widget_ref (vbox8);
  604.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "vbox8", vbox8,
  605.                             (GtkDestroyNotify) gtk_widget_unref);
  606.   gtk_widget_show (vbox8);
  607.   gnome_app_set_contents (GNOME_APP (intf_window), vbox8);
  608.   slider_frame = gtk_frame_new ("-:--:--");
  609.   gtk_widget_ref (slider_frame);
  610.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "slider_frame", slider_frame,
  611.                             (GtkDestroyNotify) gtk_widget_unref);
  612.   gtk_box_pack_start (GTK_BOX (vbox8), slider_frame, TRUE, TRUE, 0);
  613.   gtk_frame_set_label_align (GTK_FRAME (slider_frame), 0.05, 0.5);
  614.   slider = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 100, 1, 6.25, 0)));
  615.   gtk_widget_ref (slider);
  616.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "slider", slider,
  617.                             (GtkDestroyNotify) gtk_widget_unref);
  618.   gtk_widget_show (slider);
  619.   gtk_container_add (GTK_CONTAINER (slider_frame), slider);
  620.   gtk_scale_set_draw_value (GTK_SCALE (slider), FALSE);
  621.   gtk_scale_set_digits (GTK_SCALE (slider), 3);
  622.   file_box = gtk_hbox_new (FALSE, 0);
  623.   gtk_widget_ref (file_box);
  624.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "file_box", file_box,
  625.                             (GtkDestroyNotify) gtk_widget_unref);
  626.   gtk_widget_show (file_box);
  627.   gtk_box_pack_start (GTK_BOX (vbox8), file_box, TRUE, TRUE, 0);
  628.   label_status = gtk_label_new ("");
  629.   gtk_widget_ref (label_status);
  630.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "label_status", label_status,
  631.                             (GtkDestroyNotify) gtk_widget_unref);
  632.   gtk_widget_show (label_status);
  633.   gtk_box_pack_start (GTK_BOX (file_box), label_status, TRUE, TRUE, 0);
  634.   dvd_box = gtk_hbox_new (FALSE, 0);
  635.   gtk_widget_ref (dvd_box);
  636.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "dvd_box", dvd_box,
  637.                             (GtkDestroyNotify) gtk_widget_unref);
  638.   gtk_box_pack_start (GTK_BOX (vbox8), dvd_box, TRUE, TRUE, 0);
  639.   label21 = gtk_label_new (_("Disc"));
  640.   gtk_widget_ref (label21);
  641.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "label21", label21,
  642.                             (GtkDestroyNotify) gtk_widget_unref);
  643.   gtk_widget_show (label21);
  644.   gtk_box_pack_start (GTK_BOX (dvd_box), label21, TRUE, FALSE, 0);
  645.   title_chapter_box = gtk_hbox_new (FALSE, 10);
  646.   gtk_widget_ref (title_chapter_box);
  647.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "title_chapter_box", title_chapter_box,
  648.                             (GtkDestroyNotify) gtk_widget_unref);
  649.   gtk_widget_show (title_chapter_box);
  650.   gtk_box_pack_start (GTK_BOX (dvd_box), title_chapter_box, TRUE, FALSE, 0);
  651.   label19 = gtk_label_new (_("Title:"));
  652.   gtk_widget_ref (label19);
  653.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "label19", label19,
  654.                             (GtkDestroyNotify) gtk_widget_unref);
  655.   gtk_widget_show (label19);
  656.   gtk_box_pack_start (GTK_BOX (title_chapter_box), label19, FALSE, FALSE, 0);
  657.   title_label = gtk_label_new ("--");
  658.   gtk_widget_ref (title_label);
  659.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "title_label", title_label,
  660.                             (GtkDestroyNotify) gtk_widget_unref);
  661.   gtk_widget_show (title_label);
  662.   gtk_box_pack_start (GTK_BOX (title_chapter_box), title_label, FALSE, FALSE, 0);
  663.   button_title_prev = gnome_stock_button (GNOME_STOCK_BUTTON_PREV);
  664.   gtk_widget_ref (button_title_prev);
  665.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "button_title_prev", button_title_prev,
  666.                             (GtkDestroyNotify) gtk_widget_unref);
  667.   gtk_widget_show (button_title_prev);
  668.   gtk_box_pack_start (GTK_BOX (title_chapter_box), button_title_prev, FALSE, FALSE, 0);
  669.   gtk_tooltips_set_tip (tooltips, button_title_prev, _("Select previous title"), NULL);
  670.   button_title_next = gnome_stock_button (GNOME_STOCK_BUTTON_NEXT);
  671.   gtk_widget_ref (button_title_next);
  672.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "button_title_next", button_title_next,
  673.                             (GtkDestroyNotify) gtk_widget_unref);
  674.   gtk_widget_show (button_title_next);
  675.   gtk_box_pack_start (GTK_BOX (title_chapter_box), button_title_next, FALSE, FALSE, 0);
  676.   vseparator1 = gtk_vseparator_new ();
  677.   gtk_widget_ref (vseparator1);
  678.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "vseparator1", vseparator1,
  679.                             (GtkDestroyNotify) gtk_widget_unref);
  680.   gtk_widget_show (vseparator1);
  681.   gtk_box_pack_start (GTK_BOX (dvd_box), vseparator1, FALSE, FALSE, 0);
  682.   dvd_chapter_box = gtk_hbox_new (FALSE, 10);
  683.   gtk_widget_ref (dvd_chapter_box);
  684.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "dvd_chapter_box", dvd_chapter_box,
  685.                             (GtkDestroyNotify) gtk_widget_unref);
  686.   gtk_widget_show (dvd_chapter_box);
  687.   gtk_box_pack_start (GTK_BOX (dvd_box), dvd_chapter_box, TRUE, FALSE, 0);
  688.   label20 = gtk_label_new (_("Chapter:"));
  689.   gtk_widget_ref (label20);
  690.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "label20", label20,
  691.                             (GtkDestroyNotify) gtk_widget_unref);
  692.   gtk_widget_show (label20);
  693.   gtk_box_pack_start (GTK_BOX (dvd_chapter_box), label20, FALSE, FALSE, 0);
  694.   chapter_label = gtk_label_new ("---");
  695.   gtk_widget_ref (chapter_label);
  696.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "chapter_label", chapter_label,
  697.                             (GtkDestroyNotify) gtk_widget_unref);
  698.   gtk_widget_show (chapter_label);
  699.   gtk_box_pack_start (GTK_BOX (dvd_chapter_box), chapter_label, FALSE, FALSE, 0);
  700.   button_chapter_prev = gnome_stock_button (GNOME_STOCK_BUTTON_DOWN);
  701.   gtk_widget_ref (button_chapter_prev);
  702.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "button_chapter_prev", button_chapter_prev,
  703.                             (GtkDestroyNotify) gtk_widget_unref);
  704.   gtk_widget_show (button_chapter_prev);
  705.   gtk_box_pack_start (GTK_BOX (dvd_chapter_box), button_chapter_prev, FALSE, FALSE, 0);
  706.   gtk_tooltips_set_tip (tooltips, button_chapter_prev, _("Select previous chapter"), NULL);
  707.   button_chapter_next = gnome_stock_button (GNOME_STOCK_BUTTON_UP);
  708.   gtk_widget_ref (button_chapter_next);
  709.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "button_chapter_next", button_chapter_next,
  710.                             (GtkDestroyNotify) gtk_widget_unref);
  711.   gtk_widget_show (button_chapter_next);
  712.   gtk_box_pack_start (GTK_BOX (dvd_chapter_box), button_chapter_next, FALSE, FALSE, 0);
  713.   gtk_tooltips_set_tip (tooltips, button_chapter_next, _("Select next chapter"), NULL);
  714.   network_box = gtk_hbox_new (TRUE, 0);
  715.   gtk_widget_ref (network_box);
  716.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "network_box", network_box,
  717.                             (GtkDestroyNotify) gtk_widget_unref);
  718.   gtk_box_pack_start (GTK_BOX (vbox8), network_box, FALSE, FALSE, 0);
  719.   network_address_label = gtk_label_new (_("No server"));
  720.   gtk_widget_ref (network_address_label);
  721.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "network_address_label", network_address_label,
  722.                             (GtkDestroyNotify) gtk_widget_unref);
  723.   gtk_widget_show (network_address_label);
  724.   gtk_box_pack_start (GTK_BOX (network_box), network_address_label, FALSE, FALSE, 0);
  725.   appbar = gnome_appbar_new (FALSE, TRUE, GNOME_PREFERENCES_NEVER);
  726.   gtk_widget_ref (appbar);
  727.   gtk_object_set_data_full (GTK_OBJECT (intf_window), "appbar", appbar,
  728.                             (GtkDestroyNotify) gtk_widget_unref);
  729.   gtk_widget_show (appbar);
  730.   gnome_app_set_statusbar (GNOME_APP (intf_window), appbar);
  731.   gtk_signal_connect (GTK_OBJECT (intf_window), "delete_event",
  732.                       GTK_SIGNAL_FUNC (GtkWindowDelete),
  733.                       NULL);
  734.   gtk_signal_connect (GTK_OBJECT (intf_window), "drag_data_received",
  735.                       GTK_SIGNAL_FUNC (GtkWindowDrag),
  736.                       NULL);
  737.   gnome_app_install_menu_hints (GNOME_APP (intf_window), menubar_uiinfo);
  738.   gtk_signal_connect (GTK_OBJECT (toolbar_file), "clicked",
  739.                       GTK_SIGNAL_FUNC (GtkFileOpenShow),
  740.                       NULL);
  741.   gtk_signal_connect (GTK_OBJECT (toolbar_disc), "clicked",
  742.                       GTK_SIGNAL_FUNC (GtkDiscOpenShow),
  743.                       NULL);
  744.   gtk_signal_connect (GTK_OBJECT (toolbar_network), "clicked",
  745.                       GTK_SIGNAL_FUNC (GtkNetworkOpenShow),
  746.                       NULL);
  747.   gtk_signal_connect (GTK_OBJECT (toolbar_sat), "clicked",
  748.                       GTK_SIGNAL_FUNC (GtkSatOpenShow),
  749.                       NULL);
  750.   gtk_signal_connect (GTK_OBJECT (toolbar_back), "clicked",
  751.                       GTK_SIGNAL_FUNC (GtkControlBack),
  752.                       NULL);
  753.   gtk_signal_connect (GTK_OBJECT (toolbar_stop), "clicked",
  754.                       GTK_SIGNAL_FUNC (GtkControlStop),
  755.                       NULL);
  756.   gtk_signal_connect (GTK_OBJECT (toolbar_eject), "clicked",
  757.                       GTK_SIGNAL_FUNC (GtkDiscEject),
  758.                       NULL);
  759.   gtk_signal_connect (GTK_OBJECT (toolbar_play), "clicked",
  760.                       GTK_SIGNAL_FUNC (GtkControlPlay),
  761.                       NULL);
  762.   gtk_signal_connect (GTK_OBJECT (toolbar_pause), "clicked",
  763.                       GTK_SIGNAL_FUNC (GtkControlPause),
  764.                       NULL);
  765.   gtk_signal_connect (GTK_OBJECT (toolbar_slow), "clicked",
  766.                       GTK_SIGNAL_FUNC (GtkControlSlow),
  767.                       NULL);
  768.   gtk_signal_connect (GTK_OBJECT (toolbar_fast), "clicked",
  769.                       GTK_SIGNAL_FUNC (GtkControlFast),
  770.                       NULL);
  771.   gtk_signal_connect (GTK_OBJECT (toolbar_playlist), "clicked",
  772.                       GTK_SIGNAL_FUNC (GtkPlaylistShow),
  773.                       NULL);
  774.   gtk_signal_connect (GTK_OBJECT (toolbar_prev), "clicked",
  775.                       GTK_SIGNAL_FUNC (GtkPlaylistPrev),
  776.                       NULL);
  777.   gtk_signal_connect (GTK_OBJECT (toolbar_next), "clicked",
  778.                       GTK_SIGNAL_FUNC (GtkPlaylistNext),
  779.                       NULL);
  780.   gtk_signal_connect (GTK_OBJECT (slider), "button_press_event",
  781.                       GTK_SIGNAL_FUNC (GtkSliderPress),
  782.                       NULL);
  783.   gtk_signal_connect (GTK_OBJECT (slider), "button_release_event",
  784.                       GTK_SIGNAL_FUNC (GtkSliderRelease),
  785.                       NULL);
  786.   gtk_signal_connect (GTK_OBJECT (button_title_prev), "clicked",
  787.                       GTK_SIGNAL_FUNC (GtkTitlePrev),
  788.                       NULL);
  789.   gtk_signal_connect (GTK_OBJECT (button_title_next), "clicked",
  790.                       GTK_SIGNAL_FUNC (GtkTitleNext),
  791.                       NULL);
  792.   gtk_signal_connect (GTK_OBJECT (button_chapter_prev), "clicked",
  793.                       GTK_SIGNAL_FUNC (GtkChapterPrev),
  794.                       NULL);
  795.   gtk_signal_connect (GTK_OBJECT (button_chapter_next), "clicked",
  796.                       GTK_SIGNAL_FUNC (GtkChapterNext),
  797.                       NULL);
  798.   gtk_object_set_data (GTK_OBJECT (intf_window), "tooltips", tooltips);
  799.   return intf_window;
  800. }
  801. static GnomeUIInfo popup_audio_menu_uiinfo[] =
  802. {
  803.   {
  804.     GNOME_APP_UI_ITEM, N_("_Language"),
  805.     N_("Select audio channel"),
  806.     (gpointer) NULL, NULL, NULL,
  807.     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_VOLUME,
  808.     0, (GdkModifierType) 0, NULL
  809.   },
  810.   GNOMEUIINFO_SEPARATOR,
  811.   {
  812.     GNOME_APP_UI_ITEM, N_("Volume up"),
  813.     NULL,
  814.     (gpointer) GtkVolumeUp, NULL, NULL,
  815.     GNOME_APP_PIXMAP_NONE, NULL,
  816.     0, (GdkModifierType) 0, NULL
  817.   },
  818.   {
  819.     GNOME_APP_UI_ITEM, N_("Volume down"),
  820.     NULL,
  821.     (gpointer) GtkVolumeDown, NULL, NULL,
  822.     GNOME_APP_PIXMAP_NONE, NULL,
  823.     0, (GdkModifierType) 0, NULL
  824.   },
  825.   {
  826.     GNOME_APP_UI_ITEM, N_("Mute"),
  827.     NULL,
  828.     (gpointer) GtkVolumeMute, NULL, NULL,
  829.     GNOME_APP_PIXMAP_NONE, NULL,
  830.     0, (GdkModifierType) 0, NULL
  831.   },
  832.   GNOMEUIINFO_SEPARATOR,
  833.   {
  834.     GNOME_APP_UI_ITEM, N_("Channels"),
  835.     NULL,
  836.     (gpointer) NULL, NULL, NULL,
  837.     GNOME_APP_PIXMAP_NONE, NULL,
  838.     0, (GdkModifierType) 0, NULL
  839.   },
  840.   {
  841.     GNOME_APP_UI_ITEM, N_("Device"),
  842.     NULL,
  843.     (gpointer) NULL, NULL, NULL,
  844.     GNOME_APP_PIXMAP_NONE, NULL,
  845.     0, (GdkModifierType) 0, NULL
  846.   },
  847.   GNOMEUIINFO_END
  848. };
  849. static GnomeUIInfo popup_video_menu_uiinfo[] =
  850. {
  851.   {
  852.     GNOME_APP_UI_ITEM, N_("_Subtitles"),
  853.     N_("Select subtitles channel"),
  854.     (gpointer) NULL, NULL, NULL,
  855.     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_FONT,
  856.     0, (GdkModifierType) 0, NULL
  857.   },
  858.   GNOMEUIINFO_SEPARATOR,
  859.   {
  860.     GNOME_APP_UI_ITEM, N_("_Fullscreen"),
  861.     N_("Toggle fullscreen mode"),
  862.     (gpointer) GtkFullscreen, NULL, NULL,
  863.     GNOME_APP_PIXMAP_NONE, NULL,
  864.     0, (GdkModifierType) 0, NULL
  865.   },
  866.   GNOMEUIINFO_SEPARATOR,
  867.   {
  868.     GNOME_APP_UI_ITEM, N_("Deinterlace"),
  869.     NULL,
  870.     (gpointer) NULL, NULL, NULL,
  871.     GNOME_APP_PIXMAP_NONE, NULL,
  872.     0, (GdkModifierType) 0, NULL
  873.   },
  874.   {
  875.     GNOME_APP_UI_ITEM, N_("Screen"),
  876.     NULL,
  877.     (gpointer) NULL, NULL, NULL,
  878.     GNOME_APP_PIXMAP_NONE, NULL,
  879.     0, (GdkModifierType) 0, NULL
  880.   },
  881.   GNOMEUIINFO_END
  882. };
  883. static GnomeUIInfo popup_file_menu_uiinfo[] =
  884. {
  885.   {
  886.     GNOME_APP_UI_ITEM, N_("_Open File..."),
  887.     N_("Open a file"),
  888.     (gpointer) GtkFileOpenShow, NULL, NULL,
  889.     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_OPEN,
  890.     0, (GdkModifierType) 0, NULL
  891.   },
  892.   {
  893.     GNOME_APP_UI_ITEM, N_("Open _Disc..."),
  894.     N_("Open Disc Media"),
  895.     (gpointer) GtkDiscOpenShow, NULL, NULL,
  896.     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_CDROM,
  897.     0, (GdkModifierType) 0, NULL
  898.   },
  899.   {
  900.     GNOME_APP_UI_ITEM, N_("_Network Stream..."),
  901.     N_("Select a network stream"),
  902.     (gpointer) GtkNetworkOpenShow, NULL, NULL,
  903.     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_REFRESH,
  904.     0, (GdkModifierType) 0, NULL
  905.   },
  906.   GNOMEUIINFO_SEPARATOR,
  907.   GNOMEUIINFO_MENU_ABOUT_ITEM (GtkAboutShow, NULL),
  908.   GNOMEUIINFO_END
  909. };
  910. static GnomeUIInfo intf_popup_uiinfo[] =
  911. {
  912.   {
  913.     GNOME_APP_UI_ITEM, N_("Play"),
  914.     NULL,
  915.     (gpointer) GtkControlPlay, NULL, NULL,
  916.     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_FORWARD,
  917.     0, (GdkModifierType) 0, NULL
  918.   },
  919.   {
  920.     GNOME_APP_UI_ITEM, N_("Pause"),
  921.     NULL,
  922.     (gpointer) GtkControlPause, NULL, NULL,
  923.     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_BOTTOM,
  924.     0, (GdkModifierType) 0, NULL
  925.   },
  926.   {
  927.     GNOME_APP_UI_ITEM, N_("Stop"),
  928.     NULL,
  929.     (gpointer) GtkControlStop, NULL, NULL,
  930.     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_STOP,
  931.     0, (GdkModifierType) 0, NULL
  932.   },
  933.   {
  934.     GNOME_APP_UI_ITEM, N_("Back"),
  935.     NULL,
  936.     (gpointer) GtkControlBack, NULL, NULL,
  937.     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_BACK,
  938.     0, (GdkModifierType) 0, NULL
  939.   },
  940.   {
  941.     GNOME_APP_UI_ITEM, N_("Slow"),
  942.     NULL,
  943.     (gpointer) GtkControlSlow, NULL, NULL,
  944.     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_TIMER_STOP,
  945.     0, (GdkModifierType) 0, NULL
  946.   },
  947.   {
  948.     GNOME_APP_UI_ITEM, N_("Fast"),
  949.     NULL,
  950.     (gpointer) GtkControlFast, NULL, NULL,
  951.     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_TIMER,
  952.     0, (GdkModifierType) 0, NULL
  953.   },
  954.   GNOMEUIINFO_SEPARATOR,
  955.   {
  956.     GNOME_APP_UI_ITEM, N_("Next"),
  957.     NULL,
  958.     (gpointer) GtkPlaylistNext, NULL, NULL,
  959.     GNOME_APP_PIXMAP_NONE, NULL,
  960.     0, (GdkModifierType) 0, NULL
  961.   },
  962.   {
  963.     GNOME_APP_UI_ITEM, N_("Prev"),
  964.     NULL,
  965.     (gpointer) GtkPlaylistPrev, NULL, NULL,
  966.     GNOME_APP_PIXMAP_NONE, NULL,
  967.     0, (GdkModifierType) 0, NULL
  968.   },
  969.   {
  970.     GNOME_APP_UI_ITEM, N_("_Jump..."),
  971.     N_("Got directly so specified point"),
  972.     (gpointer) GtkJumpShow, NULL, NULL,
  973.     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_JUMP_TO,
  974.     0, (GdkModifierType) 0, NULL
  975.   },
  976.   GNOMEUIINFO_SEPARATOR,
  977.   {
  978.     GNOME_APP_UI_ITEM, N_("Program"),
  979.     N_("Switch program"),
  980.     (gpointer) NULL, NULL, NULL,
  981.     GNOME_APP_PIXMAP_NONE, NULL,
  982.     0, (GdkModifierType) 0, NULL
  983.   },
  984.   {
  985.     GNOME_APP_UI_ITEM, N_("_Navigation"),
  986.     N_("Navigate through titles and chapters"),
  987.     (gpointer) NULL, NULL, NULL,
  988.     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_SEARCH,
  989.     0, (GdkModifierType) 0, NULL
  990.   },
  991.   {
  992.     GNOME_APP_UI_SUBTREE, N_("Audio"),
  993.     NULL,
  994.     popup_audio_menu_uiinfo, NULL, NULL,
  995.     GNOME_APP_PIXMAP_NONE, NULL,
  996.     0, (GdkModifierType) 0, NULL
  997.   },
  998.   {
  999.     GNOME_APP_UI_SUBTREE, N_("Video"),
  1000.     NULL,
  1001.     popup_video_menu_uiinfo, NULL, NULL,
  1002.     GNOME_APP_PIXMAP_NONE, NULL,
  1003.     0, (GdkModifierType) 0, NULL
  1004.   },
  1005.   GNOMEUIINFO_SEPARATOR,
  1006.   GNOMEUIINFO_MENU_FILE_TREE (popup_file_menu_uiinfo),
  1007.   {
  1008.     GNOME_APP_UI_ITEM, N_("Toggle _Interface"),
  1009.     NULL,
  1010.     (gpointer) GtkWindowToggle, NULL, NULL,
  1011.     GNOME_APP_PIXMAP_NONE, NULL,
  1012.     0, (GdkModifierType) 0, NULL
  1013.   },
  1014.   {
  1015.     GNOME_APP_UI_ITEM, N_("Playlist..."),
  1016.     NULL,
  1017.     (gpointer) GtkPlaylistShow, NULL, NULL,
  1018.     GNOME_APP_PIXMAP_NONE, NULL,
  1019.     0, (GdkModifierType) 0, NULL
  1020.   },
  1021.   GNOMEUIINFO_MENU_PREFERENCES_ITEM (GtkPreferencesShow, NULL),
  1022.   GNOMEUIINFO_SEPARATOR,
  1023.   GNOMEUIINFO_MENU_EXIT_ITEM (GnomeExit, NULL),
  1024.   GNOMEUIINFO_END
  1025. };
  1026. GtkWidget*
  1027. create_intf_popup (void)
  1028. {
  1029.   GtkWidget *intf_popup;
  1030.   intf_popup = gtk_menu_new ();
  1031.   gtk_object_set_data (GTK_OBJECT (intf_popup), "intf_popup", intf_popup);
  1032.   gnome_app_fill_menu (GTK_MENU_SHELL (intf_popup), intf_popup_uiinfo,
  1033.                        NULL, FALSE, 0);
  1034.   gtk_widget_ref (intf_popup_uiinfo[0].widget);
  1035.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_play",
  1036.                             intf_popup_uiinfo[0].widget,
  1037.                             (GtkDestroyNotify) gtk_widget_unref);
  1038.   gtk_widget_ref (intf_popup_uiinfo[1].widget);
  1039.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_pause",
  1040.                             intf_popup_uiinfo[1].widget,
  1041.                             (GtkDestroyNotify) gtk_widget_unref);
  1042.   gtk_widget_ref (intf_popup_uiinfo[2].widget);
  1043.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_stop",
  1044.                             intf_popup_uiinfo[2].widget,
  1045.                             (GtkDestroyNotify) gtk_widget_unref);
  1046.   gtk_widget_ref (intf_popup_uiinfo[3].widget);
  1047.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_back",
  1048.                             intf_popup_uiinfo[3].widget,
  1049.                             (GtkDestroyNotify) gtk_widget_unref);
  1050.   gtk_widget_set_sensitive (intf_popup_uiinfo[3].widget, FALSE);
  1051.   gtk_widget_ref (intf_popup_uiinfo[4].widget);
  1052.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_slow",
  1053.                             intf_popup_uiinfo[4].widget,
  1054.                             (GtkDestroyNotify) gtk_widget_unref);
  1055.   gtk_widget_ref (intf_popup_uiinfo[5].widget);
  1056.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_fast",
  1057.                             intf_popup_uiinfo[5].widget,
  1058.                             (GtkDestroyNotify) gtk_widget_unref);
  1059.   gtk_widget_ref (intf_popup_uiinfo[6].widget);
  1060.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator3",
  1061.                             intf_popup_uiinfo[6].widget,
  1062.                             (GtkDestroyNotify) gtk_widget_unref);
  1063.   gtk_widget_ref (intf_popup_uiinfo[7].widget);
  1064.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_next",
  1065.                             intf_popup_uiinfo[7].widget,
  1066.                             (GtkDestroyNotify) gtk_widget_unref);
  1067.   gtk_widget_ref (intf_popup_uiinfo[8].widget);
  1068.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_prev",
  1069.                             intf_popup_uiinfo[8].widget,
  1070.                             (GtkDestroyNotify) gtk_widget_unref);
  1071.   gtk_widget_ref (intf_popup_uiinfo[9].widget);
  1072.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_jump",
  1073.                             intf_popup_uiinfo[9].widget,
  1074.                             (GtkDestroyNotify) gtk_widget_unref);
  1075.   gtk_widget_ref (intf_popup_uiinfo[10].widget);
  1076.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator17",
  1077.                             intf_popup_uiinfo[10].widget,
  1078.                             (GtkDestroyNotify) gtk_widget_unref);
  1079.   gtk_widget_ref (intf_popup_uiinfo[11].widget);
  1080.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_program",
  1081.                             intf_popup_uiinfo[11].widget,
  1082.                             (GtkDestroyNotify) gtk_widget_unref);
  1083.   gtk_widget_set_sensitive (intf_popup_uiinfo[11].widget, FALSE);
  1084.   gtk_widget_ref (intf_popup_uiinfo[12].widget);
  1085.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_navigation",
  1086.                             intf_popup_uiinfo[12].widget,
  1087.                             (GtkDestroyNotify) gtk_widget_unref);
  1088.   gtk_widget_set_sensitive (intf_popup_uiinfo[12].widget, FALSE);
  1089.   gtk_widget_ref (intf_popup_uiinfo[13].widget);
  1090.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_audio",
  1091.                             intf_popup_uiinfo[13].widget,
  1092.                             (GtkDestroyNotify) gtk_widget_unref);
  1093.   gtk_widget_ref (popup_audio_menu_uiinfo[0].widget);
  1094.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_language",
  1095.                             popup_audio_menu_uiinfo[0].widget,
  1096.                             (GtkDestroyNotify) gtk_widget_unref);
  1097.   gtk_widget_set_sensitive (popup_audio_menu_uiinfo[0].widget, FALSE);
  1098.   gtk_widget_ref (popup_audio_menu_uiinfo[1].widget);
  1099.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator20",
  1100.                             popup_audio_menu_uiinfo[1].widget,
  1101.                             (GtkDestroyNotify) gtk_widget_unref);
  1102.   gtk_widget_ref (popup_audio_menu_uiinfo[2].widget);
  1103.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_volume_up",
  1104.                             popup_audio_menu_uiinfo[2].widget,
  1105.                             (GtkDestroyNotify) gtk_widget_unref);
  1106.   gtk_widget_ref (popup_audio_menu_uiinfo[3].widget);
  1107.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_volume_down",
  1108.                             popup_audio_menu_uiinfo[3].widget,
  1109.                             (GtkDestroyNotify) gtk_widget_unref);
  1110.   gtk_widget_ref (popup_audio_menu_uiinfo[4].widget);
  1111.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_volume_mute",
  1112.                             popup_audio_menu_uiinfo[4].widget,
  1113.                             (GtkDestroyNotify) gtk_widget_unref);
  1114.   gtk_widget_ref (popup_audio_menu_uiinfo[5].widget);
  1115.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator21",
  1116.                             popup_audio_menu_uiinfo[5].widget,
  1117.                             (GtkDestroyNotify) gtk_widget_unref);
  1118.   gtk_widget_ref (popup_audio_menu_uiinfo[6].widget);
  1119.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_audio_channels",
  1120.                             popup_audio_menu_uiinfo[6].widget,
  1121.                             (GtkDestroyNotify) gtk_widget_unref);
  1122.   gtk_widget_ref (popup_audio_menu_uiinfo[7].widget);
  1123.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_audio_device",
  1124.                             popup_audio_menu_uiinfo[7].widget,
  1125.                             (GtkDestroyNotify) gtk_widget_unref);
  1126.   gtk_widget_ref (intf_popup_uiinfo[14].widget);
  1127.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_video",
  1128.                             intf_popup_uiinfo[14].widget,
  1129.                             (GtkDestroyNotify) gtk_widget_unref);
  1130.   gtk_widget_ref (popup_video_menu_uiinfo[0].widget);
  1131.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_subpictures",
  1132.                             popup_video_menu_uiinfo[0].widget,
  1133.                             (GtkDestroyNotify) gtk_widget_unref);
  1134.   gtk_widget_set_sensitive (popup_video_menu_uiinfo[0].widget, FALSE);
  1135.   gtk_widget_ref (popup_video_menu_uiinfo[1].widget);
  1136.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator18",
  1137.                             popup_video_menu_uiinfo[1].widget,
  1138.                             (GtkDestroyNotify) gtk_widget_unref);
  1139.   gtk_widget_ref (popup_video_menu_uiinfo[2].widget);
  1140.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_fullscreen",
  1141.                             popup_video_menu_uiinfo[2].widget,
  1142.                             (GtkDestroyNotify) gtk_widget_unref);
  1143.   gtk_widget_ref (popup_video_menu_uiinfo[3].widget);
  1144.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator19",
  1145.                             popup_video_menu_uiinfo[3].widget,
  1146.                             (GtkDestroyNotify) gtk_widget_unref);
  1147.   gtk_widget_ref (popup_video_menu_uiinfo[4].widget);
  1148.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_deinterlace",
  1149.                             popup_video_menu_uiinfo[4].widget,
  1150.                             (GtkDestroyNotify) gtk_widget_unref);
  1151.   gtk_widget_ref (popup_video_menu_uiinfo[5].widget);
  1152.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_video_device",
  1153.                             popup_video_menu_uiinfo[5].widget,
  1154.                             (GtkDestroyNotify) gtk_widget_unref);
  1155.   gtk_widget_ref (intf_popup_uiinfo[15].widget);
  1156.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator13",
  1157.                             intf_popup_uiinfo[15].widget,
  1158.                             (GtkDestroyNotify) gtk_widget_unref);
  1159.   gtk_widget_ref (intf_popup_uiinfo[16].widget);
  1160.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_file",
  1161.                             intf_popup_uiinfo[16].widget,
  1162.                             (GtkDestroyNotify) gtk_widget_unref);
  1163.   gtk_widget_ref (popup_file_menu_uiinfo[0].widget);
  1164.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_open",
  1165.                             popup_file_menu_uiinfo[0].widget,
  1166.                             (GtkDestroyNotify) gtk_widget_unref);
  1167.   gtk_widget_ref (popup_file_menu_uiinfo[1].widget);
  1168.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_disc",
  1169.                             popup_file_menu_uiinfo[1].widget,
  1170.                             (GtkDestroyNotify) gtk_widget_unref);
  1171.   gtk_widget_ref (popup_file_menu_uiinfo[2].widget);
  1172.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_network",
  1173.                             popup_file_menu_uiinfo[2].widget,
  1174.                             (GtkDestroyNotify) gtk_widget_unref);
  1175.   gtk_widget_ref (popup_file_menu_uiinfo[3].widget);
  1176.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator4",
  1177.                             popup_file_menu_uiinfo[3].widget,
  1178.                             (GtkDestroyNotify) gtk_widget_unref);
  1179.   gtk_widget_ref (popup_file_menu_uiinfo[4].widget);
  1180.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_about",
  1181.                             popup_file_menu_uiinfo[4].widget,
  1182.                             (GtkDestroyNotify) gtk_widget_unref);
  1183.   gtk_widget_ref (intf_popup_uiinfo[17].widget);
  1184.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_interface_toggle",
  1185.                             intf_popup_uiinfo[17].widget,
  1186.                             (GtkDestroyNotify) gtk_widget_unref);
  1187.   gtk_widget_ref (intf_popup_uiinfo[18].widget);
  1188.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_playlist",
  1189.                             intf_popup_uiinfo[18].widget,
  1190.                             (GtkDestroyNotify) gtk_widget_unref);
  1191.   gtk_widget_ref (intf_popup_uiinfo[19].widget);
  1192.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_preferences",
  1193.                             intf_popup_uiinfo[19].widget,
  1194.                             (GtkDestroyNotify) gtk_widget_unref);
  1195.   gtk_widget_ref (intf_popup_uiinfo[20].widget);
  1196.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator2",
  1197.                             intf_popup_uiinfo[20].widget,
  1198.                             (GtkDestroyNotify) gtk_widget_unref);
  1199.   gtk_widget_ref (intf_popup_uiinfo[21].widget);
  1200.   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_exit",
  1201.                             intf_popup_uiinfo[21].widget,
  1202.                             (GtkDestroyNotify) gtk_widget_unref);
  1203.   return intf_popup;
  1204. }
  1205. GtkWidget*
  1206. create_intf_about (void)
  1207. {
  1208.   const gchar *authors[] = {
  1209.     "the VideoLAN team <videolan@videolan.org>",
  1210.     "http://www.videolan.org/",
  1211.     NULL
  1212.   };
  1213.   GtkWidget *intf_about;
  1214.   intf_about = gnome_about_new ("VLC media player", VERSION,
  1215.                         _("(c) 1996-2004 the VideoLAN team"),
  1216.                         authors,
  1217.                         _("This is the VLC media player, a DVD, MPEG and DivX player. It can play MPEG and MPEG2 files from a file or from a network source."),
  1218.                         NULL);
  1219.   gtk_object_set_data (GTK_OBJECT (intf_about), "intf_about", intf_about);
  1220.   return intf_about;
  1221. }
  1222. GtkWidget*
  1223. create_intf_open (void)
  1224. {
  1225.   GtkWidget *intf_open;
  1226.   GtkWidget *dialog_vbox5;
  1227.   GtkWidget *open_vbox;
  1228.   GtkWidget *frame10;
  1229.   GtkWidget *hbox21;
  1230.   GtkWidget *hbox22;
  1231.   GtkWidget *label34;
  1232.   GtkWidget *combo2;
  1233.   GtkWidget *entry_open;
  1234.   GtkWidget *label36;
  1235.   GtkWidget *open_notebook;
  1236.   GtkWidget *hbox20;
  1237.   GtkWidget *combo1;
  1238.   GtkWidget *entry_file;
  1239.   GtkWidget *vbox13;
  1240.   GtkWidget *open_browse;
  1241.   GtkWidget *open_file;
  1242.   GtkWidget *table5;
  1243.   GtkWidget *label35;
  1244.   GtkWidget *hbox24;
  1245.   GSList *disc_group = NULL;
  1246.   GtkWidget *disc_dvd;
  1247.   GtkWidget *disc_vcd;
  1248.   GtkWidget *disc_cdda;
  1249.   GtkWidget *label19;
  1250.   GtkWidget *disc_name;
  1251.   GtkWidget *disc_chapter_label;
  1252.   GtkWidget *disc_title_label;
  1253.   GtkWidget *disc_dvd_use_menu;
  1254.   GtkObject *disc_title_adj;
  1255.   GtkWidget *disc_title;
  1256.   GtkObject *disc_chapter_adj;
  1257.   GtkWidget *disc_chapter;
  1258.   GtkWidget *open_disc;
  1259.   GtkWidget *table4;
  1260.   GSList *table4_group = NULL;
  1261.   GtkWidget *network_udp;
  1262.   GtkWidget *network_multicast;
  1263.   GtkWidget *network_http;
  1264.   GtkWidget *network_udp_port_label;
  1265.   GtkWidget *network_multicast_address_label;
  1266.   GtkWidget *network_http_url_label;
  1267.   GtkWidget *network_multicast_address_combo;
  1268.   GtkWidget *network_multicast_address;
  1269.   GtkWidget *network_multicast_port_label;
  1270.   GtkObject *network_multicast_port_adj;
  1271.   GtkWidget *network_multicast_port;
  1272.   GtkWidget *network_http_url;
  1273.   GtkObject *network_udp_port_adj;
  1274.   GtkWidget *network_udp_port;
  1275.   GtkWidget *open_net;
  1276.   GtkWidget *table3;
  1277.   GtkWidget *label24;
  1278.   GtkWidget *label25;
  1279.   GtkWidget *label26;
  1280.   GtkObject *sat_freq_adj;
  1281.   GtkWidget *sat_freq;
  1282.   GtkWidget *label27;
  1283.   GtkWidget *hbox23;
  1284.   GSList *pol_group = NULL;
  1285.   GtkWidget *sat_pol_vert;
  1286.   GtkWidget *sat_pol_hor;
  1287.   GtkObject *sat_srate_adj;
  1288.   GtkWidget *sat_srate;
  1289.   GtkWidget *sat_fec;
  1290.   GList *sat_fec_items = NULL;
  1291.   GtkWidget *combo_entry1;
  1292.   GtkWidget *open_sat;
  1293.   GtkWidget *show_subtitle;
  1294.   GtkWidget *hbox_subtitle;
  1295.   GtkWidget *combo3;
  1296.   GtkWidget *entry_subtitle;
  1297.   GtkWidget *vbox14;
  1298.   GtkWidget *button4;
  1299.   GtkWidget *label37;
  1300.   GtkObject *subtitle_delay_adj;
  1301.   GtkWidget *subtitle_delay;
  1302.   GtkWidget *label38;
  1303.   GtkObject *subtitle_fps_adj;
  1304.   GtkWidget *subtitle_fps;
  1305.   GtkWidget *hbox28;
  1306.   GtkWidget *show_sout_settings;
  1307.   GtkWidget *sout_settings;
  1308.   GtkWidget *dialog_action_area5;
  1309.   GtkWidget *button1;
  1310.   GtkWidget *button3;
  1311.   intf_open = gnome_dialog_new (_("Open Stream"), NULL);
  1312.   gtk_object_set_data (GTK_OBJECT (intf_open), "intf_open", intf_open);
  1313.   gtk_window_set_modal (GTK_WINDOW (intf_open), TRUE);
  1314.   gtk_window_set_policy (GTK_WINDOW (intf_open), FALSE, FALSE, FALSE);
  1315.   gnome_dialog_close_hides (GNOME_DIALOG (intf_open), TRUE);
  1316.   dialog_vbox5 = GNOME_DIALOG (intf_open)->vbox;
  1317.   gtk_object_set_data (GTK_OBJECT (intf_open), "dialog_vbox5", dialog_vbox5);
  1318.   gtk_widget_show (dialog_vbox5);
  1319.   open_vbox = gtk_vbox_new (FALSE, 5);
  1320.   gtk_widget_ref (open_vbox);
  1321.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_vbox", open_vbox,
  1322.                             (GtkDestroyNotify) gtk_widget_unref);
  1323.   gtk_widget_show (open_vbox);
  1324.   gtk_box_pack_start (GTK_BOX (dialog_vbox5), open_vbox, TRUE, TRUE, 0);
  1325.   frame10 = gtk_frame_new ("Media Resource Locator (MRL)");
  1326.   gtk_widget_ref (frame10);
  1327.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "frame10", frame10,
  1328.                             (GtkDestroyNotify) gtk_widget_unref);
  1329.   gtk_widget_show (frame10);
  1330.   gtk_box_pack_start (GTK_BOX (open_vbox), frame10, FALSE, TRUE, 0);
  1331.   hbox21 = gtk_hbox_new (FALSE, 5);
  1332.   gtk_widget_ref (hbox21);
  1333.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox21", hbox21,
  1334.                             (GtkDestroyNotify) gtk_widget_unref);
  1335.   gtk_widget_show (hbox21);
  1336.   gtk_container_add (GTK_CONTAINER (frame10), hbox21);
  1337.   gtk_container_set_border_width (GTK_CONTAINER (hbox21), 5);
  1338.   hbox22 = gtk_hbox_new (FALSE, 0);
  1339.   gtk_widget_ref (hbox22);
  1340.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox22", hbox22,
  1341.                             (GtkDestroyNotify) gtk_widget_unref);
  1342.   gtk_widget_show (hbox22);
  1343.   gtk_box_pack_start (GTK_BOX (hbox21), hbox22, FALSE, TRUE, 0);
  1344.   label34 = gtk_label_new (_("Open Target:"));
  1345.   gtk_widget_ref (label34);
  1346.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label34", label34,
  1347.                             (GtkDestroyNotify) gtk_widget_unref);
  1348.   gtk_widget_show (label34);
  1349.   gtk_box_pack_start (GTK_BOX (hbox22), label34, FALSE, FALSE, 0);
  1350.   combo2 = gtk_combo_new ();
  1351.   gtk_widget_ref (combo2);
  1352.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo2", combo2,
  1353.                             (GtkDestroyNotify) gtk_widget_unref);
  1354.   gtk_widget_show (combo2);
  1355.   gtk_box_pack_start (GTK_BOX (hbox21), combo2, TRUE, TRUE, 0);
  1356.   entry_open = GTK_COMBO (combo2)->entry;
  1357.   gtk_widget_ref (entry_open);
  1358.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "entry_open", entry_open,
  1359.                             (GtkDestroyNotify) gtk_widget_unref);
  1360.   gtk_widget_show (entry_open);
  1361.   label36 = gtk_label_new (_("Alternatively, you can build an MRL using one of the following predefined targets:"));
  1362.   gtk_widget_ref (label36);
  1363.   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label36", label36,
  1364.                             (GtkDestroyNotify) gtk_widget_unref);
  1365.   gtk_widget_show (label36);
  1366.   gtk_box_pack_start (GTK_BOX (open_vbox), label36, TRUE, TRUE, 0);
  1367.   gtk_label_set_justify (GTK_LABEL (label36), GTK_JUSTIFY_LEFT);
  1368.   gtk_misc_set_alignment (GTK_MISC (label36), 0, 1);