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