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