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