]> git.sesse.net Git - vlc/blob - plugins/gtk/gtk_interface.c
d2deedb24a5e41ca4c1d457590028c4bf149a7a5
[vlc] / plugins / gtk / gtk_interface.c
1 /*
2  * DO NOT EDIT THIS FILE - it is generated by Glade.
3  */
4
5 #ifdef HAVE_CONFIG_H
6 #  include <config.h>
7 #endif
8
9 #include <sys/types.h>
10 #include <sys/stat.h>
11 #include <unistd.h>
12 #include <string.h>
13
14 #include <gdk/gdkkeysyms.h>
15 #include <gtk/gtk.h>
16
17 #include "gtk_callbacks.h"
18 #include "gtk_interface.h"
19 #include "gtk_support.h"
20
21 GtkWidget*
22 create_intf_window (void)
23 {
24   GtkWidget *intf_window;
25   GtkWidget *vbox2;
26   GtkWidget *handlebox2;
27   GtkWidget *menubar1;
28   guint tmp_key;
29   GtkWidget *menubar_file;
30   GtkWidget *menubar_file_menu;
31   GtkAccelGroup *menubar_file_menu_accels;
32   GtkWidget *menubar_open;
33   GtkWidget *menubar_disc;
34   GtkWidget *separator4;
35   GtkWidget *menubar_exit;
36   GtkWidget *menubar_view;
37   GtkWidget *menubar_view_menu;
38   GtkAccelGroup *menubar_view_menu_accels;
39   GtkWidget *menubar_title;
40   GtkWidget *menubar_chapter;
41   GtkWidget *separator11;
42   GtkWidget *menubar_playlist;
43   GtkWidget *menubar_modules;
44   GtkWidget *menubar_settings;
45   GtkWidget *menubar_settings_menu;
46   GtkAccelGroup *menubar_settings_menu_accels;
47   GtkWidget *separator7;
48   GtkWidget *menubar_audio;
49   GtkWidget *menubar_subpictures;
50   GtkWidget *separator8;
51   GtkWidget *menubar_preferences;
52   GtkWidget *menubar_help;
53   GtkWidget *menubar_help_menu;
54   GtkAccelGroup *menubar_help_menu_accels;
55   GtkWidget *menubar_about;
56   GtkWidget *handlebox1;
57   GtkWidget *toolbar;
58   GtkWidget *toolbar_open;
59   GtkWidget *toolbar_disc;
60   GtkWidget *toolbar_back;
61   GtkWidget *toolbar_stop;
62   GtkWidget *toolbar_play;
63   GtkWidget *toolbar_pause;
64   GtkWidget *toolbar_slow;
65   GtkWidget *toolbar_fast;
66   GtkWidget *toolbar_playlist;
67   GtkWidget *toolbar_prev;
68   GtkWidget *toolbar_next;
69   GtkWidget *entry1;
70   GtkWidget *label6;
71   GtkWidget *hscale;
72   GtkWidget *label13;
73   GtkWidget *statusbar1;
74   GtkAccelGroup *accel_group;
75   GtkTooltips *tooltips;
76
77   tooltips = gtk_tooltips_new ();
78
79   accel_group = gtk_accel_group_new ();
80
81   intf_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
82   gtk_object_set_data (GTK_OBJECT (intf_window), "intf_window", intf_window);
83   gtk_window_set_title (GTK_WINDOW (intf_window), _("VideoLAN Client"));
84
85   vbox2 = gtk_vbox_new (FALSE, 0);
86   gtk_widget_ref (vbox2);
87   gtk_object_set_data_full (GTK_OBJECT (intf_window), "vbox2", vbox2,
88                             (GtkDestroyNotify) gtk_widget_unref);
89   gtk_widget_show (vbox2);
90   gtk_container_add (GTK_CONTAINER (intf_window), vbox2);
91
92   handlebox2 = gtk_handle_box_new ();
93   gtk_widget_ref (handlebox2);
94   gtk_object_set_data_full (GTK_OBJECT (intf_window), "handlebox2", handlebox2,
95                             (GtkDestroyNotify) gtk_widget_unref);
96   gtk_widget_show (handlebox2);
97   gtk_box_pack_start (GTK_BOX (vbox2), handlebox2, FALSE, TRUE, 0);
98
99   menubar1 = gtk_menu_bar_new ();
100   gtk_widget_ref (menubar1);
101   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar1", menubar1,
102                             (GtkDestroyNotify) gtk_widget_unref);
103   gtk_widget_show (menubar1);
104   gtk_container_add (GTK_CONTAINER (handlebox2), menubar1);
105
106   menubar_file = gtk_menu_item_new_with_label ("");
107   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_file)->child),
108                                    _("_File"));
109   gtk_widget_add_accelerator (menubar_file, "activate_item", accel_group,
110                               tmp_key, GDK_MOD1_MASK, 0);
111   gtk_widget_ref (menubar_file);
112   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_file", menubar_file,
113                             (GtkDestroyNotify) gtk_widget_unref);
114   gtk_widget_show (menubar_file);
115   gtk_container_add (GTK_CONTAINER (menubar1), menubar_file);
116
117   menubar_file_menu = gtk_menu_new ();
118   gtk_widget_ref (menubar_file_menu);
119   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_file_menu", menubar_file_menu,
120                             (GtkDestroyNotify) gtk_widget_unref);
121   gtk_menu_item_set_submenu (GTK_MENU_ITEM (menubar_file), menubar_file_menu);
122   menubar_file_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (menubar_file_menu));
123
124   menubar_open = gtk_menu_item_new_with_label ("");
125   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_open)->child),
126                                    _("_Open File..."));
127   gtk_widget_add_accelerator (menubar_open, "activate_item", menubar_file_menu_accels,
128                               tmp_key, 0, 0);
129   gtk_widget_ref (menubar_open);
130   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_open", menubar_open,
131                             (GtkDestroyNotify) gtk_widget_unref);
132   gtk_widget_show (menubar_open);
133   gtk_container_add (GTK_CONTAINER (menubar_file_menu), menubar_open);
134   gtk_tooltips_set_tip (tooltips, menubar_open, _("Open a File"), NULL);
135   gtk_widget_add_accelerator (menubar_open, "activate", accel_group,
136                               GDK_F3, 0,
137                               GTK_ACCEL_VISIBLE);
138
139   menubar_disc = gtk_menu_item_new_with_label ("");
140   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_disc)->child),
141                                    _("Open _Disc..."));
142   gtk_widget_add_accelerator (menubar_disc, "activate_item", menubar_file_menu_accels,
143                               tmp_key, 0, 0);
144   gtk_widget_ref (menubar_disc);
145   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_disc", menubar_disc,
146                             (GtkDestroyNotify) gtk_widget_unref);
147   gtk_widget_show (menubar_disc);
148   gtk_container_add (GTK_CONTAINER (menubar_file_menu), menubar_disc);
149   gtk_tooltips_set_tip (tooltips, menubar_disc, _("Open a DVD or VCD"), NULL);
150
151   separator4 = gtk_menu_item_new ();
152   gtk_widget_ref (separator4);
153   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator4", separator4,
154                             (GtkDestroyNotify) gtk_widget_unref);
155   gtk_widget_show (separator4);
156   gtk_container_add (GTK_CONTAINER (menubar_file_menu), separator4);
157   gtk_widget_set_sensitive (separator4, FALSE);
158
159   menubar_exit = gtk_menu_item_new_with_label ("");
160   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_exit)->child),
161                                    _("E_xit"));
162   gtk_widget_add_accelerator (menubar_exit, "activate_item", menubar_file_menu_accels,
163                               tmp_key, 0, 0);
164   gtk_widget_ref (menubar_exit);
165   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_exit", menubar_exit,
166                             (GtkDestroyNotify) gtk_widget_unref);
167   gtk_widget_show (menubar_exit);
168   gtk_container_add (GTK_CONTAINER (menubar_file_menu), menubar_exit);
169   gtk_tooltips_set_tip (tooltips, menubar_exit, _("Exit the program"), NULL);
170   gtk_widget_add_accelerator (menubar_exit, "activate", accel_group,
171                               GDK_Q, GDK_CONTROL_MASK,
172                               GTK_ACCEL_VISIBLE);
173
174   menubar_view = gtk_menu_item_new_with_label ("");
175   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_view)->child),
176                                    _("_View"));
177   gtk_widget_add_accelerator (menubar_view, "activate_item", accel_group,
178                               tmp_key, GDK_MOD1_MASK, 0);
179   gtk_widget_ref (menubar_view);
180   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_view", menubar_view,
181                             (GtkDestroyNotify) gtk_widget_unref);
182   gtk_widget_show (menubar_view);
183   gtk_container_add (GTK_CONTAINER (menubar1), menubar_view);
184
185   menubar_view_menu = gtk_menu_new ();
186   gtk_widget_ref (menubar_view_menu);
187   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_view_menu", menubar_view_menu,
188                             (GtkDestroyNotify) gtk_widget_unref);
189   gtk_menu_item_set_submenu (GTK_MENU_ITEM (menubar_view), menubar_view_menu);
190   menubar_view_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (menubar_view_menu));
191
192   menubar_title = gtk_menu_item_new_with_label ("");
193   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_title)->child),
194                                    _("_Title"));
195   gtk_widget_add_accelerator (menubar_title, "activate_item", menubar_view_menu_accels,
196                               tmp_key, 0, 0);
197   gtk_widget_ref (menubar_title);
198   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_title", menubar_title,
199                             (GtkDestroyNotify) gtk_widget_unref);
200   gtk_widget_show (menubar_title);
201   gtk_container_add (GTK_CONTAINER (menubar_view_menu), menubar_title);
202   gtk_widget_set_sensitive (menubar_title, FALSE);
203   gtk_tooltips_set_tip (tooltips, menubar_title, _("Navigate through the stream"), NULL);
204
205   menubar_chapter = gtk_menu_item_new_with_label ("");
206   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_chapter)->child),
207                                    _("_Chapter"));
208   gtk_widget_add_accelerator (menubar_chapter, "activate_item", menubar_view_menu_accels,
209                               tmp_key, 0, 0);
210   gtk_widget_ref (menubar_chapter);
211   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_chapter", menubar_chapter,
212                             (GtkDestroyNotify) gtk_widget_unref);
213   gtk_widget_show (menubar_chapter);
214   gtk_container_add (GTK_CONTAINER (menubar_view_menu), menubar_chapter);
215   gtk_widget_set_sensitive (menubar_chapter, FALSE);
216
217   separator11 = gtk_menu_item_new ();
218   gtk_widget_ref (separator11);
219   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator11", separator11,
220                             (GtkDestroyNotify) gtk_widget_unref);
221   gtk_widget_show (separator11);
222   gtk_container_add (GTK_CONTAINER (menubar_view_menu), separator11);
223   gtk_widget_set_sensitive (separator11, FALSE);
224
225   menubar_playlist = gtk_menu_item_new_with_label ("");
226   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_playlist)->child),
227                                    _("_Playlist..."));
228   gtk_widget_add_accelerator (menubar_playlist, "activate_item", menubar_view_menu_accels,
229                               tmp_key, 0, 0);
230   gtk_widget_ref (menubar_playlist);
231   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_playlist", menubar_playlist,
232                             (GtkDestroyNotify) gtk_widget_unref);
233   gtk_widget_show (menubar_playlist);
234   gtk_container_add (GTK_CONTAINER (menubar_view_menu), menubar_playlist);
235   gtk_tooltips_set_tip (tooltips, menubar_playlist, _("Open the playlist window"), NULL);
236
237   menubar_modules = gtk_menu_item_new_with_label ("");
238   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_modules)->child),
239                                    _("_Modules..."));
240   gtk_widget_add_accelerator (menubar_modules, "activate_item", menubar_view_menu_accels,
241                               tmp_key, 0, 0);
242   gtk_widget_ref (menubar_modules);
243   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_modules", menubar_modules,
244                             (GtkDestroyNotify) gtk_widget_unref);
245   gtk_widget_show (menubar_modules);
246   gtk_container_add (GTK_CONTAINER (menubar_view_menu), menubar_modules);
247   gtk_widget_set_sensitive (menubar_modules, FALSE);
248   gtk_tooltips_set_tip (tooltips, menubar_modules, _("Open the plugin manager"), NULL);
249
250   menubar_settings = gtk_menu_item_new_with_label ("");
251   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_settings)->child),
252                                    _("_Settings"));
253   gtk_widget_add_accelerator (menubar_settings, "activate_item", accel_group,
254                               tmp_key, GDK_MOD1_MASK, 0);
255   gtk_widget_ref (menubar_settings);
256   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_settings", menubar_settings,
257                             (GtkDestroyNotify) gtk_widget_unref);
258   gtk_widget_show (menubar_settings);
259   gtk_container_add (GTK_CONTAINER (menubar1), menubar_settings);
260
261   menubar_settings_menu = gtk_menu_new ();
262   gtk_widget_ref (menubar_settings_menu);
263   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_settings_menu", menubar_settings_menu,
264                             (GtkDestroyNotify) gtk_widget_unref);
265   gtk_menu_item_set_submenu (GTK_MENU_ITEM (menubar_settings), menubar_settings_menu);
266   menubar_settings_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (menubar_settings_menu));
267
268   separator7 = gtk_menu_item_new ();
269   gtk_widget_ref (separator7);
270   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator7", separator7,
271                             (GtkDestroyNotify) gtk_widget_unref);
272   gtk_widget_show (separator7);
273   gtk_container_add (GTK_CONTAINER (menubar_settings_menu), separator7);
274   gtk_widget_set_sensitive (separator7, FALSE);
275
276   menubar_audio = gtk_menu_item_new_with_label ("");
277   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_audio)->child),
278                                    _("A_udio"));
279   gtk_widget_add_accelerator (menubar_audio, "activate_item", menubar_settings_menu_accels,
280                               tmp_key, 0, 0);
281   gtk_widget_ref (menubar_audio);
282   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_audio", menubar_audio,
283                             (GtkDestroyNotify) gtk_widget_unref);
284   gtk_widget_show (menubar_audio);
285   gtk_container_add (GTK_CONTAINER (menubar_settings_menu), menubar_audio);
286   gtk_widget_set_sensitive (menubar_audio, FALSE);
287   gtk_tooltips_set_tip (tooltips, menubar_audio, _("Select audio language"), NULL);
288
289   menubar_subpictures = gtk_menu_item_new_with_label ("");
290   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_subpictures)->child),
291                                    _("Sub _Pictures"));
292   gtk_widget_add_accelerator (menubar_subpictures, "activate_item", menubar_settings_menu_accels,
293                               tmp_key, 0, 0);
294   gtk_widget_ref (menubar_subpictures);
295   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_subpictures", menubar_subpictures,
296                             (GtkDestroyNotify) gtk_widget_unref);
297   gtk_widget_show (menubar_subpictures);
298   gtk_container_add (GTK_CONTAINER (menubar_settings_menu), menubar_subpictures);
299   gtk_widget_set_sensitive (menubar_subpictures, FALSE);
300   gtk_tooltips_set_tip (tooltips, menubar_subpictures, _("Select sub-title"), NULL);
301
302   separator8 = gtk_menu_item_new ();
303   gtk_widget_ref (separator8);
304   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator8", separator8,
305                             (GtkDestroyNotify) gtk_widget_unref);
306   gtk_widget_show (separator8);
307   gtk_container_add (GTK_CONTAINER (menubar_settings_menu), separator8);
308   gtk_widget_set_sensitive (separator8, FALSE);
309
310   menubar_preferences = gtk_menu_item_new_with_label ("");
311   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_preferences)->child),
312                                    _("_Preferences..."));
313   gtk_widget_add_accelerator (menubar_preferences, "activate_item", menubar_settings_menu_accels,
314                               tmp_key, 0, 0);
315   gtk_widget_ref (menubar_preferences);
316   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_preferences", menubar_preferences,
317                             (GtkDestroyNotify) gtk_widget_unref);
318   gtk_widget_show (menubar_preferences);
319   gtk_container_add (GTK_CONTAINER (menubar_settings_menu), menubar_preferences);
320   gtk_widget_set_sensitive (menubar_preferences, FALSE);
321   gtk_tooltips_set_tip (tooltips, menubar_preferences, _("Configure the application"), NULL);
322
323   menubar_help = gtk_menu_item_new_with_label ("");
324   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_help)->child),
325                                    _("_Help"));
326   gtk_widget_add_accelerator (menubar_help, "activate_item", accel_group,
327                               tmp_key, GDK_MOD1_MASK, 0);
328   gtk_widget_ref (menubar_help);
329   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_help", menubar_help,
330                             (GtkDestroyNotify) gtk_widget_unref);
331   gtk_widget_show (menubar_help);
332   gtk_container_add (GTK_CONTAINER (menubar1), menubar_help);
333
334   menubar_help_menu = gtk_menu_new ();
335   gtk_widget_ref (menubar_help_menu);
336   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_help_menu", menubar_help_menu,
337                             (GtkDestroyNotify) gtk_widget_unref);
338   gtk_menu_item_set_submenu (GTK_MENU_ITEM (menubar_help), menubar_help_menu);
339   menubar_help_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (menubar_help_menu));
340
341   menubar_about = gtk_menu_item_new_with_label ("");
342   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_about)->child),
343                                    _("_About..."));
344   gtk_widget_add_accelerator (menubar_about, "activate_item", menubar_help_menu_accels,
345                               tmp_key, 0, 0);
346   gtk_widget_ref (menubar_about);
347   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_about", menubar_about,
348                             (GtkDestroyNotify) gtk_widget_unref);
349   gtk_widget_show (menubar_about);
350   gtk_container_add (GTK_CONTAINER (menubar_help_menu), menubar_about);
351   gtk_tooltips_set_tip (tooltips, menubar_about, _("About this application"), NULL);
352
353   handlebox1 = gtk_handle_box_new ();
354   gtk_widget_ref (handlebox1);
355   gtk_object_set_data_full (GTK_OBJECT (intf_window), "handlebox1", handlebox1,
356                             (GtkDestroyNotify) gtk_widget_unref);
357   gtk_widget_show (handlebox1);
358   gtk_box_pack_start (GTK_BOX (vbox2), handlebox1, FALSE, TRUE, 0);
359
360   toolbar = gtk_toolbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_BOTH);
361   gtk_widget_ref (toolbar);
362   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar", toolbar,
363                             (GtkDestroyNotify) gtk_widget_unref);
364   gtk_widget_show (toolbar);
365   gtk_container_add (GTK_CONTAINER (handlebox1), toolbar);
366   gtk_container_set_border_width (GTK_CONTAINER (toolbar), 1);
367   gtk_toolbar_set_space_size (GTK_TOOLBAR (toolbar), 16);
368   gtk_toolbar_set_space_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_SPACE_LINE);
369   gtk_toolbar_set_button_relief (GTK_TOOLBAR (toolbar), GTK_RELIEF_NONE);
370
371   toolbar_open = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
372                                 GTK_TOOLBAR_CHILD_BUTTON,
373                                 NULL,
374                                 _("Open"),
375                                 _("Open a File"), NULL,
376                                 NULL, NULL, NULL);
377   gtk_widget_ref (toolbar_open);
378   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_open", toolbar_open,
379                             (GtkDestroyNotify) gtk_widget_unref);
380   gtk_widget_show (toolbar_open);
381
382   toolbar_disc = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
383                                 GTK_TOOLBAR_CHILD_BUTTON,
384                                 NULL,
385                                 _("Disc"),
386                                 _("Open a DVD or VCD"), NULL,
387                                 NULL, NULL, NULL);
388   gtk_widget_ref (toolbar_disc);
389   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_disc", toolbar_disc,
390                             (GtkDestroyNotify) gtk_widget_unref);
391   gtk_widget_show (toolbar_disc);
392
393   gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
394
395   toolbar_back = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
396                                 GTK_TOOLBAR_CHILD_BUTTON,
397                                 NULL,
398                                 _("Back"),
399                                 _("Go Backwards"), NULL,
400                                 NULL, NULL, NULL);
401   gtk_widget_ref (toolbar_back);
402   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_back", toolbar_back,
403                             (GtkDestroyNotify) gtk_widget_unref);
404   gtk_widget_show (toolbar_back);
405   gtk_widget_set_sensitive (toolbar_back, FALSE);
406
407   toolbar_stop = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
408                                 GTK_TOOLBAR_CHILD_BUTTON,
409                                 NULL,
410                                 _("Stop"),
411                                 _("Stop Stream"), NULL,
412                                 NULL, NULL, NULL);
413   gtk_widget_ref (toolbar_stop);
414   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_stop", toolbar_stop,
415                             (GtkDestroyNotify) gtk_widget_unref);
416   gtk_widget_show (toolbar_stop);
417   gtk_widget_set_sensitive (toolbar_stop, FALSE);
418
419   toolbar_play = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
420                                 GTK_TOOLBAR_CHILD_BUTTON,
421                                 NULL,
422                                 _("Play"),
423                                 _("Play Stream"), NULL,
424                                 NULL, NULL, NULL);
425   gtk_widget_ref (toolbar_play);
426   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_play", toolbar_play,
427                             (GtkDestroyNotify) gtk_widget_unref);
428   gtk_widget_show (toolbar_play);
429
430   toolbar_pause = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
431                                 GTK_TOOLBAR_CHILD_BUTTON,
432                                 NULL,
433                                 _("Pause"),
434                                 _("Pause Stream"), NULL,
435                                 NULL, NULL, NULL);
436   gtk_widget_ref (toolbar_pause);
437   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_pause", toolbar_pause,
438                             (GtkDestroyNotify) gtk_widget_unref);
439   gtk_widget_show (toolbar_pause);
440
441   toolbar_slow = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
442                                 GTK_TOOLBAR_CHILD_BUTTON,
443                                 NULL,
444                                 _("Slow"),
445                                 _("Play Slower"), NULL,
446                                 NULL, NULL, NULL);
447   gtk_widget_ref (toolbar_slow);
448   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_slow", toolbar_slow,
449                             (GtkDestroyNotify) gtk_widget_unref);
450   gtk_widget_show (toolbar_slow);
451
452   toolbar_fast = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
453                                 GTK_TOOLBAR_CHILD_BUTTON,
454                                 NULL,
455                                 _("Fast"),
456                                 _("Play Faster"), NULL,
457                                 NULL, NULL, NULL);
458   gtk_widget_ref (toolbar_fast);
459   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_fast", toolbar_fast,
460                             (GtkDestroyNotify) gtk_widget_unref);
461   gtk_widget_show (toolbar_fast);
462
463   gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
464
465   toolbar_playlist = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
466                                 GTK_TOOLBAR_CHILD_BUTTON,
467                                 NULL,
468                                 _("Playlist"),
469                                 _("Open Playlist"), NULL,
470                                 NULL, NULL, NULL);
471   gtk_widget_ref (toolbar_playlist);
472   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_playlist", toolbar_playlist,
473                             (GtkDestroyNotify) gtk_widget_unref);
474   gtk_widget_show (toolbar_playlist);
475
476   toolbar_prev = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
477                                 GTK_TOOLBAR_CHILD_BUTTON,
478                                 NULL,
479                                 _("Prev"),
480                                 _("Previous File"), NULL,
481                                 NULL, NULL, NULL);
482   gtk_widget_ref (toolbar_prev);
483   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_prev", toolbar_prev,
484                             (GtkDestroyNotify) gtk_widget_unref);
485   gtk_widget_show (toolbar_prev);
486
487   toolbar_next = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
488                                 GTK_TOOLBAR_CHILD_BUTTON,
489                                 NULL,
490                                 _("Next"),
491                                 _("Next File"), NULL,
492                                 NULL, NULL, NULL);
493   gtk_widget_ref (toolbar_next);
494   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_next", toolbar_next,
495                             (GtkDestroyNotify) gtk_widget_unref);
496   gtk_widget_show (toolbar_next);
497
498   entry1 = gtk_entry_new ();
499   gtk_widget_ref (entry1);
500   gtk_object_set_data_full (GTK_OBJECT (intf_window), "entry1", entry1,
501                             (GtkDestroyNotify) gtk_widget_unref);
502   gtk_widget_show (entry1);
503   gtk_box_pack_start (GTK_BOX (vbox2), entry1, FALSE, TRUE, 0);
504   gtk_entry_set_text (GTK_ENTRY (entry1), _("Tired of boring stub messages ? Write your own exciting message here !!"));
505
506   label6 = gtk_label_new (_("This part of the interface doesn't work yet. You can drag the slider below, though:"));
507   gtk_widget_ref (label6);
508   gtk_object_set_data_full (GTK_OBJECT (intf_window), "label6", label6,
509                             (GtkDestroyNotify) gtk_widget_unref);
510   gtk_widget_show (label6);
511   gtk_box_pack_start (GTK_BOX (vbox2), label6, FALSE, TRUE, 0);
512   gtk_label_set_justify (GTK_LABEL (label6), GTK_JUSTIFY_LEFT);
513   gtk_misc_set_alignment (GTK_MISC (label6), 0, 0.5);
514   gtk_misc_set_padding (GTK_MISC (label6), 5, 0);
515
516   hscale = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 100, 1, 6.25, 0)));
517   gtk_widget_ref (hscale);
518   gtk_object_set_data_full (GTK_OBJECT (intf_window), "hscale", hscale,
519                             (GtkDestroyNotify) gtk_widget_unref);
520   gtk_widget_show (hscale);
521   gtk_box_pack_start (GTK_BOX (vbox2), hscale, FALSE, TRUE, 0);
522   gtk_scale_set_value_pos (GTK_SCALE (hscale), GTK_POS_BOTTOM);
523   gtk_range_set_update_policy (GTK_RANGE (hscale), GTK_UPDATE_DELAYED);
524
525   label13 = gtk_label_new (_("HEY ! YOU CAN DROP A FILE ON VLC TOO :-)"));
526   gtk_widget_ref (label13);
527   gtk_object_set_data_full (GTK_OBJECT (intf_window), "label13", label13,
528                             (GtkDestroyNotify) gtk_widget_unref);
529   gtk_widget_show (label13);
530   gtk_box_pack_start (GTK_BOX (vbox2), label13, FALSE, TRUE, 0);
531   gtk_misc_set_padding (GTK_MISC (label13), 0, 5);
532
533   statusbar1 = gtk_statusbar_new ();
534   gtk_widget_ref (statusbar1);
535   gtk_object_set_data_full (GTK_OBJECT (intf_window), "statusbar1", statusbar1,
536                             (GtkDestroyNotify) gtk_widget_unref);
537   gtk_widget_show (statusbar1);
538   gtk_box_pack_end (GTK_BOX (vbox2), statusbar1, FALSE, TRUE, 0);
539
540   gtk_signal_connect (GTK_OBJECT (intf_window), "drag_data_received",
541                       GTK_SIGNAL_FUNC (on_intf_window_drag_data_received),
542                       NULL);
543   gtk_signal_connect (GTK_OBJECT (intf_window), "delete_event",
544                       GTK_SIGNAL_FUNC (on_intf_window_destroy),
545                       NULL);
546   gtk_signal_connect (GTK_OBJECT (menubar_open), "activate",
547                       GTK_SIGNAL_FUNC (on_menubar_open_activate),
548                       NULL);
549   gtk_signal_connect (GTK_OBJECT (menubar_disc), "activate",
550                       GTK_SIGNAL_FUNC (on_menubar_disc_activate),
551                       NULL);
552   gtk_signal_connect (GTK_OBJECT (menubar_exit), "activate",
553                       GTK_SIGNAL_FUNC (on_menubar_exit_activate),
554                       NULL);
555   gtk_signal_connect (GTK_OBJECT (menubar_playlist), "activate",
556                       GTK_SIGNAL_FUNC (on_menubar_playlist_activate),
557                       NULL);
558   gtk_signal_connect (GTK_OBJECT (menubar_modules), "activate",
559                       GTK_SIGNAL_FUNC (on_menubar_modules_activate),
560                       NULL);
561   gtk_signal_connect (GTK_OBJECT (menubar_preferences), "activate",
562                       GTK_SIGNAL_FUNC (on_menubar_preferences_activate),
563                       NULL);
564   gtk_signal_connect (GTK_OBJECT (menubar_about), "activate",
565                       GTK_SIGNAL_FUNC (on_menubar_about_activate),
566                       NULL);
567   gtk_signal_connect (GTK_OBJECT (toolbar_open), "clicked",
568                       GTK_SIGNAL_FUNC (on_toolbar_open_clicked),
569                       NULL);
570   gtk_signal_connect (GTK_OBJECT (toolbar_disc), "clicked",
571                       GTK_SIGNAL_FUNC (on_toolbar_disc_clicked),
572                       NULL);
573   gtk_signal_connect (GTK_OBJECT (toolbar_back), "clicked",
574                       GTK_SIGNAL_FUNC (on_toolbar_back_clicked),
575                       NULL);
576   gtk_signal_connect (GTK_OBJECT (toolbar_stop), "clicked",
577                       GTK_SIGNAL_FUNC (on_toolbar_stop_clicked),
578                       NULL);
579   gtk_signal_connect (GTK_OBJECT (toolbar_play), "clicked",
580                       GTK_SIGNAL_FUNC (on_toolbar_play_clicked),
581                       NULL);
582   gtk_signal_connect (GTK_OBJECT (toolbar_pause), "clicked",
583                       GTK_SIGNAL_FUNC (on_toolbar_pause_clicked),
584                       NULL);
585   gtk_signal_connect (GTK_OBJECT (toolbar_slow), "clicked",
586                       GTK_SIGNAL_FUNC (on_toolbar_slow_clicked),
587                       NULL);
588   gtk_signal_connect (GTK_OBJECT (toolbar_fast), "clicked",
589                       GTK_SIGNAL_FUNC (on_toolbar_fast_clicked),
590                       NULL);
591   gtk_signal_connect (GTK_OBJECT (toolbar_playlist), "clicked",
592                       GTK_SIGNAL_FUNC (on_toolbar_playlist_clicked),
593                       NULL);
594   gtk_signal_connect (GTK_OBJECT (toolbar_prev), "clicked",
595                       GTK_SIGNAL_FUNC (on_toolbar_prev_clicked),
596                       NULL);
597   gtk_signal_connect (GTK_OBJECT (toolbar_next), "clicked",
598                       GTK_SIGNAL_FUNC (on_toolbar_next_clicked),
599                       NULL);
600   gtk_signal_connect (GTK_OBJECT (hscale), "button_release_event",
601                       GTK_SIGNAL_FUNC (on_hscale_button_release_event),
602                       NULL);
603   gtk_signal_connect (GTK_OBJECT (hscale), "button_press_event",
604                       GTK_SIGNAL_FUNC (on_hscale_button_press_event),
605                       NULL);
606
607   gtk_object_set_data (GTK_OBJECT (intf_window), "tooltips", tooltips);
608
609   gtk_window_add_accel_group (GTK_WINDOW (intf_window), accel_group);
610
611   return intf_window;
612 }
613
614 GtkWidget*
615 create_intf_popup (void)
616 {
617   GtkWidget *intf_popup;
618   GtkAccelGroup *intf_popup_accels;
619   guint tmp_key;
620   GtkWidget *popup_play;
621   GtkWidget *popup_pause;
622   GtkWidget *popup_slow;
623   GtkWidget *popup_fast;
624   GtkWidget *separator6;
625   GtkWidget *popup_open;
626   GtkWidget *popup_disc;
627   GtkWidget *separator5;
628   GtkWidget *popup_navigation;
629   GtkWidget *separator10;
630   GtkWidget *popup_audio;
631   GtkWidget *popup_subpictures;
632   GtkWidget *separator9;
633   GtkWidget *main_window_toggle;
634   GtkWidget *popup_about;
635   GtkWidget *popup_exit;
636   GtkTooltips *tooltips;
637
638   tooltips = gtk_tooltips_new ();
639
640   intf_popup = gtk_menu_new ();
641   gtk_object_set_data (GTK_OBJECT (intf_popup), "intf_popup", intf_popup);
642   intf_popup_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (intf_popup));
643
644   popup_play = gtk_menu_item_new_with_label ("");
645   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_play)->child),
646                                    _("_Play"));
647   gtk_widget_add_accelerator (popup_play, "activate_item", intf_popup_accels,
648                               tmp_key, 0, 0);
649   gtk_widget_ref (popup_play);
650   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_play", popup_play,
651                             (GtkDestroyNotify) gtk_widget_unref);
652   gtk_widget_show (popup_play);
653   gtk_container_add (GTK_CONTAINER (intf_popup), popup_play);
654
655   popup_pause = gtk_menu_item_new_with_label (_("Pause"));
656   gtk_widget_ref (popup_pause);
657   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_pause", popup_pause,
658                             (GtkDestroyNotify) gtk_widget_unref);
659   gtk_widget_show (popup_pause);
660   gtk_container_add (GTK_CONTAINER (intf_popup), popup_pause);
661
662   popup_slow = gtk_menu_item_new_with_label (_("Slow"));
663   gtk_widget_ref (popup_slow);
664   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_slow", popup_slow,
665                             (GtkDestroyNotify) gtk_widget_unref);
666   gtk_widget_show (popup_slow);
667   gtk_container_add (GTK_CONTAINER (intf_popup), popup_slow);
668
669   popup_fast = gtk_menu_item_new_with_label (_("Fast"));
670   gtk_widget_ref (popup_fast);
671   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_fast", popup_fast,
672                             (GtkDestroyNotify) gtk_widget_unref);
673   gtk_widget_show (popup_fast);
674   gtk_container_add (GTK_CONTAINER (intf_popup), popup_fast);
675
676   separator6 = gtk_menu_item_new ();
677   gtk_widget_ref (separator6);
678   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator6", separator6,
679                             (GtkDestroyNotify) gtk_widget_unref);
680   gtk_widget_show (separator6);
681   gtk_container_add (GTK_CONTAINER (intf_popup), separator6);
682   gtk_widget_set_sensitive (separator6, FALSE);
683
684   popup_open = gtk_menu_item_new_with_label ("");
685   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_open)->child),
686                                    _("_Open File..."));
687   gtk_widget_add_accelerator (popup_open, "activate_item", intf_popup_accels,
688                               tmp_key, 0, 0);
689   gtk_widget_ref (popup_open);
690   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_open", popup_open,
691                             (GtkDestroyNotify) gtk_widget_unref);
692   gtk_widget_show (popup_open);
693   gtk_container_add (GTK_CONTAINER (intf_popup), popup_open);
694   gtk_tooltips_set_tip (tooltips, popup_open, _("Open a File"), NULL);
695
696   popup_disc = gtk_menu_item_new_with_label ("");
697   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_disc)->child),
698                                    _("Open _Disc..."));
699   gtk_widget_add_accelerator (popup_disc, "activate_item", intf_popup_accels,
700                               tmp_key, 0, 0);
701   gtk_widget_ref (popup_disc);
702   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_disc", popup_disc,
703                             (GtkDestroyNotify) gtk_widget_unref);
704   gtk_widget_show (popup_disc);
705   gtk_container_add (GTK_CONTAINER (intf_popup), popup_disc);
706   gtk_tooltips_set_tip (tooltips, popup_disc, _("Open a DVD or VCD"), NULL);
707
708   separator5 = gtk_menu_item_new ();
709   gtk_widget_ref (separator5);
710   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator5", separator5,
711                             (GtkDestroyNotify) gtk_widget_unref);
712   gtk_widget_show (separator5);
713   gtk_container_add (GTK_CONTAINER (intf_popup), separator5);
714   gtk_widget_set_sensitive (separator5, FALSE);
715
716   popup_navigation = gtk_menu_item_new_with_label (_("Navigation"));
717   gtk_widget_ref (popup_navigation);
718   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_navigation", popup_navigation,
719                             (GtkDestroyNotify) gtk_widget_unref);
720   gtk_widget_show (popup_navigation);
721   gtk_container_add (GTK_CONTAINER (intf_popup), popup_navigation);
722   gtk_widget_set_sensitive (popup_navigation, FALSE);
723
724   separator10 = gtk_menu_item_new ();
725   gtk_widget_ref (separator10);
726   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator10", separator10,
727                             (GtkDestroyNotify) gtk_widget_unref);
728   gtk_widget_show (separator10);
729   gtk_container_add (GTK_CONTAINER (intf_popup), separator10);
730   gtk_widget_set_sensitive (separator10, FALSE);
731
732   popup_audio = gtk_menu_item_new_with_label ("");
733   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_audio)->child),
734                                    _("A_udio"));
735   gtk_widget_add_accelerator (popup_audio, "activate_item", intf_popup_accels,
736                               tmp_key, 0, 0);
737   gtk_widget_ref (popup_audio);
738   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_audio", popup_audio,
739                             (GtkDestroyNotify) gtk_widget_unref);
740   gtk_widget_show (popup_audio);
741   gtk_container_add (GTK_CONTAINER (intf_popup), popup_audio);
742   gtk_widget_set_sensitive (popup_audio, FALSE);
743
744   popup_subpictures = gtk_menu_item_new_with_label ("");
745   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_subpictures)->child),
746                                    _("Sub _Pictures"));
747   gtk_widget_add_accelerator (popup_subpictures, "activate_item", intf_popup_accels,
748                               tmp_key, 0, 0);
749   gtk_widget_ref (popup_subpictures);
750   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_subpictures", popup_subpictures,
751                             (GtkDestroyNotify) gtk_widget_unref);
752   gtk_widget_show (popup_subpictures);
753   gtk_container_add (GTK_CONTAINER (intf_popup), popup_subpictures);
754   gtk_widget_set_sensitive (popup_subpictures, FALSE);
755
756   separator9 = gtk_menu_item_new ();
757   gtk_widget_ref (separator9);
758   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator9", separator9,
759                             (GtkDestroyNotify) gtk_widget_unref);
760   gtk_widget_show (separator9);
761   gtk_container_add (GTK_CONTAINER (intf_popup), separator9);
762   gtk_widget_set_sensitive (separator9, FALSE);
763
764   main_window_toggle = gtk_menu_item_new_with_label ("");
765   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (main_window_toggle)->child),
766                                    _("show/hide main _window"));
767   gtk_widget_add_accelerator (main_window_toggle, "activate_item", intf_popup_accels,
768                               tmp_key, 0, 0);
769   gtk_widget_ref (main_window_toggle);
770   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "main_window_toggle", main_window_toggle,
771                             (GtkDestroyNotify) gtk_widget_unref);
772   gtk_widget_show (main_window_toggle);
773   gtk_container_add (GTK_CONTAINER (intf_popup), main_window_toggle);
774
775   popup_about = gtk_menu_item_new_with_label ("");
776   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_about)->child),
777                                    _("_About..."));
778   gtk_widget_add_accelerator (popup_about, "activate_item", intf_popup_accels,
779                               tmp_key, 0, 0);
780   gtk_widget_ref (popup_about);
781   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_about", popup_about,
782                             (GtkDestroyNotify) gtk_widget_unref);
783   gtk_widget_show (popup_about);
784   gtk_container_add (GTK_CONTAINER (intf_popup), popup_about);
785
786   popup_exit = gtk_menu_item_new_with_label ("");
787   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_exit)->child),
788                                    _("E_xit"));
789   gtk_widget_add_accelerator (popup_exit, "activate_item", intf_popup_accels,
790                               tmp_key, 0, 0);
791   gtk_widget_ref (popup_exit);
792   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_exit", popup_exit,
793                             (GtkDestroyNotify) gtk_widget_unref);
794   gtk_widget_show (popup_exit);
795   gtk_container_add (GTK_CONTAINER (intf_popup), popup_exit);
796
797   gtk_signal_connect (GTK_OBJECT (popup_play), "activate",
798                       GTK_SIGNAL_FUNC (on_popup_play_activate),
799                       NULL);
800   gtk_signal_connect (GTK_OBJECT (popup_pause), "activate",
801                       GTK_SIGNAL_FUNC (on_popup_pause_activate),
802                       NULL);
803   gtk_signal_connect (GTK_OBJECT (popup_slow), "activate",
804                       GTK_SIGNAL_FUNC (on_popup_slow_activate),
805                       NULL);
806   gtk_signal_connect (GTK_OBJECT (popup_fast), "activate",
807                       GTK_SIGNAL_FUNC (on_popup_fast_activate),
808                       NULL);
809   gtk_signal_connect (GTK_OBJECT (popup_open), "activate",
810                       GTK_SIGNAL_FUNC (on_popup_open_activate),
811                       NULL);
812   gtk_signal_connect (GTK_OBJECT (popup_disc), "activate",
813                       GTK_SIGNAL_FUNC (on_popup_disc_activate),
814                       NULL);
815   gtk_signal_connect (GTK_OBJECT (main_window_toggle), "activate",
816                       GTK_SIGNAL_FUNC (on_main_window_toggle),
817                       NULL);
818   gtk_signal_connect (GTK_OBJECT (popup_about), "activate",
819                       GTK_SIGNAL_FUNC (on_popup_about_activate),
820                       NULL);
821   gtk_signal_connect (GTK_OBJECT (popup_exit), "activate",
822                       GTK_SIGNAL_FUNC (on_popup_exit_activate),
823                       NULL);
824
825   gtk_object_set_data (GTK_OBJECT (intf_popup), "tooltips", tooltips);
826
827   return intf_popup;
828 }
829
830 GtkWidget*
831 create_intf_about (void)
832 {
833   GtkWidget *intf_about;
834   GtkWidget *dialog_vbox1;
835   GtkWidget *vbox3;
836   GtkWidget *label14;
837   GtkWidget *label18;
838   GtkWidget *frame1;
839   GtkWidget *label16;
840   GtkWidget *label17;
841   GtkWidget *dialog_action_area;
842   GtkWidget *about_ok;
843
844   intf_about = gtk_dialog_new ();
845   gtk_object_set_data (GTK_OBJECT (intf_about), "intf_about", intf_about);
846   gtk_container_set_border_width (GTK_CONTAINER (intf_about), 5);
847   gtk_window_set_title (GTK_WINDOW (intf_about), _("About"));
848   gtk_window_set_position (GTK_WINDOW (intf_about), GTK_WIN_POS_CENTER);
849   gtk_window_set_policy (GTK_WINDOW (intf_about), FALSE, FALSE, FALSE);
850
851   dialog_vbox1 = GTK_DIALOG (intf_about)->vbox;
852   gtk_object_set_data (GTK_OBJECT (intf_about), "dialog_vbox1", dialog_vbox1);
853   gtk_widget_show (dialog_vbox1);
854
855   vbox3 = gtk_vbox_new (FALSE, 0);
856   gtk_widget_ref (vbox3);
857   gtk_object_set_data_full (GTK_OBJECT (intf_about), "vbox3", vbox3,
858                             (GtkDestroyNotify) gtk_widget_unref);
859   gtk_widget_show (vbox3);
860   gtk_box_pack_start (GTK_BOX (dialog_vbox1), vbox3, TRUE, TRUE, 0);
861
862   label14 = gtk_label_new (_("VideoLAN Client"));
863   gtk_widget_ref (label14);
864   gtk_object_set_data_full (GTK_OBJECT (intf_about), "label14", label14,
865                             (GtkDestroyNotify) gtk_widget_unref);
866   gtk_widget_show (label14);
867   gtk_box_pack_start (GTK_BOX (vbox3), label14, TRUE, TRUE, 0);
868   gtk_misc_set_padding (GTK_MISC (label14), 0, 10);
869
870   label18 = gtk_label_new (_("(C) 1996, 1997, 1998, 1999, 2000, 2001 - the VideoLAN Team"));
871   gtk_widget_ref (label18);
872   gtk_object_set_data_full (GTK_OBJECT (intf_about), "label18", label18,
873                             (GtkDestroyNotify) gtk_widget_unref);
874   gtk_widget_show (label18);
875   gtk_box_pack_start (GTK_BOX (vbox3), label18, FALSE, FALSE, 0);
876   gtk_label_set_justify (GTK_LABEL (label18), GTK_JUSTIFY_LEFT);
877   gtk_misc_set_padding (GTK_MISC (label18), 0, 5);
878
879   frame1 = gtk_frame_new (_("Authors"));
880   gtk_widget_ref (frame1);
881   gtk_object_set_data_full (GTK_OBJECT (intf_about), "frame1", frame1,
882                             (GtkDestroyNotify) gtk_widget_unref);
883   gtk_widget_show (frame1);
884   gtk_box_pack_start (GTK_BOX (vbox3), frame1, FALSE, FALSE, 0);
885
886   label16 = gtk_label_new (_("R\351gis Duchesne <regis@via.ecp.fr>\nMichel Lespinasse <walken@zoy.org>\nOlivier Pomel <pomel@via.ecp.fr>\nPierre Baillet <oct@zoy.org>\nJean-Philippe Grimaldi <jeanphi@via.ecp.fr>\nAndres Krapf <dae@via.ecp.fr>\nChristophe Massiot <massiot@via.ecp.fr>\nVincent Seguin <seguin@via.ecp.fr>\nBenoit Steiner <benny@via.ecp.fr>\nArnaud de Bossoreille de Ribou <bozo@via.ecp.fr>\nJean-Marc Dressler <polux@via.ecp.fr>\nGa\353l Hendryckx <jimmy@via.ecp.fr>\nSamuel Hocevar <sam@zoy.org>\nBrieuc Jeunhomme <bbp@via.ecp.fr>\nMichel Kaempf <maxx@via.ecp.fr>\nSt\351phane Borel <stef@via.ecp.fr>\nRenaud Dartus <reno@via.ecp.fr>\nHenri Fallon <henri@via.ecp.fr>"));
887   gtk_widget_ref (label16);
888   gtk_object_set_data_full (GTK_OBJECT (intf_about), "label16", label16,
889                             (GtkDestroyNotify) gtk_widget_unref);
890   gtk_widget_show (label16);
891   gtk_container_add (GTK_CONTAINER (frame1), label16);
892   gtk_label_set_justify (GTK_LABEL (label16), GTK_JUSTIFY_LEFT);
893   gtk_misc_set_alignment (GTK_MISC (label16), 0.5, 0);
894   gtk_misc_set_padding (GTK_MISC (label16), 5, 5);
895
896   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."));
897   gtk_widget_ref (label17);
898   gtk_object_set_data_full (GTK_OBJECT (intf_about), "label17", label17,
899                             (GtkDestroyNotify) gtk_widget_unref);
900   gtk_widget_show (label17);
901   gtk_box_pack_start (GTK_BOX (vbox3), label17, FALSE, FALSE, 0);
902   gtk_label_set_justify (GTK_LABEL (label17), GTK_JUSTIFY_LEFT);
903   gtk_label_set_line_wrap (GTK_LABEL (label17), TRUE);
904   gtk_misc_set_padding (GTK_MISC (label17), 0, 5);
905
906   dialog_action_area = GTK_DIALOG (intf_about)->action_area;
907   gtk_object_set_data (GTK_OBJECT (intf_about), "dialog_action_area", dialog_action_area);
908   gtk_widget_show (dialog_action_area);
909   gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area), 10);
910
911   about_ok = gtk_button_new_with_label (_("OK"));
912   gtk_widget_ref (about_ok);
913   gtk_object_set_data_full (GTK_OBJECT (intf_about), "about_ok", about_ok,
914                             (GtkDestroyNotify) gtk_widget_unref);
915   gtk_widget_show (about_ok);
916   gtk_box_pack_start (GTK_BOX (dialog_action_area), about_ok, FALSE, TRUE, 0);
917   GTK_WIDGET_SET_FLAGS (about_ok, GTK_CAN_DEFAULT);
918
919   gtk_signal_connect (GTK_OBJECT (about_ok), "clicked",
920                       GTK_SIGNAL_FUNC (on_about_ok_clicked),
921                       NULL);
922
923   gtk_widget_grab_default (about_ok);
924   return intf_about;
925 }
926
927 GtkWidget*
928 create_intf_fileopen (void)
929 {
930   GtkWidget *intf_fileopen;
931   GtkWidget *fileopen_ok;
932   GtkWidget *fileopen_cancel;
933
934   intf_fileopen = gtk_file_selection_new (_("Select File"));
935   gtk_object_set_data (GTK_OBJECT (intf_fileopen), "intf_fileopen", intf_fileopen);
936   gtk_container_set_border_width (GTK_CONTAINER (intf_fileopen), 10);
937
938   fileopen_ok = GTK_FILE_SELECTION (intf_fileopen)->ok_button;
939   gtk_object_set_data (GTK_OBJECT (intf_fileopen), "fileopen_ok", fileopen_ok);
940   gtk_widget_show (fileopen_ok);
941   GTK_WIDGET_SET_FLAGS (fileopen_ok, GTK_CAN_DEFAULT);
942
943   fileopen_cancel = GTK_FILE_SELECTION (intf_fileopen)->cancel_button;
944   gtk_object_set_data (GTK_OBJECT (intf_fileopen), "fileopen_cancel", fileopen_cancel);
945   gtk_widget_show (fileopen_cancel);
946   GTK_WIDGET_SET_FLAGS (fileopen_cancel, GTK_CAN_DEFAULT);
947
948   gtk_signal_connect (GTK_OBJECT (intf_fileopen), "destroy",
949                       GTK_SIGNAL_FUNC (on_intf_fileopen_destroy),
950                       NULL);
951   gtk_signal_connect (GTK_OBJECT (fileopen_ok), "clicked",
952                       GTK_SIGNAL_FUNC (on_fileopen_ok_clicked),
953                       NULL);
954   gtk_signal_connect (GTK_OBJECT (fileopen_cancel), "clicked",
955                       GTK_SIGNAL_FUNC (on_fileopen_cancel_clicked),
956                       NULL);
957
958   return intf_fileopen;
959 }
960
961 GtkWidget*
962 create_intf_disc (void)
963 {
964   GtkWidget *intf_disc;
965   GtkWidget *dialog_vbox2;
966   GtkWidget *vbox4;
967   GtkWidget *hbox3;
968   GtkWidget *frame2;
969   GtkWidget *vbox5;
970   GSList *disc_group = NULL;
971   GtkWidget *disc_dvd;
972   GtkWidget *disc_vcd;
973   GtkWidget *frame3;
974   GtkWidget *table1;
975   GtkObject *disc_title_adj;
976   GtkWidget *disc_title;
977   GtkObject *disc_chapter_adj;
978   GtkWidget *disc_chapter;
979   GtkWidget *label20;
980   GtkWidget *label21;
981   GtkWidget *hbox2;
982   GtkWidget *label19;
983   GtkWidget *disc_name;
984   GtkWidget *dialog_action_area1;
985   GtkWidget *hbox1;
986   GtkWidget *disc_ok;
987   GtkWidget *disc_cancel;
988
989   intf_disc = gtk_dialog_new ();
990   gtk_object_set_data (GTK_OBJECT (intf_disc), "intf_disc", intf_disc);
991   gtk_window_set_title (GTK_WINDOW (intf_disc), _("Open Disc"));
992   gtk_window_set_policy (GTK_WINDOW (intf_disc), FALSE, FALSE, FALSE);
993
994   dialog_vbox2 = GTK_DIALOG (intf_disc)->vbox;
995   gtk_object_set_data (GTK_OBJECT (intf_disc), "dialog_vbox2", dialog_vbox2);
996   gtk_widget_show (dialog_vbox2);
997   gtk_container_set_border_width (GTK_CONTAINER (dialog_vbox2), 5);
998
999   vbox4 = gtk_vbox_new (FALSE, 5);
1000   gtk_widget_ref (vbox4);
1001   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "vbox4", vbox4,
1002                             (GtkDestroyNotify) gtk_widget_unref);
1003   gtk_widget_show (vbox4);
1004   gtk_box_pack_start (GTK_BOX (dialog_vbox2), vbox4, TRUE, TRUE, 0);
1005   gtk_container_set_border_width (GTK_CONTAINER (vbox4), 5);
1006
1007   hbox3 = gtk_hbox_new (FALSE, 5);
1008   gtk_widget_ref (hbox3);
1009   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "hbox3", hbox3,
1010                             (GtkDestroyNotify) gtk_widget_unref);
1011   gtk_widget_show (hbox3);
1012   gtk_box_pack_start (GTK_BOX (vbox4), hbox3, TRUE, TRUE, 0);
1013
1014   frame2 = gtk_frame_new (_("Disc type"));
1015   gtk_widget_ref (frame2);
1016   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "frame2", frame2,
1017                             (GtkDestroyNotify) gtk_widget_unref);
1018   gtk_widget_show (frame2);
1019   gtk_box_pack_start (GTK_BOX (hbox3), frame2, TRUE, TRUE, 0);
1020
1021   vbox5 = gtk_vbox_new (FALSE, 0);
1022   gtk_widget_ref (vbox5);
1023   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "vbox5", vbox5,
1024                             (GtkDestroyNotify) gtk_widget_unref);
1025   gtk_widget_show (vbox5);
1026   gtk_container_add (GTK_CONTAINER (frame2), vbox5);
1027
1028   disc_dvd = gtk_radio_button_new_with_label (disc_group, _("DVD"));
1029   disc_group = gtk_radio_button_group (GTK_RADIO_BUTTON (disc_dvd));
1030   gtk_widget_ref (disc_dvd);
1031   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_dvd", disc_dvd,
1032                             (GtkDestroyNotify) gtk_widget_unref);
1033   gtk_widget_show (disc_dvd);
1034   gtk_box_pack_start (GTK_BOX (vbox5), disc_dvd, FALSE, FALSE, 0);
1035
1036   disc_vcd = gtk_radio_button_new_with_label (disc_group, _("VCD"));
1037   disc_group = gtk_radio_button_group (GTK_RADIO_BUTTON (disc_vcd));
1038   gtk_widget_ref (disc_vcd);
1039   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_vcd", disc_vcd,
1040                             (GtkDestroyNotify) gtk_widget_unref);
1041   gtk_widget_show (disc_vcd);
1042   gtk_box_pack_start (GTK_BOX (vbox5), disc_vcd, FALSE, FALSE, 0);
1043   gtk_widget_set_sensitive (disc_vcd, FALSE);
1044
1045   frame3 = gtk_frame_new (_("Starting position"));
1046   gtk_widget_ref (frame3);
1047   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "frame3", frame3,
1048                             (GtkDestroyNotify) gtk_widget_unref);
1049   gtk_widget_show (frame3);
1050   gtk_box_pack_start (GTK_BOX (hbox3), frame3, TRUE, TRUE, 0);
1051
1052   table1 = gtk_table_new (2, 2, FALSE);
1053   gtk_widget_ref (table1);
1054   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "table1", table1,
1055                             (GtkDestroyNotify) gtk_widget_unref);
1056   gtk_widget_show (table1);
1057   gtk_container_add (GTK_CONTAINER (frame3), table1);
1058   gtk_container_set_border_width (GTK_CONTAINER (table1), 5);
1059   gtk_table_set_row_spacings (GTK_TABLE (table1), 5);
1060   gtk_table_set_col_spacings (GTK_TABLE (table1), 5);
1061
1062   disc_title_adj = gtk_adjustment_new (1, 1, 65536, 1, 10, 10);
1063   disc_title = gtk_spin_button_new (GTK_ADJUSTMENT (disc_title_adj), 1, 0);
1064   gtk_widget_ref (disc_title);
1065   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_title", disc_title,
1066                             (GtkDestroyNotify) gtk_widget_unref);
1067   gtk_widget_show (disc_title);
1068   gtk_table_attach (GTK_TABLE (table1), disc_title, 1, 2, 0, 1,
1069                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1070                     (GtkAttachOptions) (0), 0, 0);
1071
1072   disc_chapter_adj = gtk_adjustment_new (1, 1, 65536, 1, 10, 10);
1073   disc_chapter = gtk_spin_button_new (GTK_ADJUSTMENT (disc_chapter_adj), 1, 0);
1074   gtk_widget_ref (disc_chapter);
1075   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_chapter", disc_chapter,
1076                             (GtkDestroyNotify) gtk_widget_unref);
1077   gtk_widget_show (disc_chapter);
1078   gtk_table_attach (GTK_TABLE (table1), disc_chapter, 1, 2, 1, 2,
1079                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1080                     (GtkAttachOptions) (0), 0, 0);
1081
1082   label20 = gtk_label_new (_("Chapter"));
1083   gtk_widget_ref (label20);
1084   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "label20", label20,
1085                             (GtkDestroyNotify) gtk_widget_unref);
1086   gtk_widget_show (label20);
1087   gtk_table_attach (GTK_TABLE (table1), label20, 0, 1, 1, 2,
1088                     (GtkAttachOptions) (GTK_FILL),
1089                     (GtkAttachOptions) (0), 0, 0);
1090   gtk_misc_set_alignment (GTK_MISC (label20), 0, 0.5);
1091
1092   label21 = gtk_label_new (_("Title"));
1093   gtk_widget_ref (label21);
1094   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "label21", label21,
1095                             (GtkDestroyNotify) gtk_widget_unref);
1096   gtk_widget_show (label21);
1097   gtk_table_attach (GTK_TABLE (table1), label21, 0, 1, 0, 1,
1098                     (GtkAttachOptions) (GTK_FILL),
1099                     (GtkAttachOptions) (0), 0, 0);
1100   gtk_misc_set_alignment (GTK_MISC (label21), 0, 0.5);
1101
1102   hbox2 = gtk_hbox_new (FALSE, 5);
1103   gtk_widget_ref (hbox2);
1104   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "hbox2", hbox2,
1105                             (GtkDestroyNotify) gtk_widget_unref);
1106   gtk_widget_show (hbox2);
1107   gtk_box_pack_start (GTK_BOX (vbox4), hbox2, TRUE, TRUE, 0);
1108
1109   label19 = gtk_label_new (_("Device name"));
1110   gtk_widget_ref (label19);
1111   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "label19", label19,
1112                             (GtkDestroyNotify) gtk_widget_unref);
1113   gtk_widget_show (label19);
1114   gtk_box_pack_start (GTK_BOX (hbox2), label19, FALSE, FALSE, 0);
1115
1116   disc_name = gtk_entry_new ();
1117   gtk_widget_ref (disc_name);
1118   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_name", disc_name,
1119                             (GtkDestroyNotify) gtk_widget_unref);
1120   gtk_widget_show (disc_name);
1121   gtk_box_pack_start (GTK_BOX (hbox2), disc_name, TRUE, TRUE, 0);
1122   gtk_entry_set_text (GTK_ENTRY (disc_name), _("/dev/dvd"));
1123
1124   dialog_action_area1 = GTK_DIALOG (intf_disc)->action_area;
1125   gtk_object_set_data (GTK_OBJECT (intf_disc), "dialog_action_area1", dialog_action_area1);
1126   gtk_widget_show (dialog_action_area1);
1127   gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area1), 5);
1128
1129   hbox1 = gtk_hbox_new (TRUE, 5);
1130   gtk_widget_ref (hbox1);
1131   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "hbox1", hbox1,
1132                             (GtkDestroyNotify) gtk_widget_unref);
1133   gtk_widget_show (hbox1);
1134   gtk_box_pack_end (GTK_BOX (dialog_action_area1), hbox1, FALSE, TRUE, 0);
1135
1136   disc_ok = gtk_button_new_with_label (_("OK"));
1137   gtk_widget_ref (disc_ok);
1138   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_ok", disc_ok,
1139                             (GtkDestroyNotify) gtk_widget_unref);
1140   gtk_widget_show (disc_ok);
1141   gtk_box_pack_start (GTK_BOX (hbox1), disc_ok, FALSE, TRUE, 0);
1142
1143   disc_cancel = gtk_button_new_with_label (_("Cancel"));
1144   gtk_widget_ref (disc_cancel);
1145   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_cancel", disc_cancel,
1146                             (GtkDestroyNotify) gtk_widget_unref);
1147   gtk_widget_show (disc_cancel);
1148   gtk_box_pack_start (GTK_BOX (hbox1), disc_cancel, FALSE, TRUE, 0);
1149
1150   gtk_signal_connect (GTK_OBJECT (disc_dvd), "toggled",
1151                       GTK_SIGNAL_FUNC (on_disc_dvd_toggled),
1152                       NULL);
1153   gtk_signal_connect (GTK_OBJECT (disc_vcd), "toggled",
1154                       GTK_SIGNAL_FUNC (on_disc_vcd_toggled),
1155                       NULL);
1156   gtk_signal_connect (GTK_OBJECT (disc_ok), "clicked",
1157                       GTK_SIGNAL_FUNC (on_disc_ok_clicked),
1158                       NULL);
1159   gtk_signal_connect (GTK_OBJECT (disc_cancel), "clicked",
1160                       GTK_SIGNAL_FUNC (on_disc_cancel_clicked),
1161                       NULL);
1162
1163   return intf_disc;
1164 }
1165
1166 GtkWidget*
1167 create_intf_playlist (void)
1168 {
1169   GtkWidget *intf_playlist;
1170   GtkWidget *vbox6;
1171   GtkWidget *menubar2;
1172   GtkWidget *add1;
1173   GtkWidget *delete1;
1174   GtkWidget *delete1_menu;
1175   GtkAccelGroup *delete1_menu_accels;
1176   guint tmp_key;
1177   GtkWidget *crop1;
1178   GtkWidget *invert1;
1179   GtkWidget *selection;
1180   GtkWidget *selection1;
1181   GtkWidget *scrolledwindow1;
1182   GtkWidget *playlist_clist;
1183   GtkWidget *label22;
1184   GtkWidget *label23;
1185
1186   intf_playlist = gtk_window_new (GTK_WINDOW_TOPLEVEL);
1187   gtk_object_set_data (GTK_OBJECT (intf_playlist), "intf_playlist", intf_playlist);
1188   gtk_window_set_title (GTK_WINDOW (intf_playlist), _("Playlist"));
1189   gtk_window_set_default_size (GTK_WINDOW (intf_playlist), 386, 200);
1190
1191   vbox6 = gtk_vbox_new (FALSE, 0);
1192   gtk_widget_ref (vbox6);
1193   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "vbox6", vbox6,
1194                             (GtkDestroyNotify) gtk_widget_unref);
1195   gtk_widget_show (vbox6);
1196   gtk_container_add (GTK_CONTAINER (intf_playlist), vbox6);
1197
1198   menubar2 = gtk_menu_bar_new ();
1199   gtk_widget_ref (menubar2);
1200   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "menubar2", menubar2,
1201                             (GtkDestroyNotify) gtk_widget_unref);
1202   gtk_widget_show (menubar2);
1203   gtk_box_pack_start (GTK_BOX (vbox6), menubar2, FALSE, FALSE, 0);
1204
1205   add1 = gtk_menu_item_new_with_label (_("Add"));
1206   gtk_widget_ref (add1);
1207   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "add1", add1,
1208                             (GtkDestroyNotify) gtk_widget_unref);
1209   gtk_widget_show (add1);
1210   gtk_container_add (GTK_CONTAINER (menubar2), add1);
1211
1212   delete1 = gtk_menu_item_new_with_label (_("Delete"));
1213   gtk_widget_ref (delete1);
1214   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "delete1", delete1,
1215                             (GtkDestroyNotify) gtk_widget_unref);
1216   gtk_widget_show (delete1);
1217   gtk_container_add (GTK_CONTAINER (menubar2), delete1);
1218
1219   delete1_menu = gtk_menu_new ();
1220   gtk_widget_ref (delete1_menu);
1221   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "delete1_menu", delete1_menu,
1222                             (GtkDestroyNotify) gtk_widget_unref);
1223   gtk_menu_item_set_submenu (GTK_MENU_ITEM (delete1), delete1_menu);
1224   delete1_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (delete1_menu));
1225
1226   crop1 = gtk_menu_item_new_with_label ("");
1227   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (crop1)->child),
1228                                    _("_crop"));
1229   gtk_widget_add_accelerator (crop1, "activate_item", delete1_menu_accels,
1230                               tmp_key, 0, 0);
1231   gtk_widget_ref (crop1);
1232   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "crop1", crop1,
1233                             (GtkDestroyNotify) gtk_widget_unref);
1234   gtk_widget_show (crop1);
1235   gtk_container_add (GTK_CONTAINER (delete1_menu), crop1);
1236
1237   invert1 = gtk_menu_item_new_with_label ("");
1238   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (invert1)->child),
1239                                    _("_invert"));
1240   gtk_widget_add_accelerator (invert1, "activate_item", delete1_menu_accels,
1241                               tmp_key, 0, 0);
1242   gtk_widget_ref (invert1);
1243   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "invert1", invert1,
1244                             (GtkDestroyNotify) gtk_widget_unref);
1245   gtk_widget_show (invert1);
1246   gtk_container_add (GTK_CONTAINER (delete1_menu), invert1);
1247
1248   selection = gtk_menu_item_new_with_label ("");
1249   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (selection)->child),
1250                                    _("_selection"));
1251   gtk_widget_add_accelerator (selection, "activate_item", delete1_menu_accels,
1252                               tmp_key, 0, 0);
1253   gtk_widget_ref (selection);
1254   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "selection", selection,
1255                             (GtkDestroyNotify) gtk_widget_unref);
1256   gtk_widget_show (selection);
1257   gtk_container_add (GTK_CONTAINER (delete1_menu), selection);
1258
1259   selection1 = gtk_menu_item_new_with_label (_("Selection"));
1260   gtk_widget_ref (selection1);
1261   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "selection1", selection1,
1262                             (GtkDestroyNotify) gtk_widget_unref);
1263   gtk_widget_show (selection1);
1264   gtk_container_add (GTK_CONTAINER (menubar2), selection1);
1265
1266   scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL);
1267   gtk_widget_ref (scrolledwindow1);
1268   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "scrolledwindow1", scrolledwindow1,
1269                             (GtkDestroyNotify) gtk_widget_unref);
1270   gtk_widget_show (scrolledwindow1);
1271   gtk_box_pack_start (GTK_BOX (vbox6), scrolledwindow1, TRUE, TRUE, 0);
1272   gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
1273
1274   playlist_clist = gtk_clist_new (2);
1275   gtk_widget_ref (playlist_clist);
1276   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_clist", playlist_clist,
1277                             (GtkDestroyNotify) gtk_widget_unref);
1278   gtk_widget_show (playlist_clist);
1279   gtk_container_add (GTK_CONTAINER (scrolledwindow1), playlist_clist);
1280   gtk_container_set_border_width (GTK_CONTAINER (playlist_clist), 1);
1281   gtk_clist_set_column_width (GTK_CLIST (playlist_clist), 0, 257);
1282   gtk_clist_set_column_width (GTK_CLIST (playlist_clist), 1, 80);
1283   gtk_clist_set_selection_mode (GTK_CLIST (playlist_clist), GTK_SELECTION_EXTENDED);
1284   gtk_clist_column_titles_show (GTK_CLIST (playlist_clist));
1285   gtk_clist_set_shadow_type (GTK_CLIST (playlist_clist), GTK_SHADOW_OUT);
1286
1287   label22 = gtk_label_new (_("File"));
1288   gtk_widget_ref (label22);
1289   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "label22", label22,
1290                             (GtkDestroyNotify) gtk_widget_unref);
1291   gtk_widget_show (label22);
1292   gtk_clist_set_column_widget (GTK_CLIST (playlist_clist), 0, label22);
1293
1294   label23 = gtk_label_new (_("Duration"));
1295   gtk_widget_ref (label23);
1296   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "label23", label23,
1297                             (GtkDestroyNotify) gtk_widget_unref);
1298   gtk_widget_show (label23);
1299   gtk_clist_set_column_widget (GTK_CLIST (playlist_clist), 1, label23);
1300
1301   gtk_signal_connect (GTK_OBJECT (intf_playlist), "delete_event",
1302                       GTK_SIGNAL_FUNC (on_intf_playlist_destroy_event),
1303                       NULL);
1304   gtk_signal_connect (GTK_OBJECT (crop1), "activate",
1305                       GTK_SIGNAL_FUNC (on_crop_activate),
1306                       NULL);
1307   gtk_signal_connect (GTK_OBJECT (invert1), "activate",
1308                       GTK_SIGNAL_FUNC (on_invertselection_clicked),
1309                       NULL);
1310   gtk_signal_connect (GTK_OBJECT (selection), "activate",
1311                       GTK_SIGNAL_FUNC (on_delete_clicked),
1312                       NULL);
1313   gtk_signal_connect (GTK_OBJECT (playlist_clist), "event",
1314                       GTK_SIGNAL_FUNC (on_playlist_clist_event),
1315                       NULL);
1316   gtk_signal_connect (GTK_OBJECT (playlist_clist), "drag_data_received",
1317                       GTK_SIGNAL_FUNC (on_intf_playlist_drag_data_received),
1318                       NULL);
1319   gtk_signal_connect (GTK_OBJECT (playlist_clist), "drag_motion",
1320                       GTK_SIGNAL_FUNC (on_playlist_clist_drag_motion),
1321                       NULL);
1322
1323   return intf_playlist;
1324 }
1325