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