]> git.sesse.net Git - vlc/blob - plugins/gtk/gnome_interface.c
c0a4dbb1331b4dd80a2008a1561365eb60139f13
[vlc] / plugins / gtk / gnome_interface.c
1 /* This file was created automatically by glade and fixed by fixfiles.sh */
2
3 #include <videolan/vlc.h>
4
5 #include <sys/types.h>
6 #include <sys/stat.h>
7 #include <unistd.h>
8 #include <string.h>
9
10 #include <gnome.h>
11
12 #include "gnome_callbacks.h"
13 #include "gnome_interface.h"
14 #include "gnome_support.h"
15
16 static GnomeUIInfo menubar_file_menu_uiinfo[] =
17 {
18   {
19     GNOME_APP_UI_ITEM, N_("_Open File..."),
20     N_("Open a File"),
21     (gpointer) GnomeMenubarFileOpenActivate, NULL, NULL,
22     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_OPEN,
23     0, (GdkModifierType) 0, NULL
24   },
25   {
26     GNOME_APP_UI_ITEM, N_("Open _Disc..."),
27     N_("Open a DVD or VCD"),
28     (gpointer) GnomeMenubarDiscOpenActivate, NULL, NULL,
29     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_CDROM,
30     0, (GdkModifierType) 0, NULL
31   },
32   {
33     GNOME_APP_UI_ITEM, N_("_Network Stream..."),
34     N_("Select a Network Stream"),
35     (gpointer) GnomeMenbarNetworkOpenActivate, NULL, NULL,
36     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_REFRESH,
37     0, (GdkModifierType) 0, NULL
38   },
39   GNOMEUIINFO_SEPARATOR,
40   GNOMEUIINFO_MENU_EXIT_ITEM (GnomeMenubarExitActivate, NULL),
41   GNOMEUIINFO_END
42 };
43
44 static GnomeUIInfo menubar_view_menu_uiinfo[] =
45 {
46   {
47     GNOME_APP_UI_ITEM, N_("_Hide interface"),
48     NULL,
49     (gpointer) GnomeMenubarWindowToggleActivate, NULL, NULL,
50     GNOME_APP_PIXMAP_NONE, NULL,
51     0, (GdkModifierType) 0, NULL
52   },
53   {
54     GNOME_APP_UI_ITEM, N_("_Fullscreen"),
55     NULL,
56     (gpointer) GnomeMenubarFullscreenActivate, NULL, NULL,
57     GNOME_APP_PIXMAP_NONE, NULL,
58     0, (GdkModifierType) 0, NULL
59   },
60   GNOMEUIINFO_SEPARATOR,
61   {
62     GNOME_APP_UI_ITEM, N_("_Title"),
63     N_("Choose title"),
64     (gpointer) NULL, NULL, NULL,
65     GNOME_APP_PIXMAP_NONE, NULL,
66     0, (GdkModifierType) 0, NULL
67   },
68   {
69     GNOME_APP_UI_ITEM, N_("_Chapter"),
70     N_("Choose chapter"),
71     (gpointer) NULL, NULL, NULL,
72     GNOME_APP_PIXMAP_NONE, NULL,
73     0, (GdkModifierType) 0, NULL
74   },
75   {
76     GNOME_APP_UI_ITEM, N_("An_gle"),
77     N_("Choose angle"),
78     (gpointer) NULL, NULL, NULL,
79     GNOME_APP_PIXMAP_NONE, NULL,
80     0, (GdkModifierType) 0, NULL
81   },
82   GNOMEUIINFO_SEPARATOR,
83   {
84     GNOME_APP_UI_ITEM, N_("_Playlist..."),
85     N_("Open the playlist window"),
86     (gpointer) GnomeMenubarPlaylistActivate, NULL, NULL,
87     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_INDEX,
88     0, (GdkModifierType) 0, NULL
89   },
90   {
91     GNOME_APP_UI_ITEM, N_("_Modules..."),
92     N_("Open the plugin manager"),
93     (gpointer) GnomeMenubarModulesActivate, NULL, NULL,
94     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_ATTACH,
95     0, (GdkModifierType) 0, NULL
96   },
97   GNOMEUIINFO_END
98 };
99
100 static GnomeUIInfo menubar_settings_menu_uiinfo[] =
101 {
102   {
103     GNOME_APP_UI_ITEM, N_("_Audio"),
104     N_("Select audio channel"),
105     (gpointer) NULL, NULL, NULL,
106     GNOME_APP_PIXMAP_NONE, NULL,
107     0, (GdkModifierType) 0, NULL
108   },
109   {
110     GNOME_APP_UI_ITEM, N_("_Subtitles"),
111     N_("Select subtitle unit"),
112     (gpointer) NULL, NULL, NULL,
113     GNOME_APP_PIXMAP_NONE, NULL,
114     0, (GdkModifierType) 0, NULL
115   },
116   GNOMEUIINFO_SEPARATOR,
117   GNOMEUIINFO_MENU_PREFERENCES_ITEM (GnomeMenubarPreferencesActivate, NULL),
118   GNOMEUIINFO_END
119 };
120
121 static GnomeUIInfo menubar_help_menu_uiinfo[] =
122 {
123   GNOMEUIINFO_MENU_ABOUT_ITEM (GnomeMenubarAboutActivate, NULL),
124   GNOMEUIINFO_END
125 };
126
127 static GnomeUIInfo menubar_uiinfo[] =
128 {
129   GNOMEUIINFO_MENU_FILE_TREE (menubar_file_menu_uiinfo),
130   GNOMEUIINFO_MENU_VIEW_TREE (menubar_view_menu_uiinfo),
131   GNOMEUIINFO_MENU_SETTINGS_TREE (menubar_settings_menu_uiinfo),
132   GNOMEUIINFO_MENU_HELP_TREE (menubar_help_menu_uiinfo),
133   GNOMEUIINFO_END
134 };
135
136 GtkWidget*
137 create_intf_window (void)
138 {
139   GtkWidget *intf_window;
140   GtkWidget *dockitem;
141   GtkWidget *toolbar;
142   GtkWidget *tmp_toolbar_icon;
143   GtkWidget *toolbar_file;
144   GtkWidget *toolbar_disc;
145   GtkWidget *toolbar_network;
146   GtkWidget *toolbar_back;
147   GtkWidget *toolbar_stop;
148   GtkWidget *toolbar_play;
149   GtkWidget *toolbar_pause;
150   GtkWidget *toolbar_slow;
151   GtkWidget *toolbar_fast;
152   GtkWidget *toolbar_playlist;
153   GtkWidget *toolbar_prev;
154   GtkWidget *toolbar_next;
155   GtkWidget *vbox8;
156   GtkWidget *slider_frame;
157   GtkWidget *slider;
158   GtkWidget *file_box;
159   GtkWidget *label_status;
160   GtkWidget *dvd_box;
161   GtkWidget *label21;
162   GtkWidget *title_chapter_box;
163   GtkWidget *label19;
164   GtkWidget *title_label;
165   GtkWidget *button_title_prev;
166   GtkWidget *button_title_next;
167   GtkWidget *vseparator1;
168   GtkWidget *dvd_chapter_box;
169   GtkWidget *label20;
170   GtkWidget *chapter_label;
171   GtkWidget *button_chapter_prev;
172   GtkWidget *button_chapter_next;
173   GtkWidget *network_box;
174   GtkWidget *network_address_label;
175   GtkWidget *network_channel_box;
176   GtkWidget *label_network;
177   GtkObject *network_channel_spinbutton_adj;
178   GtkWidget *network_channel_spinbutton;
179   GtkWidget *network_channel_go_button;
180   GtkWidget *appbar;
181   GtkTooltips *tooltips;
182
183   tooltips = gtk_tooltips_new ();
184
185   intf_window = gnome_app_new ("VideoLAN Client", _("VideoLAN Client"));
186   gtk_object_set_data (GTK_OBJECT (intf_window), "intf_window", intf_window);
187   gtk_window_set_policy (GTK_WINDOW (intf_window), FALSE, TRUE, TRUE);
188
189   dockitem = GNOME_APP (intf_window)->dock;
190   gtk_widget_ref (dockitem);
191   gtk_object_set_data_full (GTK_OBJECT (intf_window), "dockitem", dockitem,
192                             (GtkDestroyNotify) gtk_widget_unref);
193   gtk_widget_show (dockitem);
194
195   gnome_app_create_menus (GNOME_APP (intf_window), menubar_uiinfo);
196
197   gtk_widget_ref (menubar_uiinfo[0].widget);
198   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_file",
199                             menubar_uiinfo[0].widget,
200                             (GtkDestroyNotify) gtk_widget_unref);
201
202   gtk_widget_ref (menubar_file_menu_uiinfo[0].widget);
203   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_open",
204                             menubar_file_menu_uiinfo[0].widget,
205                             (GtkDestroyNotify) gtk_widget_unref);
206
207   gtk_widget_ref (menubar_file_menu_uiinfo[1].widget);
208   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_disc",
209                             menubar_file_menu_uiinfo[1].widget,
210                             (GtkDestroyNotify) gtk_widget_unref);
211
212   gtk_widget_ref (menubar_file_menu_uiinfo[2].widget);
213   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_network",
214                             menubar_file_menu_uiinfo[2].widget,
215                             (GtkDestroyNotify) gtk_widget_unref);
216
217   gtk_widget_ref (menubar_file_menu_uiinfo[3].widget);
218   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator1",
219                             menubar_file_menu_uiinfo[3].widget,
220                             (GtkDestroyNotify) gtk_widget_unref);
221
222   gtk_widget_ref (menubar_file_menu_uiinfo[4].widget);
223   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_exit",
224                             menubar_file_menu_uiinfo[4].widget,
225                             (GtkDestroyNotify) gtk_widget_unref);
226
227   gtk_widget_ref (menubar_uiinfo[1].widget);
228   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_view",
229                             menubar_uiinfo[1].widget,
230                             (GtkDestroyNotify) gtk_widget_unref);
231
232   gtk_widget_ref (menubar_view_menu_uiinfo[0].widget);
233   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_hide_interface",
234                             menubar_view_menu_uiinfo[0].widget,
235                             (GtkDestroyNotify) gtk_widget_unref);
236
237   gtk_widget_ref (menubar_view_menu_uiinfo[1].widget);
238   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_fullscreen",
239                             menubar_view_menu_uiinfo[1].widget,
240                             (GtkDestroyNotify) gtk_widget_unref);
241
242   gtk_widget_ref (menubar_view_menu_uiinfo[2].widget);
243   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator9",
244                             menubar_view_menu_uiinfo[2].widget,
245                             (GtkDestroyNotify) gtk_widget_unref);
246
247   gtk_widget_ref (menubar_view_menu_uiinfo[3].widget);
248   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_title",
249                             menubar_view_menu_uiinfo[3].widget,
250                             (GtkDestroyNotify) gtk_widget_unref);
251   gtk_widget_set_sensitive (menubar_view_menu_uiinfo[3].widget, FALSE);
252
253   gtk_widget_ref (menubar_view_menu_uiinfo[4].widget);
254   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_chapter",
255                             menubar_view_menu_uiinfo[4].widget,
256                             (GtkDestroyNotify) gtk_widget_unref);
257   gtk_widget_set_sensitive (menubar_view_menu_uiinfo[4].widget, FALSE);
258
259   gtk_widget_ref (menubar_view_menu_uiinfo[5].widget);
260   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_angle",
261                             menubar_view_menu_uiinfo[5].widget,
262                             (GtkDestroyNotify) gtk_widget_unref);
263   gtk_widget_set_sensitive (menubar_view_menu_uiinfo[5].widget, FALSE);
264
265   gtk_widget_ref (menubar_view_menu_uiinfo[6].widget);
266   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator7",
267                             menubar_view_menu_uiinfo[6].widget,
268                             (GtkDestroyNotify) gtk_widget_unref);
269
270   gtk_widget_ref (menubar_view_menu_uiinfo[7].widget);
271   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_playlist",
272                             menubar_view_menu_uiinfo[7].widget,
273                             (GtkDestroyNotify) gtk_widget_unref);
274
275   gtk_widget_ref (menubar_view_menu_uiinfo[8].widget);
276   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_modules",
277                             menubar_view_menu_uiinfo[8].widget,
278                             (GtkDestroyNotify) gtk_widget_unref);
279   gtk_widget_set_sensitive (menubar_view_menu_uiinfo[8].widget, FALSE);
280
281   gtk_widget_ref (menubar_uiinfo[2].widget);
282   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_settings",
283                             menubar_uiinfo[2].widget,
284                             (GtkDestroyNotify) gtk_widget_unref);
285
286   gtk_widget_ref (menubar_settings_menu_uiinfo[0].widget);
287   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_audio",
288                             menubar_settings_menu_uiinfo[0].widget,
289                             (GtkDestroyNotify) gtk_widget_unref);
290   gtk_widget_set_sensitive (menubar_settings_menu_uiinfo[0].widget, FALSE);
291
292   gtk_widget_ref (menubar_settings_menu_uiinfo[1].widget);
293   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_subpictures",
294                             menubar_settings_menu_uiinfo[1].widget,
295                             (GtkDestroyNotify) gtk_widget_unref);
296   gtk_widget_set_sensitive (menubar_settings_menu_uiinfo[1].widget, FALSE);
297
298   gtk_widget_ref (menubar_settings_menu_uiinfo[2].widget);
299   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator5",
300                             menubar_settings_menu_uiinfo[2].widget,
301                             (GtkDestroyNotify) gtk_widget_unref);
302
303   gtk_widget_ref (menubar_settings_menu_uiinfo[3].widget);
304   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_preferences",
305                             menubar_settings_menu_uiinfo[3].widget,
306                             (GtkDestroyNotify) gtk_widget_unref);
307
308   gtk_widget_ref (menubar_uiinfo[3].widget);
309   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_help",
310                             menubar_uiinfo[3].widget,
311                             (GtkDestroyNotify) gtk_widget_unref);
312
313   gtk_widget_ref (menubar_help_menu_uiinfo[0].widget);
314   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_about",
315                             menubar_help_menu_uiinfo[0].widget,
316                             (GtkDestroyNotify) gtk_widget_unref);
317
318   toolbar = gtk_toolbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_BOTH);
319   gtk_widget_ref (toolbar);
320   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar", toolbar,
321                             (GtkDestroyNotify) gtk_widget_unref);
322   gtk_widget_show (toolbar);
323   gnome_app_add_toolbar (GNOME_APP (intf_window), GTK_TOOLBAR (toolbar), "toolbar",
324                                 GNOME_DOCK_ITEM_BEH_EXCLUSIVE,
325                                 GNOME_DOCK_TOP, 1, 0, 2);
326   gtk_toolbar_set_space_size (GTK_TOOLBAR (toolbar), 16);
327   gtk_toolbar_set_space_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_SPACE_LINE);
328   gtk_toolbar_set_button_relief (GTK_TOOLBAR (toolbar), GTK_RELIEF_NONE);
329
330   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_OPEN);
331   toolbar_file = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
332                                 GTK_TOOLBAR_CHILD_BUTTON,
333                                 NULL,
334                                 _("File"),
335                                 _("Open a File"), NULL,
336                                 tmp_toolbar_icon, NULL, NULL);
337   gtk_widget_ref (toolbar_file);
338   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_file", toolbar_file,
339                             (GtkDestroyNotify) gtk_widget_unref);
340   gtk_widget_show (toolbar_file);
341
342   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_CDROM);
343   toolbar_disc = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
344                                 GTK_TOOLBAR_CHILD_BUTTON,
345                                 NULL,
346                                 _("Disc"),
347                                 _("Open a DVD or VCD"), NULL,
348                                 tmp_toolbar_icon, NULL, NULL);
349   gtk_widget_ref (toolbar_disc);
350   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_disc", toolbar_disc,
351                             (GtkDestroyNotify) gtk_widget_unref);
352   gtk_widget_show (toolbar_disc);
353
354   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_REFRESH);
355   toolbar_network = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
356                                 GTK_TOOLBAR_CHILD_BUTTON,
357                                 NULL,
358                                 _("Net"),
359                                 _("Select a Network Stream"), NULL,
360                                 tmp_toolbar_icon, NULL, NULL);
361   gtk_widget_ref (toolbar_network);
362   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_network", toolbar_network,
363                             (GtkDestroyNotify) gtk_widget_unref);
364   gtk_widget_show (toolbar_network);
365
366   gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
367
368   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_BACK);
369   toolbar_back = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
370                                 GTK_TOOLBAR_CHILD_BUTTON,
371                                 NULL,
372                                 _("Back"),
373                                 _("Go Backwards"), NULL,
374                                 tmp_toolbar_icon, NULL, NULL);
375   gtk_widget_ref (toolbar_back);
376   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_back", toolbar_back,
377                             (GtkDestroyNotify) gtk_widget_unref);
378   gtk_widget_show (toolbar_back);
379   gtk_widget_set_sensitive (toolbar_back, FALSE);
380
381   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_STOP);
382   toolbar_stop = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
383                                 GTK_TOOLBAR_CHILD_BUTTON,
384                                 NULL,
385                                 _("Stop"),
386                                 _("Stop Stream"), NULL,
387                                 tmp_toolbar_icon, NULL, NULL);
388   gtk_widget_ref (toolbar_stop);
389   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_stop", toolbar_stop,
390                             (GtkDestroyNotify) gtk_widget_unref);
391   gtk_widget_show (toolbar_stop);
392
393   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_FORWARD);
394   toolbar_play = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
395                                 GTK_TOOLBAR_CHILD_BUTTON,
396                                 NULL,
397                                 _("Play"),
398                                 _("Play Stream"), NULL,
399                                 tmp_toolbar_icon, NULL, NULL);
400   gtk_widget_ref (toolbar_play);
401   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_play", toolbar_play,
402                             (GtkDestroyNotify) gtk_widget_unref);
403   gtk_widget_show (toolbar_play);
404
405   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_BOTTOM);
406   toolbar_pause = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
407                                 GTK_TOOLBAR_CHILD_BUTTON,
408                                 NULL,
409                                 _("Pause"),
410                                 _("Pause Stream"), NULL,
411                                 tmp_toolbar_icon, NULL, NULL);
412   gtk_widget_ref (toolbar_pause);
413   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_pause", toolbar_pause,
414                             (GtkDestroyNotify) gtk_widget_unref);
415   gtk_widget_show (toolbar_pause);
416   gtk_widget_set_sensitive (toolbar_pause, FALSE);
417
418   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_TIMER_STOP);
419   toolbar_slow = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
420                                 GTK_TOOLBAR_CHILD_BUTTON,
421                                 NULL,
422                                 _("Slow"),
423                                 _("Play Slower"), NULL,
424                                 tmp_toolbar_icon, NULL, NULL);
425   gtk_widget_ref (toolbar_slow);
426   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_slow", toolbar_slow,
427                             (GtkDestroyNotify) gtk_widget_unref);
428   gtk_widget_show (toolbar_slow);
429   gtk_widget_set_sensitive (toolbar_slow, FALSE);
430
431   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_TIMER);
432   toolbar_fast = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
433                                 GTK_TOOLBAR_CHILD_BUTTON,
434                                 NULL,
435                                 _("Fast"),
436                                 _("Play Faster"), NULL,
437                                 tmp_toolbar_icon, NULL, NULL);
438   gtk_widget_ref (toolbar_fast);
439   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_fast", toolbar_fast,
440                             (GtkDestroyNotify) gtk_widget_unref);
441   gtk_widget_show (toolbar_fast);
442   gtk_widget_set_sensitive (toolbar_fast, FALSE);
443
444   gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
445
446   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_INDEX);
447   toolbar_playlist = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
448                                 GTK_TOOLBAR_CHILD_BUTTON,
449                                 NULL,
450                                 _("Playlist"),
451                                 _("Open Playlist"), NULL,
452                                 tmp_toolbar_icon, NULL, NULL);
453   gtk_widget_ref (toolbar_playlist);
454   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_playlist", toolbar_playlist,
455                             (GtkDestroyNotify) gtk_widget_unref);
456   gtk_widget_show (toolbar_playlist);
457
458   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_FIRST);
459   toolbar_prev = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
460                                 GTK_TOOLBAR_CHILD_BUTTON,
461                                 NULL,
462                                 _("Prev"),
463                                 _("Previous File"), NULL,
464                                 tmp_toolbar_icon, NULL, NULL);
465   gtk_widget_ref (toolbar_prev);
466   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_prev", toolbar_prev,
467                             (GtkDestroyNotify) gtk_widget_unref);
468   gtk_widget_show (toolbar_prev);
469
470   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_LAST);
471   toolbar_next = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
472                                 GTK_TOOLBAR_CHILD_BUTTON,
473                                 NULL,
474                                 _("Next"),
475                                 _("Next File"), NULL,
476                                 tmp_toolbar_icon, NULL, NULL);
477   gtk_widget_ref (toolbar_next);
478   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_next", toolbar_next,
479                             (GtkDestroyNotify) gtk_widget_unref);
480   gtk_widget_show (toolbar_next);
481
482   vbox8 = gtk_vbox_new (FALSE, 0);
483   gtk_widget_ref (vbox8);
484   gtk_object_set_data_full (GTK_OBJECT (intf_window), "vbox8", vbox8,
485                             (GtkDestroyNotify) gtk_widget_unref);
486   gtk_widget_show (vbox8);
487   gnome_app_set_contents (GNOME_APP (intf_window), vbox8);
488
489   slider_frame = gtk_frame_new (_("-:--:--"));
490   gtk_widget_ref (slider_frame);
491   gtk_object_set_data_full (GTK_OBJECT (intf_window), "slider_frame", slider_frame,
492                             (GtkDestroyNotify) gtk_widget_unref);
493   gtk_box_pack_start (GTK_BOX (vbox8), slider_frame, TRUE, TRUE, 0);
494   gtk_frame_set_label_align (GTK_FRAME (slider_frame), 0.05, 0.5);
495
496   slider = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 100, 1, 6.25, 0)));
497   gtk_widget_ref (slider);
498   gtk_object_set_data_full (GTK_OBJECT (intf_window), "slider", slider,
499                             (GtkDestroyNotify) gtk_widget_unref);
500   gtk_widget_show (slider);
501   gtk_container_add (GTK_CONTAINER (slider_frame), slider);
502   gtk_scale_set_draw_value (GTK_SCALE (slider), FALSE);
503   gtk_scale_set_digits (GTK_SCALE (slider), 3);
504
505   file_box = gtk_hbox_new (FALSE, 0);
506   gtk_widget_ref (file_box);
507   gtk_object_set_data_full (GTK_OBJECT (intf_window), "file_box", file_box,
508                             (GtkDestroyNotify) gtk_widget_unref);
509   gtk_widget_show (file_box);
510   gtk_box_pack_start (GTK_BOX (vbox8), file_box, TRUE, TRUE, 0);
511
512   label_status = gtk_label_new ("");
513   gtk_widget_ref (label_status);
514   gtk_object_set_data_full (GTK_OBJECT (intf_window), "label_status", label_status,
515                             (GtkDestroyNotify) gtk_widget_unref);
516   gtk_widget_show (label_status);
517   gtk_box_pack_start (GTK_BOX (file_box), label_status, TRUE, TRUE, 0);
518
519   dvd_box = gtk_hbox_new (FALSE, 0);
520   gtk_widget_ref (dvd_box);
521   gtk_object_set_data_full (GTK_OBJECT (intf_window), "dvd_box", dvd_box,
522                             (GtkDestroyNotify) gtk_widget_unref);
523   gtk_box_pack_start (GTK_BOX (vbox8), dvd_box, TRUE, TRUE, 0);
524
525   label21 = gtk_label_new (_("Disc"));
526   gtk_widget_ref (label21);
527   gtk_object_set_data_full (GTK_OBJECT (intf_window), "label21", label21,
528                             (GtkDestroyNotify) gtk_widget_unref);
529   gtk_widget_show (label21);
530   gtk_box_pack_start (GTK_BOX (dvd_box), label21, TRUE, FALSE, 0);
531
532   title_chapter_box = gtk_hbox_new (FALSE, 10);
533   gtk_widget_ref (title_chapter_box);
534   gtk_object_set_data_full (GTK_OBJECT (intf_window), "title_chapter_box", title_chapter_box,
535                             (GtkDestroyNotify) gtk_widget_unref);
536   gtk_widget_show (title_chapter_box);
537   gtk_box_pack_start (GTK_BOX (dvd_box), title_chapter_box, TRUE, FALSE, 0);
538
539   label19 = gtk_label_new (_("Title:"));
540   gtk_widget_ref (label19);
541   gtk_object_set_data_full (GTK_OBJECT (intf_window), "label19", label19,
542                             (GtkDestroyNotify) gtk_widget_unref);
543   gtk_widget_show (label19);
544   gtk_box_pack_start (GTK_BOX (title_chapter_box), label19, FALSE, FALSE, 0);
545
546   title_label = gtk_label_new (_("--"));
547   gtk_widget_ref (title_label);
548   gtk_object_set_data_full (GTK_OBJECT (intf_window), "title_label", title_label,
549                             (GtkDestroyNotify) gtk_widget_unref);
550   gtk_widget_show (title_label);
551   gtk_box_pack_start (GTK_BOX (title_chapter_box), title_label, FALSE, FALSE, 0);
552
553   button_title_prev = gnome_stock_button (GNOME_STOCK_BUTTON_PREV);
554   gtk_widget_ref (button_title_prev);
555   gtk_object_set_data_full (GTK_OBJECT (intf_window), "button_title_prev", button_title_prev,
556                             (GtkDestroyNotify) gtk_widget_unref);
557   gtk_widget_show (button_title_prev);
558   gtk_box_pack_start (GTK_BOX (title_chapter_box), button_title_prev, FALSE, FALSE, 0);
559   gtk_tooltips_set_tip (tooltips, button_title_prev, _("Select previous title"), NULL);
560
561   button_title_next = gnome_stock_button (GNOME_STOCK_BUTTON_NEXT);
562   gtk_widget_ref (button_title_next);
563   gtk_object_set_data_full (GTK_OBJECT (intf_window), "button_title_next", button_title_next,
564                             (GtkDestroyNotify) gtk_widget_unref);
565   gtk_widget_show (button_title_next);
566   gtk_box_pack_start (GTK_BOX (title_chapter_box), button_title_next, FALSE, FALSE, 0);
567
568   vseparator1 = gtk_vseparator_new ();
569   gtk_widget_ref (vseparator1);
570   gtk_object_set_data_full (GTK_OBJECT (intf_window), "vseparator1", vseparator1,
571                             (GtkDestroyNotify) gtk_widget_unref);
572   gtk_widget_show (vseparator1);
573   gtk_box_pack_start (GTK_BOX (dvd_box), vseparator1, FALSE, FALSE, 0);
574
575   dvd_chapter_box = gtk_hbox_new (FALSE, 10);
576   gtk_widget_ref (dvd_chapter_box);
577   gtk_object_set_data_full (GTK_OBJECT (intf_window), "dvd_chapter_box", dvd_chapter_box,
578                             (GtkDestroyNotify) gtk_widget_unref);
579   gtk_widget_show (dvd_chapter_box);
580   gtk_box_pack_start (GTK_BOX (dvd_box), dvd_chapter_box, TRUE, FALSE, 0);
581
582   label20 = gtk_label_new (_("Chapter:"));
583   gtk_widget_ref (label20);
584   gtk_object_set_data_full (GTK_OBJECT (intf_window), "label20", label20,
585                             (GtkDestroyNotify) gtk_widget_unref);
586   gtk_widget_show (label20);
587   gtk_box_pack_start (GTK_BOX (dvd_chapter_box), label20, FALSE, FALSE, 0);
588
589   chapter_label = gtk_label_new (_("---"));
590   gtk_widget_ref (chapter_label);
591   gtk_object_set_data_full (GTK_OBJECT (intf_window), "chapter_label", chapter_label,
592                             (GtkDestroyNotify) gtk_widget_unref);
593   gtk_widget_show (chapter_label);
594   gtk_box_pack_start (GTK_BOX (dvd_chapter_box), chapter_label, FALSE, FALSE, 0);
595
596   button_chapter_prev = gnome_stock_button (GNOME_STOCK_BUTTON_DOWN);
597   gtk_widget_ref (button_chapter_prev);
598   gtk_object_set_data_full (GTK_OBJECT (intf_window), "button_chapter_prev", button_chapter_prev,
599                             (GtkDestroyNotify) gtk_widget_unref);
600   gtk_widget_show (button_chapter_prev);
601   gtk_box_pack_start (GTK_BOX (dvd_chapter_box), button_chapter_prev, FALSE, FALSE, 0);
602   gtk_tooltips_set_tip (tooltips, button_chapter_prev, _("Select previous chapter"), NULL);
603
604   button_chapter_next = gnome_stock_button (GNOME_STOCK_BUTTON_UP);
605   gtk_widget_ref (button_chapter_next);
606   gtk_object_set_data_full (GTK_OBJECT (intf_window), "button_chapter_next", button_chapter_next,
607                             (GtkDestroyNotify) gtk_widget_unref);
608   gtk_widget_show (button_chapter_next);
609   gtk_box_pack_start (GTK_BOX (dvd_chapter_box), button_chapter_next, FALSE, FALSE, 0);
610   gtk_tooltips_set_tip (tooltips, button_chapter_next, _("Select next chapter"), NULL);
611
612   network_box = gtk_hbox_new (TRUE, 0);
613   gtk_widget_ref (network_box);
614   gtk_object_set_data_full (GTK_OBJECT (intf_window), "network_box", network_box,
615                             (GtkDestroyNotify) gtk_widget_unref);
616   gtk_box_pack_start (GTK_BOX (vbox8), network_box, FALSE, FALSE, 0);
617
618   network_address_label = gtk_label_new (_("No server"));
619   gtk_widget_ref (network_address_label);
620   gtk_object_set_data_full (GTK_OBJECT (intf_window), "network_address_label", network_address_label,
621                             (GtkDestroyNotify) gtk_widget_unref);
622   gtk_widget_show (network_address_label);
623   gtk_box_pack_start (GTK_BOX (network_box), network_address_label, FALSE, FALSE, 0);
624
625   network_channel_box = gtk_hbox_new (FALSE, 0);
626   gtk_widget_ref (network_channel_box);
627   gtk_object_set_data_full (GTK_OBJECT (intf_window), "network_channel_box", network_channel_box,
628                             (GtkDestroyNotify) gtk_widget_unref);
629   gtk_widget_show (network_channel_box);
630   gtk_box_pack_start (GTK_BOX (network_box), network_channel_box, FALSE, FALSE, 0);
631
632   label_network = gtk_label_new (_("Network Channel:"));
633   gtk_widget_ref (label_network);
634   gtk_object_set_data_full (GTK_OBJECT (intf_window), "label_network", label_network,
635                             (GtkDestroyNotify) gtk_widget_unref);
636   gtk_widget_show (label_network);
637   gtk_box_pack_start (GTK_BOX (network_channel_box), label_network, TRUE, FALSE, 5);
638
639   network_channel_spinbutton_adj = gtk_adjustment_new (0, 0, 100, 1, 10, 10);
640   network_channel_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (network_channel_spinbutton_adj), 1, 0);
641   gtk_widget_ref (network_channel_spinbutton);
642   gtk_object_set_data_full (GTK_OBJECT (intf_window), "network_channel_spinbutton", network_channel_spinbutton,
643                             (GtkDestroyNotify) gtk_widget_unref);
644   gtk_widget_show (network_channel_spinbutton);
645   gtk_box_pack_start (GTK_BOX (network_channel_box), network_channel_spinbutton, FALSE, TRUE, 5);
646
647   network_channel_go_button = gtk_button_new_with_label (_("Go!"));
648   gtk_widget_ref (network_channel_go_button);
649   gtk_object_set_data_full (GTK_OBJECT (intf_window), "network_channel_go_button", network_channel_go_button,
650                             (GtkDestroyNotify) gtk_widget_unref);
651   gtk_widget_show (network_channel_go_button);
652   gtk_box_pack_start (GTK_BOX (network_channel_box), network_channel_go_button, FALSE, FALSE, 0);
653   gtk_button_set_relief (GTK_BUTTON (network_channel_go_button), GTK_RELIEF_NONE);
654
655   appbar = gnome_appbar_new (FALSE, TRUE, GNOME_PREFERENCES_NEVER);
656   gtk_widget_ref (appbar);
657   gtk_object_set_data_full (GTK_OBJECT (intf_window), "appbar", appbar,
658                             (GtkDestroyNotify) gtk_widget_unref);
659   gtk_widget_show (appbar);
660   gnome_app_set_statusbar (GNOME_APP (intf_window), appbar);
661   gtk_widget_set_usize (appbar, 500, -2);
662
663   gtk_signal_connect (GTK_OBJECT (intf_window), "delete_event",
664                       GTK_SIGNAL_FUNC (GtkWindowDelete),
665                       "intf_window");
666   gtk_signal_connect (GTK_OBJECT (intf_window), "drag_data_received",
667                       GTK_SIGNAL_FUNC (GtkWindowDrag),
668                       "intf_window");
669   gnome_app_install_menu_hints (GNOME_APP (intf_window), menubar_uiinfo);
670   gtk_signal_connect (GTK_OBJECT (toolbar_file), "button_press_event",
671                       GTK_SIGNAL_FUNC (GtkFileOpenShow),
672                       "intf_window");
673   gtk_signal_connect (GTK_OBJECT (toolbar_disc), "button_press_event",
674                       GTK_SIGNAL_FUNC (GtkDiscOpenShow),
675                       "intf_window");
676   gtk_signal_connect (GTK_OBJECT (toolbar_network), "button_press_event",
677                       GTK_SIGNAL_FUNC (GtkNetworkOpenShow),
678                       "intf_window");
679   gtk_signal_connect (GTK_OBJECT (toolbar_back), "button_press_event",
680                       GTK_SIGNAL_FUNC (GtkControlBack),
681                       "intf_window");
682   gtk_signal_connect (GTK_OBJECT (toolbar_stop), "button_press_event",
683                       GTK_SIGNAL_FUNC (GtkControlStop),
684                       "intf_window");
685   gtk_signal_connect (GTK_OBJECT (toolbar_play), "button_press_event",
686                       GTK_SIGNAL_FUNC (GtkControlPlay),
687                       "intf_window");
688   gtk_signal_connect (GTK_OBJECT (toolbar_pause), "button_press_event",
689                       GTK_SIGNAL_FUNC (GtkControlPause),
690                       "intf_window");
691   gtk_signal_connect (GTK_OBJECT (toolbar_slow), "button_press_event",
692                       GTK_SIGNAL_FUNC (GtkControlSlow),
693                       "intf_window");
694   gtk_signal_connect (GTK_OBJECT (toolbar_fast), "button_press_event",
695                       GTK_SIGNAL_FUNC (GtkControlFast),
696                       "intf_window");
697   gtk_signal_connect (GTK_OBJECT (toolbar_playlist), "button_press_event",
698                       GTK_SIGNAL_FUNC (GtkPlaylistShow),
699                       "intf_window");
700   gtk_signal_connect (GTK_OBJECT (toolbar_prev), "button_press_event",
701                       GTK_SIGNAL_FUNC (GtkPlaylistPrev),
702                       "intf_window");
703   gtk_signal_connect (GTK_OBJECT (toolbar_next), "button_press_event",
704                       GTK_SIGNAL_FUNC (GtkPlaylistNext),
705                       "intf_window");
706   gtk_signal_connect (GTK_OBJECT (slider), "button_press_event",
707                       GTK_SIGNAL_FUNC (GtkSliderPress),
708                       "intf_window");
709   gtk_signal_connect (GTK_OBJECT (slider), "button_release_event",
710                       GTK_SIGNAL_FUNC (GtkSliderRelease),
711                       "intf_window");
712   gtk_signal_connect (GTK_OBJECT (button_title_prev), "clicked",
713                       GTK_SIGNAL_FUNC (GtkTitlePrev),
714                       "intf_window");
715   gtk_signal_connect (GTK_OBJECT (button_title_next), "clicked",
716                       GTK_SIGNAL_FUNC (GtkTitleNext),
717                       "intf_window");
718   gtk_signal_connect (GTK_OBJECT (button_chapter_prev), "clicked",
719                       GTK_SIGNAL_FUNC (GtkChapterPrev),
720                       "intf_window");
721   gtk_signal_connect (GTK_OBJECT (button_chapter_next), "clicked",
722                       GTK_SIGNAL_FUNC (GtkChapterNext),
723                       "intf_window");
724   gtk_signal_connect (GTK_OBJECT (network_channel_spinbutton), "activate",
725                       GTK_SIGNAL_FUNC (GtkNetworkJoin),
726                       "intf_window");
727   gtk_signal_connect (GTK_OBJECT (network_channel_go_button), "clicked",
728                       GTK_SIGNAL_FUNC (GtkChannelGo),
729                       "intf_window");
730
731   gtk_object_set_data (GTK_OBJECT (intf_window), "tooltips", tooltips);
732
733   return intf_window;
734 }
735
736 static GnomeUIInfo popup_file_menu_uiinfo[] =
737 {
738   {
739     GNOME_APP_UI_ITEM, N_("_Open File..."),
740     N_("Open a File"),
741     (gpointer) GnomePopupFileOpenActivate, NULL, NULL,
742     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_OPEN,
743     0, (GdkModifierType) 0, NULL
744   },
745   {
746     GNOME_APP_UI_ITEM, N_("Open _Disc..."),
747     N_("Open a DVD or VCD"),
748     (gpointer) GnomePopupDiscOpenActivate, NULL, NULL,
749     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_CDROM,
750     0, (GdkModifierType) 0, NULL
751   },
752   {
753     GNOME_APP_UI_ITEM, N_("_Network Stream..."),
754     N_("Select a Network Stream"),
755     (gpointer) GnomePopupNetworkOpenActivate, NULL, NULL,
756     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_REFRESH,
757     0, (GdkModifierType) 0, NULL
758   },
759   GNOMEUIINFO_SEPARATOR,
760   GNOMEUIINFO_MENU_ABOUT_ITEM (GnomePopupAboutActivate, NULL),
761   GNOMEUIINFO_END
762 };
763
764 static GnomeUIInfo intf_popup_uiinfo[] =
765 {
766   {
767     GNOME_APP_UI_ITEM, N_("Play"),
768     NULL,
769     (gpointer) GnomePopupPlayActivate, NULL, NULL,
770     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_FORWARD,
771     0, (GdkModifierType) 0, NULL
772   },
773   {
774     GNOME_APP_UI_ITEM, N_("Pause"),
775     NULL,
776     (gpointer) GnomePopupPauseActivate, NULL, NULL,
777     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_BOTTOM,
778     0, (GdkModifierType) 0, NULL
779   },
780   {
781     GNOME_APP_UI_ITEM, N_("Stop"),
782     NULL,
783     (gpointer) GnomePopupStopActivate, NULL, NULL,
784     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_STOP,
785     0, (GdkModifierType) 0, NULL
786   },
787   {
788     GNOME_APP_UI_ITEM, N_("Back"),
789     NULL,
790     (gpointer) GnomePopupBackActivate, NULL, NULL,
791     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_BACK,
792     0, (GdkModifierType) 0, NULL
793   },
794   {
795     GNOME_APP_UI_ITEM, N_("Slow"),
796     NULL,
797     (gpointer) GnomePopupSlowActivate, NULL, NULL,
798     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_TIMER_STOP,
799     0, (GdkModifierType) 0, NULL
800   },
801   {
802     GNOME_APP_UI_ITEM, N_("Fast"),
803     NULL,
804     (gpointer) GnomePopupFastActivate, NULL, NULL,
805     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_TIMER,
806     0, (GdkModifierType) 0, NULL
807   },
808   GNOMEUIINFO_SEPARATOR,
809   {
810     GNOME_APP_UI_ITEM, N_("Toggle _Interface"),
811     NULL,
812     (gpointer) GnomePopupWindowToggleActivate, NULL, NULL,
813     GNOME_APP_PIXMAP_NONE, NULL,
814     0, (GdkModifierType) 0, NULL
815   },
816   {
817     GNOME_APP_UI_ITEM, N_("_Fullscreen"),
818     N_("Toggle fullscreen mode"),
819     (gpointer) GnomePopupFullscreenActivate, NULL, NULL,
820     GNOME_APP_PIXMAP_NONE, NULL,
821     0, (GdkModifierType) 0, NULL
822   },
823   GNOMEUIINFO_SEPARATOR,
824   {
825     GNOME_APP_UI_ITEM, N_("Next"),
826     NULL,
827     (gpointer) GnomePopupNextActivate, NULL, NULL,
828     GNOME_APP_PIXMAP_NONE, NULL,
829     0, (GdkModifierType) 0, NULL
830   },
831   {
832     GNOME_APP_UI_ITEM, N_("Prev"),
833     NULL,
834     (gpointer) GnomePopupPrevActivate, NULL, NULL,
835     GNOME_APP_PIXMAP_NONE, NULL,
836     0, (GdkModifierType) 0, NULL
837   },
838   {
839     GNOME_APP_UI_ITEM, N_("_Jump..."),
840     N_("Got directly so specified point"),
841     (gpointer) GnomePopupJumpActivate, NULL, NULL,
842     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_JUMP_TO,
843     0, (GdkModifierType) 0, NULL
844   },
845   {
846     GNOME_APP_UI_ITEM, N_("_Navigation"),
847     N_("Navigate through titles and chapters"),
848     (gpointer) NULL, NULL, NULL,
849     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_SEARCH,
850     0, (GdkModifierType) 0, NULL
851   },
852   {
853     GNOME_APP_UI_ITEM, N_("An_gle"),
854     NULL,
855     (gpointer) NULL, NULL, NULL,
856     GNOME_APP_PIXMAP_NONE, NULL,
857     0, (GdkModifierType) 0, NULL
858   },
859   {
860     GNOME_APP_UI_ITEM, N_("_Audio"),
861     N_("Select audio channel"),
862     (gpointer) NULL, NULL, NULL,
863     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_VOLUME,
864     0, (GdkModifierType) 0, NULL
865   },
866   {
867     GNOME_APP_UI_ITEM, N_("_Subtitles"),
868     N_("Select subtitle channel"),
869     (gpointer) NULL, NULL, NULL,
870     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_FONT,
871     0, (GdkModifierType) 0, NULL
872   },
873   GNOMEUIINFO_SEPARATOR,
874   GNOMEUIINFO_MENU_FILE_TREE (popup_file_menu_uiinfo),
875   {
876     GNOME_APP_UI_ITEM, N_("Playlist..."),
877     NULL,
878     (gpointer) GnomePopupPlaylistActivate, NULL, NULL,
879     GNOME_APP_PIXMAP_NONE, NULL,
880     0, (GdkModifierType) 0, NULL
881   },
882   GNOMEUIINFO_MENU_PREFERENCES_ITEM (GnomePopupPreferencesActivate, NULL),
883   GNOMEUIINFO_SEPARATOR,
884   GNOMEUIINFO_MENU_EXIT_ITEM (GnomePopupExitActivate, NULL),
885   GNOMEUIINFO_END
886 };
887
888 GtkWidget*
889 create_intf_popup (void)
890 {
891   GtkWidget *intf_popup;
892
893   intf_popup = gtk_menu_new ();
894   gtk_object_set_data (GTK_OBJECT (intf_popup), "intf_popup", intf_popup);
895   gnome_app_fill_menu (GTK_MENU_SHELL (intf_popup), intf_popup_uiinfo,
896                        NULL, FALSE, 0);
897
898   gtk_widget_ref (intf_popup_uiinfo[0].widget);
899   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_play",
900                             intf_popup_uiinfo[0].widget,
901                             (GtkDestroyNotify) gtk_widget_unref);
902
903   gtk_widget_ref (intf_popup_uiinfo[1].widget);
904   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_pause",
905                             intf_popup_uiinfo[1].widget,
906                             (GtkDestroyNotify) gtk_widget_unref);
907
908   gtk_widget_ref (intf_popup_uiinfo[2].widget);
909   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_stop",
910                             intf_popup_uiinfo[2].widget,
911                             (GtkDestroyNotify) gtk_widget_unref);
912
913   gtk_widget_ref (intf_popup_uiinfo[3].widget);
914   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_back",
915                             intf_popup_uiinfo[3].widget,
916                             (GtkDestroyNotify) gtk_widget_unref);
917   gtk_widget_set_sensitive (intf_popup_uiinfo[3].widget, FALSE);
918
919   gtk_widget_ref (intf_popup_uiinfo[4].widget);
920   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_slow",
921                             intf_popup_uiinfo[4].widget,
922                             (GtkDestroyNotify) gtk_widget_unref);
923
924   gtk_widget_ref (intf_popup_uiinfo[5].widget);
925   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_fast",
926                             intf_popup_uiinfo[5].widget,
927                             (GtkDestroyNotify) gtk_widget_unref);
928
929   gtk_widget_ref (intf_popup_uiinfo[6].widget);
930   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator3",
931                             intf_popup_uiinfo[6].widget,
932                             (GtkDestroyNotify) gtk_widget_unref);
933
934   gtk_widget_ref (intf_popup_uiinfo[7].widget);
935   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_interface_toggle",
936                             intf_popup_uiinfo[7].widget,
937                             (GtkDestroyNotify) gtk_widget_unref);
938
939   gtk_widget_ref (intf_popup_uiinfo[8].widget);
940   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_fullscreen",
941                             intf_popup_uiinfo[8].widget,
942                             (GtkDestroyNotify) gtk_widget_unref);
943
944   gtk_widget_ref (intf_popup_uiinfo[9].widget);
945   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator8",
946                             intf_popup_uiinfo[9].widget,
947                             (GtkDestroyNotify) gtk_widget_unref);
948
949   gtk_widget_ref (intf_popup_uiinfo[10].widget);
950   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_next",
951                             intf_popup_uiinfo[10].widget,
952                             (GtkDestroyNotify) gtk_widget_unref);
953
954   gtk_widget_ref (intf_popup_uiinfo[11].widget);
955   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_prev",
956                             intf_popup_uiinfo[11].widget,
957                             (GtkDestroyNotify) gtk_widget_unref);
958
959   gtk_widget_ref (intf_popup_uiinfo[12].widget);
960   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_jump",
961                             intf_popup_uiinfo[12].widget,
962                             (GtkDestroyNotify) gtk_widget_unref);
963
964   gtk_widget_ref (intf_popup_uiinfo[13].widget);
965   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_navigation",
966                             intf_popup_uiinfo[13].widget,
967                             (GtkDestroyNotify) gtk_widget_unref);
968   gtk_widget_set_sensitive (intf_popup_uiinfo[13].widget, FALSE);
969
970   gtk_widget_ref (intf_popup_uiinfo[14].widget);
971   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_angle",
972                             intf_popup_uiinfo[14].widget,
973                             (GtkDestroyNotify) gtk_widget_unref);
974   gtk_widget_set_sensitive (intf_popup_uiinfo[14].widget, FALSE);
975
976   gtk_widget_ref (intf_popup_uiinfo[15].widget);
977   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_audio",
978                             intf_popup_uiinfo[15].widget,
979                             (GtkDestroyNotify) gtk_widget_unref);
980   gtk_widget_set_sensitive (intf_popup_uiinfo[15].widget, FALSE);
981
982   gtk_widget_ref (intf_popup_uiinfo[16].widget);
983   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_subpictures",
984                             intf_popup_uiinfo[16].widget,
985                             (GtkDestroyNotify) gtk_widget_unref);
986   gtk_widget_set_sensitive (intf_popup_uiinfo[16].widget, FALSE);
987
988   gtk_widget_ref (intf_popup_uiinfo[17].widget);
989   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator13",
990                             intf_popup_uiinfo[17].widget,
991                             (GtkDestroyNotify) gtk_widget_unref);
992
993   gtk_widget_ref (intf_popup_uiinfo[18].widget);
994   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_file",
995                             intf_popup_uiinfo[18].widget,
996                             (GtkDestroyNotify) gtk_widget_unref);
997
998   gtk_widget_ref (popup_file_menu_uiinfo[0].widget);
999   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_open",
1000                             popup_file_menu_uiinfo[0].widget,
1001                             (GtkDestroyNotify) gtk_widget_unref);
1002
1003   gtk_widget_ref (popup_file_menu_uiinfo[1].widget);
1004   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_disc",
1005                             popup_file_menu_uiinfo[1].widget,
1006                             (GtkDestroyNotify) gtk_widget_unref);
1007
1008   gtk_widget_ref (popup_file_menu_uiinfo[2].widget);
1009   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_network",
1010                             popup_file_menu_uiinfo[2].widget,
1011                             (GtkDestroyNotify) gtk_widget_unref);
1012
1013   gtk_widget_ref (popup_file_menu_uiinfo[3].widget);
1014   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator4",
1015                             popup_file_menu_uiinfo[3].widget,
1016                             (GtkDestroyNotify) gtk_widget_unref);
1017
1018   gtk_widget_ref (popup_file_menu_uiinfo[4].widget);
1019   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_about",
1020                             popup_file_menu_uiinfo[4].widget,
1021                             (GtkDestroyNotify) gtk_widget_unref);
1022
1023   gtk_widget_ref (intf_popup_uiinfo[19].widget);
1024   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_playlist",
1025                             intf_popup_uiinfo[19].widget,
1026                             (GtkDestroyNotify) gtk_widget_unref);
1027
1028   gtk_widget_ref (intf_popup_uiinfo[20].widget);
1029   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_preferences",
1030                             intf_popup_uiinfo[20].widget,
1031                             (GtkDestroyNotify) gtk_widget_unref);
1032
1033   gtk_widget_ref (intf_popup_uiinfo[21].widget);
1034   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator2",
1035                             intf_popup_uiinfo[21].widget,
1036                             (GtkDestroyNotify) gtk_widget_unref);
1037
1038   gtk_widget_ref (intf_popup_uiinfo[22].widget);
1039   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_exit",
1040                             intf_popup_uiinfo[22].widget,
1041                             (GtkDestroyNotify) gtk_widget_unref);
1042
1043   return intf_popup;
1044 }
1045
1046 GtkWidget*
1047 create_intf_about (void)
1048 {
1049   const gchar *authors[] = {
1050     "Régis Duchesne <regis@via.ecp.fr>",
1051     "Michel Lespinasse <walken@zoy.org>",
1052     "Olivier Pomel <pomel@via.ecp.fr>",
1053     "Pierre Baillet <oct@zoy.org>",
1054     "Jean-Philippe Grimaldi <jeanphi@via.ecp.fr>",
1055     "Andres Krapf <dae@via.ecp.fr>",
1056     "Christophe Massiot <massiot@via.ecp.fr>",
1057     "Vincent Seguin <seguin@via.ecp.fr>",
1058     "Benoit Steiner <benny@via.ecp.fr>",
1059     "Arnaud de Bossoreille de Ribou <bozo@via.ecp.fr>",
1060     "Jean-Marc Dressler <polux@via.ecp.fr>",
1061     "Gaël Hendryckx <jimmy@via.ecp.fr>",
1062     "Samuel Hocevar <sam@zoy.org>",
1063     "Brieuc Jeunhomme <bbp@via.ecp.fr>",
1064     "Michel Kaempf <maxx@via.ecp.fr>",
1065     "Stéphane Borel <stef@via.ecp.fr>",
1066     "Renaud Dartus <reno@via.ecp.fr>",
1067     "Henri Fallon <henri@via.ecp.fr>",
1068     NULL
1069   };
1070   GtkWidget *intf_about;
1071
1072   intf_about = gnome_about_new ("VideoLAN Client", VERSION,
1073                         _("(C) 1996, 1997, 1998, 1999, 2000, 2001 - the VideoLAN Team"),
1074                         authors,
1075                         _("This is the VideoLAN client, a DVD and MPEG player. It can play MPEG and MPEG 2 files from a file or from a network source."),
1076                         NULL);
1077   gtk_object_set_data (GTK_OBJECT (intf_about), "intf_about", intf_about);
1078
1079   return intf_about;
1080 }
1081
1082 GtkWidget*
1083 create_intf_fileopen (void)
1084 {
1085   GtkWidget *intf_fileopen;
1086   GtkWidget *fileopen_ok;
1087   GtkWidget *fileopen_cancel;
1088
1089   intf_fileopen = gtk_file_selection_new (_("Open File"));
1090   gtk_object_set_data (GTK_OBJECT (intf_fileopen), "intf_fileopen", intf_fileopen);
1091   gtk_container_set_border_width (GTK_CONTAINER (intf_fileopen), 10);
1092   gtk_window_set_modal (GTK_WINDOW (intf_fileopen), TRUE);
1093   gtk_file_selection_hide_fileop_buttons (GTK_FILE_SELECTION (intf_fileopen));
1094
1095   fileopen_ok = GTK_FILE_SELECTION (intf_fileopen)->ok_button;
1096   gtk_object_set_data (GTK_OBJECT (intf_fileopen), "fileopen_ok", fileopen_ok);
1097   gtk_widget_show (fileopen_ok);
1098   GTK_WIDGET_SET_FLAGS (fileopen_ok, GTK_CAN_DEFAULT);
1099
1100   fileopen_cancel = GTK_FILE_SELECTION (intf_fileopen)->cancel_button;
1101   gtk_object_set_data (GTK_OBJECT (intf_fileopen), "fileopen_cancel", fileopen_cancel);
1102   gtk_widget_show (fileopen_cancel);
1103   GTK_WIDGET_SET_FLAGS (fileopen_cancel, GTK_CAN_DEFAULT);
1104
1105   gtk_signal_connect (GTK_OBJECT (fileopen_ok), "clicked",
1106                       GTK_SIGNAL_FUNC (GtkFileOpenOk),
1107                       "intf_fileopen");
1108   gtk_signal_connect (GTK_OBJECT (fileopen_cancel), "clicked",
1109                       GTK_SIGNAL_FUNC (GtkFileOpenCancel),
1110                       "intf_fileopen");
1111
1112   return intf_fileopen;
1113 }
1114
1115 GtkWidget*
1116 create_intf_modules (void)
1117 {
1118   GtkWidget *intf_modules;
1119   GtkWidget *dialog_vbox1;
1120   GtkWidget *label12;
1121   GtkWidget *dialog_action_area1;
1122   GtkWidget *modules_ok;
1123   GtkWidget *modules_apply;
1124   GtkWidget *modules_cancel;
1125
1126   intf_modules = gnome_dialog_new (_("Modules"), NULL);
1127   gtk_object_set_data (GTK_OBJECT (intf_modules), "intf_modules", intf_modules);
1128   gtk_window_set_policy (GTK_WINDOW (intf_modules), FALSE, FALSE, FALSE);
1129
1130   dialog_vbox1 = GNOME_DIALOG (intf_modules)->vbox;
1131   gtk_object_set_data (GTK_OBJECT (intf_modules), "dialog_vbox1", dialog_vbox1);
1132   gtk_widget_show (dialog_vbox1);
1133
1134   label12 = gtk_label_new (_("Sorry, the module manager isn't functional yet. Please retry in a later version."));
1135   gtk_widget_ref (label12);
1136   gtk_object_set_data_full (GTK_OBJECT (intf_modules), "label12", label12,
1137                             (GtkDestroyNotify) gtk_widget_unref);
1138   gtk_widget_show (label12);
1139   gtk_box_pack_start (GTK_BOX (dialog_vbox1), label12, FALSE, FALSE, 0);
1140
1141   dialog_action_area1 = GNOME_DIALOG (intf_modules)->action_area;
1142   gtk_object_set_data (GTK_OBJECT (intf_modules), "dialog_action_area1", dialog_action_area1);
1143   gtk_widget_show (dialog_action_area1);
1144   gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_END);
1145   gtk_button_box_set_spacing (GTK_BUTTON_BOX (dialog_action_area1), 8);
1146
1147   gnome_dialog_append_button (GNOME_DIALOG (intf_modules), GNOME_STOCK_BUTTON_OK);
1148   modules_ok = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_modules)->buttons)->data);
1149   gtk_widget_ref (modules_ok);
1150   gtk_object_set_data_full (GTK_OBJECT (intf_modules), "modules_ok", modules_ok,
1151                             (GtkDestroyNotify) gtk_widget_unref);
1152   gtk_widget_show (modules_ok);
1153   GTK_WIDGET_SET_FLAGS (modules_ok, GTK_CAN_DEFAULT);
1154
1155   gnome_dialog_append_button (GNOME_DIALOG (intf_modules), GNOME_STOCK_BUTTON_APPLY);
1156   modules_apply = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_modules)->buttons)->data);
1157   gtk_widget_ref (modules_apply);
1158   gtk_object_set_data_full (GTK_OBJECT (intf_modules), "modules_apply", modules_apply,
1159                             (GtkDestroyNotify) gtk_widget_unref);
1160   gtk_widget_show (modules_apply);
1161   GTK_WIDGET_SET_FLAGS (modules_apply, GTK_CAN_DEFAULT);
1162
1163   gnome_dialog_append_button (GNOME_DIALOG (intf_modules), GNOME_STOCK_BUTTON_CANCEL);
1164   modules_cancel = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_modules)->buttons)->data);
1165   gtk_widget_ref (modules_cancel);
1166   gtk_object_set_data_full (GTK_OBJECT (intf_modules), "modules_cancel", modules_cancel,
1167                             (GtkDestroyNotify) gtk_widget_unref);
1168   gtk_widget_show (modules_cancel);
1169   GTK_WIDGET_SET_FLAGS (modules_cancel, GTK_CAN_DEFAULT);
1170
1171   return intf_modules;
1172 }
1173
1174 GtkWidget*
1175 create_intf_disc (void)
1176 {
1177   GtkWidget *intf_disc;
1178   GtkWidget *dialog_vbox4;
1179   GtkWidget *hbox2;
1180   GtkWidget *frame1;
1181   GtkWidget *vbox4;
1182   GSList *disc_group = NULL;
1183   GtkWidget *disc_dvd;
1184   GtkWidget *disc_vcd;
1185   GtkWidget *frame2;
1186   GtkWidget *table1;
1187   GtkWidget *label15;
1188   GtkWidget *label16;
1189   GtkObject *disc_title_adj;
1190   GtkWidget *disc_title;
1191   GtkObject *disc_chapter_adj;
1192   GtkWidget *disc_chapter;
1193   GtkWidget *hbox1;
1194   GtkWidget *label14;
1195   GtkWidget *disc_name;
1196   GtkWidget *dialog_action_area4;
1197   GtkWidget *disc_ok;
1198   GtkWidget *disc_cancel;
1199
1200   intf_disc = gnome_dialog_new (_("Open Disc"), NULL);
1201   gtk_object_set_data (GTK_OBJECT (intf_disc), "intf_disc", intf_disc);
1202   gtk_window_set_modal (GTK_WINDOW (intf_disc), TRUE);
1203   gtk_window_set_policy (GTK_WINDOW (intf_disc), FALSE, FALSE, FALSE);
1204
1205   dialog_vbox4 = GNOME_DIALOG (intf_disc)->vbox;
1206   gtk_object_set_data (GTK_OBJECT (intf_disc), "dialog_vbox4", dialog_vbox4);
1207   gtk_widget_show (dialog_vbox4);
1208
1209   hbox2 = gtk_hbox_new (FALSE, 5);
1210   gtk_widget_ref (hbox2);
1211   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "hbox2", hbox2,
1212                             (GtkDestroyNotify) gtk_widget_unref);
1213   gtk_widget_show (hbox2);
1214   gtk_box_pack_start (GTK_BOX (dialog_vbox4), hbox2, TRUE, TRUE, 0);
1215
1216   frame1 = gtk_frame_new (_("Disc type"));
1217   gtk_widget_ref (frame1);
1218   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "frame1", frame1,
1219                             (GtkDestroyNotify) gtk_widget_unref);
1220   gtk_widget_show (frame1);
1221   gtk_box_pack_start (GTK_BOX (hbox2), frame1, TRUE, TRUE, 0);
1222
1223   vbox4 = gtk_vbox_new (FALSE, 0);
1224   gtk_widget_ref (vbox4);
1225   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "vbox4", vbox4,
1226                             (GtkDestroyNotify) gtk_widget_unref);
1227   gtk_widget_show (vbox4);
1228   gtk_container_add (GTK_CONTAINER (frame1), vbox4);
1229
1230   disc_dvd = gtk_radio_button_new_with_label (disc_group, _("DVD"));
1231   disc_group = gtk_radio_button_group (GTK_RADIO_BUTTON (disc_dvd));
1232   gtk_widget_ref (disc_dvd);
1233   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_dvd", disc_dvd,
1234                             (GtkDestroyNotify) gtk_widget_unref);
1235   gtk_widget_show (disc_dvd);
1236   gtk_box_pack_start (GTK_BOX (vbox4), disc_dvd, FALSE, FALSE, 0);
1237
1238   disc_vcd = gtk_radio_button_new_with_label (disc_group, _("VCD"));
1239   disc_group = gtk_radio_button_group (GTK_RADIO_BUTTON (disc_vcd));
1240   gtk_widget_ref (disc_vcd);
1241   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_vcd", disc_vcd,
1242                             (GtkDestroyNotify) gtk_widget_unref);
1243   gtk_widget_show (disc_vcd);
1244   gtk_box_pack_start (GTK_BOX (vbox4), disc_vcd, FALSE, FALSE, 0);
1245
1246   frame2 = gtk_frame_new (_("Starting position"));
1247   gtk_widget_ref (frame2);
1248   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "frame2", frame2,
1249                             (GtkDestroyNotify) gtk_widget_unref);
1250   gtk_widget_show (frame2);
1251   gtk_box_pack_start (GTK_BOX (hbox2), frame2, TRUE, TRUE, 0);
1252
1253   table1 = gtk_table_new (2, 2, FALSE);
1254   gtk_widget_ref (table1);
1255   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "table1", table1,
1256                             (GtkDestroyNotify) gtk_widget_unref);
1257   gtk_widget_show (table1);
1258   gtk_container_add (GTK_CONTAINER (frame2), table1);
1259   gtk_container_set_border_width (GTK_CONTAINER (table1), 5);
1260   gtk_table_set_row_spacings (GTK_TABLE (table1), 5);
1261   gtk_table_set_col_spacings (GTK_TABLE (table1), 5);
1262
1263   label15 = gtk_label_new (_("Title"));
1264   gtk_widget_ref (label15);
1265   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "label15", label15,
1266                             (GtkDestroyNotify) gtk_widget_unref);
1267   gtk_widget_show (label15);
1268   gtk_table_attach (GTK_TABLE (table1), label15, 0, 1, 0, 1,
1269                     (GtkAttachOptions) (GTK_FILL),
1270                     (GtkAttachOptions) (0), 0, 0);
1271   gtk_misc_set_alignment (GTK_MISC (label15), 0, 0.5);
1272
1273   label16 = gtk_label_new (_("Chapter"));
1274   gtk_widget_ref (label16);
1275   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "label16", label16,
1276                             (GtkDestroyNotify) gtk_widget_unref);
1277   gtk_widget_show (label16);
1278   gtk_table_attach (GTK_TABLE (table1), label16, 0, 1, 1, 2,
1279                     (GtkAttachOptions) (GTK_FILL),
1280                     (GtkAttachOptions) (0), 0, 0);
1281   gtk_misc_set_alignment (GTK_MISC (label16), 0, 0.5);
1282
1283   disc_title_adj = gtk_adjustment_new (1, 1, 65536, 1, 10, 10);
1284   disc_title = gtk_spin_button_new (GTK_ADJUSTMENT (disc_title_adj), 1, 0);
1285   gtk_widget_ref (disc_title);
1286   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_title", disc_title,
1287                             (GtkDestroyNotify) gtk_widget_unref);
1288   gtk_widget_show (disc_title);
1289   gtk_table_attach (GTK_TABLE (table1), disc_title, 1, 2, 0, 1,
1290                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1291                     (GtkAttachOptions) (0), 0, 0);
1292
1293   disc_chapter_adj = gtk_adjustment_new (1, 1, 65536, 1, 10, 10);
1294   disc_chapter = gtk_spin_button_new (GTK_ADJUSTMENT (disc_chapter_adj), 1, 0);
1295   gtk_widget_ref (disc_chapter);
1296   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_chapter", disc_chapter,
1297                             (GtkDestroyNotify) gtk_widget_unref);
1298   gtk_widget_show (disc_chapter);
1299   gtk_table_attach (GTK_TABLE (table1), disc_chapter, 1, 2, 1, 2,
1300                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1301                     (GtkAttachOptions) (0), 0, 0);
1302
1303   hbox1 = gtk_hbox_new (FALSE, 5);
1304   gtk_widget_ref (hbox1);
1305   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "hbox1", hbox1,
1306                             (GtkDestroyNotify) gtk_widget_unref);
1307   gtk_widget_show (hbox1);
1308   gtk_box_pack_start (GTK_BOX (dialog_vbox4), hbox1, TRUE, TRUE, 0);
1309
1310   label14 = gtk_label_new (_("Device name:"));
1311   gtk_widget_ref (label14);
1312   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "label14", label14,
1313                             (GtkDestroyNotify) gtk_widget_unref);
1314   gtk_widget_show (label14);
1315   gtk_box_pack_start (GTK_BOX (hbox1), label14, FALSE, FALSE, 0);
1316
1317   disc_name = gtk_entry_new ();
1318   gtk_widget_ref (disc_name);
1319   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_name", disc_name,
1320                             (GtkDestroyNotify) gtk_widget_unref);
1321   gtk_widget_show (disc_name);
1322   gtk_box_pack_start (GTK_BOX (hbox1), disc_name, TRUE, TRUE, 0);
1323   gtk_entry_set_text (GTK_ENTRY (disc_name), DVD_DEVICE);
1324
1325   dialog_action_area4 = GNOME_DIALOG (intf_disc)->action_area;
1326   gtk_object_set_data (GTK_OBJECT (intf_disc), "dialog_action_area4", dialog_action_area4);
1327   gtk_widget_show (dialog_action_area4);
1328   gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area4), GTK_BUTTONBOX_END);
1329   gtk_button_box_set_spacing (GTK_BUTTON_BOX (dialog_action_area4), 8);
1330
1331   gnome_dialog_append_button (GNOME_DIALOG (intf_disc), GNOME_STOCK_BUTTON_OK);
1332   disc_ok = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_disc)->buttons)->data);
1333   gtk_widget_ref (disc_ok);
1334   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_ok", disc_ok,
1335                             (GtkDestroyNotify) gtk_widget_unref);
1336   gtk_widget_show (disc_ok);
1337   GTK_WIDGET_SET_FLAGS (disc_ok, GTK_CAN_DEFAULT);
1338
1339   gnome_dialog_append_button (GNOME_DIALOG (intf_disc), GNOME_STOCK_BUTTON_CANCEL);
1340   disc_cancel = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_disc)->buttons)->data);
1341   gtk_widget_ref (disc_cancel);
1342   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_cancel", disc_cancel,
1343                             (GtkDestroyNotify) gtk_widget_unref);
1344   gtk_widget_show (disc_cancel);
1345   GTK_WIDGET_SET_FLAGS (disc_cancel, GTK_CAN_DEFAULT);
1346
1347   gtk_signal_connect (GTK_OBJECT (disc_dvd), "toggled",
1348                       GTK_SIGNAL_FUNC (GtkDiscOpenDvd),
1349                       "intf_disc");
1350   gtk_signal_connect (GTK_OBJECT (disc_vcd), "toggled",
1351                       GTK_SIGNAL_FUNC (GtkDiscOpenVcd),
1352                       "intf_disc");
1353   gtk_signal_connect (GTK_OBJECT (disc_ok), "clicked",
1354                       GTK_SIGNAL_FUNC (GtkDiscOpenOk),
1355                       "intf_disc");
1356   gtk_signal_connect (GTK_OBJECT (disc_cancel), "clicked",
1357                       GTK_SIGNAL_FUNC (GtkDiscOpenCancel),
1358                       "intf_disc");
1359
1360   return intf_disc;
1361 }
1362
1363 GtkWidget*
1364 create_intf_network (void)
1365 {
1366   GtkWidget *intf_network;
1367   GtkWidget *vbox5;
1368   GtkWidget *hbox3;
1369   GtkWidget *frame3;
1370   GtkWidget *vbox6;
1371   GSList *network_group = NULL;
1372   GtkWidget *network_ts;
1373   GtkWidget *network_rtp;
1374   GtkWidget *network_http;
1375   GtkWidget *frame4;
1376   GtkWidget *table2;
1377   GtkWidget *network_server_label;
1378   GtkWidget *network_port_label;
1379   GtkObject *network_port_adj;
1380   GtkWidget *network_port;
1381   GtkWidget *network_broadcast_check;
1382   GtkWidget *network_broadcast_combo;
1383   GtkWidget *network_broadcast;
1384   GtkWidget *network_server_combo;
1385   GtkWidget *network_server;
1386   GtkWidget *frame5;
1387   GtkWidget *hbox4;
1388   GtkWidget *network_channel_check;
1389   GtkWidget *network_channel_combo;
1390   GtkWidget *network_channel;
1391   GtkWidget *network_channel_port_label;
1392   GtkObject *network_channel_port_adj;
1393   GtkWidget *network_channel_port;
1394   GtkWidget *hbuttonbox1;
1395   GtkWidget *network_ok;
1396   GtkWidget *network_cancel;
1397   GtkTooltips *tooltips;
1398
1399   tooltips = gtk_tooltips_new ();
1400
1401   intf_network = gnome_dialog_new (_("Network Stream"), NULL);
1402   gtk_object_set_data (GTK_OBJECT (intf_network), "intf_network", intf_network);
1403   gtk_window_set_modal (GTK_WINDOW (intf_network), TRUE);
1404   gtk_window_set_policy (GTK_WINDOW (intf_network), FALSE, FALSE, FALSE);
1405
1406   vbox5 = GNOME_DIALOG (intf_network)->vbox;
1407   gtk_object_set_data (GTK_OBJECT (intf_network), "vbox5", vbox5);
1408   gtk_widget_show (vbox5);
1409
1410   hbox3 = gtk_hbox_new (FALSE, 5);
1411   gtk_widget_ref (hbox3);
1412   gtk_object_set_data_full (GTK_OBJECT (intf_network), "hbox3", hbox3,
1413                             (GtkDestroyNotify) gtk_widget_unref);
1414   gtk_widget_show (hbox3);
1415   gtk_box_pack_start (GTK_BOX (vbox5), hbox3, TRUE, TRUE, 0);
1416
1417   frame3 = gtk_frame_new (_("Protocol"));
1418   gtk_widget_ref (frame3);
1419   gtk_object_set_data_full (GTK_OBJECT (intf_network), "frame3", frame3,
1420                             (GtkDestroyNotify) gtk_widget_unref);
1421   gtk_widget_show (frame3);
1422   gtk_box_pack_start (GTK_BOX (hbox3), frame3, TRUE, TRUE, 0);
1423
1424   vbox6 = gtk_vbox_new (FALSE, 0);
1425   gtk_widget_ref (vbox6);
1426   gtk_object_set_data_full (GTK_OBJECT (intf_network), "vbox6", vbox6,
1427                             (GtkDestroyNotify) gtk_widget_unref);
1428   gtk_widget_show (vbox6);
1429   gtk_container_add (GTK_CONTAINER (frame3), vbox6);
1430
1431   network_ts = gtk_radio_button_new_with_label (network_group, _("TS"));
1432   network_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_ts));
1433   gtk_widget_ref (network_ts);
1434   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_ts", network_ts,
1435                             (GtkDestroyNotify) gtk_widget_unref);
1436   gtk_widget_show (network_ts);
1437   gtk_box_pack_start (GTK_BOX (vbox6), network_ts, FALSE, FALSE, 0);
1438
1439   network_rtp = gtk_radio_button_new_with_label (network_group, _("RTP"));
1440   network_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_rtp));
1441   gtk_widget_ref (network_rtp);
1442   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_rtp", network_rtp,
1443                             (GtkDestroyNotify) gtk_widget_unref);
1444   gtk_widget_show (network_rtp);
1445   gtk_box_pack_start (GTK_BOX (vbox6), network_rtp, FALSE, FALSE, 0);
1446   gtk_widget_set_sensitive (network_rtp, FALSE);
1447
1448   network_http = gtk_radio_button_new_with_label (network_group, _("HTTP"));
1449   network_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_http));
1450   gtk_widget_ref (network_http);
1451   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_http", network_http,
1452                             (GtkDestroyNotify) gtk_widget_unref);
1453   gtk_widget_show (network_http);
1454   gtk_box_pack_start (GTK_BOX (vbox6), network_http, FALSE, FALSE, 0);
1455
1456   frame4 = gtk_frame_new (_("Server"));
1457   gtk_widget_ref (frame4);
1458   gtk_object_set_data_full (GTK_OBJECT (intf_network), "frame4", frame4,
1459                             (GtkDestroyNotify) gtk_widget_unref);
1460   gtk_widget_show (frame4);
1461   gtk_box_pack_start (GTK_BOX (hbox3), frame4, TRUE, TRUE, 0);
1462
1463   table2 = gtk_table_new (3, 2, FALSE);
1464   gtk_widget_ref (table2);
1465   gtk_object_set_data_full (GTK_OBJECT (intf_network), "table2", table2,
1466                             (GtkDestroyNotify) gtk_widget_unref);
1467   gtk_widget_show (table2);
1468   gtk_container_add (GTK_CONTAINER (frame4), table2);
1469   gtk_container_set_border_width (GTK_CONTAINER (table2), 5);
1470   gtk_table_set_row_spacings (GTK_TABLE (table2), 5);
1471   gtk_table_set_col_spacings (GTK_TABLE (table2), 5);
1472
1473   network_server_label = gtk_label_new (_("Address"));
1474   gtk_widget_ref (network_server_label);
1475   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_server_label", network_server_label,
1476                             (GtkDestroyNotify) gtk_widget_unref);
1477   gtk_widget_show (network_server_label);
1478   gtk_table_attach (GTK_TABLE (table2), network_server_label, 0, 1, 0, 1,
1479                     (GtkAttachOptions) (GTK_FILL),
1480                     (GtkAttachOptions) (0), 0, 0);
1481   gtk_misc_set_alignment (GTK_MISC (network_server_label), 0, 0.5);
1482
1483   network_port_label = gtk_label_new (_("Port"));
1484   gtk_widget_ref (network_port_label);
1485   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_port_label", network_port_label,
1486                             (GtkDestroyNotify) gtk_widget_unref);
1487   gtk_widget_show (network_port_label);
1488   gtk_table_attach (GTK_TABLE (table2), network_port_label, 0, 1, 1, 2,
1489                     (GtkAttachOptions) (GTK_FILL),
1490                     (GtkAttachOptions) (0), 0, 0);
1491   gtk_misc_set_alignment (GTK_MISC (network_port_label), 0, 0.5);
1492
1493   network_port_adj = gtk_adjustment_new (1234, 1024, 65535, 1, 10, 10);
1494   network_port = gtk_spin_button_new (GTK_ADJUSTMENT (network_port_adj), 1, 0);
1495   gtk_widget_ref (network_port);
1496   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_port", network_port,
1497                             (GtkDestroyNotify) gtk_widget_unref);
1498   gtk_widget_show (network_port);
1499   gtk_table_attach (GTK_TABLE (table2), network_port, 1, 2, 1, 2,
1500                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1501                     (GtkAttachOptions) (0), 0, 0);
1502   gtk_tooltips_set_tip (tooltips, network_port, _("Port of the stream server"), NULL);
1503
1504   network_broadcast_check = gtk_check_button_new_with_label (_("Broadcast"));
1505   gtk_widget_ref (network_broadcast_check);
1506   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_broadcast_check", network_broadcast_check,
1507                             (GtkDestroyNotify) gtk_widget_unref);
1508   gtk_widget_show (network_broadcast_check);
1509   gtk_table_attach (GTK_TABLE (table2), network_broadcast_check, 0, 1, 2, 3,
1510                     (GtkAttachOptions) (GTK_FILL),
1511                     (GtkAttachOptions) (0), 0, 0);
1512
1513   network_broadcast_combo = gnome_entry_new (NULL);
1514   gtk_widget_ref (network_broadcast_combo);
1515   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_broadcast_combo", network_broadcast_combo,
1516                             (GtkDestroyNotify) gtk_widget_unref);
1517   gtk_widget_show (network_broadcast_combo);
1518   gtk_table_attach (GTK_TABLE (table2), network_broadcast_combo, 1, 2, 2, 3,
1519                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1520                     (GtkAttachOptions) (0), 0, 0);
1521
1522   network_broadcast = gnome_entry_gtk_entry (GNOME_ENTRY (network_broadcast_combo));
1523   gtk_widget_ref (network_broadcast);
1524   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_broadcast", network_broadcast,
1525                             (GtkDestroyNotify) gtk_widget_unref);
1526   gtk_widget_show (network_broadcast);
1527   gtk_widget_set_sensitive (network_broadcast, FALSE);
1528   gtk_entry_set_text (GTK_ENTRY (network_broadcast), _("138.195.143.255"));
1529
1530   network_server_combo = gnome_entry_new (NULL);
1531   gtk_widget_ref (network_server_combo);
1532   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_server_combo", network_server_combo,
1533                             (GtkDestroyNotify) gtk_widget_unref);
1534   gtk_widget_show (network_server_combo);
1535   gtk_table_attach (GTK_TABLE (table2), network_server_combo, 1, 2, 0, 1,
1536                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1537                     (GtkAttachOptions) (0), 0, 0);
1538
1539   network_server = gnome_entry_gtk_entry (GNOME_ENTRY (network_server_combo));
1540   gtk_widget_ref (network_server);
1541   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_server", network_server,
1542                             (GtkDestroyNotify) gtk_widget_unref);
1543   gtk_widget_show (network_server);
1544   gtk_entry_set_text (GTK_ENTRY (network_server), _("vls"));
1545
1546   frame5 = gtk_frame_new (_("Channels"));
1547   gtk_widget_ref (frame5);
1548   gtk_object_set_data_full (GTK_OBJECT (intf_network), "frame5", frame5,
1549                             (GtkDestroyNotify) gtk_widget_unref);
1550   gtk_widget_show (frame5);
1551   gtk_box_pack_start (GTK_BOX (vbox5), frame5, TRUE, TRUE, 0);
1552   gtk_frame_set_label_align (GTK_FRAME (frame5), 0.05, 0.5);
1553
1554   hbox4 = gtk_hbox_new (FALSE, 0);
1555   gtk_widget_ref (hbox4);
1556   gtk_object_set_data_full (GTK_OBJECT (intf_network), "hbox4", hbox4,
1557                             (GtkDestroyNotify) gtk_widget_unref);
1558   gtk_widget_show (hbox4);
1559   gtk_container_add (GTK_CONTAINER (frame5), hbox4);
1560
1561   network_channel_check = gtk_check_button_new_with_label (_("Channel server:"));
1562   gtk_widget_ref (network_channel_check);
1563   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_channel_check", network_channel_check,
1564                             (GtkDestroyNotify) gtk_widget_unref);
1565   gtk_widget_show (network_channel_check);
1566   gtk_box_pack_start (GTK_BOX (hbox4), network_channel_check, FALSE, FALSE, 0);
1567
1568   network_channel_combo = gnome_entry_new (NULL);
1569   gtk_widget_ref (network_channel_combo);
1570   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_channel_combo", network_channel_combo,
1571                             (GtkDestroyNotify) gtk_widget_unref);
1572   gtk_widget_show (network_channel_combo);
1573   gtk_box_pack_start (GTK_BOX (hbox4), network_channel_combo, FALSE, FALSE, 0);
1574   gtk_widget_set_sensitive (network_channel_combo, FALSE);
1575
1576   network_channel = gnome_entry_gtk_entry (GNOME_ENTRY (network_channel_combo));
1577   gtk_widget_ref (network_channel);
1578   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_channel", network_channel,
1579                             (GtkDestroyNotify) gtk_widget_unref);
1580   gtk_widget_show (network_channel);
1581   gtk_entry_set_text (GTK_ENTRY (network_channel), _("138.195.143.120"));
1582
1583   network_channel_port_label = gtk_label_new (_("port:"));
1584   gtk_widget_ref (network_channel_port_label);
1585   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_channel_port_label", network_channel_port_label,
1586                             (GtkDestroyNotify) gtk_widget_unref);
1587   gtk_widget_show (network_channel_port_label);
1588   gtk_box_pack_start (GTK_BOX (hbox4), network_channel_port_label, FALSE, FALSE, 5);
1589
1590   network_channel_port_adj = gtk_adjustment_new (6010, 1024, 65535, 1, 10, 10);
1591   network_channel_port = gtk_spin_button_new (GTK_ADJUSTMENT (network_channel_port_adj), 1, 0);
1592   gtk_widget_ref (network_channel_port);
1593   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_channel_port", network_channel_port,
1594                             (GtkDestroyNotify) gtk_widget_unref);
1595   gtk_widget_show (network_channel_port);
1596   gtk_box_pack_start (GTK_BOX (hbox4), network_channel_port, FALSE, FALSE, 0);
1597   gtk_widget_set_usize (network_channel_port, 60, -2);
1598   gtk_widget_set_sensitive (network_channel_port, FALSE);
1599
1600   hbuttonbox1 = GNOME_DIALOG (intf_network)->action_area;
1601   gtk_object_set_data (GTK_OBJECT (intf_network), "hbuttonbox1", hbuttonbox1);
1602   gtk_widget_show (hbuttonbox1);
1603   gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox1), GTK_BUTTONBOX_END);
1604   gtk_button_box_set_spacing (GTK_BUTTON_BOX (hbuttonbox1), 8);
1605
1606   gnome_dialog_append_button (GNOME_DIALOG (intf_network), GNOME_STOCK_BUTTON_OK);
1607   network_ok = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_network)->buttons)->data);
1608   gtk_widget_ref (network_ok);
1609   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_ok", network_ok,
1610                             (GtkDestroyNotify) gtk_widget_unref);
1611   gtk_widget_show (network_ok);
1612   GTK_WIDGET_SET_FLAGS (network_ok, GTK_CAN_DEFAULT);
1613
1614   gnome_dialog_append_button (GNOME_DIALOG (intf_network), GNOME_STOCK_BUTTON_CANCEL);
1615   network_cancel = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_network)->buttons)->data);
1616   gtk_widget_ref (network_cancel);
1617   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_cancel", network_cancel,
1618                             (GtkDestroyNotify) gtk_widget_unref);
1619   gtk_widget_show (network_cancel);
1620   GTK_WIDGET_SET_FLAGS (network_cancel, GTK_CAN_DEFAULT);
1621
1622   gtk_signal_connect (GTK_OBJECT (network_broadcast_check), "toggled",
1623                       GTK_SIGNAL_FUNC (GtkNetworkOpenBroadcast),
1624                       "intf_network");
1625   gtk_signal_connect (GTK_OBJECT (network_channel_check), "toggled",
1626                       GTK_SIGNAL_FUNC (GtkNetworkOpenChannel),
1627                       "intf_network");
1628   gtk_signal_connect (GTK_OBJECT (network_ok), "clicked",
1629                       GTK_SIGNAL_FUNC (GtkNetworkOpenOk),
1630                       "intf_network");
1631   gtk_signal_connect (GTK_OBJECT (network_cancel), "clicked",
1632                       GTK_SIGNAL_FUNC (GtkNetworkOpenCancel),
1633                       "intf_network");
1634
1635   gtk_object_set_data (GTK_OBJECT (intf_network), "tooltips", tooltips);
1636
1637   return intf_network;
1638 }
1639
1640 static GnomeUIInfo playlist_add_menu_uiinfo[] =
1641 {
1642   {
1643     GNOME_APP_UI_ITEM, N_("Disc"),
1644     NULL,
1645     (gpointer) GnomePlaylistDiscOpenActivate, NULL, NULL,
1646     GNOME_APP_PIXMAP_NONE, NULL,
1647     0, (GdkModifierType) 0, NULL
1648   },
1649   {
1650     GNOME_APP_UI_ITEM, N_("File"),
1651     NULL,
1652     (gpointer) GnomePlaylistFileOpenActivate, NULL, NULL,
1653     GNOME_APP_PIXMAP_NONE, NULL,
1654     0, (GdkModifierType) 0, NULL
1655   },
1656   {
1657     GNOME_APP_UI_ITEM, N_("Network"),
1658     NULL,
1659     (gpointer) GnomePlaylistNetworkOpenActivate, NULL, NULL,
1660     GNOME_APP_PIXMAP_NONE, NULL,
1661     0, (GdkModifierType) 0, NULL
1662   },
1663   {
1664     GNOME_APP_UI_ITEM, N_("Url"),
1665     NULL,
1666     (gpointer) GtkPlaylistAddUrl, NULL, NULL,
1667     GNOME_APP_PIXMAP_NONE, NULL,
1668     0, (GdkModifierType) 0, NULL
1669   },
1670   GNOMEUIINFO_END
1671 };
1672
1673 static GnomeUIInfo playlist_delete_menu_uiinfo[] =
1674 {
1675   {
1676     GNOME_APP_UI_ITEM, N_("All"),
1677     NULL,
1678     (gpointer) GtkPlaylistDeleteAll, NULL, NULL,
1679     GNOME_APP_PIXMAP_NONE, NULL,
1680     0, (GdkModifierType) 0, NULL
1681   },
1682   {
1683     GNOME_APP_UI_ITEM, N_("Item"),
1684     NULL,
1685     (gpointer) GtkPlaylistDeleteSelected, NULL, NULL,
1686     GNOME_APP_PIXMAP_NONE, NULL,
1687     0, (GdkModifierType) 0, NULL
1688   },
1689   GNOMEUIINFO_END
1690 };
1691
1692 static GnomeUIInfo playlist_selection_menu_uiinfo[] =
1693 {
1694   {
1695     GNOME_APP_UI_ITEM, N_("Crop"),
1696     NULL,
1697     (gpointer) GtkPlaylistCrop, NULL, NULL,
1698     GNOME_APP_PIXMAP_NONE, NULL,
1699     0, (GdkModifierType) 0, NULL
1700   },
1701   {
1702     GNOME_APP_UI_ITEM, N_("Invert"),
1703     NULL,
1704     (gpointer) GtkPlaylistInvert, NULL, NULL,
1705     GNOME_APP_PIXMAP_NONE, NULL,
1706     0, (GdkModifierType) 0, NULL
1707   },
1708   {
1709     GNOME_APP_UI_ITEM, N_("Select"),
1710     NULL,
1711     (gpointer) GtkPlaylistSelect, NULL, NULL,
1712     GNOME_APP_PIXMAP_NONE, NULL,
1713     0, (GdkModifierType) 0, NULL
1714   },
1715   GNOMEUIINFO_END
1716 };
1717
1718 static GnomeUIInfo playlist_menubar_uiinfo[] =
1719 {
1720   {
1721     GNOME_APP_UI_SUBTREE, N_("Add"),
1722     NULL,
1723     playlist_add_menu_uiinfo, NULL, NULL,
1724     GNOME_APP_PIXMAP_NONE, NULL,
1725     0, (GdkModifierType) 0, NULL
1726   },
1727   {
1728     GNOME_APP_UI_SUBTREE, N_("Delete"),
1729     NULL,
1730     playlist_delete_menu_uiinfo, NULL, NULL,
1731     GNOME_APP_PIXMAP_NONE, NULL,
1732     0, (GdkModifierType) 0, NULL
1733   },
1734   {
1735     GNOME_APP_UI_SUBTREE, N_("Selection"),
1736     NULL,
1737     playlist_selection_menu_uiinfo, NULL, NULL,
1738     GNOME_APP_PIXMAP_NONE, NULL,
1739     0, (GdkModifierType) 0, NULL
1740   },
1741   GNOMEUIINFO_END
1742 };
1743
1744 GtkWidget*
1745 create_intf_playlist (void)
1746 {
1747   GtkWidget *intf_playlist;
1748   GtkWidget *playlist_vbox;
1749   GtkWidget *playlist_scrolledwindow;
1750   GtkWidget *playlist_viewport;
1751   GtkWidget *playlist_frame;
1752   GtkWidget *playlist_clist;
1753   GtkWidget *playlist_label_url;
1754   GtkWidget *playlist_label_duration;
1755   GtkWidget *playlist_menubar;
1756   GtkWidget *playlist_action;
1757   GtkWidget *playlist_ok;
1758   GtkWidget *playlist_cancel;
1759
1760   intf_playlist = gnome_dialog_new (_("Playlist"), NULL);
1761   gtk_object_set_data (GTK_OBJECT (intf_playlist), "intf_playlist", intf_playlist);
1762   gtk_window_set_default_size (GTK_WINDOW (intf_playlist), 400, 300);
1763   gtk_window_set_policy (GTK_WINDOW (intf_playlist), TRUE, TRUE, FALSE);
1764
1765   playlist_vbox = GNOME_DIALOG (intf_playlist)->vbox;
1766   gtk_object_set_data (GTK_OBJECT (intf_playlist), "playlist_vbox", playlist_vbox);
1767   gtk_widget_show (playlist_vbox);
1768
1769   playlist_scrolledwindow = gtk_scrolled_window_new (NULL, NULL);
1770   gtk_widget_ref (playlist_scrolledwindow);
1771   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_scrolledwindow", playlist_scrolledwindow,
1772                             (GtkDestroyNotify) gtk_widget_unref);
1773   gtk_widget_show (playlist_scrolledwindow);
1774   gtk_box_pack_start (GTK_BOX (playlist_vbox), playlist_scrolledwindow, TRUE, TRUE, 0);
1775   gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (playlist_scrolledwindow), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
1776
1777   playlist_viewport = gtk_viewport_new (NULL, NULL);
1778   gtk_widget_ref (playlist_viewport);
1779   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_viewport", playlist_viewport,
1780                             (GtkDestroyNotify) gtk_widget_unref);
1781   gtk_widget_show (playlist_viewport);
1782   gtk_container_add (GTK_CONTAINER (playlist_scrolledwindow), playlist_viewport);
1783
1784   playlist_frame = gtk_frame_new (_("Playlist"));
1785   gtk_widget_ref (playlist_frame);
1786   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_frame", playlist_frame,
1787                             (GtkDestroyNotify) gtk_widget_unref);
1788   gtk_widget_show (playlist_frame);
1789   gtk_container_add (GTK_CONTAINER (playlist_viewport), playlist_frame);
1790   gtk_container_set_border_width (GTK_CONTAINER (playlist_frame), 4);
1791   gtk_frame_set_label_align (GTK_FRAME (playlist_frame), 0.05, 0.5);
1792
1793   playlist_clist = gtk_clist_new (2);
1794   gtk_widget_ref (playlist_clist);
1795   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_clist", playlist_clist,
1796                             (GtkDestroyNotify) gtk_widget_unref);
1797   gtk_widget_show (playlist_clist);
1798   gtk_container_add (GTK_CONTAINER (playlist_frame), playlist_clist);
1799   gtk_clist_set_column_width (GTK_CLIST (playlist_clist), 0, 287);
1800   gtk_clist_set_column_width (GTK_CLIST (playlist_clist), 1, 70);
1801   gtk_clist_column_titles_show (GTK_CLIST (playlist_clist));
1802
1803   playlist_label_url = gtk_label_new (_("Url"));
1804   gtk_widget_ref (playlist_label_url);
1805   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_label_url", playlist_label_url,
1806                             (GtkDestroyNotify) gtk_widget_unref);
1807   gtk_widget_show (playlist_label_url);
1808   gtk_clist_set_column_widget (GTK_CLIST (playlist_clist), 0, playlist_label_url);
1809
1810   playlist_label_duration = gtk_label_new (_("Duration"));
1811   gtk_widget_ref (playlist_label_duration);
1812   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_label_duration", playlist_label_duration,
1813                             (GtkDestroyNotify) gtk_widget_unref);
1814   gtk_widget_show (playlist_label_duration);
1815   gtk_clist_set_column_widget (GTK_CLIST (playlist_clist), 1, playlist_label_duration);
1816
1817   playlist_menubar = gtk_menu_bar_new ();
1818   gtk_widget_ref (playlist_menubar);
1819   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_menubar", playlist_menubar,
1820                             (GtkDestroyNotify) gtk_widget_unref);
1821   gtk_widget_show (playlist_menubar);
1822   gtk_box_pack_start (GTK_BOX (playlist_vbox), playlist_menubar, FALSE, FALSE, 0);
1823   gnome_app_fill_menu (GTK_MENU_SHELL (playlist_menubar), playlist_menubar_uiinfo,
1824                        NULL, FALSE, 0);
1825
1826   gtk_widget_ref (playlist_menubar_uiinfo[0].widget);
1827   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add",
1828                             playlist_menubar_uiinfo[0].widget,
1829                             (GtkDestroyNotify) gtk_widget_unref);
1830
1831   gtk_widget_ref (playlist_add_menu_uiinfo[0].widget);
1832   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_disc",
1833                             playlist_add_menu_uiinfo[0].widget,
1834                             (GtkDestroyNotify) gtk_widget_unref);
1835
1836   gtk_widget_ref (playlist_add_menu_uiinfo[1].widget);
1837   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_file",
1838                             playlist_add_menu_uiinfo[1].widget,
1839                             (GtkDestroyNotify) gtk_widget_unref);
1840
1841   gtk_widget_ref (playlist_add_menu_uiinfo[2].widget);
1842   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_network",
1843                             playlist_add_menu_uiinfo[2].widget,
1844                             (GtkDestroyNotify) gtk_widget_unref);
1845
1846   gtk_widget_ref (playlist_add_menu_uiinfo[3].widget);
1847   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_url",
1848                             playlist_add_menu_uiinfo[3].widget,
1849                             (GtkDestroyNotify) gtk_widget_unref);
1850
1851   gtk_widget_ref (playlist_menubar_uiinfo[1].widget);
1852   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_delete",
1853                             playlist_menubar_uiinfo[1].widget,
1854                             (GtkDestroyNotify) gtk_widget_unref);
1855
1856   gtk_widget_ref (playlist_delete_menu_uiinfo[0].widget);
1857   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_delete_all",
1858                             playlist_delete_menu_uiinfo[0].widget,
1859                             (GtkDestroyNotify) gtk_widget_unref);
1860
1861   gtk_widget_ref (playlist_delete_menu_uiinfo[1].widget);
1862   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_delete_item",
1863                             playlist_delete_menu_uiinfo[1].widget,
1864                             (GtkDestroyNotify) gtk_widget_unref);
1865
1866   gtk_widget_ref (playlist_menubar_uiinfo[2].widget);
1867   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection",
1868                             playlist_menubar_uiinfo[2].widget,
1869                             (GtkDestroyNotify) gtk_widget_unref);
1870
1871   gtk_widget_ref (playlist_selection_menu_uiinfo[0].widget);
1872   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection_crop",
1873                             playlist_selection_menu_uiinfo[0].widget,
1874                             (GtkDestroyNotify) gtk_widget_unref);
1875
1876   gtk_widget_ref (playlist_selection_menu_uiinfo[1].widget);
1877   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection_invert",
1878                             playlist_selection_menu_uiinfo[1].widget,
1879                             (GtkDestroyNotify) gtk_widget_unref);
1880
1881   gtk_widget_ref (playlist_selection_menu_uiinfo[2].widget);
1882   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection_select",
1883                             playlist_selection_menu_uiinfo[2].widget,
1884                             (GtkDestroyNotify) gtk_widget_unref);
1885
1886   playlist_action = GNOME_DIALOG (intf_playlist)->action_area;
1887   gtk_object_set_data (GTK_OBJECT (intf_playlist), "playlist_action", playlist_action);
1888   gtk_widget_show (playlist_action);
1889   gtk_button_box_set_layout (GTK_BUTTON_BOX (playlist_action), GTK_BUTTONBOX_END);
1890   gtk_button_box_set_spacing (GTK_BUTTON_BOX (playlist_action), 8);
1891   gtk_button_box_set_child_size (GTK_BUTTON_BOX (playlist_action), 100, 38);
1892
1893   gnome_dialog_append_button (GNOME_DIALOG (intf_playlist), GNOME_STOCK_BUTTON_OK);
1894   playlist_ok = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_playlist)->buttons)->data);
1895   gtk_widget_ref (playlist_ok);
1896   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_ok", playlist_ok,
1897                             (GtkDestroyNotify) gtk_widget_unref);
1898   gtk_widget_show (playlist_ok);
1899   GTK_WIDGET_SET_FLAGS (playlist_ok, GTK_CAN_DEFAULT);
1900
1901   gnome_dialog_append_button (GNOME_DIALOG (intf_playlist), GNOME_STOCK_BUTTON_CANCEL);
1902   playlist_cancel = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_playlist)->buttons)->data);
1903   gtk_widget_ref (playlist_cancel);
1904   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_cancel", playlist_cancel,
1905                             (GtkDestroyNotify) gtk_widget_unref);
1906   gtk_widget_show (playlist_cancel);
1907   GTK_WIDGET_SET_FLAGS (playlist_cancel, GTK_CAN_DEFAULT);
1908
1909   gtk_signal_connect (GTK_OBJECT (intf_playlist), "destroy",
1910                       GTK_SIGNAL_FUNC (gtk_widget_hide),
1911                       "intf_playlist");
1912   gtk_signal_connect (GTK_OBJECT (intf_playlist), "delete_event",
1913                       GTK_SIGNAL_FUNC (gtk_widget_hide),
1914                       "intf_playlist");
1915   gtk_signal_connect (GTK_OBJECT (playlist_clist), "event",
1916                       GTK_SIGNAL_FUNC (GtkPlaylistEvent),
1917                       "intf_playlist");
1918   gtk_signal_connect (GTK_OBJECT (playlist_clist), "drag_data_received",
1919                       GTK_SIGNAL_FUNC (GtkPlaylistDragData),
1920                       "intf_playlist");
1921   gtk_signal_connect (GTK_OBJECT (playlist_clist), "drag_motion",
1922                       GTK_SIGNAL_FUNC (GtkPlaylistDragMotion),
1923                       "intf_playlist");
1924   gtk_signal_connect (GTK_OBJECT (playlist_ok), "clicked",
1925                       GTK_SIGNAL_FUNC (GtkPlaylistOk),
1926                       "intf_playlist");
1927   gtk_signal_connect (GTK_OBJECT (playlist_cancel), "clicked",
1928                       GTK_SIGNAL_FUNC (GtkPlaylistCancel),
1929                       "intf_playlist");
1930
1931   return intf_playlist;
1932 }
1933
1934 GtkWidget*
1935 create_intf_jump (void)
1936 {
1937   GtkWidget *intf_jump;
1938   GtkWidget *jump_vbox;
1939   GtkWidget *jump_frame;
1940   GtkWidget *jump_box;
1941   GtkWidget *jump_label3;
1942   GtkObject *jump_second_spinbutton_adj;
1943   GtkWidget *jump_second_spinbutton;
1944   GtkWidget *jump_label1;
1945   GtkObject *jump_minute_spinbutton_adj;
1946   GtkWidget *jump_minute_spinbutton;
1947   GtkWidget *jump_label2;
1948   GtkObject *jump_hour_spinbutton_adj;
1949   GtkWidget *jump_hour_spinbutton;
1950   GtkWidget *jump_action;
1951   GtkWidget *jump_ok;
1952   GtkWidget *jump_cancel;
1953
1954   intf_jump = gnome_dialog_new (NULL, NULL);
1955   gtk_object_set_data (GTK_OBJECT (intf_jump), "intf_jump", intf_jump);
1956   gtk_window_set_policy (GTK_WINDOW (intf_jump), FALSE, FALSE, FALSE);
1957
1958   jump_vbox = GNOME_DIALOG (intf_jump)->vbox;
1959   gtk_object_set_data (GTK_OBJECT (intf_jump), "jump_vbox", jump_vbox);
1960   gtk_widget_show (jump_vbox);
1961
1962   jump_frame = gtk_frame_new (_("Jump to: "));
1963   gtk_widget_ref (jump_frame);
1964   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_frame", jump_frame,
1965                             (GtkDestroyNotify) gtk_widget_unref);
1966   gtk_widget_show (jump_frame);
1967   gtk_box_pack_start (GTK_BOX (jump_vbox), jump_frame, FALSE, FALSE, 0);
1968   gtk_container_set_border_width (GTK_CONTAINER (jump_frame), 5);
1969   gtk_frame_set_label_align (GTK_FRAME (jump_frame), 0.05, 0.5);
1970
1971   jump_box = gtk_hbox_new (FALSE, 0);
1972   gtk_widget_ref (jump_box);
1973   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_box", jump_box,
1974                             (GtkDestroyNotify) gtk_widget_unref);
1975   gtk_widget_show (jump_box);
1976   gtk_container_add (GTK_CONTAINER (jump_frame), jump_box);
1977   gtk_container_set_border_width (GTK_CONTAINER (jump_box), 5);
1978
1979   jump_label3 = gtk_label_new (_("s."));
1980   gtk_widget_ref (jump_label3);
1981   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_label3", jump_label3,
1982                             (GtkDestroyNotify) gtk_widget_unref);
1983   gtk_widget_show (jump_label3);
1984   gtk_box_pack_end (GTK_BOX (jump_box), jump_label3, FALSE, FALSE, 0);
1985
1986   jump_second_spinbutton_adj = gtk_adjustment_new (0, 0, 100, 1, 10, 10);
1987   jump_second_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (jump_second_spinbutton_adj), 1, 0);
1988   gtk_widget_ref (jump_second_spinbutton);
1989   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_second_spinbutton", jump_second_spinbutton,
1990                             (GtkDestroyNotify) gtk_widget_unref);
1991   gtk_widget_show (jump_second_spinbutton);
1992   gtk_box_pack_end (GTK_BOX (jump_box), jump_second_spinbutton, FALSE, FALSE, 5);
1993
1994   jump_label1 = gtk_label_new (_("m:"));
1995   gtk_widget_ref (jump_label1);
1996   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_label1", jump_label1,
1997                             (GtkDestroyNotify) gtk_widget_unref);
1998   gtk_widget_show (jump_label1);
1999   gtk_box_pack_end (GTK_BOX (jump_box), jump_label1, FALSE, FALSE, 5);
2000
2001   jump_minute_spinbutton_adj = gtk_adjustment_new (0, 0, 59, 1, 10, 10);
2002   jump_minute_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (jump_minute_spinbutton_adj), 1, 0);
2003   gtk_widget_ref (jump_minute_spinbutton);
2004   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_minute_spinbutton", jump_minute_spinbutton,
2005                             (GtkDestroyNotify) gtk_widget_unref);
2006   gtk_widget_show (jump_minute_spinbutton);
2007   gtk_box_pack_end (GTK_BOX (jump_box), jump_minute_spinbutton, FALSE, FALSE, 5);
2008
2009   jump_label2 = gtk_label_new (_("h:"));
2010   gtk_widget_ref (jump_label2);
2011   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_label2", jump_label2,
2012                             (GtkDestroyNotify) gtk_widget_unref);
2013   gtk_widget_show (jump_label2);
2014   gtk_box_pack_end (GTK_BOX (jump_box), jump_label2, FALSE, FALSE, 5);
2015
2016   jump_hour_spinbutton_adj = gtk_adjustment_new (0, 0, 10, 1, 10, 10);
2017   jump_hour_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (jump_hour_spinbutton_adj), 1, 0);
2018   gtk_widget_ref (jump_hour_spinbutton);
2019   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_hour_spinbutton", jump_hour_spinbutton,
2020                             (GtkDestroyNotify) gtk_widget_unref);
2021   gtk_widget_show (jump_hour_spinbutton);
2022   gtk_box_pack_end (GTK_BOX (jump_box), jump_hour_spinbutton, FALSE, FALSE, 5);
2023
2024   jump_action = GNOME_DIALOG (intf_jump)->action_area;
2025   gtk_object_set_data (GTK_OBJECT (intf_jump), "jump_action", jump_action);
2026   gtk_widget_show (jump_action);
2027   gtk_button_box_set_layout (GTK_BUTTON_BOX (jump_action), GTK_BUTTONBOX_END);
2028   gtk_button_box_set_spacing (GTK_BUTTON_BOX (jump_action), 8);
2029
2030   gnome_dialog_append_button (GNOME_DIALOG (intf_jump), GNOME_STOCK_BUTTON_OK);
2031   jump_ok = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_jump)->buttons)->data);
2032   gtk_widget_ref (jump_ok);
2033   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_ok", jump_ok,
2034                             (GtkDestroyNotify) gtk_widget_unref);
2035   gtk_widget_show (jump_ok);
2036   GTK_WIDGET_SET_FLAGS (jump_ok, GTK_CAN_DEFAULT);
2037
2038   gnome_dialog_append_button (GNOME_DIALOG (intf_jump), GNOME_STOCK_BUTTON_CANCEL);
2039   jump_cancel = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_jump)->buttons)->data);
2040   gtk_widget_ref (jump_cancel);
2041   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_cancel", jump_cancel,
2042                             (GtkDestroyNotify) gtk_widget_unref);
2043   gtk_widget_show (jump_cancel);
2044   GTK_WIDGET_SET_FLAGS (jump_cancel, GTK_CAN_DEFAULT);
2045
2046   gtk_signal_connect (GTK_OBJECT (jump_ok), "clicked",
2047                       GTK_SIGNAL_FUNC (GtkJumpOk),
2048                       "intf_jump");
2049   gtk_signal_connect (GTK_OBJECT (jump_cancel), "clicked",
2050                       GTK_SIGNAL_FUNC (GtkJumpCancel),
2051                       "intf_jump");
2052
2053   return intf_jump;
2054 }
2055
2056 GtkWidget*
2057 create_intf_preferences (void)
2058 {
2059   GtkWidget *intf_preferences;
2060   GtkWidget *preferences_vbox;
2061   GtkWidget *preferences_frame;
2062   GtkWidget *preferences_notebook;
2063   GtkWidget *preferences_file_table;
2064   GtkWidget *preferences_file_combo;
2065   GtkWidget *preferences_file_path_entry;
2066   GtkWidget *preferences_file_path_label;
2067   GtkWidget *preferences_file;
2068   GtkWidget *preferences_disc_table;
2069   GtkWidget *preferences_disc_dvd_combo;
2070   GtkWidget *preferences_disc_dvd_entry;
2071   GtkWidget *preferences_file_vcd_combo;
2072   GtkWidget *preferences_disc_vcd_entry;
2073   GtkWidget *preferences_disc_dvd_label;
2074   GtkWidget *preferences_disc_vcd_label;
2075   GtkWidget *preferences_disc;
2076   GtkWidget *preferences_network_table;
2077   GtkWidget *preferences_network_server_label;
2078   GtkObject *preferences_network_port_spinbutton_adj;
2079   GtkWidget *preferences_network_port_spinbutton;
2080   GtkWidget *preferences_network_broadcast_label;
2081   GtkWidget *preferences_network_port_label;
2082   GtkWidget *preferences_network_server_combo;
2083   GtkWidget *preferences_network_server_entry;
2084   GtkWidget *preferences_network_broadcast_combo;
2085   GtkWidget *preferences_network_broadcast_entry;
2086   GtkWidget *preferences_network_broadcast_checkbutton;
2087   GSList *preferences_network_protocol_group_group = NULL;
2088   GtkWidget *preferences_network_ts_radiobutton;
2089   GtkWidget *preferences_network_rtp_radiobutton;
2090   GtkWidget *preferences_network_http_radiobutton;
2091   GtkWidget *preferences_network_protocol_label;
2092   GtkWidget *preferences_network;
2093   GtkWidget *preferences_network_interface_table;
2094   GtkWidget *preferences_interface_label;
2095   GtkWidget *preferences_interface_combo;
2096   GtkWidget *preferences_interface_entry;
2097   GtkWidget *preferences_interface;
2098   GtkWidget *preferences_video_table;
2099   GtkWidget *preferences_video_output_label;
2100   GtkWidget *preferences_video_height;
2101   GtkObject *preferences_video_height_spinbutton_adj;
2102   GtkWidget *preferences_video_height_spinbutton;
2103   GtkObject *preferences_video_width_spinbutton_adj;
2104   GtkWidget *preferences_video_width_spinbutton;
2105   GtkWidget *preferences_video_width_label;
2106   GtkWidget *preferences_video_output_combo;
2107   GtkWidget *preferences_video_output_entry;
2108   GtkWidget *preferences_video_depth;
2109   GtkWidget *preferences_video_depth_optionmenu;
2110   GtkWidget *preferences_video_depth_optionmenu_menu;
2111   GtkWidget *glade_menuitem;
2112   GtkWidget *preferences_video_fullscreen_depth;
2113   GtkWidget *preferences_video_fullscreen_depth_optionmenu;
2114   GtkWidget *preferences_video_fullscreen_depth_optionmenu_menu;
2115   GtkWidget *preferences_video_fullscreen_checkbutton;
2116   GtkWidget *preferences_video_grayscale_checkbutton;
2117   GtkWidget *preferences_video_gamma_label;
2118   GtkObject *spinbutton4_adj;
2119   GtkWidget *spinbutton4;
2120   GtkWidget *preferences_video;
2121   GtkWidget *preference_audio_table;
2122   GtkWidget *preferences_audio_spdif_checkbutton;
2123   GtkWidget *preferences_audio_output_label;
2124   GtkWidget *preferences_audio_output_combo;
2125   GtkWidget *preferences_audio_output_entry;
2126   GtkWidget *preferences_audio_frequency_label;
2127   GtkWidget *preferences_audio_frequency_optionmenu;
2128   GtkWidget *preferences_audio_frequency_optionmenu_menu;
2129   GtkWidget *preferences_audio_quality_label;
2130   GtkWidget *preferences_audio_quality_optionmenu;
2131   GtkWidget *preferences_audio_quality_optionmenu_menu;
2132   GtkWidget *preferences_audio_channels_label;
2133   GtkWidget *preferences_audio_channels_optionmenu;
2134   GtkWidget *preferences_audio_channels_optionmenu_menu;
2135   GtkWidget *preferences_audio_device_label;
2136   GtkWidget *preferences_audio_device_combo;
2137   GtkWidget *preferences_audio_device_entry;
2138   GtkWidget *preferences_audio;
2139   GtkWidget *preference_playlist_table;
2140   GtkWidget *preferences_playlist_startup_checkbutton;
2141   GtkWidget *preferences_playlist_loop_checkbutton;
2142   GtkWidget *preferences_playlist_enqueue_checkbutton;
2143   GtkWidget *preferences_playlist;
2144   GtkWidget *preferences_misc_table;
2145   GtkWidget *preferences_misc_associated_files_frame;
2146   GtkWidget *preferences_misc_associated_table;
2147   GtkWidget *preferences_misc_ts_checkbutton;
2148   GtkWidget *preferences_misc_vob_checkbutton;
2149   GtkWidget *preferences_misc_mp2_checkbutton;
2150   GtkWidget *preferences_misc_mpeg_checkbutton;
2151   GtkWidget *preferences_misc_message_frame;
2152   GtkWidget *preferences_misc_message_table;
2153   GtkWidget *preferences_misc_messages_label;
2154   GtkObject *preferences_misc_messages_spinbutton_adj;
2155   GtkWidget *preferences_misc_messages_spinbutton;
2156   GtkWidget *preferences_misc;
2157   GtkWidget *preferences_dialog;
2158   GtkWidget *preferences_ok;
2159   GtkWidget *preferences_apply;
2160   GtkWidget *preferences_cancel;
2161
2162   intf_preferences = gnome_dialog_new (_("Preferences"), NULL);
2163   gtk_object_set_data (GTK_OBJECT (intf_preferences), "intf_preferences", intf_preferences);
2164   gtk_window_set_default_size (GTK_WINDOW (intf_preferences), 450, 350);
2165   gtk_window_set_policy (GTK_WINDOW (intf_preferences), TRUE, TRUE, FALSE);
2166
2167   preferences_vbox = GNOME_DIALOG (intf_preferences)->vbox;
2168   gtk_object_set_data (GTK_OBJECT (intf_preferences), "preferences_vbox", preferences_vbox);
2169   gtk_widget_show (preferences_vbox);
2170   gtk_container_set_border_width (GTK_CONTAINER (preferences_vbox), 5);
2171
2172   preferences_frame = gtk_frame_new (_("Preferences"));
2173   gtk_widget_ref (preferences_frame);
2174   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_frame", preferences_frame,
2175                             (GtkDestroyNotify) gtk_widget_unref);
2176   gtk_widget_show (preferences_frame);
2177   gtk_box_pack_start (GTK_BOX (preferences_vbox), preferences_frame, TRUE, TRUE, 0);
2178   gtk_frame_set_label_align (GTK_FRAME (preferences_frame), 0.05, 0.5);
2179
2180   preferences_notebook = gtk_notebook_new ();
2181   gtk_widget_ref (preferences_notebook);
2182   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_notebook", preferences_notebook,
2183                             (GtkDestroyNotify) gtk_widget_unref);
2184   gtk_widget_show (preferences_notebook);
2185   gtk_container_add (GTK_CONTAINER (preferences_frame), preferences_notebook);
2186
2187   preferences_file_table = gtk_table_new (1, 2, FALSE);
2188   gtk_widget_ref (preferences_file_table);
2189   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_file_table", preferences_file_table,
2190                             (GtkDestroyNotify) gtk_widget_unref);
2191   gtk_widget_show (preferences_file_table);
2192   gtk_container_add (GTK_CONTAINER (preferences_notebook), preferences_file_table);
2193   gtk_container_set_border_width (GTK_CONTAINER (preferences_file_table), 5);
2194   gtk_table_set_row_spacings (GTK_TABLE (preferences_file_table), 5);
2195   gtk_table_set_col_spacings (GTK_TABLE (preferences_file_table), 5);
2196
2197   preferences_file_combo = gnome_file_entry_new (NULL, NULL);
2198   gtk_widget_ref (preferences_file_combo);
2199   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_file_combo", preferences_file_combo,
2200                             (GtkDestroyNotify) gtk_widget_unref);
2201   gtk_widget_show (preferences_file_combo);
2202   gtk_table_attach (GTK_TABLE (preferences_file_table), preferences_file_combo, 1, 2, 0, 1,
2203                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2204                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2205
2206   preferences_file_path_entry = gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (preferences_file_combo));
2207   gtk_widget_ref (preferences_file_path_entry);
2208   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_file_path_entry", preferences_file_path_entry,
2209                             (GtkDestroyNotify) gtk_widget_unref);
2210   gtk_widget_show (preferences_file_path_entry);
2211
2212   preferences_file_path_label = gtk_label_new (_("Default path: "));
2213   gtk_widget_ref (preferences_file_path_label);
2214   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_file_path_label", preferences_file_path_label,
2215                             (GtkDestroyNotify) gtk_widget_unref);
2216   gtk_widget_show (preferences_file_path_label);
2217   gtk_table_attach (GTK_TABLE (preferences_file_table), preferences_file_path_label, 0, 1, 0, 1,
2218                     (GtkAttachOptions) (GTK_EXPAND),
2219                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2220   gtk_misc_set_alignment (GTK_MISC (preferences_file_path_label), 0, 0.5);
2221
2222   preferences_file = gtk_label_new (_("File"));
2223   gtk_widget_ref (preferences_file);
2224   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_file", preferences_file,
2225                             (GtkDestroyNotify) gtk_widget_unref);
2226   gtk_widget_show (preferences_file);
2227   gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 0), preferences_file);
2228
2229   preferences_disc_table = gtk_table_new (2, 2, FALSE);
2230   gtk_widget_ref (preferences_disc_table);
2231   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_disc_table", preferences_disc_table,
2232                             (GtkDestroyNotify) gtk_widget_unref);
2233   gtk_widget_show (preferences_disc_table);
2234   gtk_container_add (GTK_CONTAINER (preferences_notebook), preferences_disc_table);
2235   gtk_container_set_border_width (GTK_CONTAINER (preferences_disc_table), 5);
2236   gtk_table_set_row_spacings (GTK_TABLE (preferences_disc_table), 5);
2237   gtk_table_set_col_spacings (GTK_TABLE (preferences_disc_table), 5);
2238
2239   preferences_disc_dvd_combo = gnome_file_entry_new (NULL, NULL);
2240   gtk_widget_ref (preferences_disc_dvd_combo);
2241   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_disc_dvd_combo", preferences_disc_dvd_combo,
2242                             (GtkDestroyNotify) gtk_widget_unref);
2243   gtk_widget_show (preferences_disc_dvd_combo);
2244   gtk_table_attach (GTK_TABLE (preferences_disc_table), preferences_disc_dvd_combo, 1, 2, 0, 1,
2245                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2246                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2247
2248   preferences_disc_dvd_entry = gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (preferences_disc_dvd_combo));
2249   gtk_widget_ref (preferences_disc_dvd_entry);
2250   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_disc_dvd_entry", preferences_disc_dvd_entry,
2251                             (GtkDestroyNotify) gtk_widget_unref);
2252   gtk_widget_show (preferences_disc_dvd_entry);
2253
2254   preferences_file_vcd_combo = gnome_file_entry_new (NULL, NULL);
2255   gtk_widget_ref (preferences_file_vcd_combo);
2256   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_file_vcd_combo", preferences_file_vcd_combo,
2257                             (GtkDestroyNotify) gtk_widget_unref);
2258   gtk_widget_show (preferences_file_vcd_combo);
2259   gtk_table_attach (GTK_TABLE (preferences_disc_table), preferences_file_vcd_combo, 1, 2, 1, 2,
2260                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2261                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2262
2263   preferences_disc_vcd_entry = gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (preferences_file_vcd_combo));
2264   gtk_widget_ref (preferences_disc_vcd_entry);
2265   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_disc_vcd_entry", preferences_disc_vcd_entry,
2266                             (GtkDestroyNotify) gtk_widget_unref);
2267   gtk_widget_show (preferences_disc_vcd_entry);
2268
2269   preferences_disc_dvd_label = gtk_label_new (_("Default DVD path: "));
2270   gtk_widget_ref (preferences_disc_dvd_label);
2271   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_disc_dvd_label", preferences_disc_dvd_label,
2272                             (GtkDestroyNotify) gtk_widget_unref);
2273   gtk_widget_show (preferences_disc_dvd_label);
2274   gtk_table_attach (GTK_TABLE (preferences_disc_table), preferences_disc_dvd_label, 0, 1, 0, 1,
2275                     (GtkAttachOptions) (GTK_EXPAND),
2276                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2277   gtk_misc_set_alignment (GTK_MISC (preferences_disc_dvd_label), 0, 0.5);
2278
2279   preferences_disc_vcd_label = gtk_label_new (_("Default VCD path: "));
2280   gtk_widget_ref (preferences_disc_vcd_label);
2281   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_disc_vcd_label", preferences_disc_vcd_label,
2282                             (GtkDestroyNotify) gtk_widget_unref);
2283   gtk_widget_show (preferences_disc_vcd_label);
2284   gtk_table_attach (GTK_TABLE (preferences_disc_table), preferences_disc_vcd_label, 0, 1, 1, 2,
2285                     (GtkAttachOptions) (GTK_EXPAND),
2286                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2287   gtk_misc_set_alignment (GTK_MISC (preferences_disc_vcd_label), 0, 0.5);
2288
2289   preferences_disc = gtk_label_new (_("Disc"));
2290   gtk_widget_ref (preferences_disc);
2291   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_disc", preferences_disc,
2292                             (GtkDestroyNotify) gtk_widget_unref);
2293   gtk_widget_show (preferences_disc);
2294   gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 1), preferences_disc);
2295
2296   preferences_network_table = gtk_table_new (7, 2, FALSE);
2297   gtk_widget_ref (preferences_network_table);
2298   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_table", preferences_network_table,
2299                             (GtkDestroyNotify) gtk_widget_unref);
2300   gtk_widget_show (preferences_network_table);
2301   gtk_container_add (GTK_CONTAINER (preferences_notebook), preferences_network_table);
2302   gtk_container_set_border_width (GTK_CONTAINER (preferences_network_table), 5);
2303   gtk_table_set_row_spacings (GTK_TABLE (preferences_network_table), 5);
2304   gtk_table_set_col_spacings (GTK_TABLE (preferences_network_table), 5);
2305
2306   preferences_network_server_label = gtk_label_new (_("Default server: "));
2307   gtk_widget_ref (preferences_network_server_label);
2308   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_server_label", preferences_network_server_label,
2309                             (GtkDestroyNotify) gtk_widget_unref);
2310   gtk_widget_show (preferences_network_server_label);
2311   gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_server_label, 0, 1, 0, 1,
2312                     (GtkAttachOptions) (GTK_EXPAND),
2313                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2314   gtk_misc_set_alignment (GTK_MISC (preferences_network_server_label), 0, 0.5);
2315
2316   preferences_network_port_spinbutton_adj = gtk_adjustment_new (1234, 0, 65535, 1, 10, 10);
2317   preferences_network_port_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (preferences_network_port_spinbutton_adj), 1, 0);
2318   gtk_widget_ref (preferences_network_port_spinbutton);
2319   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_port_spinbutton", preferences_network_port_spinbutton,
2320                             (GtkDestroyNotify) gtk_widget_unref);
2321   gtk_widget_show (preferences_network_port_spinbutton);
2322   gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_port_spinbutton, 1, 2, 1, 2,
2323                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2324                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2325
2326   preferences_network_broadcast_label = gtk_label_new (_("Broadcast address: "));
2327   gtk_widget_ref (preferences_network_broadcast_label);
2328   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_broadcast_label", preferences_network_broadcast_label,
2329                             (GtkDestroyNotify) gtk_widget_unref);
2330   gtk_widget_show (preferences_network_broadcast_label);
2331   gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_broadcast_label, 0, 1, 2, 3,
2332                     (GtkAttachOptions) (GTK_EXPAND),
2333                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2334   gtk_misc_set_alignment (GTK_MISC (preferences_network_broadcast_label), 0, 0.5);
2335
2336   preferences_network_port_label = gtk_label_new (_("Default port: "));
2337   gtk_widget_ref (preferences_network_port_label);
2338   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_port_label", preferences_network_port_label,
2339                             (GtkDestroyNotify) gtk_widget_unref);
2340   gtk_widget_show (preferences_network_port_label);
2341   gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_port_label, 0, 1, 1, 2,
2342                     (GtkAttachOptions) (GTK_EXPAND),
2343                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2344   gtk_misc_set_alignment (GTK_MISC (preferences_network_port_label), 0, 0.5);
2345
2346   preferences_network_server_combo = gnome_entry_new (NULL);
2347   gtk_widget_ref (preferences_network_server_combo);
2348   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_server_combo", preferences_network_server_combo,
2349                             (GtkDestroyNotify) gtk_widget_unref);
2350   gtk_widget_show (preferences_network_server_combo);
2351   gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_server_combo, 1, 2, 0, 1,
2352                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2353                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2354
2355   preferences_network_server_entry = gnome_entry_gtk_entry (GNOME_ENTRY (preferences_network_server_combo));
2356   gtk_widget_ref (preferences_network_server_entry);
2357   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_server_entry", preferences_network_server_entry,
2358                             (GtkDestroyNotify) gtk_widget_unref);
2359   gtk_widget_show (preferences_network_server_entry);
2360   gtk_entry_set_text (GTK_ENTRY (preferences_network_server_entry), _("vls"));
2361
2362   preferences_network_broadcast_combo = gnome_entry_new (NULL);
2363   gtk_widget_ref (preferences_network_broadcast_combo);
2364   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_broadcast_combo", preferences_network_broadcast_combo,
2365                             (GtkDestroyNotify) gtk_widget_unref);
2366   gtk_widget_show (preferences_network_broadcast_combo);
2367   gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_broadcast_combo, 1, 2, 2, 3,
2368                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2369                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2370
2371   preferences_network_broadcast_entry = gnome_entry_gtk_entry (GNOME_ENTRY (preferences_network_broadcast_combo));
2372   gtk_widget_ref (preferences_network_broadcast_entry);
2373   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_broadcast_entry", preferences_network_broadcast_entry,
2374                             (GtkDestroyNotify) gtk_widget_unref);
2375   gtk_widget_show (preferences_network_broadcast_entry);
2376
2377   preferences_network_broadcast_checkbutton = gtk_check_button_new_with_label (_("Broadcast mode"));
2378   gtk_widget_ref (preferences_network_broadcast_checkbutton);
2379   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_broadcast_checkbutton", preferences_network_broadcast_checkbutton,
2380                             (GtkDestroyNotify) gtk_widget_unref);
2381   gtk_widget_show (preferences_network_broadcast_checkbutton);
2382   gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_broadcast_checkbutton, 0, 1, 3, 4,
2383                     (GtkAttachOptions) (GTK_EXPAND),
2384                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2385
2386   preferences_network_ts_radiobutton = gtk_radio_button_new_with_label (preferences_network_protocol_group_group, _("TS"));
2387   preferences_network_protocol_group_group = gtk_radio_button_group (GTK_RADIO_BUTTON (preferences_network_ts_radiobutton));
2388   gtk_widget_ref (preferences_network_ts_radiobutton);
2389   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_ts_radiobutton", preferences_network_ts_radiobutton,
2390                             (GtkDestroyNotify) gtk_widget_unref);
2391   gtk_widget_show (preferences_network_ts_radiobutton);
2392   gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_ts_radiobutton, 1, 2, 4, 5,
2393                     (GtkAttachOptions) (GTK_FILL),
2394                     (GtkAttachOptions) (GTK_SHRINK), 0, 0);
2395
2396   preferences_network_rtp_radiobutton = gtk_radio_button_new_with_label (preferences_network_protocol_group_group, _("RTP"));
2397   preferences_network_protocol_group_group = gtk_radio_button_group (GTK_RADIO_BUTTON (preferences_network_rtp_radiobutton));
2398   gtk_widget_ref (preferences_network_rtp_radiobutton);
2399   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_rtp_radiobutton", preferences_network_rtp_radiobutton,
2400                             (GtkDestroyNotify) gtk_widget_unref);
2401   gtk_widget_show (preferences_network_rtp_radiobutton);
2402   gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_rtp_radiobutton, 1, 2, 5, 6,
2403                     (GtkAttachOptions) (GTK_FILL),
2404                     (GtkAttachOptions) (GTK_SHRINK), 0, 0);
2405
2406   preferences_network_http_radiobutton = gtk_radio_button_new_with_label (preferences_network_protocol_group_group, _("HTTP"));
2407   preferences_network_protocol_group_group = gtk_radio_button_group (GTK_RADIO_BUTTON (preferences_network_http_radiobutton));
2408   gtk_widget_ref (preferences_network_http_radiobutton);
2409   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_http_radiobutton", preferences_network_http_radiobutton,
2410                             (GtkDestroyNotify) gtk_widget_unref);
2411   gtk_widget_show (preferences_network_http_radiobutton);
2412   gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_http_radiobutton, 1, 2, 6, 7,
2413                     (GtkAttachOptions) (GTK_FILL),
2414                     (GtkAttachOptions) (GTK_SHRINK), 0, 0);
2415
2416   preferences_network_protocol_label = gtk_label_new (_("Default protocol: "));
2417   gtk_widget_ref (preferences_network_protocol_label);
2418   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_protocol_label", preferences_network_protocol_label,
2419                             (GtkDestroyNotify) gtk_widget_unref);
2420   gtk_widget_show (preferences_network_protocol_label);
2421   gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_protocol_label, 0, 1, 4, 7,
2422                     (GtkAttachOptions) (GTK_EXPAND),
2423                     (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK), 0, 0);
2424   gtk_misc_set_alignment (GTK_MISC (preferences_network_protocol_label), 0, 0.5);
2425
2426   preferences_network = gtk_label_new (_("Network"));
2427   gtk_widget_ref (preferences_network);
2428   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network", preferences_network,
2429                             (GtkDestroyNotify) gtk_widget_unref);
2430   gtk_widget_show (preferences_network);
2431   gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 2), preferences_network);
2432
2433   preferences_network_interface_table = gtk_table_new (1, 2, FALSE);
2434   gtk_widget_ref (preferences_network_interface_table);
2435   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_interface_table", preferences_network_interface_table,
2436                             (GtkDestroyNotify) gtk_widget_unref);
2437   gtk_widget_show (preferences_network_interface_table);
2438   gtk_container_add (GTK_CONTAINER (preferences_notebook), preferences_network_interface_table);
2439   gtk_container_set_border_width (GTK_CONTAINER (preferences_network_interface_table), 5);
2440   gtk_table_set_row_spacings (GTK_TABLE (preferences_network_interface_table), 5);
2441   gtk_table_set_col_spacings (GTK_TABLE (preferences_network_interface_table), 5);
2442
2443   preferences_interface_label = gtk_label_new (_("Default interface: "));
2444   gtk_widget_ref (preferences_interface_label);
2445   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_interface_label", preferences_interface_label,
2446                             (GtkDestroyNotify) gtk_widget_unref);
2447   gtk_widget_show (preferences_interface_label);
2448   gtk_table_attach (GTK_TABLE (preferences_network_interface_table), preferences_interface_label, 0, 1, 0, 1,
2449                     (GtkAttachOptions) (GTK_EXPAND),
2450                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2451   gtk_misc_set_alignment (GTK_MISC (preferences_interface_label), 0, 0.5);
2452
2453   preferences_interface_combo = gnome_entry_new (NULL);
2454   gtk_widget_ref (preferences_interface_combo);
2455   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_interface_combo", preferences_interface_combo,
2456                             (GtkDestroyNotify) gtk_widget_unref);
2457   gtk_widget_show (preferences_interface_combo);
2458   gtk_table_attach (GTK_TABLE (preferences_network_interface_table), preferences_interface_combo, 1, 2, 0, 1,
2459                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2460                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2461
2462   preferences_interface_entry = gnome_entry_gtk_entry (GNOME_ENTRY (preferences_interface_combo));
2463   gtk_widget_ref (preferences_interface_entry);
2464   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_interface_entry", preferences_interface_entry,
2465                             (GtkDestroyNotify) gtk_widget_unref);
2466   gtk_widget_show (preferences_interface_entry);
2467
2468   preferences_interface = gtk_label_new (_("Interface"));
2469   gtk_widget_ref (preferences_interface);
2470   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_interface", preferences_interface,
2471                             (GtkDestroyNotify) gtk_widget_unref);
2472   gtk_widget_show (preferences_interface);
2473   gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 3), preferences_interface);
2474
2475   preferences_video_table = gtk_table_new (7, 2, FALSE);
2476   gtk_widget_ref (preferences_video_table);
2477   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_table", preferences_video_table,
2478                             (GtkDestroyNotify) gtk_widget_unref);
2479   gtk_widget_show (preferences_video_table);
2480   gtk_container_add (GTK_CONTAINER (preferences_notebook), preferences_video_table);
2481   gtk_container_set_border_width (GTK_CONTAINER (preferences_video_table), 5);
2482   gtk_table_set_row_spacings (GTK_TABLE (preferences_video_table), 5);
2483   gtk_table_set_col_spacings (GTK_TABLE (preferences_video_table), 5);
2484
2485   preferences_video_output_label = gtk_label_new (_("Default output: "));
2486   gtk_widget_ref (preferences_video_output_label);
2487   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_output_label", preferences_video_output_label,
2488                             (GtkDestroyNotify) gtk_widget_unref);
2489   gtk_widget_show (preferences_video_output_label);
2490   gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_output_label, 0, 1, 0, 1,
2491                     (GtkAttachOptions) (GTK_EXPAND),
2492                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2493   gtk_misc_set_alignment (GTK_MISC (preferences_video_output_label), 0, 0.5);
2494
2495   preferences_video_height = gtk_label_new (_("Default height: "));
2496   gtk_widget_ref (preferences_video_height);
2497   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_height", preferences_video_height,
2498                             (GtkDestroyNotify) gtk_widget_unref);
2499   gtk_widget_show (preferences_video_height);
2500   gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_height, 0, 1, 2, 3,
2501                     (GtkAttachOptions) (GTK_EXPAND),
2502                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2503   gtk_misc_set_alignment (GTK_MISC (preferences_video_height), 0, 0.5);
2504
2505   preferences_video_height_spinbutton_adj = gtk_adjustment_new (576, 0, 1600, 1, 10, 10);
2506   preferences_video_height_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (preferences_video_height_spinbutton_adj), 1, 0);
2507   gtk_widget_ref (preferences_video_height_spinbutton);
2508   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_height_spinbutton", preferences_video_height_spinbutton,
2509                             (GtkDestroyNotify) gtk_widget_unref);
2510   gtk_widget_show (preferences_video_height_spinbutton);
2511   gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_height_spinbutton, 1, 2, 2, 3,
2512                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2513                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2514
2515   preferences_video_width_spinbutton_adj = gtk_adjustment_new (720, 100, 1600, 1, 10, 10);
2516   preferences_video_width_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (preferences_video_width_spinbutton_adj), 1, 0);
2517   gtk_widget_ref (preferences_video_width_spinbutton);
2518   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_width_spinbutton", preferences_video_width_spinbutton,
2519                             (GtkDestroyNotify) gtk_widget_unref);
2520   gtk_widget_show (preferences_video_width_spinbutton);
2521   gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_width_spinbutton, 1, 2, 1, 2,
2522                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2523                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2524
2525   preferences_video_width_label = gtk_label_new (_("Default width: "));
2526   gtk_widget_ref (preferences_video_width_label);
2527   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_width_label", preferences_video_width_label,
2528                             (GtkDestroyNotify) gtk_widget_unref);
2529   gtk_widget_show (preferences_video_width_label);
2530   gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_width_label, 0, 1, 1, 2,
2531                     (GtkAttachOptions) (GTK_EXPAND),
2532                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2533   gtk_misc_set_alignment (GTK_MISC (preferences_video_width_label), 0, 0.5);
2534
2535   preferences_video_output_combo = gnome_entry_new (NULL);
2536   gtk_widget_ref (preferences_video_output_combo);
2537   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_output_combo", preferences_video_output_combo,
2538                             (GtkDestroyNotify) gtk_widget_unref);
2539   gtk_widget_show (preferences_video_output_combo);
2540   gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_output_combo, 1, 2, 0, 1,
2541                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2542                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2543
2544   preferences_video_output_entry = gnome_entry_gtk_entry (GNOME_ENTRY (preferences_video_output_combo));
2545   gtk_widget_ref (preferences_video_output_entry);
2546   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_output_entry", preferences_video_output_entry,
2547                             (GtkDestroyNotify) gtk_widget_unref);
2548   gtk_widget_show (preferences_video_output_entry);
2549
2550   preferences_video_depth = gtk_label_new (_("Default depth:"));
2551   gtk_widget_ref (preferences_video_depth);
2552   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_depth", preferences_video_depth,
2553                             (GtkDestroyNotify) gtk_widget_unref);
2554   gtk_widget_show (preferences_video_depth);
2555   gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_depth, 0, 1, 3, 4,
2556                     (GtkAttachOptions) (GTK_EXPAND),
2557                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2558   gtk_misc_set_alignment (GTK_MISC (preferences_video_depth), 0, 0.5);
2559
2560   preferences_video_depth_optionmenu = gtk_option_menu_new ();
2561   gtk_widget_ref (preferences_video_depth_optionmenu);
2562   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_depth_optionmenu", preferences_video_depth_optionmenu,
2563                             (GtkDestroyNotify) gtk_widget_unref);
2564   gtk_widget_show (preferences_video_depth_optionmenu);
2565   gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_depth_optionmenu, 1, 2, 3, 4,
2566                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2567                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2568   preferences_video_depth_optionmenu_menu = gtk_menu_new ();
2569   glade_menuitem = gtk_menu_item_new_with_label (_("15 bits"));
2570   gtk_widget_show (glade_menuitem);
2571   gtk_menu_append (GTK_MENU (preferences_video_depth_optionmenu_menu), glade_menuitem);
2572   glade_menuitem = gtk_menu_item_new_with_label (_("16 bits"));
2573   gtk_widget_show (glade_menuitem);
2574   gtk_menu_append (GTK_MENU (preferences_video_depth_optionmenu_menu), glade_menuitem);
2575   glade_menuitem = gtk_menu_item_new_with_label (_("32 bits"));
2576   gtk_widget_show (glade_menuitem);
2577   gtk_menu_append (GTK_MENU (preferences_video_depth_optionmenu_menu), glade_menuitem);
2578   gtk_option_menu_set_menu (GTK_OPTION_MENU (preferences_video_depth_optionmenu), preferences_video_depth_optionmenu_menu);
2579   gtk_option_menu_set_history (GTK_OPTION_MENU (preferences_video_depth_optionmenu), 1);
2580
2581   preferences_video_fullscreen_depth = gtk_label_new (_("Fullscreen depth:"));
2582   gtk_widget_ref (preferences_video_fullscreen_depth);
2583   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_fullscreen_depth", preferences_video_fullscreen_depth,
2584                             (GtkDestroyNotify) gtk_widget_unref);
2585   gtk_widget_show (preferences_video_fullscreen_depth);
2586   gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_fullscreen_depth, 0, 1, 4, 5,
2587                     (GtkAttachOptions) (GTK_EXPAND),
2588                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2589   gtk_misc_set_alignment (GTK_MISC (preferences_video_fullscreen_depth), 0, 0.5);
2590
2591   preferences_video_fullscreen_depth_optionmenu = gtk_option_menu_new ();
2592   gtk_widget_ref (preferences_video_fullscreen_depth_optionmenu);
2593   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_fullscreen_depth_optionmenu", preferences_video_fullscreen_depth_optionmenu,
2594                             (GtkDestroyNotify) gtk_widget_unref);
2595   gtk_widget_show (preferences_video_fullscreen_depth_optionmenu);
2596   gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_fullscreen_depth_optionmenu, 1, 2, 4, 5,
2597                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2598                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
2599   preferences_video_fullscreen_depth_optionmenu_menu = gtk_menu_new ();
2600   glade_menuitem = gtk_menu_item_new_with_label (_("15 bits"));
2601   gtk_widget_show (glade_menuitem);
2602   gtk_menu_append (GTK_MENU (preferences_video_fullscreen_depth_optionmenu_menu), glade_menuitem);
2603   glade_menuitem = gtk_menu_item_new_with_label (_("16 bits"));
2604   gtk_widget_show (glade_menuitem);
2605   gtk_menu_append (GTK_MENU (preferences_video_fullscreen_depth_optionmenu_menu), glade_menuitem);
2606   glade_menuitem = gtk_menu_item_new_with_label (_("32 bits"));
2607   gtk_widget_show (glade_menuitem);
2608   gtk_menu_append (GTK_MENU (preferences_video_fullscreen_depth_optionmenu_menu), glade_menuitem);
2609   gtk_option_menu_set_menu (GTK_OPTION_MENU (preferences_video_fullscreen_depth_optionmenu), preferences_video_fullscreen_depth_optionmenu_menu);
2610   gtk_option_menu_set_history (GTK_OPTION_MENU (preferences_video_fullscreen_depth_optionmenu), 2);
2611
2612   preferences_video_fullscreen_checkbutton = gtk_check_button_new_with_label (_("Fullscreen on play"));
2613   gtk_widget_ref (preferences_video_fullscreen_checkbutton);
2614   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_fullscreen_checkbutton", preferences_video_fullscreen_checkbutton,
2615                             (GtkDestroyNotify) gtk_widget_unref);
2616   gtk_widget_show (preferences_video_fullscreen_checkbutton);
2617   gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_fullscreen_checkbutton, 0, 1, 6, 7,
2618                     (GtkAttachOptions) (GTK_EXPAND),
2619                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2620
2621   preferences_video_grayscale_checkbutton = gtk_check_button_new_with_label (_("Grayscale"));
2622   gtk_widget_ref (preferences_video_grayscale_checkbutton);
2623   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_grayscale_checkbutton", preferences_video_grayscale_checkbutton,
2624                             (GtkDestroyNotify) gtk_widget_unref);
2625   gtk_widget_show (preferences_video_grayscale_checkbutton);
2626   gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_grayscale_checkbutton, 1, 2, 6, 7,
2627                     (GtkAttachOptions) (GTK_EXPAND),
2628                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2629
2630   preferences_video_gamma_label = gtk_label_new (_("Gamma:"));
2631   gtk_widget_ref (preferences_video_gamma_label);
2632   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_gamma_label", preferences_video_gamma_label,
2633                             (GtkDestroyNotify) gtk_widget_unref);
2634   gtk_widget_show (preferences_video_gamma_label);
2635   gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_gamma_label, 0, 1, 5, 6,
2636                     (GtkAttachOptions) (GTK_EXPAND),
2637                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2638   gtk_misc_set_alignment (GTK_MISC (preferences_video_gamma_label), 0, 0.5);
2639
2640   spinbutton4_adj = gtk_adjustment_new (0, 0, 5, 0.1, 10, 10);
2641   spinbutton4 = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton4_adj), 1, 1);
2642   gtk_widget_ref (spinbutton4);
2643   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "spinbutton4", spinbutton4,
2644                             (GtkDestroyNotify) gtk_widget_unref);
2645   gtk_widget_show (spinbutton4);
2646   gtk_table_attach (GTK_TABLE (preferences_video_table), spinbutton4, 1, 2, 5, 6,
2647                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2648                     (GtkAttachOptions) (0), 0, 0);
2649
2650   preferences_video = gtk_label_new (_("Video"));
2651   gtk_widget_ref (preferences_video);
2652   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video", preferences_video,
2653                             (GtkDestroyNotify) gtk_widget_unref);
2654   gtk_widget_show (preferences_video);
2655   gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 4), preferences_video);
2656
2657   preference_audio_table = gtk_table_new (6, 2, FALSE);
2658   gtk_widget_ref (preference_audio_table);
2659   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preference_audio_table", preference_audio_table,
2660                             (GtkDestroyNotify) gtk_widget_unref);
2661   gtk_widget_show (preference_audio_table);
2662   gtk_container_add (GTK_CONTAINER (preferences_notebook), preference_audio_table);
2663   gtk_container_set_border_width (GTK_CONTAINER (preference_audio_table), 5);
2664   gtk_table_set_row_spacings (GTK_TABLE (preference_audio_table), 5);
2665   gtk_table_set_col_spacings (GTK_TABLE (preference_audio_table), 5);
2666
2667   preferences_audio_spdif_checkbutton = gtk_check_button_new_with_label (_("Spdif output"));
2668   gtk_widget_ref (preferences_audio_spdif_checkbutton);
2669   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_spdif_checkbutton", preferences_audio_spdif_checkbutton,
2670                             (GtkDestroyNotify) gtk_widget_unref);
2671   gtk_widget_show (preferences_audio_spdif_checkbutton);
2672   gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_spdif_checkbutton, 0, 2, 5, 6,
2673                     (GtkAttachOptions) (GTK_EXPAND),
2674                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2675
2676   preferences_audio_output_label = gtk_label_new (_("Default output: "));
2677   gtk_widget_ref (preferences_audio_output_label);
2678   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_output_label", preferences_audio_output_label,
2679                             (GtkDestroyNotify) gtk_widget_unref);
2680   gtk_widget_show (preferences_audio_output_label);
2681   gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_output_label, 0, 1, 0, 1,
2682                     (GtkAttachOptions) (GTK_EXPAND),
2683                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2684   gtk_misc_set_alignment (GTK_MISC (preferences_audio_output_label), 0, 0.5);
2685
2686   preferences_audio_output_combo = gnome_entry_new (NULL);
2687   gtk_widget_ref (preferences_audio_output_combo);
2688   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_output_combo", preferences_audio_output_combo,
2689                             (GtkDestroyNotify) gtk_widget_unref);
2690   gtk_widget_show (preferences_audio_output_combo);
2691   gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_output_combo, 1, 2, 0, 1,
2692                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2693                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2694
2695   preferences_audio_output_entry = gnome_entry_gtk_entry (GNOME_ENTRY (preferences_audio_output_combo));
2696   gtk_widget_ref (preferences_audio_output_entry);
2697   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_output_entry", preferences_audio_output_entry,
2698                             (GtkDestroyNotify) gtk_widget_unref);
2699   gtk_widget_show (preferences_audio_output_entry);
2700
2701   preferences_audio_frequency_label = gtk_label_new (_("Frequency: "));
2702   gtk_widget_ref (preferences_audio_frequency_label);
2703   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_frequency_label", preferences_audio_frequency_label,
2704                             (GtkDestroyNotify) gtk_widget_unref);
2705   gtk_widget_show (preferences_audio_frequency_label);
2706   gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_frequency_label, 0, 1, 2, 3,
2707                     (GtkAttachOptions) (GTK_EXPAND),
2708                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2709   gtk_misc_set_alignment (GTK_MISC (preferences_audio_frequency_label), 0, 0.5);
2710
2711   preferences_audio_frequency_optionmenu = gtk_option_menu_new ();
2712   gtk_widget_ref (preferences_audio_frequency_optionmenu);
2713   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_frequency_optionmenu", preferences_audio_frequency_optionmenu,
2714                             (GtkDestroyNotify) gtk_widget_unref);
2715   gtk_widget_show (preferences_audio_frequency_optionmenu);
2716   gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_frequency_optionmenu, 1, 2, 2, 3,
2717                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2718                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2719   preferences_audio_frequency_optionmenu_menu = gtk_menu_new ();
2720   glade_menuitem = gtk_menu_item_new_with_label (_("48000 Hz"));
2721   gtk_widget_show (glade_menuitem);
2722   gtk_menu_append (GTK_MENU (preferences_audio_frequency_optionmenu_menu), glade_menuitem);
2723   glade_menuitem = gtk_menu_item_new_with_label (_("44100 Hz"));
2724   gtk_widget_show (glade_menuitem);
2725   gtk_menu_append (GTK_MENU (preferences_audio_frequency_optionmenu_menu), glade_menuitem);
2726   glade_menuitem = gtk_menu_item_new_with_label (_("32000 Hz"));
2727   gtk_widget_show (glade_menuitem);
2728   gtk_menu_append (GTK_MENU (preferences_audio_frequency_optionmenu_menu), glade_menuitem);
2729   glade_menuitem = gtk_menu_item_new_with_label (_("22050 Hz"));
2730   gtk_widget_show (glade_menuitem);
2731   gtk_menu_append (GTK_MENU (preferences_audio_frequency_optionmenu_menu), glade_menuitem);
2732   gtk_option_menu_set_menu (GTK_OPTION_MENU (preferences_audio_frequency_optionmenu), preferences_audio_frequency_optionmenu_menu);
2733
2734   preferences_audio_quality_label = gtk_label_new (_("Quality: "));
2735   gtk_widget_ref (preferences_audio_quality_label);
2736   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_quality_label", preferences_audio_quality_label,
2737                             (GtkDestroyNotify) gtk_widget_unref);
2738   gtk_widget_show (preferences_audio_quality_label);
2739   gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_quality_label, 0, 1, 3, 4,
2740                     (GtkAttachOptions) (GTK_EXPAND),
2741                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2742   gtk_misc_set_alignment (GTK_MISC (preferences_audio_quality_label), 0, 0.5);
2743
2744   preferences_audio_quality_optionmenu = gtk_option_menu_new ();
2745   gtk_widget_ref (preferences_audio_quality_optionmenu);
2746   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_quality_optionmenu", preferences_audio_quality_optionmenu,
2747                             (GtkDestroyNotify) gtk_widget_unref);
2748   gtk_widget_show (preferences_audio_quality_optionmenu);
2749   gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_quality_optionmenu, 1, 2, 3, 4,
2750                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2751                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2752   preferences_audio_quality_optionmenu_menu = gtk_menu_new ();
2753   glade_menuitem = gtk_menu_item_new_with_label (_("16 bits"));
2754   gtk_widget_show (glade_menuitem);
2755   gtk_menu_append (GTK_MENU (preferences_audio_quality_optionmenu_menu), glade_menuitem);
2756   glade_menuitem = gtk_menu_item_new_with_label (_("8 bits"));
2757   gtk_widget_show (glade_menuitem);
2758   gtk_menu_append (GTK_MENU (preferences_audio_quality_optionmenu_menu), glade_menuitem);
2759   gtk_option_menu_set_menu (GTK_OPTION_MENU (preferences_audio_quality_optionmenu), preferences_audio_quality_optionmenu_menu);
2760
2761   preferences_audio_channels_label = gtk_label_new (_("Channels: "));
2762   gtk_widget_ref (preferences_audio_channels_label);
2763   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_channels_label", preferences_audio_channels_label,
2764                             (GtkDestroyNotify) gtk_widget_unref);
2765   gtk_widget_show (preferences_audio_channels_label);
2766   gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_channels_label, 0, 1, 4, 5,
2767                     (GtkAttachOptions) (GTK_EXPAND),
2768                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2769   gtk_misc_set_alignment (GTK_MISC (preferences_audio_channels_label), 0, 0.5);
2770
2771   preferences_audio_channels_optionmenu = gtk_option_menu_new ();
2772   gtk_widget_ref (preferences_audio_channels_optionmenu);
2773   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_channels_optionmenu", preferences_audio_channels_optionmenu,
2774                             (GtkDestroyNotify) gtk_widget_unref);
2775   gtk_widget_show (preferences_audio_channels_optionmenu);
2776   gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_channels_optionmenu, 1, 2, 4, 5,
2777                     (GtkAttachOptions) (GTK_FILL),
2778                     (GtkAttachOptions) (0), 0, 0);
2779   preferences_audio_channels_optionmenu_menu = gtk_menu_new ();
2780   glade_menuitem = gtk_menu_item_new_with_label (_("Mono"));
2781   gtk_widget_show (glade_menuitem);
2782   gtk_menu_append (GTK_MENU (preferences_audio_channels_optionmenu_menu), glade_menuitem);
2783   glade_menuitem = gtk_menu_item_new_with_label (_("Stereo"));
2784   gtk_widget_show (glade_menuitem);
2785   gtk_menu_append (GTK_MENU (preferences_audio_channels_optionmenu_menu), glade_menuitem);
2786   gtk_option_menu_set_menu (GTK_OPTION_MENU (preferences_audio_channels_optionmenu), preferences_audio_channels_optionmenu_menu);
2787   gtk_option_menu_set_history (GTK_OPTION_MENU (preferences_audio_channels_optionmenu), 1);
2788
2789   preferences_audio_device_label = gtk_label_new (_("Default device:"));
2790   gtk_widget_ref (preferences_audio_device_label);
2791   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_device_label", preferences_audio_device_label,
2792                             (GtkDestroyNotify) gtk_widget_unref);
2793   gtk_widget_show (preferences_audio_device_label);
2794   gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_device_label, 0, 1, 1, 2,
2795                     (GtkAttachOptions) (GTK_EXPAND),
2796                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2797   gtk_misc_set_alignment (GTK_MISC (preferences_audio_device_label), 0, 0.5);
2798
2799   preferences_audio_device_combo = gnome_entry_new (NULL);
2800   gtk_widget_ref (preferences_audio_device_combo);
2801   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_device_combo", preferences_audio_device_combo,
2802                             (GtkDestroyNotify) gtk_widget_unref);
2803   gtk_widget_show (preferences_audio_device_combo);
2804   gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_device_combo, 1, 2, 1, 2,
2805                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2806                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2807
2808   preferences_audio_device_entry = gnome_entry_gtk_entry (GNOME_ENTRY (preferences_audio_device_combo));
2809   gtk_widget_ref (preferences_audio_device_entry);
2810   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_device_entry", preferences_audio_device_entry,
2811                             (GtkDestroyNotify) gtk_widget_unref);
2812   gtk_widget_show (preferences_audio_device_entry);
2813
2814   preferences_audio = gtk_label_new (_("Audio"));
2815   gtk_widget_ref (preferences_audio);
2816   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio", preferences_audio,
2817                             (GtkDestroyNotify) gtk_widget_unref);
2818   gtk_widget_show (preferences_audio);
2819   gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 5), preferences_audio);
2820
2821   preference_playlist_table = gtk_table_new (3, 1, FALSE);
2822   gtk_widget_ref (preference_playlist_table);
2823   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preference_playlist_table", preference_playlist_table,
2824                             (GtkDestroyNotify) gtk_widget_unref);
2825   gtk_widget_show (preference_playlist_table);
2826   gtk_container_add (GTK_CONTAINER (preferences_notebook), preference_playlist_table);
2827   gtk_container_set_border_width (GTK_CONTAINER (preference_playlist_table), 5);
2828   gtk_table_set_row_spacings (GTK_TABLE (preference_playlist_table), 5);
2829   gtk_table_set_col_spacings (GTK_TABLE (preference_playlist_table), 5);
2830
2831   preferences_playlist_startup_checkbutton = gtk_check_button_new_with_label (_("Launch on startup"));
2832   gtk_widget_ref (preferences_playlist_startup_checkbutton);
2833   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_playlist_startup_checkbutton", preferences_playlist_startup_checkbutton,
2834                             (GtkDestroyNotify) gtk_widget_unref);
2835   gtk_widget_show (preferences_playlist_startup_checkbutton);
2836   gtk_table_attach (GTK_TABLE (preference_playlist_table), preferences_playlist_startup_checkbutton, 0, 1, 0, 1,
2837                     (GtkAttachOptions) (GTK_EXPAND),
2838                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2839
2840   preferences_playlist_loop_checkbutton = gtk_check_button_new_with_label (_("Loop on playlist end"));
2841   gtk_widget_ref (preferences_playlist_loop_checkbutton);
2842   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_playlist_loop_checkbutton", preferences_playlist_loop_checkbutton,
2843                             (GtkDestroyNotify) gtk_widget_unref);
2844   gtk_widget_show (preferences_playlist_loop_checkbutton);
2845   gtk_table_attach (GTK_TABLE (preference_playlist_table), preferences_playlist_loop_checkbutton, 0, 1, 2, 3,
2846                     (GtkAttachOptions) (GTK_EXPAND),
2847                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2848
2849   preferences_playlist_enqueue_checkbutton = gtk_check_button_new_with_label (_("Enqueue as default"));
2850   gtk_widget_ref (preferences_playlist_enqueue_checkbutton);
2851   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_playlist_enqueue_checkbutton", preferences_playlist_enqueue_checkbutton,
2852                             (GtkDestroyNotify) gtk_widget_unref);
2853   gtk_widget_show (preferences_playlist_enqueue_checkbutton);
2854   gtk_table_attach (GTK_TABLE (preference_playlist_table), preferences_playlist_enqueue_checkbutton, 0, 1, 1, 2,
2855                     (GtkAttachOptions) (GTK_EXPAND),
2856                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2857
2858   preferences_playlist = gtk_label_new (_("Playlist"));
2859   gtk_widget_ref (preferences_playlist);
2860   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_playlist", preferences_playlist,
2861                             (GtkDestroyNotify) gtk_widget_unref);
2862   gtk_widget_show (preferences_playlist);
2863   gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 6), preferences_playlist);
2864
2865   preferences_misc_table = gtk_table_new (1, 2, FALSE);
2866   gtk_widget_ref (preferences_misc_table);
2867   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_table", preferences_misc_table,
2868                             (GtkDestroyNotify) gtk_widget_unref);
2869   gtk_widget_show (preferences_misc_table);
2870   gtk_container_add (GTK_CONTAINER (preferences_notebook), preferences_misc_table);
2871   gtk_container_set_border_width (GTK_CONTAINER (preferences_misc_table), 5);
2872   gtk_table_set_row_spacings (GTK_TABLE (preferences_misc_table), 5);
2873   gtk_table_set_col_spacings (GTK_TABLE (preferences_misc_table), 5);
2874
2875   preferences_misc_associated_files_frame = gtk_frame_new (_("Files associated with vlc"));
2876   gtk_widget_ref (preferences_misc_associated_files_frame);
2877   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_associated_files_frame", preferences_misc_associated_files_frame,
2878                             (GtkDestroyNotify) gtk_widget_unref);
2879   gtk_widget_show (preferences_misc_associated_files_frame);
2880   gtk_table_attach (GTK_TABLE (preferences_misc_table), preferences_misc_associated_files_frame, 0, 1, 0, 1,
2881                     (GtkAttachOptions) (GTK_EXPAND),
2882                     (GtkAttachOptions) (GTK_FILL), 0, 0);
2883   gtk_widget_set_sensitive (preferences_misc_associated_files_frame, FALSE);
2884   gtk_frame_set_label_align (GTK_FRAME (preferences_misc_associated_files_frame), 0.05, 0.5);
2885
2886   preferences_misc_associated_table = gtk_table_new (4, 1, FALSE);
2887   gtk_widget_ref (preferences_misc_associated_table);
2888   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_associated_table", preferences_misc_associated_table,
2889                             (GtkDestroyNotify) gtk_widget_unref);
2890   gtk_widget_show (preferences_misc_associated_table);
2891   gtk_container_add (GTK_CONTAINER (preferences_misc_associated_files_frame), preferences_misc_associated_table);
2892
2893   preferences_misc_ts_checkbutton = gtk_check_button_new_with_label (_("ts"));
2894   gtk_widget_ref (preferences_misc_ts_checkbutton);
2895   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_ts_checkbutton", preferences_misc_ts_checkbutton,
2896                             (GtkDestroyNotify) gtk_widget_unref);
2897   gtk_widget_show (preferences_misc_ts_checkbutton);
2898   gtk_table_attach (GTK_TABLE (preferences_misc_associated_table), preferences_misc_ts_checkbutton, 0, 1, 3, 4,
2899                     (GtkAttachOptions) (GTK_FILL),
2900                     (GtkAttachOptions) (0), 0, 0);
2901
2902   preferences_misc_vob_checkbutton = gtk_check_button_new_with_label (_("vob"));
2903   gtk_widget_ref (preferences_misc_vob_checkbutton);
2904   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_vob_checkbutton", preferences_misc_vob_checkbutton,
2905                             (GtkDestroyNotify) gtk_widget_unref);
2906   gtk_widget_show (preferences_misc_vob_checkbutton);
2907   gtk_table_attach (GTK_TABLE (preferences_misc_associated_table), preferences_misc_vob_checkbutton, 0, 1, 2, 3,
2908                     (GtkAttachOptions) (GTK_FILL),
2909                     (GtkAttachOptions) (0), 0, 0);
2910
2911   preferences_misc_mp2_checkbutton = gtk_check_button_new_with_label (_("mp2"));
2912   gtk_widget_ref (preferences_misc_mp2_checkbutton);
2913   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_mp2_checkbutton", preferences_misc_mp2_checkbutton,
2914                             (GtkDestroyNotify) gtk_widget_unref);
2915   gtk_widget_show (preferences_misc_mp2_checkbutton);
2916   gtk_table_attach (GTK_TABLE (preferences_misc_associated_table), preferences_misc_mp2_checkbutton, 0, 1, 1, 2,
2917                     (GtkAttachOptions) (GTK_FILL),
2918                     (GtkAttachOptions) (0), 0, 0);
2919
2920   preferences_misc_mpeg_checkbutton = gtk_check_button_new_with_label (_("mpeg"));
2921   gtk_widget_ref (preferences_misc_mpeg_checkbutton);
2922   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_mpeg_checkbutton", preferences_misc_mpeg_checkbutton,
2923                             (GtkDestroyNotify) gtk_widget_unref);
2924   gtk_widget_show (preferences_misc_mpeg_checkbutton);
2925   gtk_table_attach (GTK_TABLE (preferences_misc_associated_table), preferences_misc_mpeg_checkbutton, 0, 1, 0, 1,
2926                     (GtkAttachOptions) (GTK_FILL),
2927                     (GtkAttachOptions) (0), 0, 0);
2928
2929   preferences_misc_message_frame = gtk_frame_new (_("Messages"));
2930   gtk_widget_ref (preferences_misc_message_frame);
2931   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_message_frame", preferences_misc_message_frame,
2932                             (GtkDestroyNotify) gtk_widget_unref);
2933   gtk_widget_show (preferences_misc_message_frame);
2934   gtk_table_attach (GTK_TABLE (preferences_misc_table), preferences_misc_message_frame, 1, 2, 0, 1,
2935                     (GtkAttachOptions) (GTK_EXPAND),
2936                     (GtkAttachOptions) (GTK_FILL), 0, 0);
2937   gtk_frame_set_label_align (GTK_FRAME (preferences_misc_message_frame), 0.05, 0.5);
2938
2939   preferences_misc_message_table = gtk_table_new (1, 2, FALSE);
2940   gtk_widget_ref (preferences_misc_message_table);
2941   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_message_table", preferences_misc_message_table,
2942                             (GtkDestroyNotify) gtk_widget_unref);
2943   gtk_widget_show (preferences_misc_message_table);
2944   gtk_container_add (GTK_CONTAINER (preferences_misc_message_frame), preferences_misc_message_table);
2945
2946   preferences_misc_messages_label = gtk_label_new (_("Warning level: "));
2947   gtk_widget_ref (preferences_misc_messages_label);
2948   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_messages_label", preferences_misc_messages_label,
2949                             (GtkDestroyNotify) gtk_widget_unref);
2950   gtk_widget_show (preferences_misc_messages_label);
2951   gtk_table_attach (GTK_TABLE (preferences_misc_message_table), preferences_misc_messages_label, 0, 1, 0, 1,
2952                     (GtkAttachOptions) (GTK_FILL),
2953                     (GtkAttachOptions) (0), 0, 0);
2954
2955   preferences_misc_messages_spinbutton_adj = gtk_adjustment_new (0, 0, 100, 1, 10, 10);
2956   preferences_misc_messages_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (preferences_misc_messages_spinbutton_adj), 1, 0);
2957   gtk_widget_ref (preferences_misc_messages_spinbutton);
2958   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_messages_spinbutton", preferences_misc_messages_spinbutton,
2959                             (GtkDestroyNotify) gtk_widget_unref);
2960   gtk_widget_show (preferences_misc_messages_spinbutton);
2961   gtk_table_attach (GTK_TABLE (preferences_misc_message_table), preferences_misc_messages_spinbutton, 1, 2, 0, 1,
2962                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2963                     (GtkAttachOptions) (0), 0, 0);
2964
2965   preferences_misc = gtk_label_new (_("Misc"));
2966   gtk_widget_ref (preferences_misc);
2967   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc", preferences_misc,
2968                             (GtkDestroyNotify) gtk_widget_unref);
2969   gtk_widget_show (preferences_misc);
2970   gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 7), preferences_misc);
2971
2972   preferences_dialog = GNOME_DIALOG (intf_preferences)->action_area;
2973   gtk_object_set_data (GTK_OBJECT (intf_preferences), "preferences_dialog", preferences_dialog);
2974   gtk_widget_show (preferences_dialog);
2975   gtk_button_box_set_layout (GTK_BUTTON_BOX (preferences_dialog), GTK_BUTTONBOX_END);
2976   gtk_button_box_set_spacing (GTK_BUTTON_BOX (preferences_dialog), 8);
2977
2978   gnome_dialog_append_button (GNOME_DIALOG (intf_preferences), GNOME_STOCK_BUTTON_OK);
2979   preferences_ok = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_preferences)->buttons)->data);
2980   gtk_widget_ref (preferences_ok);
2981   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_ok", preferences_ok,
2982                             (GtkDestroyNotify) gtk_widget_unref);
2983   gtk_widget_show (preferences_ok);
2984   GTK_WIDGET_SET_FLAGS (preferences_ok, GTK_CAN_DEFAULT);
2985
2986   gnome_dialog_append_button (GNOME_DIALOG (intf_preferences), GNOME_STOCK_BUTTON_APPLY);
2987   preferences_apply = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_preferences)->buttons)->data);
2988   gtk_widget_ref (preferences_apply);
2989   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_apply", preferences_apply,
2990                             (GtkDestroyNotify) gtk_widget_unref);
2991   gtk_widget_show (preferences_apply);
2992   GTK_WIDGET_SET_FLAGS (preferences_apply, GTK_CAN_DEFAULT);
2993
2994   gnome_dialog_append_button (GNOME_DIALOG (intf_preferences), GNOME_STOCK_BUTTON_CANCEL);
2995   preferences_cancel = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_preferences)->buttons)->data);
2996   gtk_widget_ref (preferences_cancel);
2997   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_cancel", preferences_cancel,
2998                             (GtkDestroyNotify) gtk_widget_unref);
2999   gtk_widget_show (preferences_cancel);
3000   GTK_WIDGET_SET_FLAGS (preferences_cancel, GTK_CAN_DEFAULT);
3001
3002   gtk_signal_connect (GTK_OBJECT (preferences_ok), "clicked",
3003                       GTK_SIGNAL_FUNC (GtkPreferencesOk),
3004                       "intf_preferences");
3005   gtk_signal_connect (GTK_OBJECT (preferences_apply), "clicked",
3006                       GTK_SIGNAL_FUNC (GtkPreferencesApply),
3007                       "intf_preferences");
3008   gtk_signal_connect (GTK_OBJECT (preferences_cancel), "clicked",
3009                       GTK_SIGNAL_FUNC (GtkPreferencesCancel),
3010                       "intf_preferences");
3011
3012   return intf_preferences;
3013 }
3014
3015 GtkWidget*
3016 create_intf_open (void)
3017 {
3018   GtkWidget *intf_open;
3019   GtkWidget *dialog_vbox5;
3020   GtkWidget *tab_open;
3021   GtkWidget *vbox10;
3022   GtkWidget *hbox5;
3023   GtkWidget *frame6;
3024   GtkWidget *vbox11;
3025   GSList *vbox11_group = NULL;
3026   GtkWidget *radiobutton1;
3027   GtkWidget *radiobutton2;
3028   GtkWidget *frame7;
3029   GtkWidget *table3;
3030   GtkWidget *label24;
3031   GtkWidget *label25;
3032   GtkObject *spinbutton5_adj;
3033   GtkWidget *spinbutton5;
3034   GtkObject *spinbutton6_adj;
3035   GtkWidget *spinbutton6;
3036   GtkWidget *hbox6;
3037   GtkWidget *label29;
3038   GtkWidget *entry1;
3039   GtkWidget *tab_disc;
3040   GtkWidget *vbox12;
3041   GtkWidget *hbox7;
3042   GtkWidget *frame8;
3043   GtkWidget *vbox13;
3044   GSList *vbox13_group = NULL;
3045   GtkWidget *radiobutton3;
3046   GtkWidget *radiobutton4;
3047   GtkWidget *radiobutton5;
3048   GtkWidget *frame9;
3049   GtkWidget *vbox14;
3050   GtkWidget *table4;
3051   GtkWidget *label26;
3052   GtkWidget *label27;
3053   GtkWidget *combo1;
3054   GtkWidget *combo_entry1;
3055   GtkObject *spinbutton7_adj;
3056   GtkWidget *spinbutton7;
3057   GtkWidget *frame10;
3058   GtkWidget *hbox8;
3059   GtkWidget *checkbutton2;
3060   GtkWidget *combo3;
3061   GtkWidget *combo_entry3;
3062   GtkWidget *frame11;
3063   GtkWidget *hbox9;
3064   GtkWidget *checkbutton1;
3065   GtkWidget *combo2;
3066   GtkWidget *combo_entry2;
3067   GtkWidget *label28;
3068   GtkObject *spinbutton8_adj;
3069   GtkWidget *spinbutton8;
3070   GtkWidget *tab_network;
3071   GtkWidget *dialog_action_area5;
3072   GtkWidget *button1;
3073   GtkWidget *button3;
3074
3075   intf_open = gnome_dialog_new (_("Open Stream"), NULL);
3076   gtk_object_set_data (GTK_OBJECT (intf_open), "intf_open", intf_open);
3077   gtk_window_set_modal (GTK_WINDOW (intf_open), TRUE);
3078   gtk_window_set_policy (GTK_WINDOW (intf_open), FALSE, FALSE, FALSE);
3079
3080   dialog_vbox5 = GNOME_DIALOG (intf_open)->vbox;
3081   gtk_object_set_data (GTK_OBJECT (intf_open), "dialog_vbox5", dialog_vbox5);
3082   gtk_widget_show (dialog_vbox5);
3083
3084   tab_open = gtk_notebook_new ();
3085   gtk_widget_ref (tab_open);
3086   gtk_object_set_data_full (GTK_OBJECT (intf_open), "tab_open", tab_open,
3087                             (GtkDestroyNotify) gtk_widget_unref);
3088   gtk_widget_show (tab_open);
3089   gtk_box_pack_start (GTK_BOX (dialog_vbox5), tab_open, TRUE, TRUE, 0);
3090
3091   vbox10 = gtk_vbox_new (FALSE, 5);
3092   gtk_widget_ref (vbox10);
3093   gtk_object_set_data_full (GTK_OBJECT (intf_open), "vbox10", vbox10,
3094                             (GtkDestroyNotify) gtk_widget_unref);
3095   gtk_widget_show (vbox10);
3096   gtk_container_add (GTK_CONTAINER (tab_open), vbox10);
3097   gtk_container_set_border_width (GTK_CONTAINER (vbox10), 5);
3098
3099   hbox5 = gtk_hbox_new (FALSE, 5);
3100   gtk_widget_ref (hbox5);
3101   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox5", hbox5,
3102                             (GtkDestroyNotify) gtk_widget_unref);
3103   gtk_widget_show (hbox5);
3104   gtk_box_pack_start (GTK_BOX (vbox10), hbox5, TRUE, TRUE, 0);
3105
3106   frame6 = gtk_frame_new (_("Disc type"));
3107   gtk_widget_ref (frame6);
3108   gtk_object_set_data_full (GTK_OBJECT (intf_open), "frame6", frame6,
3109                             (GtkDestroyNotify) gtk_widget_unref);
3110   gtk_widget_show (frame6);
3111   gtk_box_pack_start (GTK_BOX (hbox5), frame6, TRUE, TRUE, 0);
3112
3113   vbox11 = gtk_vbox_new (FALSE, 0);
3114   gtk_widget_ref (vbox11);
3115   gtk_object_set_data_full (GTK_OBJECT (intf_open), "vbox11", vbox11,
3116                             (GtkDestroyNotify) gtk_widget_unref);
3117   gtk_widget_show (vbox11);
3118   gtk_container_add (GTK_CONTAINER (frame6), vbox11);
3119   gtk_container_set_border_width (GTK_CONTAINER (vbox11), 5);
3120
3121   radiobutton1 = gtk_radio_button_new_with_label (vbox11_group, _("DVD"));
3122   vbox11_group = gtk_radio_button_group (GTK_RADIO_BUTTON (radiobutton1));
3123   gtk_widget_ref (radiobutton1);
3124   gtk_object_set_data_full (GTK_OBJECT (intf_open), "radiobutton1", radiobutton1,
3125                             (GtkDestroyNotify) gtk_widget_unref);
3126   gtk_widget_show (radiobutton1);
3127   gtk_box_pack_start (GTK_BOX (vbox11), radiobutton1, FALSE, FALSE, 0);
3128
3129   radiobutton2 = gtk_radio_button_new_with_label (vbox11_group, _("VCD"));
3130   vbox11_group = gtk_radio_button_group (GTK_RADIO_BUTTON (radiobutton2));
3131   gtk_widget_ref (radiobutton2);
3132   gtk_object_set_data_full (GTK_OBJECT (intf_open), "radiobutton2", radiobutton2,
3133                             (GtkDestroyNotify) gtk_widget_unref);
3134   gtk_widget_show (radiobutton2);
3135   gtk_box_pack_start (GTK_BOX (vbox11), radiobutton2, FALSE, FALSE, 0);
3136
3137   frame7 = gtk_frame_new (_("Starting position"));
3138   gtk_widget_ref (frame7);
3139   gtk_object_set_data_full (GTK_OBJECT (intf_open), "frame7", frame7,
3140                             (GtkDestroyNotify) gtk_widget_unref);
3141   gtk_widget_show (frame7);
3142   gtk_box_pack_start (GTK_BOX (hbox5), frame7, TRUE, TRUE, 0);
3143
3144   table3 = gtk_table_new (2, 2, FALSE);
3145   gtk_widget_ref (table3);
3146   gtk_object_set_data_full (GTK_OBJECT (intf_open), "table3", table3,
3147                             (GtkDestroyNotify) gtk_widget_unref);
3148   gtk_widget_show (table3);
3149   gtk_container_add (GTK_CONTAINER (frame7), table3);
3150   gtk_container_set_border_width (GTK_CONTAINER (table3), 5);
3151   gtk_table_set_row_spacings (GTK_TABLE (table3), 5);
3152   gtk_table_set_col_spacings (GTK_TABLE (table3), 5);
3153
3154   label24 = gtk_label_new (_("Title"));
3155   gtk_widget_ref (label24);
3156   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label24", label24,
3157                             (GtkDestroyNotify) gtk_widget_unref);
3158   gtk_widget_show (label24);
3159   gtk_table_attach (GTK_TABLE (table3), label24, 0, 1, 0, 1,
3160                     (GtkAttachOptions) (GTK_FILL),
3161                     (GtkAttachOptions) (0), 0, 0);
3162   gtk_misc_set_alignment (GTK_MISC (label24), 0, 0.5);
3163
3164   label25 = gtk_label_new (_("Chapter"));
3165   gtk_widget_ref (label25);
3166   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label25", label25,
3167                             (GtkDestroyNotify) gtk_widget_unref);
3168   gtk_widget_show (label25);
3169   gtk_table_attach (GTK_TABLE (table3), label25, 0, 1, 1, 2,
3170                     (GtkAttachOptions) (GTK_FILL),
3171                     (GtkAttachOptions) (0), 0, 0);
3172   gtk_misc_set_alignment (GTK_MISC (label25), 0, 0.5);
3173
3174   spinbutton5_adj = gtk_adjustment_new (1, 0, 100, 1, 10, 10);
3175   spinbutton5 = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton5_adj), 1, 0);
3176   gtk_widget_ref (spinbutton5);
3177   gtk_object_set_data_full (GTK_OBJECT (intf_open), "spinbutton5", spinbutton5,
3178                             (GtkDestroyNotify) gtk_widget_unref);
3179   gtk_widget_show (spinbutton5);
3180   gtk_table_attach (GTK_TABLE (table3), spinbutton5, 1, 2, 0, 1,
3181                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
3182                     (GtkAttachOptions) (0), 0, 0);
3183
3184   spinbutton6_adj = gtk_adjustment_new (1, 0, 100, 1, 10, 10);
3185   spinbutton6 = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton6_adj), 1, 0);
3186   gtk_widget_ref (spinbutton6);
3187   gtk_object_set_data_full (GTK_OBJECT (intf_open), "spinbutton6", spinbutton6,
3188                             (GtkDestroyNotify) gtk_widget_unref);
3189   gtk_widget_show (spinbutton6);
3190   gtk_table_attach (GTK_TABLE (table3), spinbutton6, 1, 2, 1, 2,
3191                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
3192                     (GtkAttachOptions) (0), 0, 0);
3193
3194   hbox6 = gtk_hbox_new (FALSE, 5);
3195   gtk_widget_ref (hbox6);
3196   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox6", hbox6,
3197                             (GtkDestroyNotify) gtk_widget_unref);
3198   gtk_widget_show (hbox6);
3199   gtk_box_pack_start (GTK_BOX (vbox10), hbox6, TRUE, TRUE, 0);
3200
3201   label29 = gtk_label_new (_("Device name:"));
3202   gtk_widget_ref (label29);
3203   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label29", label29,
3204                             (GtkDestroyNotify) gtk_widget_unref);
3205   gtk_widget_show (label29);
3206   gtk_box_pack_start (GTK_BOX (hbox6), label29, FALSE, FALSE, 0);
3207
3208   entry1 = gtk_entry_new ();
3209   gtk_widget_ref (entry1);
3210   gtk_object_set_data_full (GTK_OBJECT (intf_open), "entry1", entry1,
3211                             (GtkDestroyNotify) gtk_widget_unref);
3212   gtk_widget_show (entry1);
3213   gtk_box_pack_start (GTK_BOX (hbox6), entry1, TRUE, TRUE, 0);
3214   gtk_entry_set_text (GTK_ENTRY (entry1), DVD_DEVICE);
3215
3216   tab_disc = gtk_label_new (_("Disc"));
3217   gtk_widget_ref (tab_disc);
3218   gtk_object_set_data_full (GTK_OBJECT (intf_open), "tab_disc", tab_disc,
3219                             (GtkDestroyNotify) gtk_widget_unref);
3220   gtk_widget_show (tab_disc);
3221   gtk_notebook_set_tab_label (GTK_NOTEBOOK (tab_open), gtk_notebook_get_nth_page (GTK_NOTEBOOK (tab_open), 0), tab_disc);
3222
3223   vbox12 = gtk_vbox_new (FALSE, 5);
3224   gtk_widget_ref (vbox12);
3225   gtk_object_set_data_full (GTK_OBJECT (intf_open), "vbox12", vbox12,
3226                             (GtkDestroyNotify) gtk_widget_unref);
3227   gtk_widget_show (vbox12);
3228   gtk_container_add (GTK_CONTAINER (tab_open), vbox12);
3229   gtk_container_set_border_width (GTK_CONTAINER (vbox12), 5);
3230
3231   hbox7 = gtk_hbox_new (FALSE, 5);
3232   gtk_widget_ref (hbox7);
3233   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox7", hbox7,
3234                             (GtkDestroyNotify) gtk_widget_unref);
3235   gtk_widget_show (hbox7);
3236   gtk_box_pack_start (GTK_BOX (vbox12), hbox7, TRUE, TRUE, 0);
3237
3238   frame8 = gtk_frame_new (_("Protocol"));
3239   gtk_widget_ref (frame8);
3240   gtk_object_set_data_full (GTK_OBJECT (intf_open), "frame8", frame8,
3241                             (GtkDestroyNotify) gtk_widget_unref);
3242   gtk_widget_show (frame8);
3243   gtk_box_pack_start (GTK_BOX (hbox7), frame8, TRUE, TRUE, 0);
3244
3245   vbox13 = gtk_vbox_new (FALSE, 0);
3246   gtk_widget_ref (vbox13);
3247   gtk_object_set_data_full (GTK_OBJECT (intf_open), "vbox13", vbox13,
3248                             (GtkDestroyNotify) gtk_widget_unref);
3249   gtk_widget_show (vbox13);
3250   gtk_container_add (GTK_CONTAINER (frame8), vbox13);
3251   gtk_container_set_border_width (GTK_CONTAINER (vbox13), 5);
3252
3253   radiobutton3 = gtk_radio_button_new_with_label (vbox13_group, _("UDP stream"));
3254   vbox13_group = gtk_radio_button_group (GTK_RADIO_BUTTON (radiobutton3));
3255   gtk_widget_ref (radiobutton3);
3256   gtk_object_set_data_full (GTK_OBJECT (intf_open), "radiobutton3", radiobutton3,
3257                             (GtkDestroyNotify) gtk_widget_unref);
3258   gtk_widget_show (radiobutton3);
3259   gtk_box_pack_start (GTK_BOX (vbox13), radiobutton3, FALSE, FALSE, 0);
3260
3261   radiobutton4 = gtk_radio_button_new_with_label (vbox13_group, _("HTTP"));
3262   vbox13_group = gtk_radio_button_group (GTK_RADIO_BUTTON (radiobutton4));
3263   gtk_widget_ref (radiobutton4);
3264   gtk_object_set_data_full (GTK_OBJECT (intf_open), "radiobutton4", radiobutton4,
3265                             (GtkDestroyNotify) gtk_widget_unref);
3266   gtk_widget_show (radiobutton4);
3267   gtk_box_pack_start (GTK_BOX (vbox13), radiobutton4, FALSE, FALSE, 0);
3268
3269   radiobutton5 = gtk_radio_button_new_with_label (vbox13_group, _("RTP"));
3270   vbox13_group = gtk_radio_button_group (GTK_RADIO_BUTTON (radiobutton5));
3271   gtk_widget_ref (radiobutton5);
3272   gtk_object_set_data_full (GTK_OBJECT (intf_open), "radiobutton5", radiobutton5,
3273                             (GtkDestroyNotify) gtk_widget_unref);
3274   gtk_widget_show (radiobutton5);
3275   gtk_box_pack_start (GTK_BOX (vbox13), radiobutton5, FALSE, FALSE, 0);
3276
3277   frame9 = gtk_frame_new (_("Server"));
3278   gtk_widget_ref (frame9);
3279   gtk_object_set_data_full (GTK_OBJECT (intf_open), "frame9", frame9,
3280                             (GtkDestroyNotify) gtk_widget_unref);
3281   gtk_widget_show (frame9);
3282   gtk_box_pack_start (GTK_BOX (hbox7), frame9, TRUE, TRUE, 0);
3283
3284   vbox14 = gtk_vbox_new (FALSE, 0);
3285   gtk_widget_ref (vbox14);
3286   gtk_object_set_data_full (GTK_OBJECT (intf_open), "vbox14", vbox14,
3287                             (GtkDestroyNotify) gtk_widget_unref);
3288   gtk_widget_show (vbox14);
3289   gtk_container_add (GTK_CONTAINER (frame9), vbox14);
3290
3291   table4 = gtk_table_new (2, 2, FALSE);
3292   gtk_widget_ref (table4);
3293   gtk_object_set_data_full (GTK_OBJECT (intf_open), "table4", table4,
3294                             (GtkDestroyNotify) gtk_widget_unref);
3295   gtk_widget_show (table4);
3296   gtk_box_pack_start (GTK_BOX (vbox14), table4, TRUE, TRUE, 0);
3297   gtk_container_set_border_width (GTK_CONTAINER (table4), 5);
3298   gtk_table_set_row_spacings (GTK_TABLE (table4), 5);
3299   gtk_table_set_col_spacings (GTK_TABLE (table4), 5);
3300
3301   label26 = gtk_label_new (_("Address"));
3302   gtk_widget_ref (label26);
3303   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label26", label26,
3304                             (GtkDestroyNotify) gtk_widget_unref);
3305   gtk_widget_show (label26);
3306   gtk_table_attach (GTK_TABLE (table4), label26, 0, 1, 0, 1,
3307                     (GtkAttachOptions) (GTK_FILL),
3308                     (GtkAttachOptions) (0), 0, 0);
3309   gtk_misc_set_alignment (GTK_MISC (label26), 0, 0.5);
3310
3311   label27 = gtk_label_new (_("Port"));
3312   gtk_widget_ref (label27);
3313   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label27", label27,
3314                             (GtkDestroyNotify) gtk_widget_unref);
3315   gtk_widget_show (label27);
3316   gtk_table_attach (GTK_TABLE (table4), label27, 0, 1, 1, 2,
3317                     (GtkAttachOptions) (GTK_FILL),
3318                     (GtkAttachOptions) (0), 0, 0);
3319   gtk_misc_set_alignment (GTK_MISC (label27), 0, 0.5);
3320
3321   combo1 = gtk_combo_new ();
3322   gtk_widget_ref (combo1);
3323   gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo1", combo1,
3324                             (GtkDestroyNotify) gtk_widget_unref);
3325   gtk_widget_show (combo1);
3326   gtk_table_attach (GTK_TABLE (table4), combo1, 1, 2, 0, 1,
3327                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
3328                     (GtkAttachOptions) (0), 0, 0);
3329
3330   combo_entry1 = GTK_COMBO (combo1)->entry;
3331   gtk_widget_ref (combo_entry1);
3332   gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo_entry1", combo_entry1,
3333                             (GtkDestroyNotify) gtk_widget_unref);
3334   gtk_widget_show (combo_entry1);
3335
3336   spinbutton7_adj = gtk_adjustment_new (0, 0, 100, 1, 10, 10);
3337   spinbutton7 = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton7_adj), 1, 0);
3338   gtk_widget_ref (spinbutton7);
3339   gtk_object_set_data_full (GTK_OBJECT (intf_open), "spinbutton7", spinbutton7,
3340                             (GtkDestroyNotify) gtk_widget_unref);
3341   gtk_widget_show (spinbutton7);
3342   gtk_table_attach (GTK_TABLE (table4), spinbutton7, 1, 2, 1, 2,
3343                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
3344                     (GtkAttachOptions) (0), 0, 0);
3345
3346   frame10 = gtk_frame_new (_("Broadcast"));
3347   gtk_widget_ref (frame10);
3348   gtk_object_set_data_full (GTK_OBJECT (intf_open), "frame10", frame10,
3349                             (GtkDestroyNotify) gtk_widget_unref);
3350   gtk_widget_show (frame10);
3351   gtk_box_pack_start (GTK_BOX (vbox12), frame10, TRUE, TRUE, 0);
3352
3353   hbox8 = gtk_hbox_new (FALSE, 5);
3354   gtk_widget_ref (hbox8);
3355   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox8", hbox8,
3356                             (GtkDestroyNotify) gtk_widget_unref);
3357   gtk_widget_show (hbox8);
3358   gtk_container_add (GTK_CONTAINER (frame10), hbox8);
3359   gtk_container_set_border_width (GTK_CONTAINER (hbox8), 5);
3360
3361   checkbutton2 = gtk_check_button_new_with_label (_("Broadcast"));
3362   gtk_widget_ref (checkbutton2);
3363   gtk_object_set_data_full (GTK_OBJECT (intf_open), "checkbutton2", checkbutton2,
3364                             (GtkDestroyNotify) gtk_widget_unref);
3365   gtk_widget_show (checkbutton2);
3366   gtk_box_pack_start (GTK_BOX (hbox8), checkbutton2, FALSE, FALSE, 0);
3367
3368   combo3 = gtk_combo_new ();
3369   gtk_widget_ref (combo3);
3370   gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo3", combo3,
3371                             (GtkDestroyNotify) gtk_widget_unref);
3372   gtk_widget_show (combo3);
3373   gtk_box_pack_start (GTK_BOX (hbox8), combo3, TRUE, TRUE, 0);
3374
3375   combo_entry3 = GTK_COMBO (combo3)->entry;
3376   gtk_widget_ref (combo_entry3);
3377   gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo_entry3", combo_entry3,
3378                             (GtkDestroyNotify) gtk_widget_unref);
3379   gtk_widget_show (combo_entry3);
3380
3381   frame11 = gtk_frame_new (_("Channels"));
3382   gtk_widget_ref (frame11);
3383   gtk_object_set_data_full (GTK_OBJECT (intf_open), "frame11", frame11,
3384                             (GtkDestroyNotify) gtk_widget_unref);
3385   gtk_widget_show (frame11);
3386   gtk_box_pack_start (GTK_BOX (vbox12), frame11, TRUE, TRUE, 0);
3387
3388   hbox9 = gtk_hbox_new (FALSE, 5);
3389   gtk_widget_ref (hbox9);
3390   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox9", hbox9,
3391                             (GtkDestroyNotify) gtk_widget_unref);
3392   gtk_widget_show (hbox9);
3393   gtk_container_add (GTK_CONTAINER (frame11), hbox9);
3394   gtk_container_set_border_width (GTK_CONTAINER (hbox9), 5);
3395
3396   checkbutton1 = gtk_check_button_new_with_label (_("Channel server"));
3397   gtk_widget_ref (checkbutton1);
3398   gtk_object_set_data_full (GTK_OBJECT (intf_open), "checkbutton1", checkbutton1,
3399                             (GtkDestroyNotify) gtk_widget_unref);
3400   gtk_widget_show (checkbutton1);
3401   gtk_box_pack_start (GTK_BOX (hbox9), checkbutton1, FALSE, FALSE, 0);
3402
3403   combo2 = gtk_combo_new ();
3404   gtk_widget_ref (combo2);
3405   gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo2", combo2,
3406                             (GtkDestroyNotify) gtk_widget_unref);
3407   gtk_widget_show (combo2);
3408   gtk_box_pack_start (GTK_BOX (hbox9), combo2, TRUE, TRUE, 0);
3409
3410   combo_entry2 = GTK_COMBO (combo2)->entry;
3411   gtk_widget_ref (combo_entry2);
3412   gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo_entry2", combo_entry2,
3413                             (GtkDestroyNotify) gtk_widget_unref);
3414   gtk_widget_show (combo_entry2);
3415
3416   label28 = gtk_label_new (_("Port"));
3417   gtk_widget_ref (label28);
3418   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label28", label28,
3419                             (GtkDestroyNotify) gtk_widget_unref);
3420   gtk_widget_show (label28);
3421   gtk_box_pack_start (GTK_BOX (hbox9), label28, FALSE, FALSE, 0);
3422
3423   spinbutton8_adj = gtk_adjustment_new (1, 0, 100, 1, 10, 10);
3424   spinbutton8 = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton8_adj), 1, 0);
3425   gtk_widget_ref (spinbutton8);
3426   gtk_object_set_data_full (GTK_OBJECT (intf_open), "spinbutton8", spinbutton8,
3427                             (GtkDestroyNotify) gtk_widget_unref);
3428   gtk_widget_show (spinbutton8);
3429   gtk_box_pack_start (GTK_BOX (hbox9), spinbutton8, TRUE, TRUE, 0);
3430
3431   tab_network = gtk_label_new (_("Network"));
3432   gtk_widget_ref (tab_network);
3433   gtk_object_set_data_full (GTK_OBJECT (intf_open), "tab_network", tab_network,
3434                             (GtkDestroyNotify) gtk_widget_unref);
3435   gtk_widget_show (tab_network);
3436   gtk_notebook_set_tab_label (GTK_NOTEBOOK (tab_open), gtk_notebook_get_nth_page (GTK_NOTEBOOK (tab_open), 1), tab_network);
3437
3438   dialog_action_area5 = GNOME_DIALOG (intf_open)->action_area;
3439   gtk_object_set_data (GTK_OBJECT (intf_open), "dialog_action_area5", dialog_action_area5);
3440   gtk_widget_show (dialog_action_area5);
3441   gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area5), GTK_BUTTONBOX_END);
3442   gtk_button_box_set_spacing (GTK_BUTTON_BOX (dialog_action_area5), 8);
3443
3444   gnome_dialog_append_button (GNOME_DIALOG (intf_open), GNOME_STOCK_BUTTON_OK);
3445   button1 = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_open)->buttons)->data);
3446   gtk_widget_ref (button1);
3447   gtk_object_set_data_full (GTK_OBJECT (intf_open), "button1", button1,
3448                             (GtkDestroyNotify) gtk_widget_unref);
3449   gtk_widget_show (button1);
3450   GTK_WIDGET_SET_FLAGS (button1, GTK_CAN_DEFAULT);
3451
3452   gnome_dialog_append_button (GNOME_DIALOG (intf_open), GNOME_STOCK_BUTTON_CANCEL);
3453   button3 = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_open)->buttons)->data);
3454   gtk_widget_ref (button3);
3455   gtk_object_set_data_full (GTK_OBJECT (intf_open), "button3", button3,
3456                             (GtkDestroyNotify) gtk_widget_unref);
3457   gtk_widget_show (button3);
3458   GTK_WIDGET_SET_FLAGS (button3, GTK_CAN_DEFAULT);
3459
3460   return intf_open;
3461 }
3462