]> git.sesse.net Git - vlc/blob - plugins/gtk/gtk_interface.c
* Got rid of the DVD_DEVICE macro. We now use the dvd_device config option.
[vlc] / plugins / gtk / gtk_interface.c
1 /* This file was created automatically by glade and fixed by fixfiles.sh */
2
3 #include <videolan/vlc.h>
4
5 #include <sys/types.h>
6 #include <sys/stat.h>
7 #include <unistd.h>
8 #include <string.h>
9
10 #include <gdk/gdkkeysyms.h>
11 #include <gtk/gtk.h>
12
13 #include "gtk_callbacks.h"
14 #include "gtk_interface.h"
15 #include "gtk_support.h"
16
17 GtkWidget*
18 create_intf_window (void)
19 {
20   GtkWidget *intf_window;
21   GtkWidget *window_vbox;
22   GtkWidget *menubar_handlebox;
23   GtkWidget *menubar;
24   guint tmp_key;
25   GtkWidget *menubar_file;
26   GtkWidget *menubar_file_menu;
27   GtkAccelGroup *menubar_file_menu_accels;
28   GtkWidget *menubar_open;
29   GtkWidget *menubar_disc;
30   GtkWidget *menubar_network;
31   GtkWidget *separator4;
32   GtkWidget *menubar_eject;
33   GtkWidget *separator14;
34   GtkWidget *menubar_exit;
35   GtkWidget *menubar_view;
36   GtkWidget *menubar_view_menu;
37   GtkAccelGroup *menubar_view_menu_accels;
38   GtkWidget *menubar_interface_hide;
39   GtkWidget *menubar_fullscreen;
40   GtkWidget *separator13;
41   GtkWidget *menubar_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 plugin 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 language"), 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 sub-title"), 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 Backwards"), 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   gtk_widget_set_usize (intf_statusbar, 500, -2);
819
820   gtk_signal_connect (GTK_OBJECT (intf_window), "drag_data_received",
821                       GTK_SIGNAL_FUNC (GtkWindowDrag),
822                       "intf_window");
823   gtk_signal_connect (GTK_OBJECT (intf_window), "delete_event",
824                       GTK_SIGNAL_FUNC (GtkWindowDelete),
825                       "intf_window");
826   gtk_signal_connect (GTK_OBJECT (menubar_open), "activate",
827                       GTK_SIGNAL_FUNC (GtkFileOpenActivate),
828                       "intf_window");
829   gtk_signal_connect (GTK_OBJECT (menubar_disc), "activate",
830                       GTK_SIGNAL_FUNC (GtkDiscOpenActivate),
831                       "intf_window");
832   gtk_signal_connect (GTK_OBJECT (menubar_network), "activate",
833                       GTK_SIGNAL_FUNC (GtkNetworkOpenActivate),
834                       "intf_window");
835   gtk_signal_connect (GTK_OBJECT (menubar_eject), "activate",
836                       GTK_SIGNAL_FUNC (GtkEjectDiscActivate),
837                       "intf_window");
838   gtk_signal_connect (GTK_OBJECT (menubar_exit), "activate",
839                       GTK_SIGNAL_FUNC (GtkExitActivate),
840                       "intf_window");
841   gtk_signal_connect (GTK_OBJECT (menubar_interface_hide), "activate",
842                       GTK_SIGNAL_FUNC (GtkWindowToggleActivate),
843                       "intf_window");
844   gtk_signal_connect (GTK_OBJECT (menubar_fullscreen), "activate",
845                       GTK_SIGNAL_FUNC (GtkFullscreenActivate),
846                       "intf_window");
847   gtk_signal_connect (GTK_OBJECT (menubar_playlist), "activate",
848                       GTK_SIGNAL_FUNC (GtkPlaylistActivate),
849                       "intf_window");
850   gtk_signal_connect (GTK_OBJECT (menubar_modules), "activate",
851                       GTK_SIGNAL_FUNC (GtkModulesActivate),
852                       "intf_window");
853   gtk_signal_connect (GTK_OBJECT (menubar_messages), "activate",
854                       GTK_SIGNAL_FUNC (GtkMessagesActivate),
855                       "intf_window");
856   gtk_signal_connect (GTK_OBJECT (menubar_preferences), "activate",
857                       GTK_SIGNAL_FUNC (GtkPreferencesActivate),
858                       "intf_window");
859   gtk_signal_connect (GTK_OBJECT (menubar_about), "activate",
860                       GTK_SIGNAL_FUNC (GtkAboutActivate),
861                       "intf_window");
862   gtk_signal_connect (GTK_OBJECT (toolbar_open), "button_press_event",
863                       GTK_SIGNAL_FUNC (GtkFileOpenShow),
864                       "intf_window");
865   gtk_signal_connect (GTK_OBJECT (toolbar_disc), "button_press_event",
866                       GTK_SIGNAL_FUNC (GtkDiscOpenShow),
867                       "intf_window");
868   gtk_signal_connect (GTK_OBJECT (toolbar_network), "button_press_event",
869                       GTK_SIGNAL_FUNC (GtkNetworkOpenShow),
870                       "intf_window");
871   gtk_signal_connect (GTK_OBJECT (toolbar_sat), "button_press_event",
872                       GTK_SIGNAL_FUNC (GtkSatOpenShow),
873                       "intf_window");
874   gtk_signal_connect (GTK_OBJECT (toolbar_back), "button_press_event",
875                       GTK_SIGNAL_FUNC (GtkControlBack),
876                       "intf_window");
877   gtk_signal_connect (GTK_OBJECT (toolbar_stop), "button_press_event",
878                       GTK_SIGNAL_FUNC (GtkControlStop),
879                       "intf_window");
880   gtk_signal_connect (GTK_OBJECT (toolbar_eject), "button_press_event",
881                       GTK_SIGNAL_FUNC (GtkDiscEject),
882                       "intf_window");
883   gtk_signal_connect (GTK_OBJECT (toolbar_play), "button_press_event",
884                       GTK_SIGNAL_FUNC (GtkControlPlay),
885                       "intf_window");
886   gtk_signal_connect (GTK_OBJECT (toolbar_pause), "button_press_event",
887                       GTK_SIGNAL_FUNC (GtkControlPause),
888                       "intf_window");
889   gtk_signal_connect (GTK_OBJECT (toolbar_slow), "button_press_event",
890                       GTK_SIGNAL_FUNC (GtkControlSlow),
891                       "intf_window");
892   gtk_signal_connect (GTK_OBJECT (toolbar_fast), "button_press_event",
893                       GTK_SIGNAL_FUNC (GtkControlFast),
894                       "intf_window");
895   gtk_signal_connect (GTK_OBJECT (toolbar_playlist), "button_press_event",
896                       GTK_SIGNAL_FUNC (GtkPlaylistShow),
897                       "intf_window");
898   gtk_signal_connect (GTK_OBJECT (toolbar_prev), "button_press_event",
899                       GTK_SIGNAL_FUNC (GtkPlaylistPrev),
900                       "intf_window");
901   gtk_signal_connect (GTK_OBJECT (toolbar_next), "button_press_event",
902                       GTK_SIGNAL_FUNC (GtkPlaylistNext),
903                       "intf_window");
904   gtk_signal_connect (GTK_OBJECT (slider), "button_release_event",
905                       GTK_SIGNAL_FUNC (GtkSliderRelease),
906                       "intf_window");
907   gtk_signal_connect (GTK_OBJECT (slider), "button_press_event",
908                       GTK_SIGNAL_FUNC (GtkSliderPress),
909                       "intf_window");
910   gtk_signal_connect (GTK_OBJECT (title_prev_button), "clicked",
911                       GTK_SIGNAL_FUNC (GtkTitlePrev),
912                       "intf_window");
913   gtk_signal_connect (GTK_OBJECT (title_next_button), "clicked",
914                       GTK_SIGNAL_FUNC (GtkTitleNext),
915                       "intf_window");
916   gtk_signal_connect (GTK_OBJECT (chapter_prev_button), "clicked",
917                       GTK_SIGNAL_FUNC (GtkChapterPrev),
918                       "intf_window");
919   gtk_signal_connect (GTK_OBJECT (chapter_next_button), "clicked",
920                       GTK_SIGNAL_FUNC (GtkChapterNext),
921                       "intf_window");
922   gtk_signal_connect (GTK_OBJECT (network_channel_spinbutton), "activate",
923                       GTK_SIGNAL_FUNC (GtkNetworkJoin),
924                       "intf_window");
925   gtk_signal_connect (GTK_OBJECT (network_channel_go_button), "clicked",
926                       GTK_SIGNAL_FUNC (GtkChannelGo),
927                       "intf_window");
928
929   gtk_object_set_data (GTK_OBJECT (intf_window), "tooltips", tooltips);
930
931   gtk_window_add_accel_group (GTK_WINDOW (intf_window), accel_group);
932
933   return intf_window;
934 }
935
936 GtkWidget*
937 create_intf_popup (void)
938 {
939   GtkWidget *intf_popup;
940   GtkAccelGroup *intf_popup_accels;
941   guint tmp_key;
942   GtkWidget *popup_play;
943   GtkWidget *popup_pause;
944   GtkWidget *popup_stop;
945   GtkWidget *popup_back;
946   GtkWidget *popup_slow;
947   GtkWidget *popup_fast;
948   GtkWidget *separator6;
949   GtkWidget *popup_interface_toggle;
950   GtkWidget *popup_fullscreen;
951   GtkWidget *separator5;
952   GtkWidget *popup_next;
953   GtkWidget *popup_prev;
954   GtkWidget *popup_jump;
955   GtkWidget *popup_program;
956   GtkWidget *popup_navigation;
957   GtkWidget *popup_audio;
958   GtkWidget *popup_subpictures;
959   GtkWidget *popup_open;
960   GtkWidget *popup_open_menu;
961   GtkAccelGroup *popup_open_menu_accels;
962   GtkWidget *popup_file;
963   GtkWidget *popup_disc;
964   GtkWidget *popup_network;
965   GtkWidget *separator12;
966   GtkWidget *popup_about;
967   GtkWidget *popup_playlist;
968   GtkWidget *popup_preferences;
969   GtkWidget *separator9;
970   GtkWidget *popup_exit;
971   GtkTooltips *tooltips;
972
973   tooltips = gtk_tooltips_new ();
974
975   intf_popup = gtk_menu_new ();
976   gtk_object_set_data (GTK_OBJECT (intf_popup), "intf_popup", intf_popup);
977   intf_popup_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (intf_popup));
978
979   popup_play = gtk_menu_item_new_with_label ("");
980   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_play)->child),
981                                    _("_Play"));
982   gtk_widget_add_accelerator (popup_play, "activate_item", intf_popup_accels,
983                               tmp_key, 0, 0);
984   gtk_widget_ref (popup_play);
985   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_play", popup_play,
986                             (GtkDestroyNotify) gtk_widget_unref);
987   gtk_widget_show (popup_play);
988   gtk_container_add (GTK_CONTAINER (intf_popup), popup_play);
989
990   popup_pause = gtk_menu_item_new_with_label (_("Pause"));
991   gtk_widget_ref (popup_pause);
992   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_pause", popup_pause,
993                             (GtkDestroyNotify) gtk_widget_unref);
994   gtk_widget_show (popup_pause);
995   gtk_container_add (GTK_CONTAINER (intf_popup), popup_pause);
996   gtk_widget_set_sensitive (popup_pause, FALSE);
997
998   popup_stop = gtk_menu_item_new_with_label (_("Stop"));
999   gtk_widget_ref (popup_stop);
1000   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_stop", popup_stop,
1001                             (GtkDestroyNotify) gtk_widget_unref);
1002   gtk_widget_show (popup_stop);
1003   gtk_container_add (GTK_CONTAINER (intf_popup), popup_stop);
1004
1005   popup_back = gtk_menu_item_new_with_label (_("Back"));
1006   gtk_widget_ref (popup_back);
1007   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_back", popup_back,
1008                             (GtkDestroyNotify) gtk_widget_unref);
1009   gtk_widget_show (popup_back);
1010   gtk_container_add (GTK_CONTAINER (intf_popup), popup_back);
1011   gtk_widget_set_sensitive (popup_back, FALSE);
1012
1013   popup_slow = gtk_menu_item_new_with_label (_("Slow"));
1014   gtk_widget_ref (popup_slow);
1015   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_slow", popup_slow,
1016                             (GtkDestroyNotify) gtk_widget_unref);
1017   gtk_widget_show (popup_slow);
1018   gtk_container_add (GTK_CONTAINER (intf_popup), popup_slow);
1019   gtk_widget_set_sensitive (popup_slow, FALSE);
1020
1021   popup_fast = gtk_menu_item_new_with_label (_("Fast"));
1022   gtk_widget_ref (popup_fast);
1023   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_fast", popup_fast,
1024                             (GtkDestroyNotify) gtk_widget_unref);
1025   gtk_widget_show (popup_fast);
1026   gtk_container_add (GTK_CONTAINER (intf_popup), popup_fast);
1027   gtk_widget_set_sensitive (popup_fast, FALSE);
1028
1029   separator6 = gtk_menu_item_new ();
1030   gtk_widget_ref (separator6);
1031   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator6", separator6,
1032                             (GtkDestroyNotify) gtk_widget_unref);
1033   gtk_widget_show (separator6);
1034   gtk_container_add (GTK_CONTAINER (intf_popup), separator6);
1035   gtk_widget_set_sensitive (separator6, FALSE);
1036
1037   popup_interface_toggle = gtk_menu_item_new_with_label ("");
1038   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_interface_toggle)->child),
1039                                    _("Toggle _Interface"));
1040   gtk_widget_add_accelerator (popup_interface_toggle, "activate_item", intf_popup_accels,
1041                               tmp_key, 0, 0);
1042   gtk_widget_ref (popup_interface_toggle);
1043   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_interface_toggle", popup_interface_toggle,
1044                             (GtkDestroyNotify) gtk_widget_unref);
1045   gtk_widget_show (popup_interface_toggle);
1046   gtk_container_add (GTK_CONTAINER (intf_popup), popup_interface_toggle);
1047
1048   popup_fullscreen = gtk_menu_item_new_with_label ("");
1049   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_fullscreen)->child),
1050                                    _("_Fullscreen"));
1051   gtk_widget_add_accelerator (popup_fullscreen, "activate_item", intf_popup_accels,
1052                               tmp_key, 0, 0);
1053   gtk_widget_ref (popup_fullscreen);
1054   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_fullscreen", popup_fullscreen,
1055                             (GtkDestroyNotify) gtk_widget_unref);
1056   gtk_widget_show (popup_fullscreen);
1057   gtk_container_add (GTK_CONTAINER (intf_popup), popup_fullscreen);
1058
1059   separator5 = gtk_menu_item_new ();
1060   gtk_widget_ref (separator5);
1061   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator5", separator5,
1062                             (GtkDestroyNotify) gtk_widget_unref);
1063   gtk_widget_show (separator5);
1064   gtk_container_add (GTK_CONTAINER (intf_popup), separator5);
1065   gtk_widget_set_sensitive (separator5, FALSE);
1066
1067   popup_next = gtk_menu_item_new_with_label (_("Next"));
1068   gtk_widget_ref (popup_next);
1069   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_next", popup_next,
1070                             (GtkDestroyNotify) gtk_widget_unref);
1071   gtk_widget_show (popup_next);
1072   gtk_container_add (GTK_CONTAINER (intf_popup), popup_next);
1073
1074   popup_prev = gtk_menu_item_new_with_label (_("Prev"));
1075   gtk_widget_ref (popup_prev);
1076   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_prev", popup_prev,
1077                             (GtkDestroyNotify) gtk_widget_unref);
1078   gtk_widget_show (popup_prev);
1079   gtk_container_add (GTK_CONTAINER (intf_popup), popup_prev);
1080
1081   popup_jump = gtk_menu_item_new_with_label ("");
1082   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_jump)->child),
1083                                    _("_Jump..."));
1084   gtk_widget_add_accelerator (popup_jump, "activate_item", intf_popup_accels,
1085                               tmp_key, 0, 0);
1086   gtk_widget_ref (popup_jump);
1087   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_jump", popup_jump,
1088                             (GtkDestroyNotify) gtk_widget_unref);
1089   gtk_widget_show (popup_jump);
1090   gtk_container_add (GTK_CONTAINER (intf_popup), popup_jump);
1091
1092   popup_program = gtk_menu_item_new_with_label (_("Program"));
1093   gtk_widget_ref (popup_program);
1094   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_program", popup_program,
1095                             (GtkDestroyNotify) gtk_widget_unref);
1096   gtk_widget_show (popup_program);
1097   gtk_container_add (GTK_CONTAINER (intf_popup), popup_program);
1098   gtk_widget_set_sensitive (popup_program, FALSE);
1099
1100   popup_navigation = gtk_menu_item_new_with_label ("");
1101   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_navigation)->child),
1102                                    _("_Navigation"));
1103   gtk_widget_add_accelerator (popup_navigation, "activate_item", intf_popup_accels,
1104                               tmp_key, 0, 0);
1105   gtk_widget_ref (popup_navigation);
1106   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_navigation", popup_navigation,
1107                             (GtkDestroyNotify) gtk_widget_unref);
1108   gtk_widget_show (popup_navigation);
1109   gtk_container_add (GTK_CONTAINER (intf_popup), popup_navigation);
1110   gtk_widget_set_sensitive (popup_navigation, FALSE);
1111
1112   popup_audio = gtk_menu_item_new_with_label ("");
1113   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_audio)->child),
1114                                    _("_Audio"));
1115   gtk_widget_add_accelerator (popup_audio, "activate_item", intf_popup_accels,
1116                               tmp_key, 0, 0);
1117   gtk_widget_ref (popup_audio);
1118   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_audio", popup_audio,
1119                             (GtkDestroyNotify) gtk_widget_unref);
1120   gtk_widget_show (popup_audio);
1121   gtk_container_add (GTK_CONTAINER (intf_popup), popup_audio);
1122   gtk_widget_set_sensitive (popup_audio, FALSE);
1123
1124   popup_subpictures = gtk_menu_item_new_with_label ("");
1125   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_subpictures)->child),
1126                                    _("_Subtitles"));
1127   gtk_widget_add_accelerator (popup_subpictures, "activate_item", intf_popup_accels,
1128                               tmp_key, 0, 0);
1129   gtk_widget_ref (popup_subpictures);
1130   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_subpictures", popup_subpictures,
1131                             (GtkDestroyNotify) gtk_widget_unref);
1132   gtk_widget_show (popup_subpictures);
1133   gtk_container_add (GTK_CONTAINER (intf_popup), popup_subpictures);
1134   gtk_widget_set_sensitive (popup_subpictures, FALSE);
1135
1136   popup_open = gtk_menu_item_new_with_label ("");
1137   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_open)->child),
1138                                    _("_File"));
1139   gtk_widget_add_accelerator (popup_open, "activate_item", intf_popup_accels,
1140                               tmp_key, 0, 0);
1141   gtk_widget_ref (popup_open);
1142   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_open", popup_open,
1143                             (GtkDestroyNotify) gtk_widget_unref);
1144   gtk_widget_show (popup_open);
1145   gtk_container_add (GTK_CONTAINER (intf_popup), popup_open);
1146
1147   popup_open_menu = gtk_menu_new ();
1148   gtk_widget_ref (popup_open_menu);
1149   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_open_menu", popup_open_menu,
1150                             (GtkDestroyNotify) gtk_widget_unref);
1151   gtk_menu_item_set_submenu (GTK_MENU_ITEM (popup_open), popup_open_menu);
1152   popup_open_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (popup_open_menu));
1153
1154   popup_file = gtk_menu_item_new_with_label ("");
1155   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_file)->child),
1156                                    _("_Open File..."));
1157   gtk_widget_add_accelerator (popup_file, "activate_item", popup_open_menu_accels,
1158                               tmp_key, 0, 0);
1159   gtk_widget_ref (popup_file);
1160   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_file", popup_file,
1161                             (GtkDestroyNotify) gtk_widget_unref);
1162   gtk_widget_show (popup_file);
1163   gtk_container_add (GTK_CONTAINER (popup_open_menu), popup_file);
1164   gtk_tooltips_set_tip (tooltips, popup_file, _("Open a File"), NULL);
1165
1166   popup_disc = gtk_menu_item_new_with_label ("");
1167   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_disc)->child),
1168                                    _("Open _Disc..."));
1169   gtk_widget_add_accelerator (popup_disc, "activate_item", popup_open_menu_accels,
1170                               tmp_key, 0, 0);
1171   gtk_widget_ref (popup_disc);
1172   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_disc", popup_disc,
1173                             (GtkDestroyNotify) gtk_widget_unref);
1174   gtk_widget_show (popup_disc);
1175   gtk_container_add (GTK_CONTAINER (popup_open_menu), popup_disc);
1176   gtk_tooltips_set_tip (tooltips, popup_disc, _("Open a DVD or VCD"), NULL);
1177
1178   popup_network = gtk_menu_item_new_with_label ("");
1179   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_network)->child),
1180                                    _("_Network Stream..."));
1181   gtk_widget_add_accelerator (popup_network, "activate_item", popup_open_menu_accels,
1182                               tmp_key, 0, 0);
1183   gtk_widget_ref (popup_network);
1184   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_network", popup_network,
1185                             (GtkDestroyNotify) gtk_widget_unref);
1186   gtk_widget_show (popup_network);
1187   gtk_container_add (GTK_CONTAINER (popup_open_menu), popup_network);
1188   gtk_tooltips_set_tip (tooltips, popup_network, _("Select a Network Stream"), NULL);
1189
1190   separator12 = gtk_menu_item_new ();
1191   gtk_widget_ref (separator12);
1192   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator12", separator12,
1193                             (GtkDestroyNotify) gtk_widget_unref);
1194   gtk_widget_show (separator12);
1195   gtk_container_add (GTK_CONTAINER (popup_open_menu), separator12);
1196   gtk_widget_set_sensitive (separator12, FALSE);
1197
1198   popup_about = gtk_menu_item_new_with_label ("");
1199   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_about)->child),
1200                                    _("_About..."));
1201   gtk_widget_add_accelerator (popup_about, "activate_item", popup_open_menu_accels,
1202                               tmp_key, 0, 0);
1203   gtk_widget_ref (popup_about);
1204   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_about", popup_about,
1205                             (GtkDestroyNotify) gtk_widget_unref);
1206   gtk_widget_show (popup_about);
1207   gtk_container_add (GTK_CONTAINER (popup_open_menu), popup_about);
1208
1209   popup_playlist = gtk_menu_item_new_with_label (_("Playlist..."));
1210   gtk_widget_ref (popup_playlist);
1211   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_playlist", popup_playlist,
1212                             (GtkDestroyNotify) gtk_widget_unref);
1213   gtk_widget_show (popup_playlist);
1214   gtk_container_add (GTK_CONTAINER (intf_popup), popup_playlist);
1215
1216   popup_preferences = gtk_menu_item_new_with_label ("");
1217   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_preferences)->child),
1218                                    _("_Preferences..."));
1219   gtk_widget_add_accelerator (popup_preferences, "activate_item", intf_popup_accels,
1220                               tmp_key, 0, 0);
1221   gtk_widget_ref (popup_preferences);
1222   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_preferences", popup_preferences,
1223                             (GtkDestroyNotify) gtk_widget_unref);
1224   gtk_widget_show (popup_preferences);
1225   gtk_container_add (GTK_CONTAINER (intf_popup), popup_preferences);
1226
1227   separator9 = gtk_menu_item_new ();
1228   gtk_widget_ref (separator9);
1229   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator9", separator9,
1230                             (GtkDestroyNotify) gtk_widget_unref);
1231   gtk_widget_show (separator9);
1232   gtk_container_add (GTK_CONTAINER (intf_popup), separator9);
1233   gtk_widget_set_sensitive (separator9, FALSE);
1234
1235   popup_exit = gtk_menu_item_new_with_label ("");
1236   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_exit)->child),
1237                                    _("E_xit"));
1238   gtk_widget_add_accelerator (popup_exit, "activate_item", intf_popup_accels,
1239                               tmp_key, 0, 0);
1240   gtk_widget_ref (popup_exit);
1241   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_exit", popup_exit,
1242                             (GtkDestroyNotify) gtk_widget_unref);
1243   gtk_widget_show (popup_exit);
1244   gtk_container_add (GTK_CONTAINER (intf_popup), popup_exit);
1245
1246   gtk_signal_connect (GTK_OBJECT (popup_play), "activate",
1247                       GTK_SIGNAL_FUNC (GtkPlayActivate),
1248                       NULL);
1249   gtk_signal_connect (GTK_OBJECT (popup_pause), "activate",
1250                       GTK_SIGNAL_FUNC (GtkPauseActivate),
1251                       NULL);
1252   gtk_signal_connect (GTK_OBJECT (popup_stop), "activate",
1253                       GTK_SIGNAL_FUNC (GtKStopActivate),
1254                       NULL);
1255   gtk_signal_connect (GTK_OBJECT (popup_back), "activate",
1256                       GTK_SIGNAL_FUNC (GtkBackActivate),
1257                       NULL);
1258   gtk_signal_connect (GTK_OBJECT (popup_slow), "activate",
1259                       GTK_SIGNAL_FUNC (GtkSlowActivate),
1260                       NULL);
1261   gtk_signal_connect (GTK_OBJECT (popup_fast), "activate",
1262                       GTK_SIGNAL_FUNC (GtkFastActivate),
1263                       NULL);
1264   gtk_signal_connect (GTK_OBJECT (popup_interface_toggle), "activate",
1265                       GTK_SIGNAL_FUNC (GtkWindowToggleActivate),
1266                       NULL);
1267   gtk_signal_connect (GTK_OBJECT (popup_fullscreen), "activate",
1268                       GTK_SIGNAL_FUNC (GtkFullscreenActivate),
1269                       NULL);
1270   gtk_signal_connect (GTK_OBJECT (popup_next), "activate",
1271                       GTK_SIGNAL_FUNC (GtkNextActivate),
1272                       NULL);
1273   gtk_signal_connect (GTK_OBJECT (popup_prev), "activate",
1274                       GTK_SIGNAL_FUNC (GtkPrevActivate),
1275                       NULL);
1276   gtk_signal_connect (GTK_OBJECT (popup_jump), "activate",
1277                       GTK_SIGNAL_FUNC (GtkJumpActivate),
1278                       NULL);
1279   gtk_signal_connect (GTK_OBJECT (popup_file), "activate",
1280                       GTK_SIGNAL_FUNC (GtkFileOpenActivate),
1281                       NULL);
1282   gtk_signal_connect (GTK_OBJECT (popup_disc), "activate",
1283                       GTK_SIGNAL_FUNC (GtkDiscOpenActivate),
1284                       NULL);
1285   gtk_signal_connect (GTK_OBJECT (popup_network), "activate",
1286                       GTK_SIGNAL_FUNC (GtkNetworkOpenActivate),
1287                       NULL);
1288   gtk_signal_connect (GTK_OBJECT (popup_about), "activate",
1289                       GTK_SIGNAL_FUNC (GtkAboutActivate),
1290                       NULL);
1291   gtk_signal_connect (GTK_OBJECT (popup_playlist), "activate",
1292                       GTK_SIGNAL_FUNC (GtkPlaylistActivate),
1293                       NULL);
1294   gtk_signal_connect (GTK_OBJECT (popup_preferences), "activate",
1295                       GTK_SIGNAL_FUNC (GtkPreferencesActivate),
1296                       NULL);
1297   gtk_signal_connect (GTK_OBJECT (popup_exit), "activate",
1298                       GTK_SIGNAL_FUNC (GtkExitActivate),
1299                       NULL);
1300
1301   gtk_object_set_data (GTK_OBJECT (intf_popup), "tooltips", tooltips);
1302
1303   return intf_popup;
1304 }
1305
1306 GtkWidget*
1307 create_intf_about (void)
1308 {
1309   GtkWidget *intf_about;
1310   GtkWidget *dialog_vbox1;
1311   GtkWidget *vbox3;
1312   GtkWidget *label14;
1313   GtkWidget *label18;
1314   GtkWidget *frame1;
1315   GtkWidget *label16;
1316   GtkWidget *label17;
1317   GtkWidget *dialog_action_area;
1318   GtkWidget *about_ok;
1319
1320   intf_about = gtk_dialog_new ();
1321   gtk_object_set_data (GTK_OBJECT (intf_about), "intf_about", intf_about);
1322   gtk_container_set_border_width (GTK_CONTAINER (intf_about), 5);
1323   gtk_window_set_title (GTK_WINDOW (intf_about), _("About"));
1324   gtk_window_set_position (GTK_WINDOW (intf_about), GTK_WIN_POS_CENTER);
1325   gtk_window_set_policy (GTK_WINDOW (intf_about), FALSE, FALSE, FALSE);
1326
1327   dialog_vbox1 = GTK_DIALOG (intf_about)->vbox;
1328   gtk_object_set_data (GTK_OBJECT (intf_about), "dialog_vbox1", dialog_vbox1);
1329   gtk_widget_show (dialog_vbox1);
1330
1331   vbox3 = gtk_vbox_new (FALSE, 0);
1332   gtk_widget_ref (vbox3);
1333   gtk_object_set_data_full (GTK_OBJECT (intf_about), "vbox3", vbox3,
1334                             (GtkDestroyNotify) gtk_widget_unref);
1335   gtk_widget_show (vbox3);
1336   gtk_box_pack_start (GTK_BOX (dialog_vbox1), vbox3, TRUE, TRUE, 0);
1337
1338   label14 = gtk_label_new (_("VideoLAN Client"));
1339   gtk_widget_ref (label14);
1340   gtk_object_set_data_full (GTK_OBJECT (intf_about), "label14", label14,
1341                             (GtkDestroyNotify) gtk_widget_unref);
1342   gtk_widget_show (label14);
1343   gtk_box_pack_start (GTK_BOX (vbox3), label14, TRUE, TRUE, 0);
1344   gtk_misc_set_padding (GTK_MISC (label14), 0, 10);
1345
1346   label18 = gtk_label_new (_("(C) 1996, 1997, 1998, 1999, 2000, 2001 - the VideoLAN Team"));
1347   gtk_widget_ref (label18);
1348   gtk_object_set_data_full (GTK_OBJECT (intf_about), "label18", label18,
1349                             (GtkDestroyNotify) gtk_widget_unref);
1350   gtk_widget_show (label18);
1351   gtk_box_pack_start (GTK_BOX (vbox3), label18, FALSE, FALSE, 0);
1352   gtk_label_set_justify (GTK_LABEL (label18), GTK_JUSTIFY_LEFT);
1353   gtk_misc_set_padding (GTK_MISC (label18), 0, 5);
1354
1355   frame1 = gtk_frame_new (_("Authors"));
1356   gtk_widget_ref (frame1);
1357   gtk_object_set_data_full (GTK_OBJECT (intf_about), "frame1", frame1,
1358                             (GtkDestroyNotify) gtk_widget_unref);
1359   gtk_widget_show (frame1);
1360   gtk_box_pack_start (GTK_BOX (vbox3), frame1, FALSE, FALSE, 0);
1361
1362   label16 = gtk_label_new (_("Régis Duchesne <regis@via.ecp.fr>\nMichel Lespinasse <walken@zoy.org>\nOlivier Pomel <pomel@via.ecp.fr>\nPierre Baillet <oct@zoy.org>\nJean-Philippe Grimaldi <jeanphi@via.ecp.fr>\nAndres Krapf <dae@via.ecp.fr>\nChristophe Massiot <massiot@via.ecp.fr>\nVincent Seguin <seguin@via.ecp.fr>\nBenoit Steiner <benny@via.ecp.fr>\nArnaud de Bossoreille de Ribou <bozo@via.ecp.fr>\nJean-Marc Dressler <polux@via.ecp.fr>\nGaël Hendryckx <jimmy@via.ecp.fr>\nSamuel Hocevar <sam@zoy.org>\nBrieuc Jeunhomme <bbp@via.ecp.fr>\nMichel Kaempf <maxx@via.ecp.fr>\nStéphane Borel <stef@via.ecp.fr>\nRenaud Dartus <reno@via.ecp.fr>\nHenri Fallon <henri@via.ecp.fr>"));
1363   gtk_widget_ref (label16);
1364   gtk_object_set_data_full (GTK_OBJECT (intf_about), "label16", label16,
1365                             (GtkDestroyNotify) gtk_widget_unref);
1366   gtk_widget_show (label16);
1367   gtk_container_add (GTK_CONTAINER (frame1), label16);
1368   gtk_label_set_justify (GTK_LABEL (label16), GTK_JUSTIFY_LEFT);
1369   gtk_misc_set_alignment (GTK_MISC (label16), 0.5, 0);
1370   gtk_misc_set_padding (GTK_MISC (label16), 5, 5);
1371
1372   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."));
1373   gtk_widget_ref (label17);
1374   gtk_object_set_data_full (GTK_OBJECT (intf_about), "label17", label17,
1375                             (GtkDestroyNotify) gtk_widget_unref);
1376   gtk_widget_show (label17);
1377   gtk_box_pack_start (GTK_BOX (vbox3), label17, FALSE, FALSE, 0);
1378   gtk_label_set_justify (GTK_LABEL (label17), GTK_JUSTIFY_LEFT);
1379   gtk_label_set_line_wrap (GTK_LABEL (label17), TRUE);
1380   gtk_misc_set_padding (GTK_MISC (label17), 0, 5);
1381
1382   dialog_action_area = GTK_DIALOG (intf_about)->action_area;
1383   gtk_object_set_data (GTK_OBJECT (intf_about), "dialog_action_area", dialog_action_area);
1384   gtk_widget_show (dialog_action_area);
1385   gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area), 10);
1386
1387   about_ok = gtk_button_new_with_label (_("OK"));
1388   gtk_widget_ref (about_ok);
1389   gtk_object_set_data_full (GTK_OBJECT (intf_about), "about_ok", about_ok,
1390                             (GtkDestroyNotify) gtk_widget_unref);
1391   gtk_widget_show (about_ok);
1392   gtk_box_pack_start (GTK_BOX (dialog_action_area), about_ok, FALSE, TRUE, 0);
1393   GTK_WIDGET_SET_FLAGS (about_ok, GTK_CAN_DEFAULT);
1394
1395   gtk_signal_connect (GTK_OBJECT (about_ok), "clicked",
1396                       GTK_SIGNAL_FUNC (GtkAboutOk),
1397                       "intf_about");
1398
1399   gtk_widget_grab_default (about_ok);
1400   return intf_about;
1401 }
1402
1403 GtkWidget*
1404 create_intf_fileopen (void)
1405 {
1406   GtkWidget *intf_fileopen;
1407   GtkWidget *fileopen_ok;
1408   GtkWidget *fileopen_cancel;
1409
1410   intf_fileopen = gtk_file_selection_new (_("Select File"));
1411   gtk_object_set_data (GTK_OBJECT (intf_fileopen), "intf_fileopen", intf_fileopen);
1412   gtk_container_set_border_width (GTK_CONTAINER (intf_fileopen), 10);
1413   gtk_window_set_modal (GTK_WINDOW (intf_fileopen), TRUE);
1414
1415   fileopen_ok = GTK_FILE_SELECTION (intf_fileopen)->ok_button;
1416   gtk_object_set_data (GTK_OBJECT (intf_fileopen), "fileopen_ok", fileopen_ok);
1417   gtk_widget_show (fileopen_ok);
1418   GTK_WIDGET_SET_FLAGS (fileopen_ok, GTK_CAN_DEFAULT);
1419
1420   fileopen_cancel = GTK_FILE_SELECTION (intf_fileopen)->cancel_button;
1421   gtk_object_set_data (GTK_OBJECT (intf_fileopen), "fileopen_cancel", fileopen_cancel);
1422   gtk_widget_show (fileopen_cancel);
1423   GTK_WIDGET_SET_FLAGS (fileopen_cancel, GTK_CAN_DEFAULT);
1424
1425   gtk_signal_connect (GTK_OBJECT (fileopen_ok), "clicked",
1426                       GTK_SIGNAL_FUNC (GtkFileOpenOk),
1427                       "intf_fileopen");
1428   gtk_signal_connect (GTK_OBJECT (fileopen_cancel), "clicked",
1429                       GTK_SIGNAL_FUNC (GtkFileOpenCancel),
1430                       "intf_fileopen");
1431
1432   return intf_fileopen;
1433 }
1434
1435 GtkWidget*
1436 create_intf_disc (void)
1437 {
1438   GtkWidget *intf_disc;
1439   GtkWidget *dialog_vbox2;
1440   GtkWidget *vbox4;
1441   GtkWidget *hbox3;
1442   GtkWidget *frame2;
1443   GtkWidget *vbox5;
1444   GSList *disc_group = NULL;
1445   GtkWidget *disc_dvd;
1446   GtkWidget *disc_vcd;
1447   GtkWidget *frame3;
1448   GtkWidget *table1;
1449   GtkObject *disc_title_adj;
1450   GtkWidget *disc_title;
1451   GtkObject *disc_chapter_adj;
1452   GtkWidget *disc_chapter;
1453   GtkWidget *label20;
1454   GtkWidget *label21;
1455   GtkWidget *hbox2;
1456   GtkWidget *label19;
1457   GtkWidget *disc_name;
1458   GtkWidget *dialog_action_area1;
1459   GtkWidget *hbox1;
1460   GtkWidget *disc_ok;
1461   GtkWidget *disc_cancel;
1462
1463   intf_disc = gtk_dialog_new ();
1464   gtk_object_set_data (GTK_OBJECT (intf_disc), "intf_disc", intf_disc);
1465   gtk_window_set_title (GTK_WINDOW (intf_disc), _("Open Disc"));
1466   gtk_window_set_modal (GTK_WINDOW (intf_disc), TRUE);
1467   gtk_window_set_policy (GTK_WINDOW (intf_disc), FALSE, FALSE, FALSE);
1468
1469   dialog_vbox2 = GTK_DIALOG (intf_disc)->vbox;
1470   gtk_object_set_data (GTK_OBJECT (intf_disc), "dialog_vbox2", dialog_vbox2);
1471   gtk_widget_show (dialog_vbox2);
1472   gtk_container_set_border_width (GTK_CONTAINER (dialog_vbox2), 5);
1473
1474   vbox4 = gtk_vbox_new (FALSE, 5);
1475   gtk_widget_ref (vbox4);
1476   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "vbox4", vbox4,
1477                             (GtkDestroyNotify) gtk_widget_unref);
1478   gtk_widget_show (vbox4);
1479   gtk_box_pack_start (GTK_BOX (dialog_vbox2), vbox4, TRUE, TRUE, 0);
1480   gtk_container_set_border_width (GTK_CONTAINER (vbox4), 5);
1481
1482   hbox3 = gtk_hbox_new (FALSE, 5);
1483   gtk_widget_ref (hbox3);
1484   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "hbox3", hbox3,
1485                             (GtkDestroyNotify) gtk_widget_unref);
1486   gtk_widget_show (hbox3);
1487   gtk_box_pack_start (GTK_BOX (vbox4), hbox3, TRUE, TRUE, 0);
1488
1489   frame2 = gtk_frame_new (_("Disc type"));
1490   gtk_widget_ref (frame2);
1491   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "frame2", frame2,
1492                             (GtkDestroyNotify) gtk_widget_unref);
1493   gtk_widget_show (frame2);
1494   gtk_box_pack_start (GTK_BOX (hbox3), frame2, TRUE, TRUE, 0);
1495
1496   vbox5 = gtk_vbox_new (FALSE, 0);
1497   gtk_widget_ref (vbox5);
1498   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "vbox5", vbox5,
1499                             (GtkDestroyNotify) gtk_widget_unref);
1500   gtk_widget_show (vbox5);
1501   gtk_container_add (GTK_CONTAINER (frame2), vbox5);
1502
1503   disc_dvd = gtk_radio_button_new_with_label (disc_group, _("DVD"));
1504   disc_group = gtk_radio_button_group (GTK_RADIO_BUTTON (disc_dvd));
1505   gtk_widget_ref (disc_dvd);
1506   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_dvd", disc_dvd,
1507                             (GtkDestroyNotify) gtk_widget_unref);
1508   gtk_widget_show (disc_dvd);
1509   gtk_box_pack_start (GTK_BOX (vbox5), disc_dvd, FALSE, FALSE, 0);
1510
1511   disc_vcd = gtk_radio_button_new_with_label (disc_group, _("VCD"));
1512   disc_group = gtk_radio_button_group (GTK_RADIO_BUTTON (disc_vcd));
1513   gtk_widget_ref (disc_vcd);
1514   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_vcd", disc_vcd,
1515                             (GtkDestroyNotify) gtk_widget_unref);
1516   gtk_widget_show (disc_vcd);
1517   gtk_box_pack_start (GTK_BOX (vbox5), disc_vcd, FALSE, FALSE, 0);
1518
1519   frame3 = gtk_frame_new (_("Starting position"));
1520   gtk_widget_ref (frame3);
1521   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "frame3", frame3,
1522                             (GtkDestroyNotify) gtk_widget_unref);
1523   gtk_widget_show (frame3);
1524   gtk_box_pack_start (GTK_BOX (hbox3), frame3, TRUE, TRUE, 0);
1525
1526   table1 = gtk_table_new (2, 2, FALSE);
1527   gtk_widget_ref (table1);
1528   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "table1", table1,
1529                             (GtkDestroyNotify) gtk_widget_unref);
1530   gtk_widget_show (table1);
1531   gtk_container_add (GTK_CONTAINER (frame3), table1);
1532   gtk_container_set_border_width (GTK_CONTAINER (table1), 5);
1533   gtk_table_set_row_spacings (GTK_TABLE (table1), 5);
1534   gtk_table_set_col_spacings (GTK_TABLE (table1), 5);
1535
1536   disc_title_adj = gtk_adjustment_new (1, 1, 65536, 1, 10, 10);
1537   disc_title = gtk_spin_button_new (GTK_ADJUSTMENT (disc_title_adj), 1, 0);
1538   gtk_widget_ref (disc_title);
1539   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_title", disc_title,
1540                             (GtkDestroyNotify) gtk_widget_unref);
1541   gtk_widget_show (disc_title);
1542   gtk_table_attach (GTK_TABLE (table1), disc_title, 1, 2, 0, 1,
1543                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1544                     (GtkAttachOptions) (0), 0, 0);
1545
1546   disc_chapter_adj = gtk_adjustment_new (1, 1, 65536, 1, 10, 10);
1547   disc_chapter = gtk_spin_button_new (GTK_ADJUSTMENT (disc_chapter_adj), 1, 0);
1548   gtk_widget_ref (disc_chapter);
1549   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_chapter", disc_chapter,
1550                             (GtkDestroyNotify) gtk_widget_unref);
1551   gtk_widget_show (disc_chapter);
1552   gtk_table_attach (GTK_TABLE (table1), disc_chapter, 1, 2, 1, 2,
1553                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1554                     (GtkAttachOptions) (0), 0, 0);
1555
1556   label20 = gtk_label_new (_("Chapter"));
1557   gtk_widget_ref (label20);
1558   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "label20", label20,
1559                             (GtkDestroyNotify) gtk_widget_unref);
1560   gtk_widget_show (label20);
1561   gtk_table_attach (GTK_TABLE (table1), label20, 0, 1, 1, 2,
1562                     (GtkAttachOptions) (GTK_FILL),
1563                     (GtkAttachOptions) (0), 0, 0);
1564   gtk_misc_set_alignment (GTK_MISC (label20), 0, 0.5);
1565
1566   label21 = gtk_label_new (_("Title"));
1567   gtk_widget_ref (label21);
1568   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "label21", label21,
1569                             (GtkDestroyNotify) gtk_widget_unref);
1570   gtk_widget_show (label21);
1571   gtk_table_attach (GTK_TABLE (table1), label21, 0, 1, 0, 1,
1572                     (GtkAttachOptions) (GTK_FILL),
1573                     (GtkAttachOptions) (0), 0, 0);
1574   gtk_misc_set_alignment (GTK_MISC (label21), 0, 0.5);
1575
1576   hbox2 = gtk_hbox_new (FALSE, 5);
1577   gtk_widget_ref (hbox2);
1578   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "hbox2", hbox2,
1579                             (GtkDestroyNotify) gtk_widget_unref);
1580   gtk_widget_show (hbox2);
1581   gtk_box_pack_start (GTK_BOX (vbox4), hbox2, TRUE, TRUE, 0);
1582
1583   label19 = gtk_label_new (_("Device name"));
1584   gtk_widget_ref (label19);
1585   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "label19", label19,
1586                             (GtkDestroyNotify) gtk_widget_unref);
1587   gtk_widget_show (label19);
1588   gtk_box_pack_start (GTK_BOX (hbox2), label19, FALSE, FALSE, 0);
1589
1590   disc_name = gtk_entry_new ();
1591   gtk_widget_ref (disc_name);
1592   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_name", disc_name,
1593                             (GtkDestroyNotify) gtk_widget_unref);
1594   gtk_widget_show (disc_name);
1595   gtk_box_pack_start (GTK_BOX (hbox2), disc_name, TRUE, TRUE, 0);
1596   gtk_entry_set_text (GTK_ENTRY (disc_name), config_GetPszVariable( "dvd_device" ));
1597
1598   dialog_action_area1 = GTK_DIALOG (intf_disc)->action_area;
1599   gtk_object_set_data (GTK_OBJECT (intf_disc), "dialog_action_area1", dialog_action_area1);
1600   gtk_widget_show (dialog_action_area1);
1601   gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area1), 5);
1602
1603   hbox1 = gtk_hbox_new (TRUE, 5);
1604   gtk_widget_ref (hbox1);
1605   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "hbox1", hbox1,
1606                             (GtkDestroyNotify) gtk_widget_unref);
1607   gtk_widget_show (hbox1);
1608   gtk_box_pack_end (GTK_BOX (dialog_action_area1), hbox1, FALSE, TRUE, 0);
1609
1610   disc_ok = gtk_button_new_with_label (_("OK"));
1611   gtk_widget_ref (disc_ok);
1612   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_ok", disc_ok,
1613                             (GtkDestroyNotify) gtk_widget_unref);
1614   gtk_widget_show (disc_ok);
1615   gtk_box_pack_start (GTK_BOX (hbox1), disc_ok, FALSE, TRUE, 0);
1616
1617   disc_cancel = gtk_button_new_with_label (_("Cancel"));
1618   gtk_widget_ref (disc_cancel);
1619   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_cancel", disc_cancel,
1620                             (GtkDestroyNotify) gtk_widget_unref);
1621   gtk_widget_show (disc_cancel);
1622   gtk_box_pack_start (GTK_BOX (hbox1), disc_cancel, FALSE, TRUE, 0);
1623
1624   gtk_signal_connect (GTK_OBJECT (disc_dvd), "toggled",
1625                       GTK_SIGNAL_FUNC (GtkDiscOpenDvd),
1626                       "intf_disc");
1627   gtk_signal_connect (GTK_OBJECT (disc_vcd), "toggled",
1628                       GTK_SIGNAL_FUNC (GtkDiscOpenVcd),
1629                       "intf_disc");
1630   gtk_signal_connect (GTK_OBJECT (disc_ok), "clicked",
1631                       GTK_SIGNAL_FUNC (GtkDiscOpenOk),
1632                       "intf_disc");
1633   gtk_signal_connect (GTK_OBJECT (disc_cancel), "clicked",
1634                       GTK_SIGNAL_FUNC (GtkDiscOpenCancel),
1635                       "intf_disc");
1636
1637   return intf_disc;
1638 }
1639
1640 GtkWidget*
1641 create_intf_network (void)
1642 {
1643   GtkWidget *intf_network;
1644   GtkWidget *vbox7;
1645   GtkWidget *vbox8;
1646   GtkWidget *hbox6;
1647   GtkWidget *frame4;
1648   GtkWidget *vbox9;
1649   GSList *network_group = NULL;
1650   GtkWidget *network_ts;
1651   GtkWidget *network_rtp;
1652   GtkWidget *network_http;
1653   GtkWidget *frame5;
1654   GtkWidget *table2;
1655   GtkObject *network_port_adj;
1656   GtkWidget *network_port;
1657   GtkWidget *network_port_label;
1658   GtkWidget *network_server_label;
1659   GtkWidget *network_broadcast_check;
1660   GtkWidget *network_broadcast_combo;
1661   GtkWidget *network_broadcast;
1662   GtkWidget *network_server_combo;
1663   GList *network_server_combo_items = NULL;
1664   GtkWidget *network_server;
1665   GtkWidget *frame6;
1666   GtkWidget *hbox14;
1667   GtkWidget *network_channel_check;
1668   GtkWidget *network_channel_combo;
1669   GtkWidget *network_channel;
1670   GtkWidget *network_channel_port_label;
1671   GtkObject *network_channel_port_adj;
1672   GtkWidget *network_channel_port;
1673   GtkWidget *hbox4;
1674   GtkWidget *hbox5;
1675   GtkWidget *network_ok;
1676   GtkWidget *network_cancel;
1677
1678   intf_network = gtk_dialog_new ();
1679   gtk_object_set_data (GTK_OBJECT (intf_network), "intf_network", intf_network);
1680   gtk_window_set_title (GTK_WINDOW (intf_network), _("Open Network"));
1681   gtk_window_set_modal (GTK_WINDOW (intf_network), TRUE);
1682   gtk_window_set_policy (GTK_WINDOW (intf_network), FALSE, FALSE, FALSE);
1683
1684   vbox7 = GTK_DIALOG (intf_network)->vbox;
1685   gtk_object_set_data (GTK_OBJECT (intf_network), "vbox7", vbox7);
1686   gtk_widget_show (vbox7);
1687   gtk_container_set_border_width (GTK_CONTAINER (vbox7), 5);
1688
1689   vbox8 = gtk_vbox_new (FALSE, 5);
1690   gtk_widget_ref (vbox8);
1691   gtk_object_set_data_full (GTK_OBJECT (intf_network), "vbox8", vbox8,
1692                             (GtkDestroyNotify) gtk_widget_unref);
1693   gtk_widget_show (vbox8);
1694   gtk_box_pack_start (GTK_BOX (vbox7), vbox8, TRUE, TRUE, 0);
1695   gtk_container_set_border_width (GTK_CONTAINER (vbox8), 5);
1696
1697   hbox6 = gtk_hbox_new (FALSE, 5);
1698   gtk_widget_ref (hbox6);
1699   gtk_object_set_data_full (GTK_OBJECT (intf_network), "hbox6", hbox6,
1700                             (GtkDestroyNotify) gtk_widget_unref);
1701   gtk_widget_show (hbox6);
1702   gtk_box_pack_start (GTK_BOX (vbox8), hbox6, TRUE, TRUE, 0);
1703
1704   frame4 = gtk_frame_new (_("Protocol"));
1705   gtk_widget_ref (frame4);
1706   gtk_object_set_data_full (GTK_OBJECT (intf_network), "frame4", frame4,
1707                             (GtkDestroyNotify) gtk_widget_unref);
1708   gtk_widget_show (frame4);
1709   gtk_box_pack_start (GTK_BOX (hbox6), frame4, TRUE, TRUE, 0);
1710
1711   vbox9 = gtk_vbox_new (FALSE, 0);
1712   gtk_widget_ref (vbox9);
1713   gtk_object_set_data_full (GTK_OBJECT (intf_network), "vbox9", vbox9,
1714                             (GtkDestroyNotify) gtk_widget_unref);
1715   gtk_widget_show (vbox9);
1716   gtk_container_add (GTK_CONTAINER (frame4), vbox9);
1717
1718   network_ts = gtk_radio_button_new_with_label (network_group, _("TS"));
1719   network_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_ts));
1720   gtk_widget_ref (network_ts);
1721   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_ts", network_ts,
1722                             (GtkDestroyNotify) gtk_widget_unref);
1723   gtk_widget_show (network_ts);
1724   gtk_box_pack_start (GTK_BOX (vbox9), network_ts, FALSE, FALSE, 0);
1725
1726   network_rtp = gtk_radio_button_new_with_label (network_group, _("RTP"));
1727   network_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_rtp));
1728   gtk_widget_ref (network_rtp);
1729   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_rtp", network_rtp,
1730                             (GtkDestroyNotify) gtk_widget_unref);
1731   gtk_widget_show (network_rtp);
1732   gtk_box_pack_start (GTK_BOX (vbox9), network_rtp, FALSE, FALSE, 0);
1733   gtk_widget_set_sensitive (network_rtp, FALSE);
1734
1735   network_http = gtk_radio_button_new_with_label (network_group, _("HTTP"));
1736   network_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_http));
1737   gtk_widget_ref (network_http);
1738   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_http", network_http,
1739                             (GtkDestroyNotify) gtk_widget_unref);
1740   gtk_widget_show (network_http);
1741   gtk_box_pack_start (GTK_BOX (vbox9), network_http, FALSE, FALSE, 0);
1742
1743   frame5 = gtk_frame_new (_("Server"));
1744   gtk_widget_ref (frame5);
1745   gtk_object_set_data_full (GTK_OBJECT (intf_network), "frame5", frame5,
1746                             (GtkDestroyNotify) gtk_widget_unref);
1747   gtk_widget_show (frame5);
1748   gtk_box_pack_start (GTK_BOX (hbox6), frame5, TRUE, TRUE, 0);
1749
1750   table2 = gtk_table_new (3, 2, FALSE);
1751   gtk_widget_ref (table2);
1752   gtk_object_set_data_full (GTK_OBJECT (intf_network), "table2", table2,
1753                             (GtkDestroyNotify) gtk_widget_unref);
1754   gtk_widget_show (table2);
1755   gtk_container_add (GTK_CONTAINER (frame5), table2);
1756   gtk_container_set_border_width (GTK_CONTAINER (table2), 5);
1757   gtk_table_set_row_spacings (GTK_TABLE (table2), 5);
1758   gtk_table_set_col_spacings (GTK_TABLE (table2), 5);
1759
1760   network_port_adj = gtk_adjustment_new (1234, 0, 65535, 1, 10, 10);
1761   network_port = gtk_spin_button_new (GTK_ADJUSTMENT (network_port_adj), 1, 0);
1762   gtk_widget_ref (network_port);
1763   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_port", network_port,
1764                             (GtkDestroyNotify) gtk_widget_unref);
1765   gtk_widget_show (network_port);
1766   gtk_table_attach (GTK_TABLE (table2), network_port, 1, 2, 1, 2,
1767                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1768                     (GtkAttachOptions) (0), 0, 0);
1769
1770   network_port_label = gtk_label_new (_("Port"));
1771   gtk_widget_ref (network_port_label);
1772   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_port_label", network_port_label,
1773                             (GtkDestroyNotify) gtk_widget_unref);
1774   gtk_widget_show (network_port_label);
1775   gtk_table_attach (GTK_TABLE (table2), network_port_label, 0, 1, 1, 2,
1776                     (GtkAttachOptions) (GTK_FILL),
1777                     (GtkAttachOptions) (0), 0, 0);
1778   gtk_misc_set_alignment (GTK_MISC (network_port_label), 0, 0.5);
1779
1780   network_server_label = gtk_label_new (_("Address"));
1781   gtk_widget_ref (network_server_label);
1782   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_server_label", network_server_label,
1783                             (GtkDestroyNotify) gtk_widget_unref);
1784   gtk_widget_show (network_server_label);
1785   gtk_table_attach (GTK_TABLE (table2), network_server_label, 0, 1, 0, 1,
1786                     (GtkAttachOptions) (GTK_FILL),
1787                     (GtkAttachOptions) (0), 0, 0);
1788   gtk_misc_set_alignment (GTK_MISC (network_server_label), 0, 0.5);
1789
1790   network_broadcast_check = gtk_check_button_new_with_label (_("Broadcast"));
1791   gtk_widget_ref (network_broadcast_check);
1792   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_broadcast_check", network_broadcast_check,
1793                             (GtkDestroyNotify) gtk_widget_unref);
1794   gtk_widget_show (network_broadcast_check);
1795   gtk_table_attach (GTK_TABLE (table2), network_broadcast_check, 0, 1, 2, 3,
1796                     (GtkAttachOptions) (GTK_FILL),
1797                     (GtkAttachOptions) (0), 0, 0);
1798
1799   network_broadcast_combo = gtk_combo_new ();
1800   gtk_widget_ref (network_broadcast_combo);
1801   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_broadcast_combo", network_broadcast_combo,
1802                             (GtkDestroyNotify) gtk_widget_unref);
1803   gtk_widget_show (network_broadcast_combo);
1804   gtk_table_attach (GTK_TABLE (table2), network_broadcast_combo, 1, 2, 2, 3,
1805                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1806                     (GtkAttachOptions) (0), 0, 0);
1807   gtk_widget_set_sensitive (network_broadcast_combo, FALSE);
1808
1809   network_broadcast = GTK_COMBO (network_broadcast_combo)->entry;
1810   gtk_widget_ref (network_broadcast);
1811   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_broadcast", network_broadcast,
1812                             (GtkDestroyNotify) gtk_widget_unref);
1813   gtk_widget_show (network_broadcast);
1814   gtk_widget_set_sensitive (network_broadcast, FALSE);
1815   gtk_entry_set_text (GTK_ENTRY (network_broadcast), _("138.195.143.255"));
1816
1817   network_server_combo = gtk_combo_new ();
1818   gtk_widget_ref (network_server_combo);
1819   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_server_combo", network_server_combo,
1820                             (GtkDestroyNotify) gtk_widget_unref);
1821   gtk_widget_show (network_server_combo);
1822   gtk_table_attach (GTK_TABLE (table2), network_server_combo, 1, 2, 0, 1,
1823                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1824                     (GtkAttachOptions) (0), 0, 0);
1825   network_server_combo_items = g_list_append (network_server_combo_items, (gpointer) _("vls"));
1826   gtk_combo_set_popdown_strings (GTK_COMBO (network_server_combo), network_server_combo_items);
1827   g_list_free (network_server_combo_items);
1828
1829   network_server = GTK_COMBO (network_server_combo)->entry;
1830   gtk_widget_ref (network_server);
1831   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_server", network_server,
1832                             (GtkDestroyNotify) gtk_widget_unref);
1833   gtk_widget_show (network_server);
1834   gtk_entry_set_text (GTK_ENTRY (network_server), _("vls"));
1835
1836   frame6 = gtk_frame_new (_("Channels"));
1837   gtk_widget_ref (frame6);
1838   gtk_object_set_data_full (GTK_OBJECT (intf_network), "frame6", frame6,
1839                             (GtkDestroyNotify) gtk_widget_unref);
1840   gtk_widget_show (frame6);
1841   gtk_box_pack_start (GTK_BOX (vbox8), frame6, TRUE, TRUE, 5);
1842   gtk_frame_set_label_align (GTK_FRAME (frame6), 0.05, 0.5);
1843
1844   hbox14 = gtk_hbox_new (FALSE, 0);
1845   gtk_widget_ref (hbox14);
1846   gtk_object_set_data_full (GTK_OBJECT (intf_network), "hbox14", hbox14,
1847                             (GtkDestroyNotify) gtk_widget_unref);
1848   gtk_widget_show (hbox14);
1849   gtk_container_add (GTK_CONTAINER (frame6), hbox14);
1850
1851   network_channel_check = gtk_check_button_new_with_label (_("Channel server:"));
1852   gtk_widget_ref (network_channel_check);
1853   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_channel_check", network_channel_check,
1854                             (GtkDestroyNotify) gtk_widget_unref);
1855   gtk_widget_show (network_channel_check);
1856   gtk_box_pack_start (GTK_BOX (hbox14), network_channel_check, FALSE, FALSE, 0);
1857
1858   network_channel_combo = gtk_combo_new ();
1859   gtk_widget_ref (network_channel_combo);
1860   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_channel_combo", network_channel_combo,
1861                             (GtkDestroyNotify) gtk_widget_unref);
1862   gtk_widget_show (network_channel_combo);
1863   gtk_box_pack_start (GTK_BOX (hbox14), network_channel_combo, TRUE, TRUE, 0);
1864
1865   network_channel = GTK_COMBO (network_channel_combo)->entry;
1866   gtk_widget_ref (network_channel);
1867   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_channel", network_channel,
1868                             (GtkDestroyNotify) gtk_widget_unref);
1869   gtk_widget_show (network_channel);
1870   gtk_entry_set_text (GTK_ENTRY (network_channel), _("138.195.143.120"));
1871
1872   network_channel_port_label = gtk_label_new (_("port:"));
1873   gtk_widget_ref (network_channel_port_label);
1874   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_channel_port_label", network_channel_port_label,
1875                             (GtkDestroyNotify) gtk_widget_unref);
1876   gtk_widget_show (network_channel_port_label);
1877   gtk_box_pack_start (GTK_BOX (hbox14), network_channel_port_label, FALSE, FALSE, 5);
1878
1879   network_channel_port_adj = gtk_adjustment_new (6010, 1024, 100, 1, 10, 10);
1880   network_channel_port = gtk_spin_button_new (GTK_ADJUSTMENT (network_channel_port_adj), 1, 0);
1881   gtk_widget_ref (network_channel_port);
1882   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_channel_port", network_channel_port,
1883                             (GtkDestroyNotify) gtk_widget_unref);
1884   gtk_widget_show (network_channel_port);
1885   gtk_box_pack_start (GTK_BOX (hbox14), network_channel_port, TRUE, TRUE, 0);
1886   gtk_widget_set_usize (network_channel_port, 62, -2);
1887
1888   hbox4 = GTK_DIALOG (intf_network)->action_area;
1889   gtk_object_set_data (GTK_OBJECT (intf_network), "hbox4", hbox4);
1890   gtk_widget_show (hbox4);
1891   gtk_container_set_border_width (GTK_CONTAINER (hbox4), 5);
1892
1893   hbox5 = gtk_hbox_new (TRUE, 5);
1894   gtk_widget_ref (hbox5);
1895   gtk_object_set_data_full (GTK_OBJECT (intf_network), "hbox5", hbox5,
1896                             (GtkDestroyNotify) gtk_widget_unref);
1897   gtk_widget_show (hbox5);
1898   gtk_box_pack_end (GTK_BOX (hbox4), hbox5, FALSE, TRUE, 0);
1899
1900   network_ok = gtk_button_new_with_label (_("OK"));
1901   gtk_widget_ref (network_ok);
1902   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_ok", network_ok,
1903                             (GtkDestroyNotify) gtk_widget_unref);
1904   gtk_widget_show (network_ok);
1905   gtk_box_pack_start (GTK_BOX (hbox5), network_ok, FALSE, TRUE, 0);
1906
1907   network_cancel = gtk_button_new_with_label (_("Cancel"));
1908   gtk_widget_ref (network_cancel);
1909   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_cancel", network_cancel,
1910                             (GtkDestroyNotify) gtk_widget_unref);
1911   gtk_widget_show (network_cancel);
1912   gtk_box_pack_start (GTK_BOX (hbox5), network_cancel, FALSE, TRUE, 0);
1913
1914   gtk_signal_connect (GTK_OBJECT (network_broadcast_check), "toggled",
1915                       GTK_SIGNAL_FUNC (GtkNetworkOpenBroadcast),
1916                       "intf_network");
1917   gtk_signal_connect (GTK_OBJECT (network_channel_check), "toggled",
1918                       GTK_SIGNAL_FUNC (GtkNetworkOpenChannel),
1919                       "intf_network");
1920   gtk_signal_connect (GTK_OBJECT (network_ok), "clicked",
1921                       GTK_SIGNAL_FUNC (GtkNetworkOpenOk),
1922                       "intf_network");
1923   gtk_signal_connect (GTK_OBJECT (network_cancel), "clicked",
1924                       GTK_SIGNAL_FUNC (GtkNetworkOpenCancel),
1925                       "intf_network");
1926
1927   return intf_network;
1928 }
1929
1930 GtkWidget*
1931 create_intf_jump (void)
1932 {
1933   GtkWidget *intf_jump;
1934   GtkWidget *dialog_vbox3;
1935   GtkWidget *jump_frame;
1936   GtkWidget *hbox13;
1937   GtkWidget *jump_second_label;
1938   GtkObject *jump_second_spinbutton_adj;
1939   GtkWidget *jump_second_spinbutton;
1940   GtkWidget *jump_minute_label;
1941   GtkObject *jump_minute_spinbutton_adj;
1942   GtkWidget *jump_minute_spinbutton;
1943   GtkWidget *jump_hour_label;
1944   GtkObject *jump_hour_spinbutton_adj;
1945   GtkWidget *jump_hour_spinbutton;
1946   GtkWidget *dialog_action_area2;
1947   GtkWidget *jump_ok_button;
1948   GtkWidget *jump_cancel_button;
1949
1950   intf_jump = gtk_dialog_new ();
1951   gtk_object_set_data (GTK_OBJECT (intf_jump), "intf_jump", intf_jump);
1952   gtk_window_set_title (GTK_WINDOW (intf_jump), _("Jump"));
1953   gtk_window_set_policy (GTK_WINDOW (intf_jump), TRUE, TRUE, FALSE);
1954
1955   dialog_vbox3 = GTK_DIALOG (intf_jump)->vbox;
1956   gtk_object_set_data (GTK_OBJECT (intf_jump), "dialog_vbox3", dialog_vbox3);
1957   gtk_widget_show (dialog_vbox3);
1958
1959   jump_frame = gtk_frame_new (_("Go to:"));
1960   gtk_widget_ref (jump_frame);
1961   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_frame", jump_frame,
1962                             (GtkDestroyNotify) gtk_widget_unref);
1963   gtk_widget_show (jump_frame);
1964   gtk_box_pack_start (GTK_BOX (dialog_vbox3), jump_frame, TRUE, TRUE, 0);
1965   gtk_container_set_border_width (GTK_CONTAINER (jump_frame), 5);
1966   gtk_frame_set_label_align (GTK_FRAME (jump_frame), 0.05, 0.5);
1967
1968   hbox13 = gtk_hbox_new (FALSE, 0);
1969   gtk_widget_ref (hbox13);
1970   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "hbox13", hbox13,
1971                             (GtkDestroyNotify) gtk_widget_unref);
1972   gtk_widget_show (hbox13);
1973   gtk_container_add (GTK_CONTAINER (jump_frame), hbox13);
1974
1975   jump_second_label = gtk_label_new (_("s."));
1976   gtk_widget_ref (jump_second_label);
1977   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_second_label", jump_second_label,
1978                             (GtkDestroyNotify) gtk_widget_unref);
1979   gtk_widget_show (jump_second_label);
1980   gtk_box_pack_end (GTK_BOX (hbox13), jump_second_label, FALSE, FALSE, 5);
1981
1982   jump_second_spinbutton_adj = gtk_adjustment_new (0, 0, 60, 1, 10, 10);
1983   jump_second_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (jump_second_spinbutton_adj), 1, 0);
1984   gtk_widget_ref (jump_second_spinbutton);
1985   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_second_spinbutton", jump_second_spinbutton,
1986                             (GtkDestroyNotify) gtk_widget_unref);
1987   gtk_widget_show (jump_second_spinbutton);
1988   gtk_box_pack_end (GTK_BOX (hbox13), jump_second_spinbutton, FALSE, TRUE, 0);
1989
1990   jump_minute_label = gtk_label_new (_("m:"));
1991   gtk_widget_ref (jump_minute_label);
1992   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_minute_label", jump_minute_label,
1993                             (GtkDestroyNotify) gtk_widget_unref);
1994   gtk_widget_show (jump_minute_label);
1995   gtk_box_pack_end (GTK_BOX (hbox13), jump_minute_label, FALSE, FALSE, 5);
1996
1997   jump_minute_spinbutton_adj = gtk_adjustment_new (0, 0, 60, 1, 10, 10);
1998   jump_minute_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (jump_minute_spinbutton_adj), 1, 0);
1999   gtk_widget_ref (jump_minute_spinbutton);
2000   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_minute_spinbutton", jump_minute_spinbutton,
2001                             (GtkDestroyNotify) gtk_widget_unref);
2002   gtk_widget_show (jump_minute_spinbutton);
2003   gtk_box_pack_end (GTK_BOX (hbox13), jump_minute_spinbutton, FALSE, TRUE, 0);
2004
2005   jump_hour_label = gtk_label_new (_("h:"));
2006   gtk_widget_ref (jump_hour_label);
2007   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_hour_label", jump_hour_label,
2008                             (GtkDestroyNotify) gtk_widget_unref);
2009   gtk_widget_show (jump_hour_label);
2010   gtk_box_pack_end (GTK_BOX (hbox13), jump_hour_label, FALSE, FALSE, 5);
2011
2012   jump_hour_spinbutton_adj = gtk_adjustment_new (0, 0, 12, 1, 10, 10);
2013   jump_hour_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (jump_hour_spinbutton_adj), 1, 0);
2014   gtk_widget_ref (jump_hour_spinbutton);
2015   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_hour_spinbutton", jump_hour_spinbutton,
2016                             (GtkDestroyNotify) gtk_widget_unref);
2017   gtk_widget_show (jump_hour_spinbutton);
2018   gtk_box_pack_end (GTK_BOX (hbox13), jump_hour_spinbutton, FALSE, TRUE, 0);
2019
2020   dialog_action_area2 = GTK_DIALOG (intf_jump)->action_area;
2021   gtk_object_set_data (GTK_OBJECT (intf_jump), "dialog_action_area2", dialog_action_area2);
2022   gtk_widget_show (dialog_action_area2);
2023   gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area2), 10);
2024
2025   jump_ok_button = gtk_button_new_with_label (_("Ok"));
2026   gtk_widget_ref (jump_ok_button);
2027   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_ok_button", jump_ok_button,
2028                             (GtkDestroyNotify) gtk_widget_unref);
2029   gtk_widget_show (jump_ok_button);
2030   gtk_box_pack_start (GTK_BOX (dialog_action_area2), jump_ok_button, TRUE, TRUE, 0);
2031
2032   jump_cancel_button = gtk_button_new_with_label (_("Cancel"));
2033   gtk_widget_ref (jump_cancel_button);
2034   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_cancel_button", jump_cancel_button,
2035                             (GtkDestroyNotify) gtk_widget_unref);
2036   gtk_widget_show (jump_cancel_button);
2037   gtk_box_pack_start (GTK_BOX (dialog_action_area2), jump_cancel_button, TRUE, TRUE, 0);
2038
2039   gtk_signal_connect (GTK_OBJECT (jump_ok_button), "clicked",
2040                       GTK_SIGNAL_FUNC (GtkJumpOk),
2041                       "intf_jump");
2042   gtk_signal_connect (GTK_OBJECT (jump_cancel_button), "clicked",
2043                       GTK_SIGNAL_FUNC (GtkJumpCancel),
2044                       "intf_jump");
2045
2046   return intf_jump;
2047 }
2048
2049 GtkWidget*
2050 create_intf_playlist (void)
2051 {
2052   GtkWidget *intf_playlist;
2053   GtkWidget *dialog_vbox4;
2054   GtkWidget *playlist_menubar;
2055   GtkWidget *playlist_add;
2056   GtkWidget *playlist_add_menu;
2057   GtkAccelGroup *playlist_add_menu_accels;
2058   GtkWidget *playlist_add_disc;
2059   GtkWidget *playlist_add_file;
2060   GtkWidget *playlist_add_network;
2061   GtkWidget *playlist_add_url;
2062   GtkWidget *playlist_delete;
2063   GtkWidget *playlist_delete_menu;
2064   GtkAccelGroup *playlist_delete_menu_accels;
2065   GtkWidget *playlist_delete_all;
2066   GtkWidget *playlist_delete_selected;
2067   GtkWidget *playlist_selection;
2068   GtkWidget *playlist_selection_menu;
2069   GtkAccelGroup *playlist_selection_menu_accels;
2070   guint tmp_key;
2071   GtkWidget *playlist_selection_crop;
2072   GtkWidget *playlist_selection_invert;
2073   GtkWidget *playlist_selection_select;
2074   GtkWidget *scrolledwindow1;
2075   GtkWidget *playlist_clist;
2076   GtkWidget *label22;
2077   GtkWidget *label23;
2078   GtkWidget *dialog_action_area3;
2079   GtkWidget *playlist_ok_button;
2080   GtkWidget *playlist_cancel_button;
2081
2082   intf_playlist = gtk_dialog_new ();
2083   gtk_object_set_data (GTK_OBJECT (intf_playlist), "intf_playlist", intf_playlist);
2084   gtk_window_set_title (GTK_WINDOW (intf_playlist), _("Playlist"));
2085   gtk_window_set_default_size (GTK_WINDOW (intf_playlist), 400, 300);
2086   gtk_window_set_policy (GTK_WINDOW (intf_playlist), TRUE, TRUE, FALSE);
2087
2088   dialog_vbox4 = GTK_DIALOG (intf_playlist)->vbox;
2089   gtk_object_set_data (GTK_OBJECT (intf_playlist), "dialog_vbox4", dialog_vbox4);
2090   gtk_widget_show (dialog_vbox4);
2091
2092   playlist_menubar = gtk_menu_bar_new ();
2093   gtk_widget_ref (playlist_menubar);
2094   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_menubar", playlist_menubar,
2095                             (GtkDestroyNotify) gtk_widget_unref);
2096   gtk_widget_show (playlist_menubar);
2097   gtk_box_pack_start (GTK_BOX (dialog_vbox4), playlist_menubar, FALSE, FALSE, 0);
2098
2099   playlist_add = gtk_menu_item_new_with_label (_("Add"));
2100   gtk_widget_ref (playlist_add);
2101   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add", playlist_add,
2102                             (GtkDestroyNotify) gtk_widget_unref);
2103   gtk_widget_show (playlist_add);
2104   gtk_container_add (GTK_CONTAINER (playlist_menubar), playlist_add);
2105
2106   playlist_add_menu = gtk_menu_new ();
2107   gtk_widget_ref (playlist_add_menu);
2108   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_menu", playlist_add_menu,
2109                             (GtkDestroyNotify) gtk_widget_unref);
2110   gtk_menu_item_set_submenu (GTK_MENU_ITEM (playlist_add), playlist_add_menu);
2111   playlist_add_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (playlist_add_menu));
2112
2113   playlist_add_disc = gtk_menu_item_new_with_label (_("Disc"));
2114   gtk_widget_ref (playlist_add_disc);
2115   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_disc", playlist_add_disc,
2116                             (GtkDestroyNotify) gtk_widget_unref);
2117   gtk_widget_show (playlist_add_disc);
2118   gtk_container_add (GTK_CONTAINER (playlist_add_menu), playlist_add_disc);
2119
2120   playlist_add_file = gtk_menu_item_new_with_label (_("File"));
2121   gtk_widget_ref (playlist_add_file);
2122   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_file", playlist_add_file,
2123                             (GtkDestroyNotify) gtk_widget_unref);
2124   gtk_widget_show (playlist_add_file);
2125   gtk_container_add (GTK_CONTAINER (playlist_add_menu), playlist_add_file);
2126
2127   playlist_add_network = gtk_menu_item_new_with_label (_("Network"));
2128   gtk_widget_ref (playlist_add_network);
2129   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_network", playlist_add_network,
2130                             (GtkDestroyNotify) gtk_widget_unref);
2131   gtk_widget_show (playlist_add_network);
2132   gtk_container_add (GTK_CONTAINER (playlist_add_menu), playlist_add_network);
2133
2134   playlist_add_url = gtk_menu_item_new_with_label (_("Url"));
2135   gtk_widget_ref (playlist_add_url);
2136   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_url", playlist_add_url,
2137                             (GtkDestroyNotify) gtk_widget_unref);
2138   gtk_widget_show (playlist_add_url);
2139   gtk_container_add (GTK_CONTAINER (playlist_add_menu), playlist_add_url);
2140
2141   playlist_delete = gtk_menu_item_new_with_label (_("Delete"));
2142   gtk_widget_ref (playlist_delete);
2143   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_delete", playlist_delete,
2144                             (GtkDestroyNotify) gtk_widget_unref);
2145   gtk_widget_show (playlist_delete);
2146   gtk_container_add (GTK_CONTAINER (playlist_menubar), playlist_delete);
2147
2148   playlist_delete_menu = gtk_menu_new ();
2149   gtk_widget_ref (playlist_delete_menu);
2150   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_delete_menu", playlist_delete_menu,
2151                             (GtkDestroyNotify) gtk_widget_unref);
2152   gtk_menu_item_set_submenu (GTK_MENU_ITEM (playlist_delete), playlist_delete_menu);
2153   playlist_delete_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (playlist_delete_menu));
2154
2155   playlist_delete_all = gtk_menu_item_new_with_label (_("All"));
2156   gtk_widget_ref (playlist_delete_all);
2157   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_delete_all", playlist_delete_all,
2158                             (GtkDestroyNotify) gtk_widget_unref);
2159   gtk_widget_show (playlist_delete_all);
2160   gtk_container_add (GTK_CONTAINER (playlist_delete_menu), playlist_delete_all);
2161
2162   playlist_delete_selected = gtk_menu_item_new_with_label (_("Selected"));
2163   gtk_widget_ref (playlist_delete_selected);
2164   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_delete_selected", playlist_delete_selected,
2165                             (GtkDestroyNotify) gtk_widget_unref);
2166   gtk_widget_show (playlist_delete_selected);
2167   gtk_container_add (GTK_CONTAINER (playlist_delete_menu), playlist_delete_selected);
2168
2169   playlist_selection = gtk_menu_item_new_with_label (_("Selection"));
2170   gtk_widget_ref (playlist_selection);
2171   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection", playlist_selection,
2172                             (GtkDestroyNotify) gtk_widget_unref);
2173   gtk_widget_show (playlist_selection);
2174   gtk_container_add (GTK_CONTAINER (playlist_menubar), playlist_selection);
2175
2176   playlist_selection_menu = gtk_menu_new ();
2177   gtk_widget_ref (playlist_selection_menu);
2178   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection_menu", playlist_selection_menu,
2179                             (GtkDestroyNotify) gtk_widget_unref);
2180   gtk_menu_item_set_submenu (GTK_MENU_ITEM (playlist_selection), playlist_selection_menu);
2181   playlist_selection_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (playlist_selection_menu));
2182
2183   playlist_selection_crop = gtk_menu_item_new_with_label ("");
2184   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (playlist_selection_crop)->child),
2185                                    _("_Crop"));
2186   gtk_widget_add_accelerator (playlist_selection_crop, "activate_item", playlist_selection_menu_accels,
2187                               tmp_key, 0, 0);
2188   gtk_widget_ref (playlist_selection_crop);
2189   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection_crop", playlist_selection_crop,
2190                             (GtkDestroyNotify) gtk_widget_unref);
2191   gtk_widget_show (playlist_selection_crop);
2192   gtk_container_add (GTK_CONTAINER (playlist_selection_menu), playlist_selection_crop);
2193
2194   playlist_selection_invert = gtk_menu_item_new_with_label ("");
2195   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (playlist_selection_invert)->child),
2196                                    _("_Invert"));
2197   gtk_widget_add_accelerator (playlist_selection_invert, "activate_item", playlist_selection_menu_accels,
2198                               tmp_key, 0, 0);
2199   gtk_widget_ref (playlist_selection_invert);
2200   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection_invert", playlist_selection_invert,
2201                             (GtkDestroyNotify) gtk_widget_unref);
2202   gtk_widget_show (playlist_selection_invert);
2203   gtk_container_add (GTK_CONTAINER (playlist_selection_menu), playlist_selection_invert);
2204
2205   playlist_selection_select = gtk_menu_item_new_with_label ("");
2206   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (playlist_selection_select)->child),
2207                                    _("_Select"));
2208   gtk_widget_add_accelerator (playlist_selection_select, "activate_item", playlist_selection_menu_accels,
2209                               tmp_key, 0, 0);
2210   gtk_widget_ref (playlist_selection_select);
2211   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection_select", playlist_selection_select,
2212                             (GtkDestroyNotify) gtk_widget_unref);
2213   gtk_widget_show (playlist_selection_select);
2214   gtk_container_add (GTK_CONTAINER (playlist_selection_menu), playlist_selection_select);
2215
2216   scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL);
2217   gtk_widget_ref (scrolledwindow1);
2218   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "scrolledwindow1", scrolledwindow1,
2219                             (GtkDestroyNotify) gtk_widget_unref);
2220   gtk_widget_show (scrolledwindow1);
2221   gtk_box_pack_start (GTK_BOX (dialog_vbox4), scrolledwindow1, TRUE, TRUE, 0);
2222   gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
2223
2224   playlist_clist = gtk_clist_new (2);
2225   gtk_widget_ref (playlist_clist);
2226   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_clist", playlist_clist,
2227                             (GtkDestroyNotify) gtk_widget_unref);
2228   gtk_widget_show (playlist_clist);
2229   gtk_container_add (GTK_CONTAINER (scrolledwindow1), playlist_clist);
2230   gtk_container_set_border_width (GTK_CONTAINER (playlist_clist), 5);
2231   gtk_clist_set_column_width (GTK_CLIST (playlist_clist), 0, 257);
2232   gtk_clist_set_column_width (GTK_CLIST (playlist_clist), 1, 80);
2233   gtk_clist_set_selection_mode (GTK_CLIST (playlist_clist), GTK_SELECTION_EXTENDED);
2234   gtk_clist_column_titles_show (GTK_CLIST (playlist_clist));
2235   gtk_clist_set_shadow_type (GTK_CLIST (playlist_clist), GTK_SHADOW_OUT);
2236
2237   label22 = gtk_label_new (_("File"));
2238   gtk_widget_ref (label22);
2239   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "label22", label22,
2240                             (GtkDestroyNotify) gtk_widget_unref);
2241   gtk_widget_show (label22);
2242   gtk_clist_set_column_widget (GTK_CLIST (playlist_clist), 0, label22);
2243
2244   label23 = gtk_label_new (_("Duration"));
2245   gtk_widget_ref (label23);
2246   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "label23", label23,
2247                             (GtkDestroyNotify) gtk_widget_unref);
2248   gtk_widget_show (label23);
2249   gtk_clist_set_column_widget (GTK_CLIST (playlist_clist), 1, label23);
2250
2251   dialog_action_area3 = GTK_DIALOG (intf_playlist)->action_area;
2252   gtk_object_set_data (GTK_OBJECT (intf_playlist), "dialog_action_area3", dialog_action_area3);
2253   gtk_widget_show (dialog_action_area3);
2254   gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area3), 10);
2255
2256   playlist_ok_button = gtk_button_new_with_label (_("Ok"));
2257   gtk_widget_ref (playlist_ok_button);
2258   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_ok_button", playlist_ok_button,
2259                             (GtkDestroyNotify) gtk_widget_unref);
2260   gtk_widget_show (playlist_ok_button);
2261   gtk_box_pack_start (GTK_BOX (dialog_action_area3), playlist_ok_button, TRUE, TRUE, 0);
2262
2263   playlist_cancel_button = gtk_button_new_with_label (_("Cancel"));
2264   gtk_widget_ref (playlist_cancel_button);
2265   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_cancel_button", playlist_cancel_button,
2266                             (GtkDestroyNotify) gtk_widget_unref);
2267   gtk_widget_show (playlist_cancel_button);
2268   gtk_box_pack_start (GTK_BOX (dialog_action_area3), playlist_cancel_button, TRUE, TRUE, 0);
2269
2270   gtk_signal_connect (GTK_OBJECT (intf_playlist), "destroy",
2271                       GTK_SIGNAL_FUNC (gtk_widget_hide),
2272                       NULL);
2273   gtk_signal_connect (GTK_OBJECT (intf_playlist), "delete_event",
2274                       GTK_SIGNAL_FUNC (gtk_widget_hide),
2275                       NULL);
2276   gtk_signal_connect (GTK_OBJECT (playlist_add_disc), "activate",
2277                       GTK_SIGNAL_FUNC (GtkDiscOpenActivate),
2278                       "intf_playlist");
2279   gtk_signal_connect (GTK_OBJECT (playlist_add_file), "activate",
2280                       GTK_SIGNAL_FUNC (GtkFileOpenActivate),
2281                       "intf_playlist");
2282   gtk_signal_connect (GTK_OBJECT (playlist_add_network), "activate",
2283                       GTK_SIGNAL_FUNC (GtkNetworkOpenActivate),
2284                       "intf_playlist");
2285   gtk_signal_connect (GTK_OBJECT (playlist_add_url), "activate",
2286                       GTK_SIGNAL_FUNC (GtkPlaylistAddUrl),
2287                       "intf_playlist");
2288   gtk_signal_connect (GTK_OBJECT (playlist_delete_all), "activate",
2289                       GTK_SIGNAL_FUNC (GtkPlaylistDeleteAll),
2290                       "intf_playlist");
2291   gtk_signal_connect (GTK_OBJECT (playlist_delete_selected), "activate",
2292                       GTK_SIGNAL_FUNC (GtkPlaylistDeleteSelected),
2293                       "intf_playlist");
2294   gtk_signal_connect (GTK_OBJECT (playlist_selection_crop), "activate",
2295                       GTK_SIGNAL_FUNC (GtkPlaylistCrop),
2296                       "intf_playlist");
2297   gtk_signal_connect (GTK_OBJECT (playlist_selection_invert), "activate",
2298                       GTK_SIGNAL_FUNC (GtkPlaylistInvert),
2299                       "intf_playlist");
2300   gtk_signal_connect (GTK_OBJECT (playlist_selection_select), "activate",
2301                       GTK_SIGNAL_FUNC (GtkPlaylistSelect),
2302                       "intf_playlist");
2303   gtk_signal_connect (GTK_OBJECT (playlist_clist), "event",
2304                       GTK_SIGNAL_FUNC (GtkPlaylistEvent),
2305                       "intf_playlist");
2306   gtk_signal_connect (GTK_OBJECT (playlist_clist), "drag_data_received",
2307                       GTK_SIGNAL_FUNC (GtkPlaylistDragData),
2308                       "intf_playlist");
2309   gtk_signal_connect (GTK_OBJECT (playlist_clist), "drag_motion",
2310                       GTK_SIGNAL_FUNC (GtkPlaylistDragMotion),
2311                       "intf_playlist");
2312   gtk_signal_connect (GTK_OBJECT (playlist_ok_button), "clicked",
2313                       GTK_SIGNAL_FUNC (GtkPlaylistOk),
2314                       "intf_playlist");
2315   gtk_signal_connect (GTK_OBJECT (playlist_cancel_button), "clicked",
2316                       GTK_SIGNAL_FUNC (GtkPlaylistCancel),
2317                       "intf_playlist");
2318
2319   return intf_playlist;
2320 }
2321
2322 GtkWidget*
2323 create_intf_messages (void)
2324 {
2325   GtkWidget *intf_messages;
2326   GtkWidget *dialog_vbox6;
2327   GtkWidget *scrolledwindow2;
2328   GtkWidget *messages_textbox;
2329   GtkWidget *dialog_action_area5;
2330   GtkWidget *messages_ok;
2331
2332   intf_messages = gtk_dialog_new ();
2333   gtk_object_set_data (GTK_OBJECT (intf_messages), "intf_messages", intf_messages);
2334   gtk_window_set_title (GTK_WINDOW (intf_messages), _("Messages"));
2335   gtk_window_set_default_size (GTK_WINDOW (intf_messages), 600, 400);
2336   gtk_window_set_policy (GTK_WINDOW (intf_messages), TRUE, TRUE, FALSE);
2337
2338   dialog_vbox6 = GTK_DIALOG (intf_messages)->vbox;
2339   gtk_object_set_data (GTK_OBJECT (intf_messages), "dialog_vbox6", dialog_vbox6);
2340   gtk_widget_show (dialog_vbox6);
2341
2342   scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL);
2343   gtk_widget_ref (scrolledwindow2);
2344   gtk_object_set_data_full (GTK_OBJECT (intf_messages), "scrolledwindow2", scrolledwindow2,
2345                             (GtkDestroyNotify) gtk_widget_unref);
2346   gtk_widget_show (scrolledwindow2);
2347   gtk_box_pack_start (GTK_BOX (dialog_vbox6), scrolledwindow2, TRUE, TRUE, 0);
2348   gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow2), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
2349
2350   messages_textbox = gtk_text_new (NULL, NULL);
2351   gtk_widget_ref (messages_textbox);
2352   gtk_object_set_data_full (GTK_OBJECT (intf_messages), "messages_textbox", messages_textbox,
2353                             (GtkDestroyNotify) gtk_widget_unref);
2354   gtk_widget_show (messages_textbox);
2355   gtk_container_add (GTK_CONTAINER (scrolledwindow2), messages_textbox);
2356
2357   dialog_action_area5 = GTK_DIALOG (intf_messages)->action_area;
2358   gtk_object_set_data (GTK_OBJECT (intf_messages), "dialog_action_area5", dialog_action_area5);
2359   gtk_widget_show (dialog_action_area5);
2360   gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area5), 10);
2361
2362   messages_ok = gtk_button_new_with_label (_("OK"));
2363   gtk_widget_ref (messages_ok);
2364   gtk_object_set_data_full (GTK_OBJECT (intf_messages), "messages_ok", messages_ok,
2365                             (GtkDestroyNotify) gtk_widget_unref);
2366   gtk_widget_show (messages_ok);
2367   gtk_box_pack_start (GTK_BOX (dialog_action_area5), messages_ok, FALSE, TRUE, 0);
2368   GTK_WIDGET_SET_FLAGS (messages_ok, GTK_CAN_DEFAULT);
2369
2370   gtk_signal_connect (GTK_OBJECT (intf_messages), "delete_event",
2371                       GTK_SIGNAL_FUNC (GtkMessagesDelete),
2372                       "intf_messages");
2373   gtk_signal_connect (GTK_OBJECT (messages_ok), "clicked",
2374                       GTK_SIGNAL_FUNC (GtkMessagesOk),
2375                       "intf_messages");
2376
2377   gtk_widget_grab_default (messages_ok);
2378   return intf_messages;
2379 }
2380
2381 GtkWidget*
2382 create_intf_sat (void)
2383 {
2384   GtkWidget *intf_sat;
2385   GtkWidget *vbox10;
2386   GtkWidget *vbox11;
2387   GtkWidget *hbox17;
2388   GtkWidget *frame8;
2389   GtkWidget *table3;
2390   GtkObject *sat_freq_adj;
2391   GtkWidget *sat_freq;
2392   GtkObject *sat_srate_adj;
2393   GtkWidget *sat_srate;
2394   GtkWidget *label24;
2395   GtkWidget *label25;
2396   GtkWidget *label26;
2397   GSList *table3_group = NULL;
2398   GtkWidget *sat_pol_vert;
2399   GtkWidget *sat_pol_hor;
2400   GtkWidget *hbox15;
2401   GtkWidget *hbox16;
2402   GtkWidget *sat_ok;
2403   GtkWidget *sat_cancel;
2404
2405   intf_sat = gtk_dialog_new ();
2406   gtk_object_set_data (GTK_OBJECT (intf_sat), "intf_sat", intf_sat);
2407   gtk_window_set_title (GTK_WINDOW (intf_sat), _("Open Satellite card"));
2408   gtk_window_set_modal (GTK_WINDOW (intf_sat), TRUE);
2409   gtk_window_set_policy (GTK_WINDOW (intf_sat), FALSE, FALSE, FALSE);
2410
2411   vbox10 = GTK_DIALOG (intf_sat)->vbox;
2412   gtk_object_set_data (GTK_OBJECT (intf_sat), "vbox10", vbox10);
2413   gtk_widget_show (vbox10);
2414   gtk_container_set_border_width (GTK_CONTAINER (vbox10), 5);
2415
2416   vbox11 = gtk_vbox_new (FALSE, 5);
2417   gtk_widget_ref (vbox11);
2418   gtk_object_set_data_full (GTK_OBJECT (intf_sat), "vbox11", vbox11,
2419                             (GtkDestroyNotify) gtk_widget_unref);
2420   gtk_widget_show (vbox11);
2421   gtk_box_pack_start (GTK_BOX (vbox10), vbox11, TRUE, TRUE, 0);
2422   gtk_container_set_border_width (GTK_CONTAINER (vbox11), 5);
2423
2424   hbox17 = gtk_hbox_new (FALSE, 5);
2425   gtk_widget_ref (hbox17);
2426   gtk_object_set_data_full (GTK_OBJECT (intf_sat), "hbox17", hbox17,
2427                             (GtkDestroyNotify) gtk_widget_unref);
2428   gtk_widget_show (hbox17);
2429   gtk_box_pack_start (GTK_BOX (vbox11), hbox17, TRUE, TRUE, 0);
2430
2431   frame8 = gtk_frame_new (_("Transponder settings"));
2432   gtk_widget_ref (frame8);
2433   gtk_object_set_data_full (GTK_OBJECT (intf_sat), "frame8", frame8,
2434                             (GtkDestroyNotify) gtk_widget_unref);
2435   gtk_widget_show (frame8);
2436   gtk_box_pack_start (GTK_BOX (hbox17), frame8, TRUE, TRUE, 0);
2437
2438   table3 = gtk_table_new (4, 2, FALSE);
2439   gtk_widget_ref (table3);
2440   gtk_object_set_data_full (GTK_OBJECT (intf_sat), "table3", table3,
2441                             (GtkDestroyNotify) gtk_widget_unref);
2442   gtk_widget_show (table3);
2443   gtk_container_add (GTK_CONTAINER (frame8), table3);
2444   gtk_container_set_border_width (GTK_CONTAINER (table3), 5);
2445   gtk_table_set_row_spacings (GTK_TABLE (table3), 5);
2446   gtk_table_set_col_spacings (GTK_TABLE (table3), 5);
2447
2448   sat_freq_adj = gtk_adjustment_new (12553, 1, 65536, 1, 10, 10);
2449   sat_freq = gtk_spin_button_new (GTK_ADJUSTMENT (sat_freq_adj), 1, 0);
2450   gtk_widget_ref (sat_freq);
2451   gtk_object_set_data_full (GTK_OBJECT (intf_sat), "sat_freq", sat_freq,
2452                             (GtkDestroyNotify) gtk_widget_unref);
2453   gtk_widget_show (sat_freq);
2454   gtk_table_attach (GTK_TABLE (table3), sat_freq, 1, 2, 0, 1,
2455                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2456                     (GtkAttachOptions) (0), 0, 0);
2457
2458   sat_srate_adj = gtk_adjustment_new (27500, 1, 65536, 1, 10, 10);
2459   sat_srate = gtk_spin_button_new (GTK_ADJUSTMENT (sat_srate_adj), 1, 0);
2460   gtk_widget_ref (sat_srate);
2461   gtk_object_set_data_full (GTK_OBJECT (intf_sat), "sat_srate", sat_srate,
2462                             (GtkDestroyNotify) gtk_widget_unref);
2463   gtk_widget_show (sat_srate);
2464   gtk_table_attach (GTK_TABLE (table3), sat_srate, 1, 2, 1, 2,
2465                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2466                     (GtkAttachOptions) (0), 0, 0);
2467
2468   label24 = gtk_label_new (_("Symbol Rate"));
2469   gtk_widget_ref (label24);
2470   gtk_object_set_data_full (GTK_OBJECT (intf_sat), "label24", label24,
2471                             (GtkDestroyNotify) gtk_widget_unref);
2472   gtk_widget_show (label24);
2473   gtk_table_attach (GTK_TABLE (table3), label24, 0, 1, 1, 2,
2474                     (GtkAttachOptions) (GTK_FILL),
2475                     (GtkAttachOptions) (0), 0, 0);
2476   gtk_misc_set_alignment (GTK_MISC (label24), 0, 0.5);
2477
2478   label25 = gtk_label_new (_("Frequency"));
2479   gtk_widget_ref (label25);
2480   gtk_object_set_data_full (GTK_OBJECT (intf_sat), "label25", label25,
2481                             (GtkDestroyNotify) gtk_widget_unref);
2482   gtk_widget_show (label25);
2483   gtk_table_attach (GTK_TABLE (table3), label25, 0, 1, 0, 1,
2484                     (GtkAttachOptions) (GTK_FILL),
2485                     (GtkAttachOptions) (0), 0, 0);
2486   gtk_misc_set_alignment (GTK_MISC (label25), 0, 0.5);
2487
2488   label26 = gtk_label_new (_("Polarization"));
2489   gtk_widget_ref (label26);
2490   gtk_object_set_data_full (GTK_OBJECT (intf_sat), "label26", label26,
2491                             (GtkDestroyNotify) gtk_widget_unref);
2492   gtk_widget_show (label26);
2493   gtk_table_attach (GTK_TABLE (table3), label26, 0, 1, 2, 3,
2494                     (GtkAttachOptions) (GTK_FILL),
2495                     (GtkAttachOptions) (0), 0, 0);
2496   gtk_misc_set_alignment (GTK_MISC (label26), 0, 0.5);
2497
2498   sat_pol_vert = gtk_radio_button_new_with_label (table3_group, _("Vertical"));
2499   table3_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sat_pol_vert));
2500   gtk_widget_ref (sat_pol_vert);
2501   gtk_object_set_data_full (GTK_OBJECT (intf_sat), "sat_pol_vert", sat_pol_vert,
2502                             (GtkDestroyNotify) gtk_widget_unref);
2503   gtk_widget_show (sat_pol_vert);
2504   gtk_table_attach (GTK_TABLE (table3), sat_pol_vert, 1, 2, 2, 3,
2505                     (GtkAttachOptions) (GTK_FILL),
2506                     (GtkAttachOptions) (0), 0, 0);
2507
2508   sat_pol_hor = gtk_radio_button_new_with_label (table3_group, _("Horizontal"));
2509   table3_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sat_pol_hor));
2510   gtk_widget_ref (sat_pol_hor);
2511   gtk_object_set_data_full (GTK_OBJECT (intf_sat), "sat_pol_hor", sat_pol_hor,
2512                             (GtkDestroyNotify) gtk_widget_unref);
2513   gtk_widget_show (sat_pol_hor);
2514   gtk_table_attach (GTK_TABLE (table3), sat_pol_hor, 1, 2, 3, 4,
2515                     (GtkAttachOptions) (GTK_FILL),
2516                     (GtkAttachOptions) (0), 0, 0);
2517
2518   hbox15 = GTK_DIALOG (intf_sat)->action_area;
2519   gtk_object_set_data (GTK_OBJECT (intf_sat), "hbox15", hbox15);
2520   gtk_widget_show (hbox15);
2521   gtk_container_set_border_width (GTK_CONTAINER (hbox15), 5);
2522
2523   hbox16 = gtk_hbox_new (TRUE, 5);
2524   gtk_widget_ref (hbox16);
2525   gtk_object_set_data_full (GTK_OBJECT (intf_sat), "hbox16", hbox16,
2526                             (GtkDestroyNotify) gtk_widget_unref);
2527   gtk_widget_show (hbox16);
2528   gtk_box_pack_end (GTK_BOX (hbox15), hbox16, FALSE, TRUE, 0);
2529
2530   sat_ok = gtk_button_new_with_label (_("OK"));
2531   gtk_widget_ref (sat_ok);
2532   gtk_object_set_data_full (GTK_OBJECT (intf_sat), "sat_ok", sat_ok,
2533                             (GtkDestroyNotify) gtk_widget_unref);
2534   gtk_widget_show (sat_ok);
2535   gtk_box_pack_start (GTK_BOX (hbox16), sat_ok, FALSE, TRUE, 0);
2536
2537   sat_cancel = gtk_button_new_with_label (_("Cancel"));
2538   gtk_widget_ref (sat_cancel);
2539   gtk_object_set_data_full (GTK_OBJECT (intf_sat), "sat_cancel", sat_cancel,
2540                             (GtkDestroyNotify) gtk_widget_unref);
2541   gtk_widget_show (sat_cancel);
2542   gtk_box_pack_start (GTK_BOX (hbox16), sat_cancel, FALSE, TRUE, 0);
2543
2544   gtk_signal_connect (GTK_OBJECT (sat_ok), "clicked",
2545                       GTK_SIGNAL_FUNC (GtkSatOpenOk),
2546                       "intf_disc");
2547   gtk_signal_connect (GTK_OBJECT (sat_cancel), "clicked",
2548                       GTK_SIGNAL_FUNC (GtkSatOpenCancel),
2549                       "intf_disc");
2550
2551   return intf_sat;
2552 }
2553