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