]> git.sesse.net Git - vlc/blob - modules/gui/gtk/gtk_interface.c
2cbbc0f507c025195f092e05939d86ef3205954c
[vlc] / modules / gui / gtk / gtk_interface.c
1 /* This file was created automatically by glade and fixed by bootstrap.sh */
2
3 #include <vlc/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_close;
35   GtkWidget *menubar_exit;
36   GtkWidget *menubar_view;
37   GtkWidget *menubar_view_menu;
38   GtkAccelGroup *menubar_view_menu_accels;
39   GtkWidget *menubar_interface_hide;
40   GtkWidget *menubar_fullscreen;
41   GtkWidget *separator13;
42   GtkWidget *menubar_program;
43   GtkWidget *menubar_title;
44   GtkWidget *menubar_chapter;
45   GtkWidget *separator11;
46   GtkWidget *menubar_playlist;
47   GtkWidget *menubar_modules;
48   GtkWidget *menubar_messages;
49   GtkWidget *menubar_settings;
50   GtkWidget *menubar_settings_menu;
51   GtkAccelGroup *menubar_settings_menu_accels;
52   GtkWidget *menubar_audio;
53   GtkWidget *menubar_subpictures;
54   GtkWidget *separator8;
55   GtkWidget *menubar_preferences;
56   GtkWidget *menubar_help;
57   GtkWidget *menubar_help_menu;
58   GtkAccelGroup *menubar_help_menu_accels;
59   GtkWidget *menubar_about;
60   GtkWidget *toolbar_handlebox;
61   GtkWidget *toolbar;
62   GtkWidget *toolbar_open;
63   GtkWidget *toolbar_disc;
64   GtkWidget *toolbar_network;
65   GtkWidget *toolbar_sat;
66   GtkWidget *toolbar_back;
67   GtkWidget *toolbar_stop;
68   GtkWidget *toolbar_eject;
69   GtkWidget *toolbar_play;
70   GtkWidget *toolbar_pause;
71   GtkWidget *toolbar_slow;
72   GtkWidget *toolbar_fast;
73   GtkWidget *toolbar_playlist;
74   GtkWidget *toolbar_prev;
75   GtkWidget *toolbar_next;
76   GtkWidget *slider_frame;
77   GtkWidget *slider;
78   GtkWidget *file_box;
79   GtkWidget *label_status;
80   GtkWidget *dvd_box;
81   GtkWidget *dvd_label;
82   GtkWidget *title_box;
83   GtkWidget *title;
84   GtkWidget *title_label;
85   GtkWidget *title_prev_button;
86   GtkWidget *title_next_button;
87   GtkWidget *dvd_separator;
88   GtkWidget *chapter_box;
89   GtkWidget *chapter;
90   GtkWidget *chapter_label;
91   GtkWidget *chapter_prev_button;
92   GtkWidget *chapter_next_button;
93   GtkWidget *network_box;
94   GtkWidget *network_address_label;
95   GtkWidget *network_channel_box;
96   GtkWidget *channel_label;
97   GtkObject *network_channel_spinbutton_adj;
98   GtkWidget *network_channel_spinbutton;
99   GtkWidget *network_channel_go_button;
100   GtkWidget *intf_statusbar;
101   GtkAccelGroup *accel_group;
102   GtkTooltips *tooltips;
103
104   tooltips = gtk_tooltips_new ();
105
106   accel_group = gtk_accel_group_new ();
107
108   intf_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
109   gtk_object_set_data (GTK_OBJECT (intf_window), "intf_window", intf_window);
110   gtk_window_set_title (GTK_WINDOW (intf_window), _("VideoLAN Client"));
111   gtk_window_set_policy (GTK_WINDOW (intf_window), TRUE, TRUE, TRUE);
112
113   window_vbox = gtk_vbox_new (FALSE, 0);
114   gtk_widget_ref (window_vbox);
115   gtk_object_set_data_full (GTK_OBJECT (intf_window), "window_vbox", window_vbox,
116                             (GtkDestroyNotify) gtk_widget_unref);
117   gtk_widget_show (window_vbox);
118   gtk_container_add (GTK_CONTAINER (intf_window), window_vbox);
119
120   menubar_handlebox = gtk_handle_box_new ();
121   gtk_widget_ref (menubar_handlebox);
122   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_handlebox", menubar_handlebox,
123                             (GtkDestroyNotify) gtk_widget_unref);
124   gtk_widget_show (menubar_handlebox);
125   gtk_box_pack_start (GTK_BOX (window_vbox), menubar_handlebox, FALSE, TRUE, 0);
126
127   menubar = gtk_menu_bar_new ();
128   gtk_widget_ref (menubar);
129   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar", menubar,
130                             (GtkDestroyNotify) gtk_widget_unref);
131   gtk_widget_show (menubar);
132   gtk_container_add (GTK_CONTAINER (menubar_handlebox), menubar);
133
134   menubar_file = gtk_menu_item_new_with_label ("");
135   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_file)->child),
136                                    _("_File"));
137   gtk_widget_add_accelerator (menubar_file, "activate_item", accel_group,
138                               tmp_key, GDK_MOD1_MASK, (GtkAccelFlags) 0);
139   gtk_widget_ref (menubar_file);
140   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_file", menubar_file,
141                             (GtkDestroyNotify) gtk_widget_unref);
142   gtk_widget_show (menubar_file);
143   gtk_container_add (GTK_CONTAINER (menubar), menubar_file);
144
145   menubar_file_menu = gtk_menu_new ();
146   gtk_widget_ref (menubar_file_menu);
147   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_file_menu", menubar_file_menu,
148                             (GtkDestroyNotify) gtk_widget_unref);
149   gtk_menu_item_set_submenu (GTK_MENU_ITEM (menubar_file), menubar_file_menu);
150   menubar_file_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (menubar_file_menu));
151
152   menubar_open = gtk_menu_item_new_with_label ("");
153   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_open)->child),
154                                    _("_Open File..."));
155   gtk_widget_add_accelerator (menubar_open, "activate_item", menubar_file_menu_accels,
156                               tmp_key, 0, 0);
157   gtk_widget_ref (menubar_open);
158   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_open", menubar_open,
159                             (GtkDestroyNotify) gtk_widget_unref);
160   gtk_widget_show (menubar_open);
161   gtk_container_add (GTK_CONTAINER (menubar_file_menu), menubar_open);
162   gtk_tooltips_set_tip (tooltips, menubar_open, _("Open a File"), NULL);
163   gtk_widget_add_accelerator (menubar_open, "activate", accel_group,
164                               GDK_F3, 0,
165                               GTK_ACCEL_VISIBLE);
166
167   menubar_disc = gtk_menu_item_new_with_label ("");
168   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_disc)->child),
169                                    _("Open _Disc..."));
170   gtk_widget_add_accelerator (menubar_disc, "activate_item", menubar_file_menu_accels,
171                               tmp_key, 0, 0);
172   gtk_widget_ref (menubar_disc);
173   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_disc", menubar_disc,
174                             (GtkDestroyNotify) gtk_widget_unref);
175   gtk_widget_show (menubar_disc);
176   gtk_container_add (GTK_CONTAINER (menubar_file_menu), menubar_disc);
177   gtk_tooltips_set_tip (tooltips, menubar_disc, _("Open a DVD or VCD"), NULL);
178   gtk_widget_add_accelerator (menubar_disc, "activate", accel_group,
179                               GDK_F4, 0,
180                               GTK_ACCEL_VISIBLE);
181
182   menubar_network = gtk_menu_item_new_with_label ("");
183   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_network)->child),
184                                    _("_Network Stream..."));
185   gtk_widget_add_accelerator (menubar_network, "activate_item", menubar_file_menu_accels,
186                               tmp_key, 0, 0);
187   gtk_widget_ref (menubar_network);
188   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_network", menubar_network,
189                             (GtkDestroyNotify) gtk_widget_unref);
190   gtk_widget_show (menubar_network);
191   gtk_container_add (GTK_CONTAINER (menubar_file_menu), menubar_network);
192   gtk_tooltips_set_tip (tooltips, menubar_network, _("Select a Network Stream"), NULL);
193   gtk_widget_add_accelerator (menubar_network, "activate", accel_group,
194                               GDK_F5, 0,
195                               GTK_ACCEL_VISIBLE);
196
197   separator4 = gtk_menu_item_new ();
198   gtk_widget_ref (separator4);
199   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator4", separator4,
200                             (GtkDestroyNotify) gtk_widget_unref);
201   gtk_widget_show (separator4);
202   gtk_container_add (GTK_CONTAINER (menubar_file_menu), separator4);
203   gtk_widget_set_sensitive (separator4, FALSE);
204
205   menubar_eject = gtk_menu_item_new_with_label ("");
206   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_eject)->child),
207                                    _("_Eject Disc"));
208   gtk_widget_add_accelerator (menubar_eject, "activate_item", menubar_file_menu_accels,
209                               tmp_key, 0, 0);
210   gtk_widget_ref (menubar_eject);
211   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_eject", menubar_eject,
212                             (GtkDestroyNotify) gtk_widget_unref);
213   gtk_widget_show (menubar_eject);
214   gtk_container_add (GTK_CONTAINER (menubar_file_menu), menubar_eject);
215   gtk_tooltips_set_tip (tooltips, menubar_eject, _("Eject disc"), NULL);
216
217   separator14 = gtk_menu_item_new ();
218   gtk_widget_ref (separator14);
219   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator14", separator14,
220                             (GtkDestroyNotify) gtk_widget_unref);
221   gtk_widget_show (separator14);
222   gtk_container_add (GTK_CONTAINER (menubar_file_menu), separator14);
223   gtk_widget_set_sensitive (separator14, FALSE);
224
225   menubar_close = gtk_menu_item_new_with_label ("");
226   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_close)->child),
227                                    _("_Close"));
228   gtk_widget_add_accelerator (menubar_close, "activate_item", menubar_file_menu_accels,
229                               tmp_key, 0, 0);
230   gtk_widget_ref (menubar_close);
231   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_close", menubar_close,
232                             (GtkDestroyNotify) gtk_widget_unref);
233   gtk_widget_show (menubar_close);
234   gtk_container_add (GTK_CONTAINER (menubar_file_menu), menubar_close);
235   gtk_tooltips_set_tip (tooltips, menubar_close, _("Close the window"), NULL);
236   gtk_widget_add_accelerator (menubar_close, "activate", accel_group,
237                               GDK_W, GDK_CONTROL_MASK,
238                               GTK_ACCEL_VISIBLE);
239
240   menubar_exit = gtk_menu_item_new_with_label ("");
241   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_exit)->child),
242                                    _("E_xit"));
243   gtk_widget_add_accelerator (menubar_exit, "activate_item", menubar_file_menu_accels,
244                               tmp_key, 0, 0);
245   gtk_widget_ref (menubar_exit);
246   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_exit", menubar_exit,
247                             (GtkDestroyNotify) gtk_widget_unref);
248   gtk_widget_show (menubar_exit);
249   gtk_container_add (GTK_CONTAINER (menubar_file_menu), menubar_exit);
250   gtk_tooltips_set_tip (tooltips, menubar_exit, _("Exit the program"), NULL);
251   gtk_widget_add_accelerator (menubar_exit, "activate", accel_group,
252                               GDK_Q, GDK_CONTROL_MASK,
253                               GTK_ACCEL_VISIBLE);
254
255   menubar_view = gtk_menu_item_new_with_label ("");
256   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_view)->child),
257                                    _("_View"));
258   gtk_widget_add_accelerator (menubar_view, "activate_item", accel_group,
259                               tmp_key, GDK_MOD1_MASK, (GtkAccelFlags) 0);
260   gtk_widget_ref (menubar_view);
261   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_view", menubar_view,
262                             (GtkDestroyNotify) gtk_widget_unref);
263   gtk_widget_show (menubar_view);
264   gtk_container_add (GTK_CONTAINER (menubar), menubar_view);
265
266   menubar_view_menu = gtk_menu_new ();
267   gtk_widget_ref (menubar_view_menu);
268   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_view_menu", menubar_view_menu,
269                             (GtkDestroyNotify) gtk_widget_unref);
270   gtk_menu_item_set_submenu (GTK_MENU_ITEM (menubar_view), menubar_view_menu);
271   menubar_view_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (menubar_view_menu));
272
273   menubar_interface_hide = gtk_menu_item_new_with_label ("");
274   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_interface_hide)->child),
275                                    _("_Hide interface"));
276   gtk_widget_add_accelerator (menubar_interface_hide, "activate_item", menubar_view_menu_accels,
277                               tmp_key, 0, 0);
278   gtk_widget_ref (menubar_interface_hide);
279   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_interface_hide", menubar_interface_hide,
280                             (GtkDestroyNotify) gtk_widget_unref);
281   gtk_widget_show (menubar_interface_hide);
282   gtk_container_add (GTK_CONTAINER (menubar_view_menu), menubar_interface_hide);
283   gtk_tooltips_set_tip (tooltips, menubar_interface_hide, _("Hide the main interface window"), NULL);
284
285   menubar_fullscreen = gtk_menu_item_new_with_label ("");
286   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_fullscreen)->child),
287                                    _("_Fullscreen"));
288   gtk_widget_add_accelerator (menubar_fullscreen, "activate_item", menubar_view_menu_accels,
289                               tmp_key, 0, 0);
290   gtk_widget_ref (menubar_fullscreen);
291   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_fullscreen", menubar_fullscreen,
292                             (GtkDestroyNotify) gtk_widget_unref);
293   gtk_widget_show (menubar_fullscreen);
294   gtk_container_add (GTK_CONTAINER (menubar_view_menu), menubar_fullscreen);
295
296   separator13 = gtk_menu_item_new ();
297   gtk_widget_ref (separator13);
298   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator13", separator13,
299                             (GtkDestroyNotify) gtk_widget_unref);
300   gtk_widget_show (separator13);
301   gtk_container_add (GTK_CONTAINER (menubar_view_menu), separator13);
302   gtk_widget_set_sensitive (separator13, FALSE);
303
304   menubar_program = gtk_menu_item_new_with_label ("");
305   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_program)->child),
306                                    _("Progr_am"));
307   gtk_widget_add_accelerator (menubar_program, "activate_item", menubar_view_menu_accels,
308                               tmp_key, 0, 0);
309   gtk_widget_ref (menubar_program);
310   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_program", menubar_program,
311                             (GtkDestroyNotify) gtk_widget_unref);
312   gtk_widget_show (menubar_program);
313   gtk_container_add (GTK_CONTAINER (menubar_view_menu), menubar_program);
314   gtk_widget_set_sensitive (menubar_program, FALSE);
315   gtk_tooltips_set_tip (tooltips, menubar_program, _("Choose the program"), NULL);
316
317   menubar_title = gtk_menu_item_new_with_label ("");
318   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_title)->child),
319                                    _("_Title"));
320   gtk_widget_add_accelerator (menubar_title, "activate_item", menubar_view_menu_accels,
321                               tmp_key, 0, 0);
322   gtk_widget_ref (menubar_title);
323   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_title", menubar_title,
324                             (GtkDestroyNotify) gtk_widget_unref);
325   gtk_widget_show (menubar_title);
326   gtk_container_add (GTK_CONTAINER (menubar_view_menu), menubar_title);
327   gtk_widget_set_sensitive (menubar_title, FALSE);
328   gtk_tooltips_set_tip (tooltips, menubar_title, _("Navigate through the stream"), NULL);
329
330   menubar_chapter = gtk_menu_item_new_with_label ("");
331   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_chapter)->child),
332                                    _("_Chapter"));
333   gtk_widget_add_accelerator (menubar_chapter, "activate_item", menubar_view_menu_accels,
334                               tmp_key, 0, 0);
335   gtk_widget_ref (menubar_chapter);
336   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_chapter", menubar_chapter,
337                             (GtkDestroyNotify) gtk_widget_unref);
338   gtk_widget_show (menubar_chapter);
339   gtk_container_add (GTK_CONTAINER (menubar_view_menu), menubar_chapter);
340   gtk_widget_set_sensitive (menubar_chapter, FALSE);
341
342   separator11 = gtk_menu_item_new ();
343   gtk_widget_ref (separator11);
344   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator11", separator11,
345                             (GtkDestroyNotify) gtk_widget_unref);
346   gtk_widget_show (separator11);
347   gtk_container_add (GTK_CONTAINER (menubar_view_menu), separator11);
348   gtk_widget_set_sensitive (separator11, FALSE);
349
350   menubar_playlist = gtk_menu_item_new_with_label ("");
351   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_playlist)->child),
352                                    _("_Playlist..."));
353   gtk_widget_add_accelerator (menubar_playlist, "activate_item", menubar_view_menu_accels,
354                               tmp_key, 0, 0);
355   gtk_widget_ref (menubar_playlist);
356   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_playlist", menubar_playlist,
357                             (GtkDestroyNotify) gtk_widget_unref);
358   gtk_widget_show (menubar_playlist);
359   gtk_container_add (GTK_CONTAINER (menubar_view_menu), menubar_playlist);
360   gtk_tooltips_set_tip (tooltips, menubar_playlist, _("Open the playlist window"), NULL);
361
362   menubar_modules = gtk_menu_item_new_with_label ("");
363   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_modules)->child),
364                                    _("_Modules..."));
365   gtk_widget_add_accelerator (menubar_modules, "activate_item", menubar_view_menu_accels,
366                               tmp_key, 0, 0);
367   gtk_widget_ref (menubar_modules);
368   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_modules", menubar_modules,
369                             (GtkDestroyNotify) gtk_widget_unref);
370   gtk_widget_show (menubar_modules);
371   gtk_container_add (GTK_CONTAINER (menubar_view_menu), menubar_modules);
372   gtk_widget_set_sensitive (menubar_modules, FALSE);
373   gtk_tooltips_set_tip (tooltips, menubar_modules, _("Open the module manager"), NULL);
374
375   menubar_messages = gtk_menu_item_new_with_label (_("Messages..."));
376   gtk_widget_ref (menubar_messages);
377   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_messages", menubar_messages,
378                             (GtkDestroyNotify) gtk_widget_unref);
379   gtk_widget_show (menubar_messages);
380   gtk_container_add (GTK_CONTAINER (menubar_view_menu), menubar_messages);
381   gtk_tooltips_set_tip (tooltips, menubar_messages, _("Open the messages window"), NULL);
382
383   menubar_settings = gtk_menu_item_new_with_label ("");
384   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_settings)->child),
385                                    _("_Settings"));
386   gtk_widget_add_accelerator (menubar_settings, "activate_item", accel_group,
387                               tmp_key, GDK_MOD1_MASK, (GtkAccelFlags) 0);
388   gtk_widget_ref (menubar_settings);
389   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_settings", menubar_settings,
390                             (GtkDestroyNotify) gtk_widget_unref);
391   gtk_widget_show (menubar_settings);
392   gtk_container_add (GTK_CONTAINER (menubar), menubar_settings);
393
394   menubar_settings_menu = gtk_menu_new ();
395   gtk_widget_ref (menubar_settings_menu);
396   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_settings_menu", menubar_settings_menu,
397                             (GtkDestroyNotify) gtk_widget_unref);
398   gtk_menu_item_set_submenu (GTK_MENU_ITEM (menubar_settings), menubar_settings_menu);
399   menubar_settings_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (menubar_settings_menu));
400
401   menubar_audio = gtk_menu_item_new_with_label ("");
402   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_audio)->child),
403                                    _("A_udio"));
404   gtk_widget_add_accelerator (menubar_audio, "activate_item", menubar_settings_menu_accels,
405                               tmp_key, 0, 0);
406   gtk_widget_ref (menubar_audio);
407   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_audio", menubar_audio,
408                             (GtkDestroyNotify) gtk_widget_unref);
409   gtk_widget_show (menubar_audio);
410   gtk_container_add (GTK_CONTAINER (menubar_settings_menu), menubar_audio);
411   gtk_widget_set_sensitive (menubar_audio, FALSE);
412   gtk_tooltips_set_tip (tooltips, menubar_audio, _("Select audio channel"), NULL);
413
414   menubar_subpictures = gtk_menu_item_new_with_label ("");
415   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_subpictures)->child),
416                                    _("_Subtitles"));
417   gtk_widget_add_accelerator (menubar_subpictures, "activate_item", menubar_settings_menu_accels,
418                               tmp_key, 0, 0);
419   gtk_widget_ref (menubar_subpictures);
420   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_subpictures", menubar_subpictures,
421                             (GtkDestroyNotify) gtk_widget_unref);
422   gtk_widget_show (menubar_subpictures);
423   gtk_container_add (GTK_CONTAINER (menubar_settings_menu), menubar_subpictures);
424   gtk_widget_set_sensitive (menubar_subpictures, FALSE);
425   gtk_tooltips_set_tip (tooltips, menubar_subpictures, _("Select subtitles channel"), NULL);
426
427   separator8 = gtk_menu_item_new ();
428   gtk_widget_ref (separator8);
429   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator8", separator8,
430                             (GtkDestroyNotify) gtk_widget_unref);
431   gtk_widget_show (separator8);
432   gtk_container_add (GTK_CONTAINER (menubar_settings_menu), separator8);
433   gtk_widget_set_sensitive (separator8, FALSE);
434
435   menubar_preferences = gtk_menu_item_new_with_label ("");
436   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_preferences)->child),
437                                    _("_Preferences..."));
438   gtk_widget_add_accelerator (menubar_preferences, "activate_item", menubar_settings_menu_accels,
439                               tmp_key, 0, 0);
440   gtk_widget_ref (menubar_preferences);
441   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_preferences", menubar_preferences,
442                             (GtkDestroyNotify) gtk_widget_unref);
443   gtk_widget_show (menubar_preferences);
444   gtk_container_add (GTK_CONTAINER (menubar_settings_menu), menubar_preferences);
445   gtk_tooltips_set_tip (tooltips, menubar_preferences, _("Configure the application"), NULL);
446
447   menubar_help = gtk_menu_item_new_with_label ("");
448   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_help)->child),
449                                    _("_Help"));
450   gtk_widget_add_accelerator (menubar_help, "activate_item", accel_group,
451                               tmp_key, GDK_MOD1_MASK, (GtkAccelFlags) 0);
452   gtk_widget_ref (menubar_help);
453   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_help", menubar_help,
454                             (GtkDestroyNotify) gtk_widget_unref);
455   gtk_widget_show (menubar_help);
456   gtk_container_add (GTK_CONTAINER (menubar), menubar_help);
457
458   menubar_help_menu = gtk_menu_new ();
459   gtk_widget_ref (menubar_help_menu);
460   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_help_menu", menubar_help_menu,
461                             (GtkDestroyNotify) gtk_widget_unref);
462   gtk_menu_item_set_submenu (GTK_MENU_ITEM (menubar_help), menubar_help_menu);
463   menubar_help_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (menubar_help_menu));
464
465   menubar_about = gtk_menu_item_new_with_label ("");
466   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_about)->child),
467                                    _("_About..."));
468   gtk_widget_add_accelerator (menubar_about, "activate_item", menubar_help_menu_accels,
469                               tmp_key, 0, 0);
470   gtk_widget_ref (menubar_about);
471   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_about", menubar_about,
472                             (GtkDestroyNotify) gtk_widget_unref);
473   gtk_widget_show (menubar_about);
474   gtk_container_add (GTK_CONTAINER (menubar_help_menu), menubar_about);
475   gtk_tooltips_set_tip (tooltips, menubar_about, _("About this application"), NULL);
476
477   toolbar_handlebox = gtk_handle_box_new ();
478   gtk_widget_ref (toolbar_handlebox);
479   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_handlebox", toolbar_handlebox,
480                             (GtkDestroyNotify) gtk_widget_unref);
481   gtk_widget_show (toolbar_handlebox);
482   gtk_box_pack_start (GTK_BOX (window_vbox), toolbar_handlebox, FALSE, TRUE, 0);
483
484   toolbar = gtk_toolbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_BOTH);
485   gtk_widget_ref (toolbar);
486   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar", toolbar,
487                             (GtkDestroyNotify) gtk_widget_unref);
488   gtk_widget_show (toolbar);
489   gtk_container_add (GTK_CONTAINER (toolbar_handlebox), toolbar);
490   gtk_container_set_border_width (GTK_CONTAINER (toolbar), 1);
491   gtk_toolbar_set_space_size (GTK_TOOLBAR (toolbar), 16);
492   gtk_toolbar_set_space_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_SPACE_LINE);
493   gtk_toolbar_set_button_relief (GTK_TOOLBAR (toolbar), GTK_RELIEF_NONE);
494
495   toolbar_open = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
496                                 GTK_TOOLBAR_CHILD_BUTTON,
497                                 NULL,
498                                 _("File"),
499                                 _("Open a File"), NULL,
500                                 NULL, NULL, NULL);
501   gtk_widget_ref (toolbar_open);
502   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_open", toolbar_open,
503                             (GtkDestroyNotify) gtk_widget_unref);
504   gtk_widget_show (toolbar_open);
505
506   toolbar_disc = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
507                                 GTK_TOOLBAR_CHILD_BUTTON,
508                                 NULL,
509                                 _("Disc"),
510                                 _("Open a DVD or VCD"), NULL,
511                                 NULL, NULL, NULL);
512   gtk_widget_ref (toolbar_disc);
513   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_disc", toolbar_disc,
514                             (GtkDestroyNotify) gtk_widget_unref);
515   gtk_widget_show (toolbar_disc);
516
517   toolbar_network = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
518                                 GTK_TOOLBAR_CHILD_BUTTON,
519                                 NULL,
520                                 _("Net"),
521                                 _("Select a Network Stream"), NULL,
522                                 NULL, NULL, NULL);
523   gtk_widget_ref (toolbar_network);
524   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_network", toolbar_network,
525                             (GtkDestroyNotify) gtk_widget_unref);
526   gtk_widget_show (toolbar_network);
527
528   toolbar_sat = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
529                                 GTK_TOOLBAR_CHILD_BUTTON,
530                                 NULL,
531                                 _("Sat"),
532                                 _("Open a Satellite Card"), NULL,
533                                 NULL, NULL, NULL);
534   gtk_widget_ref (toolbar_sat);
535   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_sat", toolbar_sat,
536                             (GtkDestroyNotify) gtk_widget_unref);
537   gtk_widget_show (toolbar_sat);
538
539   gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
540
541   toolbar_back = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
542                                 GTK_TOOLBAR_CHILD_BUTTON,
543                                 NULL,
544                                 _("Back"),
545                                 _("Go Backward"), NULL,
546                                 NULL, NULL, NULL);
547   gtk_widget_ref (toolbar_back);
548   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_back", toolbar_back,
549                             (GtkDestroyNotify) gtk_widget_unref);
550   gtk_widget_show (toolbar_back);
551   gtk_widget_set_sensitive (toolbar_back, FALSE);
552
553   toolbar_stop = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
554                                 GTK_TOOLBAR_CHILD_BUTTON,
555                                 NULL,
556                                 _("Stop"),
557                                 _("Stop Stream"), NULL,
558                                 NULL, NULL, NULL);
559   gtk_widget_ref (toolbar_stop);
560   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_stop", toolbar_stop,
561                             (GtkDestroyNotify) gtk_widget_unref);
562   gtk_widget_show (toolbar_stop);
563
564   toolbar_eject = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
565                                 GTK_TOOLBAR_CHILD_BUTTON,
566                                 NULL,
567                                 _("Eject"),
568                                 NULL, NULL,
569                                 NULL, NULL, NULL);
570   gtk_widget_ref (toolbar_eject);
571   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_eject", toolbar_eject,
572                             (GtkDestroyNotify) gtk_widget_unref);
573   gtk_widget_show (toolbar_eject);
574
575   toolbar_play = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
576                                 GTK_TOOLBAR_CHILD_BUTTON,
577                                 NULL,
578                                 _("Play"),
579                                 _("Play Stream"), NULL,
580                                 NULL, NULL, NULL);
581   gtk_widget_ref (toolbar_play);
582   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_play", toolbar_play,
583                             (GtkDestroyNotify) gtk_widget_unref);
584   gtk_widget_show (toolbar_play);
585
586   toolbar_pause = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
587                                 GTK_TOOLBAR_CHILD_BUTTON,
588                                 NULL,
589                                 _("Pause"),
590                                 _("Pause Stream"), NULL,
591                                 NULL, NULL, NULL);
592   gtk_widget_ref (toolbar_pause);
593   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_pause", toolbar_pause,
594                             (GtkDestroyNotify) gtk_widget_unref);
595   gtk_widget_show (toolbar_pause);
596   gtk_widget_set_sensitive (toolbar_pause, FALSE);
597
598   gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
599
600   toolbar_slow = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
601                                 GTK_TOOLBAR_CHILD_BUTTON,
602                                 NULL,
603                                 _("Slow"),
604                                 _("Play Slower"), NULL,
605                                 NULL, NULL, NULL);
606   gtk_widget_ref (toolbar_slow);
607   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_slow", toolbar_slow,
608                             (GtkDestroyNotify) gtk_widget_unref);
609   gtk_widget_show (toolbar_slow);
610   gtk_widget_set_sensitive (toolbar_slow, FALSE);
611
612   toolbar_fast = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
613                                 GTK_TOOLBAR_CHILD_BUTTON,
614                                 NULL,
615                                 _("Fast"),
616                                 _("Play Faster"), NULL,
617                                 NULL, NULL, NULL);
618   gtk_widget_ref (toolbar_fast);
619   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_fast", toolbar_fast,
620                             (GtkDestroyNotify) gtk_widget_unref);
621   gtk_widget_show (toolbar_fast);
622   gtk_widget_set_sensitive (toolbar_fast, FALSE);
623
624   toolbar_playlist = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
625                                 GTK_TOOLBAR_CHILD_BUTTON,
626                                 NULL,
627                                 _("Playlist"),
628                                 _("Open Playlist"), NULL,
629                                 NULL, NULL, NULL);
630   gtk_widget_ref (toolbar_playlist);
631   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_playlist", toolbar_playlist,
632                             (GtkDestroyNotify) gtk_widget_unref);
633   gtk_widget_show (toolbar_playlist);
634
635   toolbar_prev = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
636                                 GTK_TOOLBAR_CHILD_BUTTON,
637                                 NULL,
638                                 _("Prev"),
639                                 _("Previous File"), NULL,
640                                 NULL, NULL, NULL);
641   gtk_widget_ref (toolbar_prev);
642   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_prev", toolbar_prev,
643                             (GtkDestroyNotify) gtk_widget_unref);
644   gtk_widget_show (toolbar_prev);
645
646   toolbar_next = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
647                                 GTK_TOOLBAR_CHILD_BUTTON,
648                                 NULL,
649                                 _("Next"),
650                                 _("Next File"), NULL,
651                                 NULL, NULL, NULL);
652   gtk_widget_ref (toolbar_next);
653   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_next", toolbar_next,
654                             (GtkDestroyNotify) gtk_widget_unref);
655   gtk_widget_show (toolbar_next);
656
657   slider_frame = gtk_frame_new ("-:--:--");
658   gtk_widget_ref (slider_frame);
659   gtk_object_set_data_full (GTK_OBJECT (intf_window), "slider_frame", slider_frame,
660                             (GtkDestroyNotify) gtk_widget_unref);
661   gtk_box_pack_start (GTK_BOX (window_vbox), slider_frame, TRUE, TRUE, 0);
662   gtk_frame_set_label_align (GTK_FRAME (slider_frame), 0.05, 0.5);
663
664   slider = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 100, 1, 6.25, 0)));
665   gtk_widget_ref (slider);
666   gtk_object_set_data_full (GTK_OBJECT (intf_window), "slider", slider,
667                             (GtkDestroyNotify) gtk_widget_unref);
668   gtk_widget_show (slider);
669   gtk_container_add (GTK_CONTAINER (slider_frame), slider);
670   gtk_widget_set_usize (slider, 500, 15);
671   gtk_scale_set_draw_value (GTK_SCALE (slider), FALSE);
672   gtk_scale_set_digits (GTK_SCALE (slider), 3);
673
674   file_box = gtk_hbox_new (FALSE, 0);
675   gtk_widget_ref (file_box);
676   gtk_object_set_data_full (GTK_OBJECT (intf_window), "file_box", file_box,
677                             (GtkDestroyNotify) gtk_widget_unref);
678   gtk_widget_show (file_box);
679   gtk_box_pack_start (GTK_BOX (window_vbox), file_box, TRUE, TRUE, 0);
680   gtk_widget_set_usize (file_box, 500, 24);
681
682   label_status = gtk_label_new ("");
683   gtk_widget_ref (label_status);
684   gtk_object_set_data_full (GTK_OBJECT (intf_window), "label_status", label_status,
685                             (GtkDestroyNotify) gtk_widget_unref);
686   gtk_widget_show (label_status);
687   gtk_box_pack_start (GTK_BOX (file_box), label_status, TRUE, TRUE, 0);
688
689   dvd_box = gtk_hbox_new (FALSE, 0);
690   gtk_widget_ref (dvd_box);
691   gtk_object_set_data_full (GTK_OBJECT (intf_window), "dvd_box", dvd_box,
692                             (GtkDestroyNotify) gtk_widget_unref);
693   gtk_box_pack_start (GTK_BOX (window_vbox), dvd_box, TRUE, TRUE, 0);
694   gtk_widget_set_usize (dvd_box, 500, 24);
695
696   dvd_label = gtk_label_new (_("Disc"));
697   gtk_widget_ref (dvd_label);
698   gtk_object_set_data_full (GTK_OBJECT (intf_window), "dvd_label", dvd_label,
699                             (GtkDestroyNotify) gtk_widget_unref);
700   gtk_widget_show (dvd_label);
701   gtk_box_pack_start (GTK_BOX (dvd_box), dvd_label, TRUE, FALSE, 0);
702
703   title_box = gtk_hbox_new (FALSE, 0);
704   gtk_widget_ref (title_box);
705   gtk_object_set_data_full (GTK_OBJECT (intf_window), "title_box", title_box,
706                             (GtkDestroyNotify) gtk_widget_unref);
707   gtk_widget_show (title_box);
708   gtk_box_pack_start (GTK_BOX (dvd_box), title_box, TRUE, TRUE, 0);
709
710   title = gtk_label_new (_("Title:"));
711   gtk_widget_ref (title);
712   gtk_object_set_data_full (GTK_OBJECT (intf_window), "title", title,
713                             (GtkDestroyNotify) gtk_widget_unref);
714   gtk_widget_show (title);
715   gtk_box_pack_start (GTK_BOX (title_box), title, FALSE, FALSE, 5);
716
717   title_label = gtk_label_new ("--");
718   gtk_widget_ref (title_label);
719   gtk_object_set_data_full (GTK_OBJECT (intf_window), "title_label", title_label,
720                             (GtkDestroyNotify) gtk_widget_unref);
721   gtk_widget_show (title_label);
722   gtk_box_pack_start (GTK_BOX (title_box), title_label, FALSE, FALSE, 5);
723
724   title_prev_button = gtk_button_new_with_label (_("Prev"));
725   gtk_widget_ref (title_prev_button);
726   gtk_object_set_data_full (GTK_OBJECT (intf_window), "title_prev_button", title_prev_button,
727                             (GtkDestroyNotify) gtk_widget_unref);
728   gtk_widget_show (title_prev_button);
729   gtk_box_pack_start (GTK_BOX (title_box), title_prev_button, FALSE, FALSE, 5);
730   gtk_button_set_relief (GTK_BUTTON (title_prev_button), GTK_RELIEF_NONE);
731
732   title_next_button = gtk_button_new_with_label (_("Next"));
733   gtk_widget_ref (title_next_button);
734   gtk_object_set_data_full (GTK_OBJECT (intf_window), "title_next_button", title_next_button,
735                             (GtkDestroyNotify) gtk_widget_unref);
736   gtk_widget_show (title_next_button);
737   gtk_box_pack_start (GTK_BOX (title_box), title_next_button, FALSE, FALSE, 5);
738   gtk_button_set_relief (GTK_BUTTON (title_next_button), GTK_RELIEF_NONE);
739
740   dvd_separator = gtk_vseparator_new ();
741   gtk_widget_ref (dvd_separator);
742   gtk_object_set_data_full (GTK_OBJECT (intf_window), "dvd_separator", dvd_separator,
743                             (GtkDestroyNotify) gtk_widget_unref);
744   gtk_widget_show (dvd_separator);
745   gtk_box_pack_start (GTK_BOX (dvd_box), dvd_separator, TRUE, TRUE, 0);
746
747   chapter_box = gtk_hbox_new (FALSE, 0);
748   gtk_widget_ref (chapter_box);
749   gtk_object_set_data_full (GTK_OBJECT (intf_window), "chapter_box", chapter_box,
750                             (GtkDestroyNotify) gtk_widget_unref);
751   gtk_widget_show (chapter_box);
752   gtk_box_pack_start (GTK_BOX (dvd_box), chapter_box, TRUE, TRUE, 0);
753
754   chapter = gtk_label_new (_("Chapter:"));
755   gtk_widget_ref (chapter);
756   gtk_object_set_data_full (GTK_OBJECT (intf_window), "chapter", chapter,
757                             (GtkDestroyNotify) gtk_widget_unref);
758   gtk_widget_show (chapter);
759   gtk_box_pack_start (GTK_BOX (chapter_box), chapter, FALSE, FALSE, 5);
760
761   chapter_label = gtk_label_new ("---");
762   gtk_widget_ref (chapter_label);
763   gtk_object_set_data_full (GTK_OBJECT (intf_window), "chapter_label", chapter_label,
764                             (GtkDestroyNotify) gtk_widget_unref);
765   gtk_widget_show (chapter_label);
766   gtk_box_pack_start (GTK_BOX (chapter_box), chapter_label, FALSE, FALSE, 5);
767
768   chapter_prev_button = gtk_button_new_with_label (_("Prev"));
769   gtk_widget_ref (chapter_prev_button);
770   gtk_object_set_data_full (GTK_OBJECT (intf_window), "chapter_prev_button", chapter_prev_button,
771                             (GtkDestroyNotify) gtk_widget_unref);
772   gtk_widget_show (chapter_prev_button);
773   gtk_box_pack_start (GTK_BOX (chapter_box), chapter_prev_button, FALSE, FALSE, 5);
774   gtk_button_set_relief (GTK_BUTTON (chapter_prev_button), GTK_RELIEF_NONE);
775
776   chapter_next_button = gtk_button_new_with_label (_("Next"));
777   gtk_widget_ref (chapter_next_button);
778   gtk_object_set_data_full (GTK_OBJECT (intf_window), "chapter_next_button", chapter_next_button,
779                             (GtkDestroyNotify) gtk_widget_unref);
780   gtk_widget_show (chapter_next_button);
781   gtk_box_pack_start (GTK_BOX (chapter_box), chapter_next_button, FALSE, FALSE, 5);
782   gtk_button_set_relief (GTK_BUTTON (chapter_next_button), GTK_RELIEF_NONE);
783
784   network_box = gtk_hbox_new (FALSE, 0);
785   gtk_widget_ref (network_box);
786   gtk_object_set_data_full (GTK_OBJECT (intf_window), "network_box", network_box,
787                             (GtkDestroyNotify) gtk_widget_unref);
788   gtk_box_pack_start (GTK_BOX (window_vbox), network_box, TRUE, TRUE, 0);
789   gtk_widget_set_usize (network_box, 500, 24);
790
791   network_address_label = gtk_label_new (_("No server"));
792   gtk_widget_ref (network_address_label);
793   gtk_object_set_data_full (GTK_OBJECT (intf_window), "network_address_label", network_address_label,
794                             (GtkDestroyNotify) gtk_widget_unref);
795   gtk_widget_show (network_address_label);
796   gtk_box_pack_start (GTK_BOX (network_box), network_address_label, TRUE, TRUE, 0);
797
798   network_channel_box = gtk_hbox_new (FALSE, 0);
799   gtk_widget_ref (network_channel_box);
800   gtk_object_set_data_full (GTK_OBJECT (intf_window), "network_channel_box", network_channel_box,
801                             (GtkDestroyNotify) gtk_widget_unref);
802   gtk_widget_show (network_channel_box);
803   gtk_box_pack_start (GTK_BOX (network_box), network_channel_box, TRUE, FALSE, 0);
804
805   channel_label = gtk_label_new (_("Channel:"));
806   gtk_widget_ref (channel_label);
807   gtk_object_set_data_full (GTK_OBJECT (intf_window), "channel_label", channel_label,
808                             (GtkDestroyNotify) gtk_widget_unref);
809   gtk_widget_show (channel_label);
810   gtk_box_pack_start (GTK_BOX (network_channel_box), channel_label, FALSE, FALSE, 5);
811
812   network_channel_spinbutton_adj = gtk_adjustment_new (0, 0, 100, 1, 10, 10);
813   network_channel_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (network_channel_spinbutton_adj), 1, 0);
814   gtk_widget_ref (network_channel_spinbutton);
815   gtk_object_set_data_full (GTK_OBJECT (intf_window), "network_channel_spinbutton", network_channel_spinbutton,
816                             (GtkDestroyNotify) gtk_widget_unref);
817   gtk_widget_show (network_channel_spinbutton);
818   gtk_box_pack_start (GTK_BOX (network_channel_box), network_channel_spinbutton, FALSE, TRUE, 0);
819
820   network_channel_go_button = gtk_button_new_with_label (_("Go!"));
821   gtk_widget_ref (network_channel_go_button);
822   gtk_object_set_data_full (GTK_OBJECT (intf_window), "network_channel_go_button", network_channel_go_button,
823                             (GtkDestroyNotify) gtk_widget_unref);
824   gtk_widget_show (network_channel_go_button);
825   gtk_box_pack_start (GTK_BOX (network_channel_box), network_channel_go_button, FALSE, FALSE, 0);
826   gtk_button_set_relief (GTK_BUTTON (network_channel_go_button), GTK_RELIEF_NONE);
827
828   intf_statusbar = gtk_statusbar_new ();
829   gtk_widget_ref (intf_statusbar);
830   gtk_object_set_data_full (GTK_OBJECT (intf_window), "intf_statusbar", intf_statusbar,
831                             (GtkDestroyNotify) gtk_widget_unref);
832   gtk_widget_show (intf_statusbar);
833   gtk_box_pack_start (GTK_BOX (window_vbox), intf_statusbar, FALSE, FALSE, 0);
834
835   gtk_signal_connect (GTK_OBJECT (intf_window), "drag_data_received",
836                       GTK_SIGNAL_FUNC (GtkWindowDrag),
837                       NULL);
838   gtk_signal_connect (GTK_OBJECT (intf_window), "delete_event",
839                       GTK_SIGNAL_FUNC (GtkWindowDelete),
840                       NULL);
841   gtk_signal_connect (GTK_OBJECT (menubar_open), "activate",
842                       GTK_SIGNAL_FUNC (GtkFileOpenShow),
843                       NULL);
844   gtk_signal_connect (GTK_OBJECT (menubar_disc), "activate",
845                       GTK_SIGNAL_FUNC (GtkDiscOpenShow),
846                       NULL);
847   gtk_signal_connect (GTK_OBJECT (menubar_network), "activate",
848                       GTK_SIGNAL_FUNC (GtkNetworkOpenShow),
849                       NULL);
850   gtk_signal_connect (GTK_OBJECT (menubar_eject), "activate",
851                       GTK_SIGNAL_FUNC (GtkDiscEject),
852                       NULL);
853   gtk_signal_connect (GTK_OBJECT (menubar_close), "activate",
854                       GTK_SIGNAL_FUNC (GtkClose),
855                       NULL);
856   gtk_signal_connect (GTK_OBJECT (menubar_exit), "activate",
857                       GTK_SIGNAL_FUNC (GtkExit),
858                       NULL);
859   gtk_signal_connect (GTK_OBJECT (menubar_interface_hide), "activate",
860                       GTK_SIGNAL_FUNC (GtkWindowToggle),
861                       NULL);
862   gtk_signal_connect (GTK_OBJECT (menubar_fullscreen), "activate",
863                       GTK_SIGNAL_FUNC (GtkFullscreen),
864                       NULL);
865   gtk_signal_connect (GTK_OBJECT (menubar_playlist), "activate",
866                       GTK_SIGNAL_FUNC (GtkPlaylistShow),
867                       NULL);
868   gtk_signal_connect (GTK_OBJECT (menubar_modules), "activate",
869                       GTK_SIGNAL_FUNC (GtkModulesShow),
870                       NULL);
871   gtk_signal_connect (GTK_OBJECT (menubar_messages), "activate",
872                       GTK_SIGNAL_FUNC (GtkMessagesShow),
873                       NULL);
874   gtk_signal_connect (GTK_OBJECT (menubar_preferences), "activate",
875                       GTK_SIGNAL_FUNC (GtkPreferencesShow),
876                       NULL);
877   gtk_signal_connect (GTK_OBJECT (menubar_about), "activate",
878                       GTK_SIGNAL_FUNC (GtkAboutShow),
879                       NULL);
880   gtk_signal_connect (GTK_OBJECT (toolbar_open), "clicked",
881                       GTK_SIGNAL_FUNC (GtkFileOpenShow),
882                       NULL);
883   gtk_signal_connect (GTK_OBJECT (toolbar_disc), "clicked",
884                       GTK_SIGNAL_FUNC (GtkDiscOpenShow),
885                       NULL);
886   gtk_signal_connect (GTK_OBJECT (toolbar_network), "clicked",
887                       GTK_SIGNAL_FUNC (GtkNetworkOpenShow),
888                       NULL);
889   gtk_signal_connect (GTK_OBJECT (toolbar_sat), "clicked",
890                       GTK_SIGNAL_FUNC (GtkSatOpenShow),
891                       NULL);
892   gtk_signal_connect (GTK_OBJECT (toolbar_back), "clicked",
893                       GTK_SIGNAL_FUNC (GtkControlBack),
894                       NULL);
895   gtk_signal_connect (GTK_OBJECT (toolbar_stop), "clicked",
896                       GTK_SIGNAL_FUNC (GtkControlStop),
897                       NULL);
898   gtk_signal_connect (GTK_OBJECT (toolbar_eject), "clicked",
899                       GTK_SIGNAL_FUNC (GtkDiscEject),
900                       NULL);
901   gtk_signal_connect (GTK_OBJECT (toolbar_play), "clicked",
902                       GTK_SIGNAL_FUNC (GtkControlPlay),
903                       NULL);
904   gtk_signal_connect (GTK_OBJECT (toolbar_pause), "clicked",
905                       GTK_SIGNAL_FUNC (GtkControlPause),
906                       NULL);
907   gtk_signal_connect (GTK_OBJECT (toolbar_slow), "clicked",
908                       GTK_SIGNAL_FUNC (GtkControlSlow),
909                       NULL);
910   gtk_signal_connect (GTK_OBJECT (toolbar_fast), "clicked",
911                       GTK_SIGNAL_FUNC (GtkControlFast),
912                       NULL);
913   gtk_signal_connect (GTK_OBJECT (toolbar_playlist), "clicked",
914                       GTK_SIGNAL_FUNC (GtkPlaylistShow),
915                       NULL);
916   gtk_signal_connect (GTK_OBJECT (toolbar_prev), "clicked",
917                       GTK_SIGNAL_FUNC (GtkPlaylistPrev),
918                       NULL);
919   gtk_signal_connect (GTK_OBJECT (toolbar_next), "clicked",
920                       GTK_SIGNAL_FUNC (GtkPlaylistNext),
921                       NULL);
922   gtk_signal_connect (GTK_OBJECT (slider), "button_release_event",
923                       GTK_SIGNAL_FUNC (GtkSliderRelease),
924                       NULL);
925   gtk_signal_connect (GTK_OBJECT (slider), "button_press_event",
926                       GTK_SIGNAL_FUNC (GtkSliderPress),
927                       NULL);
928   gtk_signal_connect (GTK_OBJECT (title_prev_button), "clicked",
929                       GTK_SIGNAL_FUNC (GtkTitlePrev),
930                       NULL);
931   gtk_signal_connect (GTK_OBJECT (title_next_button), "clicked",
932                       GTK_SIGNAL_FUNC (GtkTitleNext),
933                       NULL);
934   gtk_signal_connect (GTK_OBJECT (chapter_prev_button), "clicked",
935                       GTK_SIGNAL_FUNC (GtkChapterPrev),
936                       NULL);
937   gtk_signal_connect (GTK_OBJECT (chapter_next_button), "clicked",
938                       GTK_SIGNAL_FUNC (GtkChapterNext),
939                       NULL);
940   gtk_signal_connect (GTK_OBJECT (network_channel_spinbutton), "activate",
941                       GTK_SIGNAL_FUNC (GtkNetworkJoin),
942                       NULL);
943   gtk_signal_connect (GTK_OBJECT (network_channel_go_button), "clicked",
944                       GTK_SIGNAL_FUNC (GtkChannelGo),
945                       NULL);
946
947   gtk_object_set_data (GTK_OBJECT (intf_window), "tooltips", tooltips);
948
949   gtk_window_add_accel_group (GTK_WINDOW (intf_window), accel_group);
950
951   return intf_window;
952 }
953
954 GtkWidget*
955 create_intf_popup (void)
956 {
957   GtkWidget *intf_popup;
958   GtkAccelGroup *intf_popup_accels;
959   guint tmp_key;
960   GtkWidget *popup_play;
961   GtkWidget *popup_pause;
962   GtkWidget *popup_stop;
963   GtkWidget *popup_back;
964   GtkWidget *popup_slow;
965   GtkWidget *popup_fast;
966   GtkWidget *separator6;
967   GtkWidget *popup_interface_toggle;
968   GtkWidget *popup_fullscreen;
969   GtkWidget *separator5;
970   GtkWidget *popup_next;
971   GtkWidget *popup_prev;
972   GtkWidget *popup_jump;
973   GtkWidget *popup_program;
974   GtkWidget *popup_navigation;
975   GtkWidget *popup_audio;
976   GtkWidget *popup_subpictures;
977   GtkWidget *popup_open;
978   GtkWidget *popup_open_menu;
979   GtkAccelGroup *popup_open_menu_accels;
980   GtkWidget *popup_file;
981   GtkWidget *popup_disc;
982   GtkWidget *popup_network;
983   GtkWidget *separator12;
984   GtkWidget *popup_about;
985   GtkWidget *popup_playlist;
986   GtkWidget *popup_preferences;
987   GtkWidget *separator9;
988   GtkWidget *popup_exit;
989   GtkTooltips *tooltips;
990
991   tooltips = gtk_tooltips_new ();
992
993   intf_popup = gtk_menu_new ();
994   gtk_object_set_data (GTK_OBJECT (intf_popup), "intf_popup", intf_popup);
995   intf_popup_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (intf_popup));
996
997   popup_play = gtk_menu_item_new_with_label ("");
998   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_play)->child),
999                                    _("_Play"));
1000   gtk_widget_add_accelerator (popup_play, "activate_item", intf_popup_accels,
1001                               tmp_key, 0, 0);
1002   gtk_widget_ref (popup_play);
1003   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_play", popup_play,
1004                             (GtkDestroyNotify) gtk_widget_unref);
1005   gtk_widget_show (popup_play);
1006   gtk_container_add (GTK_CONTAINER (intf_popup), popup_play);
1007
1008   popup_pause = gtk_menu_item_new_with_label (_("Pause"));
1009   gtk_widget_ref (popup_pause);
1010   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_pause", popup_pause,
1011                             (GtkDestroyNotify) gtk_widget_unref);
1012   gtk_widget_show (popup_pause);
1013   gtk_container_add (GTK_CONTAINER (intf_popup), popup_pause);
1014   gtk_widget_set_sensitive (popup_pause, FALSE);
1015
1016   popup_stop = gtk_menu_item_new_with_label (_("Stop"));
1017   gtk_widget_ref (popup_stop);
1018   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_stop", popup_stop,
1019                             (GtkDestroyNotify) gtk_widget_unref);
1020   gtk_widget_show (popup_stop);
1021   gtk_container_add (GTK_CONTAINER (intf_popup), popup_stop);
1022
1023   popup_back = gtk_menu_item_new_with_label (_("Back"));
1024   gtk_widget_ref (popup_back);
1025   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_back", popup_back,
1026                             (GtkDestroyNotify) gtk_widget_unref);
1027   gtk_widget_show (popup_back);
1028   gtk_container_add (GTK_CONTAINER (intf_popup), popup_back);
1029   gtk_widget_set_sensitive (popup_back, FALSE);
1030
1031   popup_slow = gtk_menu_item_new_with_label (_("Slow"));
1032   gtk_widget_ref (popup_slow);
1033   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_slow", popup_slow,
1034                             (GtkDestroyNotify) gtk_widget_unref);
1035   gtk_widget_show (popup_slow);
1036   gtk_container_add (GTK_CONTAINER (intf_popup), popup_slow);
1037   gtk_widget_set_sensitive (popup_slow, FALSE);
1038
1039   popup_fast = gtk_menu_item_new_with_label (_("Fast"));
1040   gtk_widget_ref (popup_fast);
1041   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_fast", popup_fast,
1042                             (GtkDestroyNotify) gtk_widget_unref);
1043   gtk_widget_show (popup_fast);
1044   gtk_container_add (GTK_CONTAINER (intf_popup), popup_fast);
1045   gtk_widget_set_sensitive (popup_fast, FALSE);
1046
1047   separator6 = gtk_menu_item_new ();
1048   gtk_widget_ref (separator6);
1049   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator6", separator6,
1050                             (GtkDestroyNotify) gtk_widget_unref);
1051   gtk_widget_show (separator6);
1052   gtk_container_add (GTK_CONTAINER (intf_popup), separator6);
1053   gtk_widget_set_sensitive (separator6, FALSE);
1054
1055   popup_interface_toggle = gtk_menu_item_new_with_label ("");
1056   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_interface_toggle)->child),
1057                                    _("Toggle _Interface"));
1058   gtk_widget_add_accelerator (popup_interface_toggle, "activate_item", intf_popup_accels,
1059                               tmp_key, 0, 0);
1060   gtk_widget_ref (popup_interface_toggle);
1061   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_interface_toggle", popup_interface_toggle,
1062                             (GtkDestroyNotify) gtk_widget_unref);
1063   gtk_widget_show (popup_interface_toggle);
1064   gtk_container_add (GTK_CONTAINER (intf_popup), popup_interface_toggle);
1065
1066   popup_fullscreen = gtk_menu_item_new_with_label ("");
1067   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_fullscreen)->child),
1068                                    _("_Fullscreen"));
1069   gtk_widget_add_accelerator (popup_fullscreen, "activate_item", intf_popup_accels,
1070                               tmp_key, 0, 0);
1071   gtk_widget_ref (popup_fullscreen);
1072   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_fullscreen", popup_fullscreen,
1073                             (GtkDestroyNotify) gtk_widget_unref);
1074   gtk_widget_show (popup_fullscreen);
1075   gtk_container_add (GTK_CONTAINER (intf_popup), popup_fullscreen);
1076
1077   separator5 = gtk_menu_item_new ();
1078   gtk_widget_ref (separator5);
1079   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator5", separator5,
1080                             (GtkDestroyNotify) gtk_widget_unref);
1081   gtk_widget_show (separator5);
1082   gtk_container_add (GTK_CONTAINER (intf_popup), separator5);
1083   gtk_widget_set_sensitive (separator5, FALSE);
1084
1085   popup_next = gtk_menu_item_new_with_label (_("Next"));
1086   gtk_widget_ref (popup_next);
1087   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_next", popup_next,
1088                             (GtkDestroyNotify) gtk_widget_unref);
1089   gtk_widget_show (popup_next);
1090   gtk_container_add (GTK_CONTAINER (intf_popup), popup_next);
1091
1092   popup_prev = gtk_menu_item_new_with_label (_("Prev"));
1093   gtk_widget_ref (popup_prev);
1094   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_prev", popup_prev,
1095                             (GtkDestroyNotify) gtk_widget_unref);
1096   gtk_widget_show (popup_prev);
1097   gtk_container_add (GTK_CONTAINER (intf_popup), popup_prev);
1098
1099   popup_jump = gtk_menu_item_new_with_label ("");
1100   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_jump)->child),
1101                                    _("_Jump..."));
1102   gtk_widget_add_accelerator (popup_jump, "activate_item", intf_popup_accels,
1103                               tmp_key, 0, 0);
1104   gtk_widget_ref (popup_jump);
1105   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_jump", popup_jump,
1106                             (GtkDestroyNotify) gtk_widget_unref);
1107   gtk_widget_show (popup_jump);
1108   gtk_container_add (GTK_CONTAINER (intf_popup), popup_jump);
1109
1110   popup_program = gtk_menu_item_new_with_label (_("Program"));
1111   gtk_widget_ref (popup_program);
1112   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_program", popup_program,
1113                             (GtkDestroyNotify) gtk_widget_unref);
1114   gtk_widget_show (popup_program);
1115   gtk_container_add (GTK_CONTAINER (intf_popup), popup_program);
1116   gtk_widget_set_sensitive (popup_program, FALSE);
1117
1118   popup_navigation = gtk_menu_item_new_with_label ("");
1119   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_navigation)->child),
1120                                    _("_Navigation"));
1121   gtk_widget_add_accelerator (popup_navigation, "activate_item", intf_popup_accels,
1122                               tmp_key, 0, 0);
1123   gtk_widget_ref (popup_navigation);
1124   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_navigation", popup_navigation,
1125                             (GtkDestroyNotify) gtk_widget_unref);
1126   gtk_widget_show (popup_navigation);
1127   gtk_container_add (GTK_CONTAINER (intf_popup), popup_navigation);
1128   gtk_widget_set_sensitive (popup_navigation, FALSE);
1129
1130   popup_audio = gtk_menu_item_new_with_label ("");
1131   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_audio)->child),
1132                                    _("_Audio"));
1133   gtk_widget_add_accelerator (popup_audio, "activate_item", intf_popup_accels,
1134                               tmp_key, 0, 0);
1135   gtk_widget_ref (popup_audio);
1136   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_audio", popup_audio,
1137                             (GtkDestroyNotify) gtk_widget_unref);
1138   gtk_widget_show (popup_audio);
1139   gtk_container_add (GTK_CONTAINER (intf_popup), popup_audio);
1140   gtk_widget_set_sensitive (popup_audio, FALSE);
1141
1142   popup_subpictures = gtk_menu_item_new_with_label ("");
1143   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_subpictures)->child),
1144                                    _("_Subtitles"));
1145   gtk_widget_add_accelerator (popup_subpictures, "activate_item", intf_popup_accels,
1146                               tmp_key, 0, 0);
1147   gtk_widget_ref (popup_subpictures);
1148   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_subpictures", popup_subpictures,
1149                             (GtkDestroyNotify) gtk_widget_unref);
1150   gtk_widget_show (popup_subpictures);
1151   gtk_container_add (GTK_CONTAINER (intf_popup), popup_subpictures);
1152   gtk_widget_set_sensitive (popup_subpictures, FALSE);
1153
1154   popup_open = gtk_menu_item_new_with_label ("");
1155   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_open)->child),
1156                                    _("_File"));
1157   gtk_widget_add_accelerator (popup_open, "activate_item", intf_popup_accels,
1158                               tmp_key, 0, 0);
1159   gtk_widget_ref (popup_open);
1160   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_open", popup_open,
1161                             (GtkDestroyNotify) gtk_widget_unref);
1162   gtk_widget_show (popup_open);
1163   gtk_container_add (GTK_CONTAINER (intf_popup), popup_open);
1164
1165   popup_open_menu = gtk_menu_new ();
1166   gtk_widget_ref (popup_open_menu);
1167   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_open_menu", popup_open_menu,
1168                             (GtkDestroyNotify) gtk_widget_unref);
1169   gtk_menu_item_set_submenu (GTK_MENU_ITEM (popup_open), popup_open_menu);
1170   popup_open_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (popup_open_menu));
1171
1172   popup_file = gtk_menu_item_new_with_label ("");
1173   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_file)->child),
1174                                    _("_Open File..."));
1175   gtk_widget_add_accelerator (popup_file, "activate_item", popup_open_menu_accels,
1176                               tmp_key, 0, 0);
1177   gtk_widget_ref (popup_file);
1178   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_file", popup_file,
1179                             (GtkDestroyNotify) gtk_widget_unref);
1180   gtk_widget_show (popup_file);
1181   gtk_container_add (GTK_CONTAINER (popup_open_menu), popup_file);
1182   gtk_tooltips_set_tip (tooltips, popup_file, _("Open a File"), NULL);
1183
1184   popup_disc = gtk_menu_item_new_with_label ("");
1185   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_disc)->child),
1186                                    _("Open _Disc..."));
1187   gtk_widget_add_accelerator (popup_disc, "activate_item", popup_open_menu_accels,
1188                               tmp_key, 0, 0);
1189   gtk_widget_ref (popup_disc);
1190   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_disc", popup_disc,
1191                             (GtkDestroyNotify) gtk_widget_unref);
1192   gtk_widget_show (popup_disc);
1193   gtk_container_add (GTK_CONTAINER (popup_open_menu), popup_disc);
1194   gtk_tooltips_set_tip (tooltips, popup_disc, _("Open a DVD or VCD"), NULL);
1195
1196   popup_network = gtk_menu_item_new_with_label ("");
1197   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_network)->child),
1198                                    _("_Network Stream..."));
1199   gtk_widget_add_accelerator (popup_network, "activate_item", popup_open_menu_accels,
1200                               tmp_key, 0, 0);
1201   gtk_widget_ref (popup_network);
1202   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_network", popup_network,
1203                             (GtkDestroyNotify) gtk_widget_unref);
1204   gtk_widget_show (popup_network);
1205   gtk_container_add (GTK_CONTAINER (popup_open_menu), popup_network);
1206   gtk_tooltips_set_tip (tooltips, popup_network, _("Select a Network Stream"), NULL);
1207
1208   separator12 = gtk_menu_item_new ();
1209   gtk_widget_ref (separator12);
1210   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator12", separator12,
1211                             (GtkDestroyNotify) gtk_widget_unref);
1212   gtk_widget_show (separator12);
1213   gtk_container_add (GTK_CONTAINER (popup_open_menu), separator12);
1214   gtk_widget_set_sensitive (separator12, FALSE);
1215
1216   popup_about = gtk_menu_item_new_with_label ("");
1217   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_about)->child),
1218                                    _("_About..."));
1219   gtk_widget_add_accelerator (popup_about, "activate_item", popup_open_menu_accels,
1220                               tmp_key, 0, 0);
1221   gtk_widget_ref (popup_about);
1222   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_about", popup_about,
1223                             (GtkDestroyNotify) gtk_widget_unref);
1224   gtk_widget_show (popup_about);
1225   gtk_container_add (GTK_CONTAINER (popup_open_menu), popup_about);
1226
1227   popup_playlist = gtk_menu_item_new_with_label (_("Playlist..."));
1228   gtk_widget_ref (popup_playlist);
1229   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_playlist", popup_playlist,
1230                             (GtkDestroyNotify) gtk_widget_unref);
1231   gtk_widget_show (popup_playlist);
1232   gtk_container_add (GTK_CONTAINER (intf_popup), popup_playlist);
1233
1234   popup_preferences = gtk_menu_item_new_with_label ("");
1235   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_preferences)->child),
1236                                    _("_Preferences..."));
1237   gtk_widget_add_accelerator (popup_preferences, "activate_item", intf_popup_accels,
1238                               tmp_key, 0, 0);
1239   gtk_widget_ref (popup_preferences);
1240   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_preferences", popup_preferences,
1241                             (GtkDestroyNotify) gtk_widget_unref);
1242   gtk_widget_show (popup_preferences);
1243   gtk_container_add (GTK_CONTAINER (intf_popup), popup_preferences);
1244
1245   separator9 = gtk_menu_item_new ();
1246   gtk_widget_ref (separator9);
1247   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator9", separator9,
1248                             (GtkDestroyNotify) gtk_widget_unref);
1249   gtk_widget_show (separator9);
1250   gtk_container_add (GTK_CONTAINER (intf_popup), separator9);
1251   gtk_widget_set_sensitive (separator9, FALSE);
1252
1253   popup_exit = gtk_menu_item_new_with_label ("");
1254   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_exit)->child),
1255                                    _("E_xit"));
1256   gtk_widget_add_accelerator (popup_exit, "activate_item", intf_popup_accels,
1257                               tmp_key, 0, 0);
1258   gtk_widget_ref (popup_exit);
1259   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_exit", popup_exit,
1260                             (GtkDestroyNotify) gtk_widget_unref);
1261   gtk_widget_show (popup_exit);
1262   gtk_container_add (GTK_CONTAINER (intf_popup), popup_exit);
1263
1264   gtk_signal_connect (GTK_OBJECT (popup_play), "activate",
1265                       GTK_SIGNAL_FUNC (GtkControlPlay),
1266                       NULL);
1267   gtk_signal_connect (GTK_OBJECT (popup_pause), "activate",
1268                       GTK_SIGNAL_FUNC (GtkControlPause),
1269                       NULL);
1270   gtk_signal_connect (GTK_OBJECT (popup_stop), "activate",
1271                       GTK_SIGNAL_FUNC (GtkControlStop),
1272                       NULL);
1273   gtk_signal_connect (GTK_OBJECT (popup_back), "activate",
1274                       GTK_SIGNAL_FUNC (GtkControlBack),
1275                       NULL);
1276   gtk_signal_connect (GTK_OBJECT (popup_slow), "activate",
1277                       GTK_SIGNAL_FUNC (GtkControlSlow),
1278                       NULL);
1279   gtk_signal_connect (GTK_OBJECT (popup_fast), "activate",
1280                       GTK_SIGNAL_FUNC (GtkControlFast),
1281                       NULL);
1282   gtk_signal_connect (GTK_OBJECT (popup_interface_toggle), "activate",
1283                       GTK_SIGNAL_FUNC (GtkWindowToggle),
1284                       NULL);
1285   gtk_signal_connect (GTK_OBJECT (popup_fullscreen), "activate",
1286                       GTK_SIGNAL_FUNC (GtkFullscreen),
1287                       NULL);
1288   gtk_signal_connect (GTK_OBJECT (popup_next), "activate",
1289                       GTK_SIGNAL_FUNC (GtkPlaylistNext),
1290                       NULL);
1291   gtk_signal_connect (GTK_OBJECT (popup_prev), "activate",
1292                       GTK_SIGNAL_FUNC (GtkPlaylistPrev),
1293                       NULL);
1294   gtk_signal_connect (GTK_OBJECT (popup_jump), "activate",
1295                       GTK_SIGNAL_FUNC (GtkJumpShow),
1296                       NULL);
1297   gtk_signal_connect (GTK_OBJECT (popup_file), "activate",
1298                       GTK_SIGNAL_FUNC (GtkFileOpenShow),
1299                       NULL);
1300   gtk_signal_connect (GTK_OBJECT (popup_disc), "activate",
1301                       GTK_SIGNAL_FUNC (GtkDiscOpenShow),
1302                       NULL);
1303   gtk_signal_connect (GTK_OBJECT (popup_network), "activate",
1304                       GTK_SIGNAL_FUNC (GtkNetworkOpenShow),
1305                       NULL);
1306   gtk_signal_connect (GTK_OBJECT (popup_about), "activate",
1307                       GTK_SIGNAL_FUNC (GtkAboutShow),
1308                       NULL);
1309   gtk_signal_connect (GTK_OBJECT (popup_playlist), "activate",
1310                       GTK_SIGNAL_FUNC (GtkPlaylistShow),
1311                       NULL);
1312   gtk_signal_connect (GTK_OBJECT (popup_preferences), "activate",
1313                       GTK_SIGNAL_FUNC (GtkPreferencesShow),
1314                       NULL);
1315   gtk_signal_connect (GTK_OBJECT (popup_exit), "activate",
1316                       GTK_SIGNAL_FUNC (GtkExit),
1317                       NULL);
1318
1319   gtk_object_set_data (GTK_OBJECT (intf_popup), "tooltips", tooltips);
1320
1321   return intf_popup;
1322 }
1323
1324 GtkWidget*
1325 create_intf_about (void)
1326 {
1327   GtkWidget *intf_about;
1328   GtkWidget *dialog_vbox1;
1329   GtkWidget *vbox3;
1330   GtkWidget *label14;
1331   GtkWidget *label18;
1332   GtkWidget *frame1;
1333   GtkWidget *label16;
1334   GtkWidget *label17;
1335   GtkWidget *dialog_action_area;
1336   GtkWidget *about_ok;
1337
1338   intf_about = gtk_dialog_new ();
1339   gtk_object_set_data (GTK_OBJECT (intf_about), "intf_about", intf_about);
1340   gtk_container_set_border_width (GTK_CONTAINER (intf_about), 5);
1341   gtk_window_set_title (GTK_WINDOW (intf_about), _("About"));
1342   gtk_window_set_position (GTK_WINDOW (intf_about), GTK_WIN_POS_CENTER);
1343   gtk_window_set_policy (GTK_WINDOW (intf_about), FALSE, FALSE, FALSE);
1344
1345   dialog_vbox1 = GTK_DIALOG (intf_about)->vbox;
1346   gtk_object_set_data (GTK_OBJECT (intf_about), "dialog_vbox1", dialog_vbox1);
1347   gtk_widget_show (dialog_vbox1);
1348
1349   vbox3 = gtk_vbox_new (FALSE, 0);
1350   gtk_widget_ref (vbox3);
1351   gtk_object_set_data_full (GTK_OBJECT (intf_about), "vbox3", vbox3,
1352                             (GtkDestroyNotify) gtk_widget_unref);
1353   gtk_widget_show (vbox3);
1354   gtk_box_pack_start (GTK_BOX (dialog_vbox1), vbox3, TRUE, TRUE, 0);
1355
1356   label14 = gtk_label_new (_("VideoLAN Client"));
1357   gtk_widget_ref (label14);
1358   gtk_object_set_data_full (GTK_OBJECT (intf_about), "label14", label14,
1359                             (GtkDestroyNotify) gtk_widget_unref);
1360   gtk_widget_show (label14);
1361   gtk_box_pack_start (GTK_BOX (vbox3), label14, TRUE, TRUE, 0);
1362   gtk_misc_set_padding (GTK_MISC (label14), 0, 10);
1363
1364   label18 = gtk_label_new (_("(C) 1996-2003 - the VideoLAN Team"));
1365   gtk_widget_ref (label18);
1366   gtk_object_set_data_full (GTK_OBJECT (intf_about), "label18", label18,
1367                             (GtkDestroyNotify) gtk_widget_unref);
1368   gtk_widget_show (label18);
1369   gtk_box_pack_start (GTK_BOX (vbox3), label18, FALSE, FALSE, 0);
1370   gtk_label_set_justify (GTK_LABEL (label18), GTK_JUSTIFY_LEFT);
1371   gtk_misc_set_padding (GTK_MISC (label18), 0, 5);
1372
1373   frame1 = gtk_frame_new (_("Authors"));
1374   gtk_widget_ref (frame1);
1375   gtk_object_set_data_full (GTK_OBJECT (intf_about), "frame1", frame1,
1376                             (GtkDestroyNotify) gtk_widget_unref);
1377   gtk_widget_show (frame1);
1378   gtk_box_pack_start (GTK_BOX (vbox3), frame1, FALSE, FALSE, 0);
1379
1380   label16 = gtk_label_new (_("the VideoLAN team <videolan@videolan.org>\nhttp://www.videolan.org/"));
1381   gtk_widget_ref (label16);
1382   gtk_object_set_data_full (GTK_OBJECT (intf_about), "label16", label16,
1383                             (GtkDestroyNotify) gtk_widget_unref);
1384   gtk_widget_show (label16);
1385   gtk_container_add (GTK_CONTAINER (frame1), label16);
1386   gtk_label_set_justify (GTK_LABEL (label16), GTK_JUSTIFY_LEFT);
1387   gtk_misc_set_alignment (GTK_MISC (label16), 0.5, 0);
1388   gtk_misc_set_padding (GTK_MISC (label16), 5, 5);
1389
1390   label17 = gtk_label_new (_("This is the VideoLAN Client, a DVD, MPEG and DivX player. It can play MPEG and MPEG2 files from a file or from a network source."));
1391   gtk_widget_ref (label17);
1392   gtk_object_set_data_full (GTK_OBJECT (intf_about), "label17", label17,
1393                             (GtkDestroyNotify) gtk_widget_unref);
1394   gtk_widget_show (label17);
1395   gtk_box_pack_start (GTK_BOX (vbox3), label17, FALSE, FALSE, 0);
1396   gtk_label_set_justify (GTK_LABEL (label17), GTK_JUSTIFY_LEFT);
1397   gtk_label_set_line_wrap (GTK_LABEL (label17), TRUE);
1398   gtk_misc_set_padding (GTK_MISC (label17), 0, 5);
1399
1400   dialog_action_area = GTK_DIALOG (intf_about)->action_area;
1401   gtk_object_set_data (GTK_OBJECT (intf_about), "dialog_action_area", dialog_action_area);
1402   gtk_widget_show (dialog_action_area);
1403   gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area), 10);
1404
1405   about_ok = gtk_button_new_with_label (_("OK"));
1406   gtk_widget_ref (about_ok);
1407   gtk_object_set_data_full (GTK_OBJECT (intf_about), "about_ok", about_ok,
1408                             (GtkDestroyNotify) gtk_widget_unref);
1409   gtk_widget_show (about_ok);
1410   gtk_box_pack_start (GTK_BOX (dialog_action_area), about_ok, FALSE, TRUE, 0);
1411   GTK_WIDGET_SET_FLAGS (about_ok, GTK_CAN_DEFAULT);
1412
1413   gtk_signal_connect (GTK_OBJECT (about_ok), "clicked",
1414                       GTK_SIGNAL_FUNC (GtkAboutOk),
1415                       NULL);
1416
1417   gtk_widget_grab_default (about_ok);
1418   return intf_about;
1419 }
1420
1421 GtkWidget*
1422 create_intf_open (void)
1423 {
1424   GtkWidget *intf_open;
1425   GtkWidget *dialog_vbox7;
1426   GtkWidget *open_vbox;
1427   GtkWidget *frame10;
1428   GtkWidget *hbox21;
1429   GtkWidget *hbox22;
1430   GtkWidget *label34;
1431   GtkWidget *combo2;
1432   GtkWidget *entry_open;
1433   GtkWidget *label36;
1434   GtkWidget *open_notebook;
1435   GtkWidget *hbox20;
1436   GtkWidget *combo1;
1437   GtkWidget *entry_file;
1438   GtkWidget *vbox13;
1439   GtkWidget *open_browse;
1440   GtkWidget *open_file;
1441   GtkWidget *table5;
1442   GtkWidget *label21;
1443   GtkWidget *label20;
1444   GtkObject *disc_chapter_adj;
1445   GtkWidget *disc_chapter;
1446   GtkWidget *label35;
1447   GtkWidget *hbox24;
1448   GSList *disc_group = NULL;
1449   GtkWidget *disc_dvd;
1450   GtkWidget *disc_vcd;
1451   GtkWidget *label19;
1452   GtkObject *disc_title_adj;
1453   GtkWidget *disc_title;
1454   GtkWidget *disc_name;
1455   GtkWidget *open_disc;
1456   GtkWidget *table4;
1457   GSList *table4_group = NULL;
1458   GtkWidget *network_udp;
1459   GtkWidget *network_multicast;
1460   GtkWidget *network_channel;
1461   GtkWidget *network_http;
1462   GtkWidget *network_udp_port_label;
1463   GtkWidget *network_multicast_address_label;
1464   GtkWidget *network_channel_address_label;
1465   GtkWidget *network_http_url_label;
1466   GtkWidget *network_multicast_address_combo;
1467   GtkWidget *network_multicast_address;
1468   GtkWidget *network_channel_address_combo;
1469   GtkWidget *network_channel_address;
1470   GtkWidget *network_multicast_port_label;
1471   GtkWidget *network_channel_port_label;
1472   GtkObject *network_multicast_port_adj;
1473   GtkWidget *network_multicast_port;
1474   GtkObject *network_channel_port_adj;
1475   GtkWidget *network_channel_port;
1476   GtkWidget *network_http_url;
1477   GtkObject *network_udp_port_adj;
1478   GtkWidget *network_udp_port;
1479   GtkWidget *open_net;
1480   GtkWidget *table3;
1481   GtkWidget *label24;
1482   GtkWidget *label25;
1483   GtkWidget *label26;
1484   GtkObject *sat_freq_adj;
1485   GtkWidget *sat_freq;
1486   GtkWidget *label27;
1487   GtkWidget *hbox23;
1488   GSList *pol_group = NULL;
1489   GtkWidget *sat_pol_vert;
1490   GtkWidget *sat_pol_hor;
1491   GtkObject *sat_srate_adj;
1492   GtkWidget *sat_srate;
1493   GtkWidget *sat_fec;
1494   GList *sat_fec_items = NULL;
1495   GtkWidget *combo_entry1;
1496   GtkWidget *open_sat;
1497   GtkWidget *dialog_action_area6;
1498   GtkWidget *hbox18;
1499   GtkWidget *hbox19;
1500   GtkWidget *open_ok;
1501   GtkWidget *open_cancel;
1502   GtkAccelGroup *accel_group;
1503
1504   accel_group = gtk_accel_group_new ();
1505
1506   intf_open = gtk_dialog_new ();
1507   gtk_object_set_data (GTK_OBJECT (intf_open), "intf_open", intf_open);
1508   gtk_container_set_border_width (GTK_CONTAINER (intf_open), 5);
1509   gtk_window_set_title (GTK_WINDOW (intf_open), _("Open Target"));
1510
1511   dialog_vbox7 = GTK_DIALOG (intf_open)->vbox;
1512   gtk_object_set_data (GTK_OBJECT (intf_open), "dialog_vbox7", dialog_vbox7);
1513   gtk_widget_show (dialog_vbox7);
1514
1515   open_vbox = gtk_vbox_new (FALSE, 5);
1516   gtk_widget_ref (open_vbox);
1517   gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_vbox", open_vbox,
1518                             (GtkDestroyNotify) gtk_widget_unref);
1519   gtk_widget_show (open_vbox);
1520   gtk_box_pack_start (GTK_BOX (dialog_vbox7), open_vbox, TRUE, TRUE, 0);
1521
1522   frame10 = gtk_frame_new (_("Media Resource Locator (MRL)"));
1523   gtk_widget_ref (frame10);
1524   gtk_object_set_data_full (GTK_OBJECT (intf_open), "frame10", frame10,
1525                             (GtkDestroyNotify) gtk_widget_unref);
1526   gtk_widget_show (frame10);
1527   gtk_box_pack_start (GTK_BOX (open_vbox), frame10, FALSE, TRUE, 0);
1528
1529   hbox21 = gtk_hbox_new (FALSE, 5);
1530   gtk_widget_ref (hbox21);
1531   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox21", hbox21,
1532                             (GtkDestroyNotify) gtk_widget_unref);
1533   gtk_widget_show (hbox21);
1534   gtk_container_add (GTK_CONTAINER (frame10), hbox21);
1535   gtk_container_set_border_width (GTK_CONTAINER (hbox21), 5);
1536
1537   hbox22 = gtk_hbox_new (FALSE, 0);
1538   gtk_widget_ref (hbox22);
1539   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox22", hbox22,
1540                             (GtkDestroyNotify) gtk_widget_unref);
1541   gtk_widget_show (hbox22);
1542   gtk_box_pack_start (GTK_BOX (hbox21), hbox22, FALSE, TRUE, 0);
1543
1544   label34 = gtk_label_new (_("Open Target:"));
1545   gtk_widget_ref (label34);
1546   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label34", label34,
1547                             (GtkDestroyNotify) gtk_widget_unref);
1548   gtk_widget_show (label34);
1549   gtk_box_pack_start (GTK_BOX (hbox22), label34, FALSE, FALSE, 0);
1550
1551   combo2 = gtk_combo_new ();
1552   gtk_widget_ref (combo2);
1553   gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo2", combo2,
1554                             (GtkDestroyNotify) gtk_widget_unref);
1555   gtk_widget_show (combo2);
1556   gtk_box_pack_start (GTK_BOX (hbox21), combo2, TRUE, TRUE, 0);
1557
1558   entry_open = GTK_COMBO (combo2)->entry;
1559   gtk_widget_ref (entry_open);
1560   gtk_object_set_data_full (GTK_OBJECT (intf_open), "entry_open", entry_open,
1561                             (GtkDestroyNotify) gtk_widget_unref);
1562   gtk_widget_show (entry_open);
1563
1564   label36 = gtk_label_new (_("Alternatively, you can build an MRL using one of the following predefined targets:"));
1565   gtk_widget_ref (label36);
1566   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label36", label36,
1567                             (GtkDestroyNotify) gtk_widget_unref);
1568   gtk_widget_show (label36);
1569   gtk_box_pack_start (GTK_BOX (open_vbox), label36, TRUE, TRUE, 0);
1570   gtk_label_set_justify (GTK_LABEL (label36), GTK_JUSTIFY_LEFT);
1571   gtk_misc_set_alignment (GTK_MISC (label36), 0, 1);
1572
1573   open_notebook = gtk_notebook_new ();
1574   gtk_widget_ref (open_notebook);
1575   gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_notebook", open_notebook,
1576                             (GtkDestroyNotify) gtk_widget_unref);
1577   gtk_widget_show (open_notebook);
1578   gtk_box_pack_start (GTK_BOX (open_vbox), open_notebook, TRUE, TRUE, 0);
1579
1580   hbox20 = gtk_hbox_new (FALSE, 5);
1581   gtk_widget_ref (hbox20);
1582   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox20", hbox20,
1583                             (GtkDestroyNotify) gtk_widget_unref);
1584   gtk_widget_show (hbox20);
1585   gtk_container_add (GTK_CONTAINER (open_notebook), hbox20);
1586   gtk_container_set_border_width (GTK_CONTAINER (hbox20), 5);
1587
1588   combo1 = gtk_combo_new ();
1589   gtk_widget_ref (combo1);
1590   gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo1", combo1,
1591                             (GtkDestroyNotify) gtk_widget_unref);
1592   gtk_widget_show (combo1);
1593   gtk_box_pack_start (GTK_BOX (hbox20), combo1, FALSE, TRUE, 0);
1594
1595   entry_file = GTK_COMBO (combo1)->entry;
1596   gtk_widget_ref (entry_file);
1597   gtk_object_set_data_full (GTK_OBJECT (intf_open), "entry_file", entry_file,
1598                             (GtkDestroyNotify) gtk_widget_unref);
1599   gtk_widget_show (entry_file);
1600
1601   vbox13 = gtk_vbox_new (TRUE, 0);
1602   gtk_widget_ref (vbox13);
1603   gtk_object_set_data_full (GTK_OBJECT (intf_open), "vbox13", vbox13,
1604                             (GtkDestroyNotify) gtk_widget_unref);
1605   gtk_widget_show (vbox13);
1606   gtk_box_pack_start (GTK_BOX (hbox20), vbox13, FALSE, FALSE, 0);
1607
1608   open_browse = gtk_button_new_with_label (_("Browse..."));
1609   gtk_widget_ref (open_browse);
1610   gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_browse", open_browse,
1611                             (GtkDestroyNotify) gtk_widget_unref);
1612   gtk_widget_show (open_browse);
1613   gtk_box_pack_start (GTK_BOX (vbox13), open_browse, FALSE, FALSE, 0);
1614
1615   open_file = gtk_label_new (_("File"));
1616   gtk_widget_ref (open_file);
1617   gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_file", open_file,
1618                             (GtkDestroyNotify) gtk_widget_unref);
1619   gtk_widget_show (open_file);
1620   gtk_notebook_set_tab_label (GTK_NOTEBOOK (open_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (open_notebook), 0), open_file);
1621
1622   table5 = gtk_table_new (4, 2, FALSE);
1623   gtk_widget_ref (table5);
1624   gtk_object_set_data_full (GTK_OBJECT (intf_open), "table5", table5,
1625                             (GtkDestroyNotify) gtk_widget_unref);
1626   gtk_widget_show (table5);
1627   gtk_container_add (GTK_CONTAINER (open_notebook), table5);
1628   gtk_container_set_border_width (GTK_CONTAINER (table5), 5);
1629   gtk_table_set_row_spacings (GTK_TABLE (table5), 5);
1630   gtk_table_set_col_spacings (GTK_TABLE (table5), 5);
1631
1632   label21 = gtk_label_new (_("Title"));
1633   gtk_widget_ref (label21);
1634   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label21", label21,
1635                             (GtkDestroyNotify) gtk_widget_unref);
1636   gtk_widget_show (label21);
1637   gtk_table_attach (GTK_TABLE (table5), label21, 0, 1, 2, 3,
1638                     (GtkAttachOptions) (GTK_FILL),
1639                     (GtkAttachOptions) (0), 0, 0);
1640   gtk_misc_set_alignment (GTK_MISC (label21), 0, 0.5);
1641
1642   label20 = gtk_label_new (_("Chapter"));
1643   gtk_widget_ref (label20);
1644   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label20", label20,
1645                             (GtkDestroyNotify) gtk_widget_unref);
1646   gtk_widget_show (label20);
1647   gtk_table_attach (GTK_TABLE (table5), label20, 0, 1, 3, 4,
1648                     (GtkAttachOptions) (GTK_FILL),
1649                     (GtkAttachOptions) (0), 0, 0);
1650   gtk_misc_set_alignment (GTK_MISC (label20), 0, 0.5);
1651
1652   disc_chapter_adj = gtk_adjustment_new (1, 1, 65536, 1, 10, 10);
1653   disc_chapter = gtk_spin_button_new (GTK_ADJUSTMENT (disc_chapter_adj), 1, 0);
1654   gtk_widget_ref (disc_chapter);
1655   gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_chapter", disc_chapter,
1656                             (GtkDestroyNotify) gtk_widget_unref);
1657   gtk_widget_show (disc_chapter);
1658   gtk_table_attach (GTK_TABLE (table5), disc_chapter, 1, 2, 3, 4,
1659                     (GtkAttachOptions) (GTK_FILL),
1660                     (GtkAttachOptions) (0), 0, 0);
1661
1662   label35 = gtk_label_new (_("Disc type"));
1663   gtk_widget_ref (label35);
1664   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label35", label35,
1665                             (GtkDestroyNotify) gtk_widget_unref);
1666   gtk_widget_show (label35);
1667   gtk_table_attach (GTK_TABLE (table5), label35, 0, 1, 0, 1,
1668                     (GtkAttachOptions) (GTK_FILL),
1669                     (GtkAttachOptions) (0), 0, 0);
1670   gtk_misc_set_alignment (GTK_MISC (label35), 0, 0.5);
1671
1672   hbox24 = gtk_hbox_new (FALSE, 0);
1673   gtk_widget_ref (hbox24);
1674   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox24", hbox24,
1675                             (GtkDestroyNotify) gtk_widget_unref);
1676   gtk_widget_show (hbox24);
1677   gtk_table_attach (GTK_TABLE (table5), hbox24, 1, 2, 0, 1,
1678                     (GtkAttachOptions) (GTK_FILL),
1679                     (GtkAttachOptions) (GTK_FILL), 0, 0);
1680
1681   disc_dvd = gtk_radio_button_new_with_label (disc_group, _("DVD"));
1682   disc_group = gtk_radio_button_group (GTK_RADIO_BUTTON (disc_dvd));
1683   gtk_widget_ref (disc_dvd);
1684   gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_dvd", disc_dvd,
1685                             (GtkDestroyNotify) gtk_widget_unref);
1686   gtk_widget_show (disc_dvd);
1687   gtk_box_pack_start (GTK_BOX (hbox24), disc_dvd, FALSE, FALSE, 0);
1688
1689   disc_vcd = gtk_radio_button_new_with_label (disc_group, _("VCD"));
1690   disc_group = gtk_radio_button_group (GTK_RADIO_BUTTON (disc_vcd));
1691   gtk_widget_ref (disc_vcd);
1692   gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_vcd", disc_vcd,
1693                             (GtkDestroyNotify) gtk_widget_unref);
1694   gtk_widget_show (disc_vcd);
1695   gtk_box_pack_start (GTK_BOX (hbox24), disc_vcd, FALSE, FALSE, 0);
1696
1697   label19 = gtk_label_new (_("Device name"));
1698   gtk_widget_ref (label19);
1699   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label19", label19,
1700                             (GtkDestroyNotify) gtk_widget_unref);
1701   gtk_widget_show (label19);
1702   gtk_table_attach (GTK_TABLE (table5), label19, 0, 1, 1, 2,
1703                     (GtkAttachOptions) (GTK_FILL),
1704                     (GtkAttachOptions) (0), 0, 0);
1705
1706   disc_title_adj = gtk_adjustment_new (1, 1, 65536, 1, 10, 10);
1707   disc_title = gtk_spin_button_new (GTK_ADJUSTMENT (disc_title_adj), 1, 0);
1708   gtk_widget_ref (disc_title);
1709   gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_title", disc_title,
1710                             (GtkDestroyNotify) gtk_widget_unref);
1711   gtk_widget_show (disc_title);
1712   gtk_table_attach (GTK_TABLE (table5), disc_title, 1, 2, 2, 3,
1713                     (GtkAttachOptions) (GTK_FILL),
1714                     (GtkAttachOptions) (0), 0, 0);
1715
1716   disc_name = gtk_entry_new ();
1717   gtk_widget_ref (disc_name);
1718   gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_name", disc_name,
1719                             (GtkDestroyNotify) gtk_widget_unref);
1720   gtk_widget_show (disc_name);
1721   gtk_table_attach (GTK_TABLE (table5), disc_name, 1, 2, 1, 2,
1722                     (GtkAttachOptions) (GTK_FILL),
1723                     (GtkAttachOptions) (0), 0, 0);
1724   gtk_entry_set_text (GTK_ENTRY (disc_name), "/dev/dvd");
1725
1726   open_disc = gtk_label_new (_("Disc"));
1727   gtk_widget_ref (open_disc);
1728   gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_disc", open_disc,
1729                             (GtkDestroyNotify) gtk_widget_unref);
1730   gtk_widget_show (open_disc);
1731   gtk_notebook_set_tab_label (GTK_NOTEBOOK (open_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (open_notebook), 1), open_disc);
1732
1733   table4 = gtk_table_new (4, 6, FALSE);
1734   gtk_widget_ref (table4);
1735   gtk_object_set_data_full (GTK_OBJECT (intf_open), "table4", table4,
1736                             (GtkDestroyNotify) gtk_widget_unref);
1737   gtk_widget_show (table4);
1738   gtk_container_add (GTK_CONTAINER (open_notebook), table4);
1739   gtk_container_set_border_width (GTK_CONTAINER (table4), 5);
1740   gtk_table_set_row_spacings (GTK_TABLE (table4), 5);
1741   gtk_table_set_col_spacings (GTK_TABLE (table4), 5);
1742
1743   network_udp = gtk_radio_button_new_with_label (table4_group, _("UDP"));
1744   table4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_udp));
1745   gtk_widget_ref (network_udp);
1746   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_udp", network_udp,
1747                             (GtkDestroyNotify) gtk_widget_unref);
1748   gtk_widget_show (network_udp);
1749   gtk_table_attach (GTK_TABLE (table4), network_udp, 0, 1, 0, 1,
1750                     (GtkAttachOptions) (GTK_FILL),
1751                     (GtkAttachOptions) (0), 0, 0);
1752
1753   network_multicast = gtk_radio_button_new_with_label (table4_group, _("UDP Multicast"));
1754   table4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_multicast));
1755   gtk_widget_ref (network_multicast);
1756   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_multicast", network_multicast,
1757                             (GtkDestroyNotify) gtk_widget_unref);
1758   gtk_widget_show (network_multicast);
1759   gtk_table_attach (GTK_TABLE (table4), network_multicast, 0, 1, 1, 2,
1760                     (GtkAttachOptions) (GTK_FILL),
1761                     (GtkAttachOptions) (0), 0, 0);
1762
1763   network_channel = gtk_radio_button_new_with_label (table4_group, _("Channel server"));
1764   table4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_channel));
1765   gtk_widget_ref (network_channel);
1766   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_channel", network_channel,
1767                             (GtkDestroyNotify) gtk_widget_unref);
1768   gtk_widget_show (network_channel);
1769   gtk_table_attach (GTK_TABLE (table4), network_channel, 0, 1, 2, 3,
1770                     (GtkAttachOptions) (GTK_FILL),
1771                     (GtkAttachOptions) (0), 0, 0);
1772
1773   network_http = gtk_radio_button_new_with_label (table4_group, _("HTTP"));
1774   table4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_http));
1775   gtk_widget_ref (network_http);
1776   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_http", network_http,
1777                             (GtkDestroyNotify) gtk_widget_unref);
1778   gtk_widget_show (network_http);
1779   gtk_table_attach (GTK_TABLE (table4), network_http, 0, 1, 3, 4,
1780                     (GtkAttachOptions) (GTK_FILL),
1781                     (GtkAttachOptions) (0), 0, 0);
1782
1783   network_udp_port_label = gtk_label_new (_("Port"));
1784   gtk_widget_ref (network_udp_port_label);
1785   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_udp_port_label", network_udp_port_label,
1786                             (GtkDestroyNotify) gtk_widget_unref);
1787   gtk_widget_show (network_udp_port_label);
1788   gtk_table_attach (GTK_TABLE (table4), network_udp_port_label, 1, 2, 0, 1,
1789                     (GtkAttachOptions) (GTK_FILL),
1790                     (GtkAttachOptions) (0), 0, 0);
1791   gtk_misc_set_alignment (GTK_MISC (network_udp_port_label), 1, 0.5);
1792
1793   network_multicast_address_label = gtk_label_new (_("Address"));
1794   gtk_widget_ref (network_multicast_address_label);
1795   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_multicast_address_label", network_multicast_address_label,
1796                             (GtkDestroyNotify) gtk_widget_unref);
1797   gtk_widget_show (network_multicast_address_label);
1798   gtk_table_attach (GTK_TABLE (table4), network_multicast_address_label, 1, 2, 1, 2,
1799                     (GtkAttachOptions) (GTK_FILL),
1800                     (GtkAttachOptions) (0), 0, 0);
1801   gtk_widget_set_sensitive (network_multicast_address_label, FALSE);
1802   gtk_label_set_justify (GTK_LABEL (network_multicast_address_label), GTK_JUSTIFY_RIGHT);
1803   gtk_misc_set_alignment (GTK_MISC (network_multicast_address_label), 1, 0.5);
1804
1805   network_channel_address_label = gtk_label_new (_("Address"));
1806   gtk_widget_ref (network_channel_address_label);
1807   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_channel_address_label", network_channel_address_label,
1808                             (GtkDestroyNotify) gtk_widget_unref);
1809   gtk_widget_show (network_channel_address_label);
1810   gtk_table_attach (GTK_TABLE (table4), network_channel_address_label, 1, 2, 2, 3,
1811                     (GtkAttachOptions) (GTK_FILL),
1812                     (GtkAttachOptions) (0), 0, 0);
1813   gtk_widget_set_sensitive (network_channel_address_label, FALSE);
1814
1815   network_http_url_label = gtk_label_new (_("URL"));
1816   gtk_widget_ref (network_http_url_label);
1817   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_http_url_label", network_http_url_label,
1818                             (GtkDestroyNotify) gtk_widget_unref);
1819   gtk_widget_show (network_http_url_label);
1820   gtk_table_attach (GTK_TABLE (table4), network_http_url_label, 1, 2, 3, 4,
1821                     (GtkAttachOptions) (GTK_FILL),
1822                     (GtkAttachOptions) (0), 0, 0);
1823   gtk_widget_set_sensitive (network_http_url_label, FALSE);
1824   gtk_misc_set_alignment (GTK_MISC (network_http_url_label), 1, 0.5);
1825
1826   network_multicast_address_combo = gtk_combo_new ();
1827   gtk_widget_ref (network_multicast_address_combo);
1828   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_multicast_address_combo", network_multicast_address_combo,
1829                             (GtkDestroyNotify) gtk_widget_unref);
1830   gtk_widget_show (network_multicast_address_combo);
1831   gtk_table_attach (GTK_TABLE (table4), network_multicast_address_combo, 2, 4, 1, 2,
1832                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1833                     (GtkAttachOptions) (0), 0, 0);
1834   gtk_widget_set_sensitive (network_multicast_address_combo, FALSE);
1835
1836   network_multicast_address = GTK_COMBO (network_multicast_address_combo)->entry;
1837   gtk_widget_ref (network_multicast_address);
1838   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_multicast_address", network_multicast_address,
1839                             (GtkDestroyNotify) gtk_widget_unref);
1840   gtk_widget_show (network_multicast_address);
1841
1842   network_channel_address_combo = gtk_combo_new ();
1843   gtk_widget_ref (network_channel_address_combo);
1844   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_channel_address_combo", network_channel_address_combo,
1845                             (GtkDestroyNotify) gtk_widget_unref);
1846   gtk_widget_show (network_channel_address_combo);
1847   gtk_table_attach (GTK_TABLE (table4), network_channel_address_combo, 2, 4, 2, 3,
1848                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1849                     (GtkAttachOptions) (0), 0, 0);
1850   gtk_widget_set_sensitive (network_channel_address_combo, FALSE);
1851
1852   network_channel_address = GTK_COMBO (network_channel_address_combo)->entry;
1853   gtk_widget_ref (network_channel_address);
1854   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_channel_address", network_channel_address,
1855                             (GtkDestroyNotify) gtk_widget_unref);
1856   gtk_widget_show (network_channel_address);
1857
1858   network_multicast_port_label = gtk_label_new (_("Port"));
1859   gtk_widget_ref (network_multicast_port_label);
1860   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_multicast_port_label", network_multicast_port_label,
1861                             (GtkDestroyNotify) gtk_widget_unref);
1862   gtk_widget_show (network_multicast_port_label);
1863   gtk_table_attach (GTK_TABLE (table4), network_multicast_port_label, 4, 5, 1, 2,
1864                     (GtkAttachOptions) (GTK_FILL),
1865                     (GtkAttachOptions) (0), 0, 0);
1866   gtk_widget_set_sensitive (network_multicast_port_label, FALSE);
1867   gtk_misc_set_alignment (GTK_MISC (network_multicast_port_label), 1, 0.5);
1868
1869   network_channel_port_label = gtk_label_new (_("Port"));
1870   gtk_widget_ref (network_channel_port_label);
1871   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_channel_port_label", network_channel_port_label,
1872                             (GtkDestroyNotify) gtk_widget_unref);
1873   gtk_widget_show (network_channel_port_label);
1874   gtk_table_attach (GTK_TABLE (table4), network_channel_port_label, 4, 5, 2, 3,
1875                     (GtkAttachOptions) (GTK_FILL),
1876                     (GtkAttachOptions) (0), 0, 0);
1877   gtk_widget_set_sensitive (network_channel_port_label, FALSE);
1878   gtk_misc_set_alignment (GTK_MISC (network_channel_port_label), 1, 0.5);
1879
1880   network_multicast_port_adj = gtk_adjustment_new (1234, 0, 65535, 1, 10, 10);
1881   network_multicast_port = gtk_spin_button_new (GTK_ADJUSTMENT (network_multicast_port_adj), 1, 0);
1882   gtk_widget_ref (network_multicast_port);
1883   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_multicast_port", network_multicast_port,
1884                             (GtkDestroyNotify) gtk_widget_unref);
1885   gtk_widget_show (network_multicast_port);
1886   gtk_table_attach (GTK_TABLE (table4), network_multicast_port, 5, 6, 1, 2,
1887                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1888                     (GtkAttachOptions) (0), 0, 0);
1889   gtk_widget_set_usize (network_multicast_port, 75, -2);
1890   gtk_widget_set_sensitive (network_multicast_port, FALSE);
1891
1892   network_channel_port_adj = gtk_adjustment_new (6010, 0, 65535, 1, 10, 10);
1893   network_channel_port = gtk_spin_button_new (GTK_ADJUSTMENT (network_channel_port_adj), 1, 0);
1894   gtk_widget_ref (network_channel_port);
1895   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_channel_port", network_channel_port,
1896                             (GtkDestroyNotify) gtk_widget_unref);
1897   gtk_widget_show (network_channel_port);
1898   gtk_table_attach (GTK_TABLE (table4), network_channel_port, 5, 6, 2, 3,
1899                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1900                     (GtkAttachOptions) (0), 0, 0);
1901   gtk_widget_set_usize (network_channel_port, 75, -2);
1902   gtk_widget_set_sensitive (network_channel_port, FALSE);
1903
1904   network_http_url = gtk_entry_new ();
1905   gtk_widget_ref (network_http_url);
1906   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_http_url", network_http_url,
1907                             (GtkDestroyNotify) gtk_widget_unref);
1908   gtk_widget_show (network_http_url);
1909   gtk_table_attach (GTK_TABLE (table4), network_http_url, 2, 6, 3, 4,
1910                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1911                     (GtkAttachOptions) (0), 0, 0);
1912   gtk_widget_set_sensitive (network_http_url, FALSE);
1913
1914   network_udp_port_adj = gtk_adjustment_new (1234, 0, 65535, 1, 10, 10);
1915   network_udp_port = gtk_spin_button_new (GTK_ADJUSTMENT (network_udp_port_adj), 1, 0);
1916   gtk_widget_ref (network_udp_port);
1917   gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_udp_port", network_udp_port,
1918                             (GtkDestroyNotify) gtk_widget_unref);
1919   gtk_widget_show (network_udp_port);
1920   gtk_table_attach (GTK_TABLE (table4), network_udp_port, 2, 3, 0, 1,
1921                     (GtkAttachOptions) (GTK_FILL),
1922                     (GtkAttachOptions) (0), 0, 0);
1923   gtk_widget_set_usize (network_udp_port, 1, -2);
1924
1925   open_net = gtk_label_new (_("Network"));
1926   gtk_widget_ref (open_net);
1927   gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_net", open_net,
1928                             (GtkDestroyNotify) gtk_widget_unref);
1929   gtk_widget_show (open_net);
1930   gtk_notebook_set_tab_label (GTK_NOTEBOOK (open_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (open_notebook), 2), open_net);
1931
1932   table3 = gtk_table_new (4, 2, FALSE);
1933   gtk_widget_ref (table3);
1934   gtk_object_set_data_full (GTK_OBJECT (intf_open), "table3", table3,
1935                             (GtkDestroyNotify) gtk_widget_unref);
1936   gtk_widget_show (table3);
1937   gtk_container_add (GTK_CONTAINER (open_notebook), table3);
1938   gtk_container_set_border_width (GTK_CONTAINER (table3), 5);
1939   gtk_table_set_row_spacings (GTK_TABLE (table3), 5);
1940   gtk_table_set_col_spacings (GTK_TABLE (table3), 5);
1941
1942   label24 = gtk_label_new (_("Symbol Rate"));
1943   gtk_widget_ref (label24);
1944   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label24", label24,
1945                             (GtkDestroyNotify) gtk_widget_unref);
1946   gtk_widget_show (label24);
1947   gtk_table_attach (GTK_TABLE (table3), label24, 0, 1, 1, 2,
1948                     (GtkAttachOptions) (GTK_FILL),
1949                     (GtkAttachOptions) (0), 0, 0);
1950   gtk_misc_set_alignment (GTK_MISC (label24), 0, 0.5);
1951
1952   label25 = gtk_label_new (_("Frequency"));
1953   gtk_widget_ref (label25);
1954   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label25", label25,
1955                             (GtkDestroyNotify) gtk_widget_unref);
1956   gtk_widget_show (label25);
1957   gtk_table_attach (GTK_TABLE (table3), label25, 0, 1, 0, 1,
1958                     (GtkAttachOptions) (GTK_FILL),
1959                     (GtkAttachOptions) (0), 0, 0);
1960   gtk_misc_set_alignment (GTK_MISC (label25), 0, 0.5);
1961
1962   label26 = gtk_label_new (_("Polarization"));
1963   gtk_widget_ref (label26);
1964   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label26", label26,
1965                             (GtkDestroyNotify) gtk_widget_unref);
1966   gtk_widget_show (label26);
1967   gtk_table_attach (GTK_TABLE (table3), label26, 0, 1, 2, 3,
1968                     (GtkAttachOptions) (GTK_FILL),
1969                     (GtkAttachOptions) (0), 0, 0);
1970   gtk_misc_set_alignment (GTK_MISC (label26), 0, 0.5);
1971
1972   sat_freq_adj = gtk_adjustment_new (11954, 10000, 12999, 1, 10, 10);
1973   sat_freq = gtk_spin_button_new (GTK_ADJUSTMENT (sat_freq_adj), 1, 0);
1974   gtk_widget_ref (sat_freq);
1975   gtk_object_set_data_full (GTK_OBJECT (intf_open), "sat_freq", sat_freq,
1976                             (GtkDestroyNotify) gtk_widget_unref);
1977   gtk_widget_show (sat_freq);
1978   gtk_table_attach (GTK_TABLE (table3), sat_freq, 1, 2, 0, 1,
1979                     (GtkAttachOptions) (GTK_FILL),
1980                     (GtkAttachOptions) (0), 0, 0);
1981
1982   label27 = gtk_label_new (_("FEC"));
1983   gtk_widget_ref (label27);
1984   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label27", label27,
1985                             (GtkDestroyNotify) gtk_widget_unref);
1986   gtk_widget_show (label27);
1987   gtk_table_attach (GTK_TABLE (table3), label27, 0, 1, 3, 4,
1988                     (GtkAttachOptions) (GTK_FILL),
1989                     (GtkAttachOptions) (0), 0, 0);
1990   gtk_misc_set_alignment (GTK_MISC (label27), 0, 0.5);
1991
1992   hbox23 = gtk_hbox_new (FALSE, 0);
1993   gtk_widget_ref (hbox23);
1994   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox23", hbox23,
1995                             (GtkDestroyNotify) gtk_widget_unref);
1996   gtk_widget_show (hbox23);
1997   gtk_table_attach (GTK_TABLE (table3), hbox23, 1, 2, 2, 3,
1998                     (GtkAttachOptions) (GTK_FILL),
1999                     (GtkAttachOptions) (GTK_FILL), 0, 0);
2000
2001   sat_pol_vert = gtk_radio_button_new_with_label (pol_group, _("Vertical"));
2002   pol_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sat_pol_vert));
2003   gtk_widget_ref (sat_pol_vert);
2004   gtk_object_set_data_full (GTK_OBJECT (intf_open), "sat_pol_vert", sat_pol_vert,
2005                             (GtkDestroyNotify) gtk_widget_unref);
2006   gtk_widget_show (sat_pol_vert);
2007   gtk_box_pack_start (GTK_BOX (hbox23), sat_pol_vert, FALSE, FALSE, 0);
2008
2009   sat_pol_hor = gtk_radio_button_new_with_label (pol_group, _("Horizontal"));
2010   pol_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sat_pol_hor));
2011   gtk_widget_ref (sat_pol_hor);
2012   gtk_object_set_data_full (GTK_OBJECT (intf_open), "sat_pol_hor", sat_pol_hor,
2013                             (GtkDestroyNotify) gtk_widget_unref);
2014   gtk_widget_show (sat_pol_hor);
2015   gtk_box_pack_start (GTK_BOX (hbox23), sat_pol_hor, FALSE, FALSE, 0);
2016
2017   sat_srate_adj = gtk_adjustment_new (27500, 1000, 30000, 1, 10, 10);
2018   sat_srate = gtk_spin_button_new (GTK_ADJUSTMENT (sat_srate_adj), 1, 0);
2019   gtk_widget_ref (sat_srate);
2020   gtk_object_set_data_full (GTK_OBJECT (intf_open), "sat_srate", sat_srate,
2021                             (GtkDestroyNotify) gtk_widget_unref);
2022   gtk_widget_show (sat_srate);
2023   gtk_table_attach (GTK_TABLE (table3), sat_srate, 1, 2, 1, 2,
2024                     (GtkAttachOptions) (GTK_FILL),
2025                     (GtkAttachOptions) (0), 0, 0);
2026
2027   sat_fec = gtk_combo_new ();
2028   gtk_widget_ref (sat_fec);
2029   gtk_object_set_data_full (GTK_OBJECT (intf_open), "sat_fec", sat_fec,
2030                             (GtkDestroyNotify) gtk_widget_unref);
2031   gtk_widget_show (sat_fec);
2032   gtk_table_attach (GTK_TABLE (table3), sat_fec, 1, 2, 3, 4,
2033                     (GtkAttachOptions) (GTK_FILL),
2034                     (GtkAttachOptions) (0), 0, 0);
2035   sat_fec_items = g_list_append (sat_fec_items, (gpointer) "1/2");
2036   sat_fec_items = g_list_append (sat_fec_items, (gpointer) "2/3");
2037   sat_fec_items = g_list_append (sat_fec_items, (gpointer) "3/4");
2038   sat_fec_items = g_list_append (sat_fec_items, (gpointer) "4/5");
2039   sat_fec_items = g_list_append (sat_fec_items, (gpointer) "5/6");
2040   sat_fec_items = g_list_append (sat_fec_items, (gpointer) "7/8");
2041   gtk_combo_set_popdown_strings (GTK_COMBO (sat_fec), sat_fec_items);
2042   g_list_free (sat_fec_items);
2043
2044   combo_entry1 = GTK_COMBO (sat_fec)->entry;
2045   gtk_widget_ref (combo_entry1);
2046   gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo_entry1", combo_entry1,
2047                             (GtkDestroyNotify) gtk_widget_unref);
2048   gtk_widget_show (combo_entry1);
2049   gtk_entry_set_text (GTK_ENTRY (combo_entry1), "3/4");
2050
2051   open_sat = gtk_label_new (_("Satellite"));
2052   gtk_widget_ref (open_sat);
2053   gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_sat", open_sat,
2054                             (GtkDestroyNotify) gtk_widget_unref);
2055   gtk_widget_show (open_sat);
2056   gtk_notebook_set_tab_label (GTK_NOTEBOOK (open_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (open_notebook), 3), open_sat);
2057
2058   dialog_action_area6 = GTK_DIALOG (intf_open)->action_area;
2059   gtk_object_set_data (GTK_OBJECT (intf_open), "dialog_action_area6", dialog_action_area6);
2060   gtk_widget_show (dialog_action_area6);
2061   gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area6), 5);
2062
2063   hbox18 = gtk_hbox_new (TRUE, 5);
2064   gtk_widget_ref (hbox18);
2065   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox18", hbox18,
2066                             (GtkDestroyNotify) gtk_widget_unref);
2067   gtk_widget_show (hbox18);
2068   gtk_box_pack_start (GTK_BOX (dialog_action_area6), hbox18, TRUE, TRUE, 0);
2069
2070   hbox19 = gtk_hbox_new (TRUE, 5);
2071   gtk_widget_ref (hbox19);
2072   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox19", hbox19,
2073                             (GtkDestroyNotify) gtk_widget_unref);
2074   gtk_widget_show (hbox19);
2075   gtk_box_pack_end (GTK_BOX (hbox18), hbox19, FALSE, TRUE, 0);
2076
2077   open_ok = gtk_button_new_with_label (_("OK"));
2078   gtk_widget_ref (open_ok);
2079   gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_ok", open_ok,
2080                             (GtkDestroyNotify) gtk_widget_unref);
2081   gtk_widget_show (open_ok);
2082   gtk_box_pack_start (GTK_BOX (hbox19), open_ok, FALSE, TRUE, 0);
2083
2084   open_cancel = gtk_button_new_with_label (_("Cancel"));
2085   gtk_widget_ref (open_cancel);
2086   gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_cancel", open_cancel,
2087                             (GtkDestroyNotify) gtk_widget_unref);
2088   gtk_widget_show (open_cancel);
2089   gtk_box_pack_start (GTK_BOX (hbox19), open_cancel, FALSE, TRUE, 0);
2090   gtk_widget_add_accelerator (open_cancel, "clicked", accel_group,
2091                               GDK_Escape, 0,
2092                               GTK_ACCEL_VISIBLE);
2093
2094   gtk_signal_connect (GTK_OBJECT (intf_open), "delete_event",
2095                       GTK_SIGNAL_FUNC (gtk_widget_hide),
2096                       NULL);
2097   gtk_signal_connect_after (GTK_OBJECT (open_notebook), "switch_page",
2098                             GTK_SIGNAL_FUNC (GtkOpenNotebookChanged),
2099                             NULL);
2100   gtk_signal_connect (GTK_OBJECT (entry_file), "changed",
2101                       GTK_SIGNAL_FUNC (GtkOpenChanged),
2102                       NULL);
2103   gtk_signal_connect (GTK_OBJECT (open_browse), "clicked",
2104                       GTK_SIGNAL_FUNC (GtkFileShow),
2105                       NULL);
2106   gtk_signal_connect (GTK_OBJECT (disc_chapter), "changed",
2107                       GTK_SIGNAL_FUNC (GtkOpenChanged),
2108                       NULL);
2109   gtk_signal_connect (GTK_OBJECT (disc_dvd), "toggled",
2110                       GTK_SIGNAL_FUNC (GtkDiscOpenDvd),
2111                       NULL);
2112   gtk_signal_connect (GTK_OBJECT (disc_vcd), "toggled",
2113                       GTK_SIGNAL_FUNC (GtkDiscOpenVcd),
2114                       NULL);
2115   gtk_signal_connect (GTK_OBJECT (disc_title), "changed",
2116                       GTK_SIGNAL_FUNC (GtkOpenChanged),
2117                       NULL);
2118   gtk_signal_connect (GTK_OBJECT (disc_name), "changed",
2119                       GTK_SIGNAL_FUNC (GtkOpenChanged),
2120                       NULL);
2121   gtk_signal_connect (GTK_OBJECT (network_udp), "toggled",
2122                       GTK_SIGNAL_FUNC (GtkNetworkOpenUDP),
2123                       NULL);
2124   gtk_signal_connect (GTK_OBJECT (network_multicast), "toggled",
2125                       GTK_SIGNAL_FUNC (GtkNetworkOpenMulticast),
2126                       NULL);
2127   gtk_signal_connect (GTK_OBJECT (network_channel), "toggled",
2128                       GTK_SIGNAL_FUNC (GtkNetworkOpenChannel),
2129                       NULL);
2130   gtk_signal_connect (GTK_OBJECT (network_http), "toggled",
2131                       GTK_SIGNAL_FUNC (GtkNetworkOpenHTTP),
2132                       NULL);
2133   gtk_signal_connect (GTK_OBJECT (network_multicast_address), "changed",
2134                       GTK_SIGNAL_FUNC (GtkOpenChanged),
2135                       NULL);
2136   gtk_signal_connect (GTK_OBJECT (network_channel_address), "changed",
2137                       GTK_SIGNAL_FUNC (GtkOpenChanged),
2138                       NULL);
2139   gtk_signal_connect (GTK_OBJECT (network_multicast_port), "changed",
2140                       GTK_SIGNAL_FUNC (GtkOpenChanged),
2141                       NULL);
2142   gtk_signal_connect (GTK_OBJECT (network_channel_port), "changed",
2143                       GTK_SIGNAL_FUNC (GtkOpenChanged),
2144                       NULL);
2145   gtk_signal_connect (GTK_OBJECT (network_http_url), "changed",
2146                       GTK_SIGNAL_FUNC (GtkOpenChanged),
2147                       NULL);
2148   gtk_signal_connect (GTK_OBJECT (network_udp_port), "changed",
2149                       GTK_SIGNAL_FUNC (GtkOpenChanged),
2150                       NULL);
2151   gtk_signal_connect (GTK_OBJECT (sat_freq), "changed",
2152                       GTK_SIGNAL_FUNC (GtkOpenChanged),
2153                       NULL);
2154   gtk_signal_connect (GTK_OBJECT (sat_pol_vert), "toggled",
2155                       GTK_SIGNAL_FUNC (GtkSatOpenToggle),
2156                       NULL);
2157   gtk_signal_connect (GTK_OBJECT (sat_pol_hor), "toggled",
2158                       GTK_SIGNAL_FUNC (GtkSatOpenToggle),
2159                       NULL);
2160   gtk_signal_connect (GTK_OBJECT (sat_srate), "changed",
2161                       GTK_SIGNAL_FUNC (GtkOpenChanged),
2162                       NULL);
2163   gtk_signal_connect (GTK_OBJECT (combo_entry1), "changed",
2164                       GTK_SIGNAL_FUNC (GtkOpenChanged),
2165                       NULL);
2166   gtk_signal_connect (GTK_OBJECT (open_ok), "clicked",
2167                       GTK_SIGNAL_FUNC (GtkOpenOk),
2168                       NULL);
2169   gtk_signal_connect (GTK_OBJECT (open_cancel), "clicked",
2170                       GTK_SIGNAL_FUNC (GtkOpenCancel),
2171                       NULL);
2172
2173   gtk_window_add_accel_group (GTK_WINDOW (intf_open), accel_group);
2174
2175   return intf_open;
2176 }
2177
2178 GtkWidget*
2179 create_intf_file (void)
2180 {
2181   GtkWidget *intf_file;
2182   GtkWidget *file_ok;
2183   GtkWidget *file_cancel;
2184
2185   intf_file = gtk_file_selection_new (_("Select File"));
2186   gtk_object_set_data (GTK_OBJECT (intf_file), "intf_file", intf_file);
2187   gtk_container_set_border_width (GTK_CONTAINER (intf_file), 10);
2188   gtk_window_set_modal (GTK_WINDOW (intf_file), TRUE);
2189
2190   file_ok = GTK_FILE_SELECTION (intf_file)->ok_button;
2191   gtk_object_set_data (GTK_OBJECT (intf_file), "file_ok", file_ok);
2192   gtk_widget_show (file_ok);
2193   GTK_WIDGET_SET_FLAGS (file_ok, GTK_CAN_DEFAULT);
2194
2195   file_cancel = GTK_FILE_SELECTION (intf_file)->cancel_button;
2196   gtk_object_set_data (GTK_OBJECT (intf_file), "file_cancel", file_cancel);
2197   gtk_widget_show (file_cancel);
2198   GTK_WIDGET_SET_FLAGS (file_cancel, GTK_CAN_DEFAULT);
2199
2200   gtk_signal_connect (GTK_OBJECT (file_ok), "clicked",
2201                       GTK_SIGNAL_FUNC (GtkFileOk),
2202                       NULL);
2203   gtk_signal_connect (GTK_OBJECT (file_cancel), "clicked",
2204                       GTK_SIGNAL_FUNC (GtkFileCancel),
2205                       NULL);
2206
2207   return intf_file;
2208 }
2209
2210 GtkWidget*
2211 create_intf_jump (void)
2212 {
2213   GtkWidget *intf_jump;
2214   GtkWidget *dialog_vbox3;
2215   GtkWidget *jump_frame;
2216   GtkWidget *hbox13;
2217   GtkWidget *jump_second_label;
2218   GtkObject *jump_second_spinbutton_adj;
2219   GtkWidget *jump_second_spinbutton;
2220   GtkWidget *jump_minute_label;
2221   GtkObject *jump_minute_spinbutton_adj;
2222   GtkWidget *jump_minute_spinbutton;
2223   GtkWidget *jump_hour_label;
2224   GtkObject *jump_hour_spinbutton_adj;
2225   GtkWidget *jump_hour_spinbutton;
2226   GtkWidget *dialog_action_area2;
2227   GtkWidget *jump_ok_button;
2228   GtkWidget *jump_cancel_button;
2229
2230   intf_jump = gtk_dialog_new ();
2231   gtk_object_set_data (GTK_OBJECT (intf_jump), "intf_jump", intf_jump);
2232   gtk_window_set_title (GTK_WINDOW (intf_jump), _("Jump"));
2233   gtk_window_set_policy (GTK_WINDOW (intf_jump), TRUE, TRUE, FALSE);
2234
2235   dialog_vbox3 = GTK_DIALOG (intf_jump)->vbox;
2236   gtk_object_set_data (GTK_OBJECT (intf_jump), "dialog_vbox3", dialog_vbox3);
2237   gtk_widget_show (dialog_vbox3);
2238
2239   jump_frame = gtk_frame_new (_("Go to:"));
2240   gtk_widget_ref (jump_frame);
2241   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_frame", jump_frame,
2242                             (GtkDestroyNotify) gtk_widget_unref);
2243   gtk_widget_show (jump_frame);
2244   gtk_box_pack_start (GTK_BOX (dialog_vbox3), jump_frame, TRUE, TRUE, 0);
2245   gtk_container_set_border_width (GTK_CONTAINER (jump_frame), 5);
2246   gtk_frame_set_label_align (GTK_FRAME (jump_frame), 0.05, 0.5);
2247
2248   hbox13 = gtk_hbox_new (FALSE, 0);
2249   gtk_widget_ref (hbox13);
2250   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "hbox13", hbox13,
2251                             (GtkDestroyNotify) gtk_widget_unref);
2252   gtk_widget_show (hbox13);
2253   gtk_container_add (GTK_CONTAINER (jump_frame), hbox13);
2254
2255   jump_second_label = gtk_label_new (_("s."));
2256   gtk_widget_ref (jump_second_label);
2257   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_second_label", jump_second_label,
2258                             (GtkDestroyNotify) gtk_widget_unref);
2259   gtk_widget_show (jump_second_label);
2260   gtk_box_pack_end (GTK_BOX (hbox13), jump_second_label, FALSE, FALSE, 5);
2261
2262   jump_second_spinbutton_adj = gtk_adjustment_new (0, 0, 60, 1, 10, 10);
2263   jump_second_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (jump_second_spinbutton_adj), 1, 0);
2264   gtk_widget_ref (jump_second_spinbutton);
2265   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_second_spinbutton", jump_second_spinbutton,
2266                             (GtkDestroyNotify) gtk_widget_unref);
2267   gtk_widget_show (jump_second_spinbutton);
2268   gtk_box_pack_end (GTK_BOX (hbox13), jump_second_spinbutton, FALSE, TRUE, 0);
2269
2270   jump_minute_label = gtk_label_new (_("m:"));
2271   gtk_widget_ref (jump_minute_label);
2272   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_minute_label", jump_minute_label,
2273                             (GtkDestroyNotify) gtk_widget_unref);
2274   gtk_widget_show (jump_minute_label);
2275   gtk_box_pack_end (GTK_BOX (hbox13), jump_minute_label, FALSE, FALSE, 5);
2276
2277   jump_minute_spinbutton_adj = gtk_adjustment_new (0, 0, 60, 1, 10, 10);
2278   jump_minute_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (jump_minute_spinbutton_adj), 1, 0);
2279   gtk_widget_ref (jump_minute_spinbutton);
2280   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_minute_spinbutton", jump_minute_spinbutton,
2281                             (GtkDestroyNotify) gtk_widget_unref);
2282   gtk_widget_show (jump_minute_spinbutton);
2283   gtk_box_pack_end (GTK_BOX (hbox13), jump_minute_spinbutton, FALSE, TRUE, 0);
2284
2285   jump_hour_label = gtk_label_new (_("h:"));
2286   gtk_widget_ref (jump_hour_label);
2287   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_hour_label", jump_hour_label,
2288                             (GtkDestroyNotify) gtk_widget_unref);
2289   gtk_widget_show (jump_hour_label);
2290   gtk_box_pack_end (GTK_BOX (hbox13), jump_hour_label, FALSE, FALSE, 5);
2291
2292   jump_hour_spinbutton_adj = gtk_adjustment_new (0, 0, 12, 1, 10, 10);
2293   jump_hour_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (jump_hour_spinbutton_adj), 1, 0);
2294   gtk_widget_ref (jump_hour_spinbutton);
2295   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_hour_spinbutton", jump_hour_spinbutton,
2296                             (GtkDestroyNotify) gtk_widget_unref);
2297   gtk_widget_show (jump_hour_spinbutton);
2298   gtk_box_pack_end (GTK_BOX (hbox13), jump_hour_spinbutton, FALSE, TRUE, 0);
2299
2300   dialog_action_area2 = GTK_DIALOG (intf_jump)->action_area;
2301   gtk_object_set_data (GTK_OBJECT (intf_jump), "dialog_action_area2", dialog_action_area2);
2302   gtk_widget_show (dialog_action_area2);
2303   gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area2), 10);
2304
2305   jump_ok_button = gtk_button_new_with_label (_("OK"));
2306   gtk_widget_ref (jump_ok_button);
2307   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_ok_button", jump_ok_button,
2308                             (GtkDestroyNotify) gtk_widget_unref);
2309   gtk_widget_show (jump_ok_button);
2310   gtk_box_pack_start (GTK_BOX (dialog_action_area2), jump_ok_button, TRUE, TRUE, 0);
2311
2312   jump_cancel_button = gtk_button_new_with_label (_("Cancel"));
2313   gtk_widget_ref (jump_cancel_button);
2314   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_cancel_button", jump_cancel_button,
2315                             (GtkDestroyNotify) gtk_widget_unref);
2316   gtk_widget_show (jump_cancel_button);
2317   gtk_box_pack_start (GTK_BOX (dialog_action_area2), jump_cancel_button, TRUE, TRUE, 0);
2318
2319   gtk_signal_connect (GTK_OBJECT (jump_ok_button), "clicked",
2320                       GTK_SIGNAL_FUNC (GtkJumpOk),
2321                       NULL);
2322   gtk_signal_connect (GTK_OBJECT (jump_cancel_button), "clicked",
2323                       GTK_SIGNAL_FUNC (GtkJumpCancel),
2324                       NULL);
2325
2326   return intf_jump;
2327 }
2328
2329 GtkWidget*
2330 create_intf_playlist (void)
2331 {
2332   GtkWidget *intf_playlist;
2333   GtkWidget *dialog_vbox4;
2334   GtkWidget *playlist_menubar;
2335   GtkWidget *playlist_add;
2336   GtkWidget *playlist_add_menu;
2337   GtkAccelGroup *playlist_add_menu_accels;
2338   GtkWidget *playlist_add_disc;
2339   GtkWidget *playlist_add_file;
2340   GtkWidget *playlist_add_network;
2341   GtkWidget *playlist_add_url;
2342   GtkWidget *playlist_delete;
2343   GtkWidget *playlist_delete_menu;
2344   GtkAccelGroup *playlist_delete_menu_accels;
2345   GtkWidget *playlist_delete_all;
2346   GtkWidget *playlist_delete_selected;
2347   GtkWidget *playlist_selection;
2348   GtkWidget *playlist_selection_menu;
2349   GtkAccelGroup *playlist_selection_menu_accels;
2350   guint tmp_key;
2351   GtkWidget *playlist_selection_crop;
2352   GtkWidget *playlist_selection_invert;
2353   GtkWidget *playlist_selection_select;
2354   GtkWidget *scrolledwindow1;
2355   GtkWidget *playlist_clist;
2356   GtkWidget *label22;
2357   GtkWidget *label23;
2358   GtkWidget *dialog_action_area3;
2359   GtkWidget *playlist_ok_button;
2360   GtkWidget *playlist_cancel_button;
2361
2362   intf_playlist = gtk_dialog_new ();
2363   gtk_object_set_data (GTK_OBJECT (intf_playlist), "intf_playlist", intf_playlist);
2364   gtk_window_set_title (GTK_WINDOW (intf_playlist), _("Playlist"));
2365   gtk_window_set_default_size (GTK_WINDOW (intf_playlist), 400, 300);
2366   gtk_window_set_policy (GTK_WINDOW (intf_playlist), TRUE, TRUE, FALSE);
2367
2368   dialog_vbox4 = GTK_DIALOG (intf_playlist)->vbox;
2369   gtk_object_set_data (GTK_OBJECT (intf_playlist), "dialog_vbox4", dialog_vbox4);
2370   gtk_widget_show (dialog_vbox4);
2371
2372   playlist_menubar = gtk_menu_bar_new ();
2373   gtk_widget_ref (playlist_menubar);
2374   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_menubar", playlist_menubar,
2375                             (GtkDestroyNotify) gtk_widget_unref);
2376   gtk_widget_show (playlist_menubar);
2377   gtk_box_pack_start (GTK_BOX (dialog_vbox4), playlist_menubar, FALSE, FALSE, 0);
2378
2379   playlist_add = gtk_menu_item_new_with_label (_("Add"));
2380   gtk_widget_ref (playlist_add);
2381   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add", playlist_add,
2382                             (GtkDestroyNotify) gtk_widget_unref);
2383   gtk_widget_show (playlist_add);
2384   gtk_container_add (GTK_CONTAINER (playlist_menubar), playlist_add);
2385
2386   playlist_add_menu = gtk_menu_new ();
2387   gtk_widget_ref (playlist_add_menu);
2388   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_menu", playlist_add_menu,
2389                             (GtkDestroyNotify) gtk_widget_unref);
2390   gtk_menu_item_set_submenu (GTK_MENU_ITEM (playlist_add), playlist_add_menu);
2391   playlist_add_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (playlist_add_menu));
2392
2393   playlist_add_disc = gtk_menu_item_new_with_label (_("Disc"));
2394   gtk_widget_ref (playlist_add_disc);
2395   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_disc", playlist_add_disc,
2396                             (GtkDestroyNotify) gtk_widget_unref);
2397   gtk_widget_show (playlist_add_disc);
2398   gtk_container_add (GTK_CONTAINER (playlist_add_menu), playlist_add_disc);
2399
2400   playlist_add_file = gtk_menu_item_new_with_label (_("File"));
2401   gtk_widget_ref (playlist_add_file);
2402   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_file", playlist_add_file,
2403                             (GtkDestroyNotify) gtk_widget_unref);
2404   gtk_widget_show (playlist_add_file);
2405   gtk_container_add (GTK_CONTAINER (playlist_add_menu), playlist_add_file);
2406
2407   playlist_add_network = gtk_menu_item_new_with_label (_("Network"));
2408   gtk_widget_ref (playlist_add_network);
2409   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_network", playlist_add_network,
2410                             (GtkDestroyNotify) gtk_widget_unref);
2411   gtk_widget_show (playlist_add_network);
2412   gtk_container_add (GTK_CONTAINER (playlist_add_menu), playlist_add_network);
2413
2414   playlist_add_url = gtk_menu_item_new_with_label (_("Url"));
2415   gtk_widget_ref (playlist_add_url);
2416   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_url", playlist_add_url,
2417                             (GtkDestroyNotify) gtk_widget_unref);
2418   gtk_widget_show (playlist_add_url);
2419   gtk_container_add (GTK_CONTAINER (playlist_add_menu), playlist_add_url);
2420
2421   playlist_delete = gtk_menu_item_new_with_label (_("Delete"));
2422   gtk_widget_ref (playlist_delete);
2423   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_delete", playlist_delete,
2424                             (GtkDestroyNotify) gtk_widget_unref);
2425   gtk_widget_show (playlist_delete);
2426   gtk_container_add (GTK_CONTAINER (playlist_menubar), playlist_delete);
2427
2428   playlist_delete_menu = gtk_menu_new ();
2429   gtk_widget_ref (playlist_delete_menu);
2430   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_delete_menu", playlist_delete_menu,
2431                             (GtkDestroyNotify) gtk_widget_unref);
2432   gtk_menu_item_set_submenu (GTK_MENU_ITEM (playlist_delete), playlist_delete_menu);
2433   playlist_delete_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (playlist_delete_menu));
2434
2435   playlist_delete_all = gtk_menu_item_new_with_label (_("All"));
2436   gtk_widget_ref (playlist_delete_all);
2437   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_delete_all", playlist_delete_all,
2438                             (GtkDestroyNotify) gtk_widget_unref);
2439   gtk_widget_show (playlist_delete_all);
2440   gtk_container_add (GTK_CONTAINER (playlist_delete_menu), playlist_delete_all);
2441
2442   playlist_delete_selected = gtk_menu_item_new_with_label (_("Selected"));
2443   gtk_widget_ref (playlist_delete_selected);
2444   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_delete_selected", playlist_delete_selected,
2445                             (GtkDestroyNotify) gtk_widget_unref);
2446   gtk_widget_show (playlist_delete_selected);
2447   gtk_container_add (GTK_CONTAINER (playlist_delete_menu), playlist_delete_selected);
2448
2449   playlist_selection = gtk_menu_item_new_with_label (_("Selection"));
2450   gtk_widget_ref (playlist_selection);
2451   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection", playlist_selection,
2452                             (GtkDestroyNotify) gtk_widget_unref);
2453   gtk_widget_show (playlist_selection);
2454   gtk_container_add (GTK_CONTAINER (playlist_menubar), playlist_selection);
2455
2456   playlist_selection_menu = gtk_menu_new ();
2457   gtk_widget_ref (playlist_selection_menu);
2458   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection_menu", playlist_selection_menu,
2459                             (GtkDestroyNotify) gtk_widget_unref);
2460   gtk_menu_item_set_submenu (GTK_MENU_ITEM (playlist_selection), playlist_selection_menu);
2461   playlist_selection_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (playlist_selection_menu));
2462
2463   playlist_selection_crop = gtk_menu_item_new_with_label ("");
2464   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (playlist_selection_crop)->child),
2465                                    _("_Crop"));
2466   gtk_widget_add_accelerator (playlist_selection_crop, "activate_item", playlist_selection_menu_accels,
2467                               tmp_key, 0, 0);
2468   gtk_widget_ref (playlist_selection_crop);
2469   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection_crop", playlist_selection_crop,
2470                             (GtkDestroyNotify) gtk_widget_unref);
2471   gtk_widget_show (playlist_selection_crop);
2472   gtk_container_add (GTK_CONTAINER (playlist_selection_menu), playlist_selection_crop);
2473
2474   playlist_selection_invert = gtk_menu_item_new_with_label ("");
2475   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (playlist_selection_invert)->child),
2476                                    _("_Invert"));
2477   gtk_widget_add_accelerator (playlist_selection_invert, "activate_item", playlist_selection_menu_accels,
2478                               tmp_key, 0, 0);
2479   gtk_widget_ref (playlist_selection_invert);
2480   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection_invert", playlist_selection_invert,
2481                             (GtkDestroyNotify) gtk_widget_unref);
2482   gtk_widget_show (playlist_selection_invert);
2483   gtk_container_add (GTK_CONTAINER (playlist_selection_menu), playlist_selection_invert);
2484
2485   playlist_selection_select = gtk_menu_item_new_with_label ("");
2486   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (playlist_selection_select)->child),
2487                                    _("_Select"));
2488   gtk_widget_add_accelerator (playlist_selection_select, "activate_item", playlist_selection_menu_accels,
2489                               tmp_key, 0, 0);
2490   gtk_widget_ref (playlist_selection_select);
2491   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection_select", playlist_selection_select,
2492                             (GtkDestroyNotify) gtk_widget_unref);
2493   gtk_widget_show (playlist_selection_select);
2494   gtk_container_add (GTK_CONTAINER (playlist_selection_menu), playlist_selection_select);
2495
2496   scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL);
2497   gtk_widget_ref (scrolledwindow1);
2498   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "scrolledwindow1", scrolledwindow1,
2499                             (GtkDestroyNotify) gtk_widget_unref);
2500   gtk_widget_show (scrolledwindow1);
2501   gtk_box_pack_start (GTK_BOX (dialog_vbox4), scrolledwindow1, TRUE, TRUE, 0);
2502   gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
2503
2504   playlist_clist = gtk_clist_new (2);
2505   gtk_widget_ref (playlist_clist);
2506   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_clist", playlist_clist,
2507                             (GtkDestroyNotify) gtk_widget_unref);
2508   gtk_widget_show (playlist_clist);
2509   gtk_container_add (GTK_CONTAINER (scrolledwindow1), playlist_clist);
2510   gtk_container_set_border_width (GTK_CONTAINER (playlist_clist), 5);
2511   gtk_clist_set_column_width (GTK_CLIST (playlist_clist), 0, 257);
2512   gtk_clist_set_column_width (GTK_CLIST (playlist_clist), 1, 80);
2513   gtk_clist_set_selection_mode (GTK_CLIST (playlist_clist), GTK_SELECTION_EXTENDED);
2514   gtk_clist_column_titles_show (GTK_CLIST (playlist_clist));
2515   gtk_clist_set_shadow_type (GTK_CLIST (playlist_clist), GTK_SHADOW_OUT);
2516
2517   label22 = gtk_label_new (_("File"));
2518   gtk_widget_ref (label22);
2519   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "label22", label22,
2520                             (GtkDestroyNotify) gtk_widget_unref);
2521   gtk_widget_show (label22);
2522   gtk_clist_set_column_widget (GTK_CLIST (playlist_clist), 0, label22);
2523
2524   label23 = gtk_label_new (_("Duration"));
2525   gtk_widget_ref (label23);
2526   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "label23", label23,
2527                             (GtkDestroyNotify) gtk_widget_unref);
2528   gtk_widget_show (label23);
2529   gtk_clist_set_column_widget (GTK_CLIST (playlist_clist), 1, label23);
2530
2531   dialog_action_area3 = GTK_DIALOG (intf_playlist)->action_area;
2532   gtk_object_set_data (GTK_OBJECT (intf_playlist), "dialog_action_area3", dialog_action_area3);
2533   gtk_widget_show (dialog_action_area3);
2534   gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area3), 10);
2535
2536   playlist_ok_button = gtk_button_new_with_label (_("OK"));
2537   gtk_widget_ref (playlist_ok_button);
2538   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_ok_button", playlist_ok_button,
2539                             (GtkDestroyNotify) gtk_widget_unref);
2540   gtk_widget_show (playlist_ok_button);
2541   gtk_box_pack_start (GTK_BOX (dialog_action_area3), playlist_ok_button, TRUE, TRUE, 0);
2542
2543   playlist_cancel_button = gtk_button_new_with_label (_("Cancel"));
2544   gtk_widget_ref (playlist_cancel_button);
2545   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_cancel_button", playlist_cancel_button,
2546                             (GtkDestroyNotify) gtk_widget_unref);
2547   gtk_widget_show (playlist_cancel_button);
2548   gtk_box_pack_start (GTK_BOX (dialog_action_area3), playlist_cancel_button, TRUE, TRUE, 0);
2549
2550   gtk_signal_connect (GTK_OBJECT (intf_playlist), "destroy",
2551                       GTK_SIGNAL_FUNC (gtk_widget_hide),
2552                       NULL);
2553   gtk_signal_connect (GTK_OBJECT (intf_playlist), "delete_event",
2554                       GTK_SIGNAL_FUNC (gtk_widget_hide),
2555                       NULL);
2556   gtk_signal_connect (GTK_OBJECT (playlist_add_disc), "activate",
2557                       GTK_SIGNAL_FUNC (GtkDiscOpenShow),
2558                       NULL);
2559   gtk_signal_connect (GTK_OBJECT (playlist_add_file), "activate",
2560                       GTK_SIGNAL_FUNC (GtkFileOpenShow),
2561                       NULL);
2562   gtk_signal_connect (GTK_OBJECT (playlist_add_network), "activate",
2563                       GTK_SIGNAL_FUNC (GtkNetworkOpenShow),
2564                       NULL);
2565   gtk_signal_connect (GTK_OBJECT (playlist_add_url), "activate",
2566                       GTK_SIGNAL_FUNC (GtkPlaylistAddUrl),
2567                       NULL);
2568   gtk_signal_connect (GTK_OBJECT (playlist_delete_all), "activate",
2569                       GTK_SIGNAL_FUNC (GtkPlaylistDeleteAll),
2570                       NULL);
2571   gtk_signal_connect (GTK_OBJECT (playlist_delete_selected), "activate",
2572                       GTK_SIGNAL_FUNC (GtkPlaylistDeleteSelected),
2573                       NULL);
2574   gtk_signal_connect (GTK_OBJECT (playlist_selection_crop), "activate",
2575                       GTK_SIGNAL_FUNC (GtkPlaylistCrop),
2576                       NULL);
2577   gtk_signal_connect (GTK_OBJECT (playlist_selection_invert), "activate",
2578                       GTK_SIGNAL_FUNC (GtkPlaylistInvert),
2579                       NULL);
2580   gtk_signal_connect (GTK_OBJECT (playlist_selection_select), "activate",
2581                       GTK_SIGNAL_FUNC (GtkPlaylistSelect),
2582                       NULL);
2583   gtk_signal_connect (GTK_OBJECT (playlist_clist), "event",
2584                       GTK_SIGNAL_FUNC (GtkPlaylistEvent),
2585                       NULL);
2586   gtk_signal_connect (GTK_OBJECT (playlist_clist), "drag_data_received",
2587                       GTK_SIGNAL_FUNC (GtkPlaylistDragData),
2588                       NULL);
2589   gtk_signal_connect (GTK_OBJECT (playlist_clist), "drag_motion",
2590                       GTK_SIGNAL_FUNC (GtkPlaylistDragMotion),
2591                       NULL);
2592   gtk_signal_connect (GTK_OBJECT (playlist_ok_button), "clicked",
2593                       GTK_SIGNAL_FUNC (GtkPlaylistOk),
2594                       NULL);
2595   gtk_signal_connect (GTK_OBJECT (playlist_cancel_button), "clicked",
2596                       GTK_SIGNAL_FUNC (GtkPlaylistCancel),
2597                       NULL);
2598
2599   return intf_playlist;
2600 }
2601
2602 GtkWidget*
2603 create_intf_messages (void)
2604 {
2605   GtkWidget *intf_messages;
2606   GtkWidget *dialog_vbox6;
2607   GtkWidget *scrolledwindow2;
2608   GtkWidget *messages_textbox;
2609   GtkWidget *dialog_action_area5;
2610   GtkWidget *messages_ok;
2611
2612   intf_messages = gtk_dialog_new ();
2613   gtk_object_set_data (GTK_OBJECT (intf_messages), "intf_messages", intf_messages);
2614   gtk_window_set_title (GTK_WINDOW (intf_messages), _("Messages"));
2615   gtk_window_set_default_size (GTK_WINDOW (intf_messages), 600, 400);
2616   gtk_window_set_policy (GTK_WINDOW (intf_messages), TRUE, TRUE, FALSE);
2617
2618   dialog_vbox6 = GTK_DIALOG (intf_messages)->vbox;
2619   gtk_object_set_data (GTK_OBJECT (intf_messages), "dialog_vbox6", dialog_vbox6);
2620   gtk_widget_show (dialog_vbox6);
2621
2622   scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL);
2623   gtk_widget_ref (scrolledwindow2);
2624   gtk_object_set_data_full (GTK_OBJECT (intf_messages), "scrolledwindow2", scrolledwindow2,
2625                             (GtkDestroyNotify) gtk_widget_unref);
2626   gtk_widget_show (scrolledwindow2);
2627   gtk_box_pack_start (GTK_BOX (dialog_vbox6), scrolledwindow2, TRUE, TRUE, 0);
2628   gtk_container_set_border_width (GTK_CONTAINER (scrolledwindow2), 5);
2629   gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow2), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
2630
2631   messages_textbox = gtk_text_new (NULL, NULL);
2632   gtk_widget_ref (messages_textbox);
2633   gtk_object_set_data_full (GTK_OBJECT (intf_messages), "messages_textbox", messages_textbox,
2634                             (GtkDestroyNotify) gtk_widget_unref);
2635   gtk_widget_show (messages_textbox);
2636   gtk_container_add (GTK_CONTAINER (scrolledwindow2), messages_textbox);
2637
2638   dialog_action_area5 = GTK_DIALOG (intf_messages)->action_area;
2639   gtk_object_set_data (GTK_OBJECT (intf_messages), "dialog_action_area5", dialog_action_area5);
2640   gtk_widget_show (dialog_action_area5);
2641   gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area5), 5);
2642
2643   messages_ok = gtk_button_new_with_label (_("OK"));
2644   gtk_widget_ref (messages_ok);
2645   gtk_object_set_data_full (GTK_OBJECT (intf_messages), "messages_ok", messages_ok,
2646                             (GtkDestroyNotify) gtk_widget_unref);
2647   gtk_widget_show (messages_ok);
2648   gtk_box_pack_start (GTK_BOX (dialog_action_area5), messages_ok, FALSE, TRUE, 0);
2649   GTK_WIDGET_SET_FLAGS (messages_ok, GTK_CAN_DEFAULT);
2650
2651   gtk_signal_connect (GTK_OBJECT (intf_messages), "delete_event",
2652                       GTK_SIGNAL_FUNC (GtkMessagesDelete),
2653                       NULL);
2654   gtk_signal_connect (GTK_OBJECT (messages_ok), "clicked",
2655                       GTK_SIGNAL_FUNC (GtkMessagesOk),
2656                       NULL);
2657
2658   gtk_widget_grab_default (messages_ok);
2659   return intf_messages;
2660 }
2661