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