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