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