]> git.sesse.net Git - vlc/blob - plugins/gtk/gtk_interface.c
0578b946a0cbf8be8581a12c5ba03426da5aeec8
[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_playlist;
40   GtkWidget *menubar_modules;
41   GtkWidget *menubar_settings;
42   GtkWidget *menubar_settings_menu;
43   GtkAccelGroup *menubar_settings_menu_accels;
44   GtkWidget *menubar_preferences;
45   GtkWidget *menubar_help;
46   GtkWidget *menubar_help_menu;
47   GtkAccelGroup *menubar_help_menu_accels;
48   GtkWidget *menubar_about;
49   GtkWidget *handlebox1;
50   GtkWidget *toolbar;
51   GtkWidget *toolbar_open;
52   GtkWidget *toolbar_disc;
53   GtkWidget *toolbar_back;
54   GtkWidget *toolbar_stop;
55   GtkWidget *toolbar_play;
56   GtkWidget *toolbar_pause;
57   GtkWidget *toolbar_slow;
58   GtkWidget *toolbar_fast;
59   GtkWidget *toolbar_playlist;
60   GtkWidget *toolbar_prev;
61   GtkWidget *toolbar_next;
62   GtkWidget *entry1;
63   GtkWidget *label6;
64   GtkWidget *hscale;
65   GtkWidget *label13;
66   GtkWidget *statusbar1;
67   GtkAccelGroup *accel_group;
68   GtkTooltips *tooltips;
69
70   tooltips = gtk_tooltips_new ();
71
72   accel_group = gtk_accel_group_new ();
73
74   intf_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
75   gtk_object_set_data (GTK_OBJECT (intf_window), "intf_window", intf_window);
76   gtk_window_set_title (GTK_WINDOW (intf_window), _("VideoLAN Client"));
77
78   vbox2 = gtk_vbox_new (FALSE, 0);
79   gtk_widget_ref (vbox2);
80   gtk_object_set_data_full (GTK_OBJECT (intf_window), "vbox2", vbox2,
81                             (GtkDestroyNotify) gtk_widget_unref);
82   gtk_widget_show (vbox2);
83   gtk_container_add (GTK_CONTAINER (intf_window), vbox2);
84
85   handlebox2 = gtk_handle_box_new ();
86   gtk_widget_ref (handlebox2);
87   gtk_object_set_data_full (GTK_OBJECT (intf_window), "handlebox2", handlebox2,
88                             (GtkDestroyNotify) gtk_widget_unref);
89   gtk_widget_show (handlebox2);
90   gtk_box_pack_start (GTK_BOX (vbox2), handlebox2, FALSE, TRUE, 0);
91
92   menubar1 = gtk_menu_bar_new ();
93   gtk_widget_ref (menubar1);
94   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar1", menubar1,
95                             (GtkDestroyNotify) gtk_widget_unref);
96   gtk_widget_show (menubar1);
97   gtk_container_add (GTK_CONTAINER (handlebox2), menubar1);
98
99   menubar_file = gtk_menu_item_new_with_label ("");
100   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_file)->child),
101                                    _("_File"));
102   gtk_widget_add_accelerator (menubar_file, "activate_item", accel_group,
103                               tmp_key, GDK_MOD1_MASK, 0);
104   gtk_widget_ref (menubar_file);
105   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_file", menubar_file,
106                             (GtkDestroyNotify) gtk_widget_unref);
107   gtk_widget_show (menubar_file);
108   gtk_container_add (GTK_CONTAINER (menubar1), menubar_file);
109
110   menubar_file_menu = gtk_menu_new ();
111   gtk_widget_ref (menubar_file_menu);
112   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_file_menu", menubar_file_menu,
113                             (GtkDestroyNotify) gtk_widget_unref);
114   gtk_menu_item_set_submenu (GTK_MENU_ITEM (menubar_file), menubar_file_menu);
115   menubar_file_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (menubar_file_menu));
116
117   menubar_open = gtk_menu_item_new_with_label ("");
118   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_open)->child),
119                                    _("_Open..."));
120   gtk_widget_add_accelerator (menubar_open, "activate_item", menubar_file_menu_accels,
121                               tmp_key, 0, 0);
122   gtk_widget_ref (menubar_open);
123   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_open", menubar_open,
124                             (GtkDestroyNotify) gtk_widget_unref);
125   gtk_widget_show (menubar_open);
126   gtk_container_add (GTK_CONTAINER (menubar_file_menu), menubar_open);
127   gtk_tooltips_set_tip (tooltips, menubar_open, _("Open a file"), NULL);
128   gtk_widget_add_accelerator (menubar_open, "activate", accel_group,
129                               GDK_F3, 0,
130                               GTK_ACCEL_VISIBLE);
131
132   menubar_disc = gtk_menu_item_new_with_label ("");
133   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_disc)->child),
134                                    _("Open _disc..."));
135   gtk_widget_add_accelerator (menubar_disc, "activate_item", menubar_file_menu_accels,
136                               tmp_key, 0, 0);
137   gtk_widget_ref (menubar_disc);
138   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_disc", menubar_disc,
139                             (GtkDestroyNotify) gtk_widget_unref);
140   gtk_widget_show (menubar_disc);
141   gtk_container_add (GTK_CONTAINER (menubar_file_menu), menubar_disc);
142   gtk_tooltips_set_tip (tooltips, menubar_disc, _("Open a DVD or VCD"), NULL);
143
144   separator4 = gtk_menu_item_new ();
145   gtk_widget_ref (separator4);
146   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator4", separator4,
147                             (GtkDestroyNotify) gtk_widget_unref);
148   gtk_widget_show (separator4);
149   gtk_container_add (GTK_CONTAINER (menubar_file_menu), separator4);
150   gtk_widget_set_sensitive (separator4, FALSE);
151
152   menubar_exit = gtk_menu_item_new_with_label ("");
153   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_exit)->child),
154                                    _("E_xit"));
155   gtk_widget_add_accelerator (menubar_exit, "activate_item", menubar_file_menu_accels,
156                               tmp_key, 0, 0);
157   gtk_widget_ref (menubar_exit);
158   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_exit", menubar_exit,
159                             (GtkDestroyNotify) gtk_widget_unref);
160   gtk_widget_show (menubar_exit);
161   gtk_container_add (GTK_CONTAINER (menubar_file_menu), menubar_exit);
162   gtk_tooltips_set_tip (tooltips, menubar_exit, _("Exit the program"), NULL);
163   gtk_widget_add_accelerator (menubar_exit, "activate", accel_group,
164                               GDK_Q, GDK_CONTROL_MASK,
165                               GTK_ACCEL_VISIBLE);
166
167   menubar_view = gtk_menu_item_new_with_label ("");
168   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_view)->child),
169                                    _("_View"));
170   gtk_widget_add_accelerator (menubar_view, "activate_item", accel_group,
171                               tmp_key, GDK_MOD1_MASK, 0);
172   gtk_widget_ref (menubar_view);
173   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_view", menubar_view,
174                             (GtkDestroyNotify) gtk_widget_unref);
175   gtk_widget_show (menubar_view);
176   gtk_container_add (GTK_CONTAINER (menubar1), menubar_view);
177
178   menubar_view_menu = gtk_menu_new ();
179   gtk_widget_ref (menubar_view_menu);
180   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_view_menu", menubar_view_menu,
181                             (GtkDestroyNotify) gtk_widget_unref);
182   gtk_menu_item_set_submenu (GTK_MENU_ITEM (menubar_view), menubar_view_menu);
183   menubar_view_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (menubar_view_menu));
184
185   menubar_playlist = gtk_menu_item_new_with_label ("");
186   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_playlist)->child),
187                                    _("_Playlist..."));
188   gtk_widget_add_accelerator (menubar_playlist, "activate_item", menubar_view_menu_accels,
189                               tmp_key, 0, 0);
190   gtk_widget_ref (menubar_playlist);
191   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_playlist", menubar_playlist,
192                             (GtkDestroyNotify) gtk_widget_unref);
193   gtk_widget_show (menubar_playlist);
194   gtk_container_add (GTK_CONTAINER (menubar_view_menu), menubar_playlist);
195   gtk_widget_set_sensitive (menubar_playlist, FALSE);
196   gtk_tooltips_set_tip (tooltips, menubar_playlist, _("Open the playlist window"), NULL);
197
198   menubar_modules = gtk_menu_item_new_with_label ("");
199   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_modules)->child),
200                                    _("_Modules..."));
201   gtk_widget_add_accelerator (menubar_modules, "activate_item", menubar_view_menu_accels,
202                               tmp_key, 0, 0);
203   gtk_widget_ref (menubar_modules);
204   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_modules", menubar_modules,
205                             (GtkDestroyNotify) gtk_widget_unref);
206   gtk_widget_show (menubar_modules);
207   gtk_container_add (GTK_CONTAINER (menubar_view_menu), menubar_modules);
208   gtk_widget_set_sensitive (menubar_modules, FALSE);
209   gtk_tooltips_set_tip (tooltips, menubar_modules, _("Open the plugin manager"), NULL);
210
211   menubar_settings = gtk_menu_item_new_with_label ("");
212   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_settings)->child),
213                                    _("_Settings"));
214   gtk_widget_add_accelerator (menubar_settings, "activate_item", accel_group,
215                               tmp_key, GDK_MOD1_MASK, 0);
216   gtk_widget_ref (menubar_settings);
217   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_settings", menubar_settings,
218                             (GtkDestroyNotify) gtk_widget_unref);
219   gtk_widget_show (menubar_settings);
220   gtk_container_add (GTK_CONTAINER (menubar1), menubar_settings);
221
222   menubar_settings_menu = gtk_menu_new ();
223   gtk_widget_ref (menubar_settings_menu);
224   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_settings_menu", menubar_settings_menu,
225                             (GtkDestroyNotify) gtk_widget_unref);
226   gtk_menu_item_set_submenu (GTK_MENU_ITEM (menubar_settings), menubar_settings_menu);
227   menubar_settings_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (menubar_settings_menu));
228
229   menubar_preferences = gtk_menu_item_new_with_label ("");
230   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_preferences)->child),
231                                    _("_Preferences..."));
232   gtk_widget_add_accelerator (menubar_preferences, "activate_item", menubar_settings_menu_accels,
233                               tmp_key, 0, 0);
234   gtk_widget_ref (menubar_preferences);
235   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_preferences", menubar_preferences,
236                             (GtkDestroyNotify) gtk_widget_unref);
237   gtk_widget_show (menubar_preferences);
238   gtk_container_add (GTK_CONTAINER (menubar_settings_menu), menubar_preferences);
239   gtk_widget_set_sensitive (menubar_preferences, FALSE);
240   gtk_tooltips_set_tip (tooltips, menubar_preferences, _("Configure the application"), NULL);
241
242   menubar_help = gtk_menu_item_new_with_label ("");
243   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_help)->child),
244                                    _("_Help"));
245   gtk_widget_add_accelerator (menubar_help, "activate_item", accel_group,
246                               tmp_key, GDK_MOD1_MASK, 0);
247   gtk_widget_ref (menubar_help);
248   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_help", menubar_help,
249                             (GtkDestroyNotify) gtk_widget_unref);
250   gtk_widget_show (menubar_help);
251   gtk_container_add (GTK_CONTAINER (menubar1), menubar_help);
252
253   menubar_help_menu = gtk_menu_new ();
254   gtk_widget_ref (menubar_help_menu);
255   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_help_menu", menubar_help_menu,
256                             (GtkDestroyNotify) gtk_widget_unref);
257   gtk_menu_item_set_submenu (GTK_MENU_ITEM (menubar_help), menubar_help_menu);
258   menubar_help_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (menubar_help_menu));
259
260   menubar_about = gtk_menu_item_new_with_label ("");
261   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_about)->child),
262                                    _("_About..."));
263   gtk_widget_add_accelerator (menubar_about, "activate_item", menubar_help_menu_accels,
264                               tmp_key, 0, 0);
265   gtk_widget_ref (menubar_about);
266   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_about", menubar_about,
267                             (GtkDestroyNotify) gtk_widget_unref);
268   gtk_widget_show (menubar_about);
269   gtk_container_add (GTK_CONTAINER (menubar_help_menu), menubar_about);
270   gtk_tooltips_set_tip (tooltips, menubar_about, _("About this application"), NULL);
271
272   handlebox1 = gtk_handle_box_new ();
273   gtk_widget_ref (handlebox1);
274   gtk_object_set_data_full (GTK_OBJECT (intf_window), "handlebox1", handlebox1,
275                             (GtkDestroyNotify) gtk_widget_unref);
276   gtk_widget_show (handlebox1);
277   gtk_box_pack_start (GTK_BOX (vbox2), handlebox1, FALSE, TRUE, 0);
278
279   toolbar = gtk_toolbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_BOTH);
280   gtk_widget_ref (toolbar);
281   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar", toolbar,
282                             (GtkDestroyNotify) gtk_widget_unref);
283   gtk_widget_show (toolbar);
284   gtk_container_add (GTK_CONTAINER (handlebox1), toolbar);
285   gtk_container_set_border_width (GTK_CONTAINER (toolbar), 1);
286   gtk_toolbar_set_space_size (GTK_TOOLBAR (toolbar), 16);
287   gtk_toolbar_set_space_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_SPACE_LINE);
288   gtk_toolbar_set_button_relief (GTK_TOOLBAR (toolbar), GTK_RELIEF_NONE);
289
290   toolbar_open = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
291                                 GTK_TOOLBAR_CHILD_BUTTON,
292                                 NULL,
293                                 _("Open"),
294                                 _("Open File"), NULL,
295                                 NULL, NULL, NULL);
296   gtk_widget_ref (toolbar_open);
297   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_open", toolbar_open,
298                             (GtkDestroyNotify) gtk_widget_unref);
299   gtk_widget_show (toolbar_open);
300
301   toolbar_disc = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
302                                 GTK_TOOLBAR_CHILD_BUTTON,
303                                 NULL,
304                                 _("Disc"),
305                                 _("Open File"), NULL,
306                                 NULL, NULL, NULL);
307   gtk_widget_ref (toolbar_disc);
308   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_disc", toolbar_disc,
309                             (GtkDestroyNotify) gtk_widget_unref);
310   gtk_widget_show (toolbar_disc);
311
312   gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
313
314   toolbar_back = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
315                                 GTK_TOOLBAR_CHILD_BUTTON,
316                                 NULL,
317                                 _("Back"),
318                                 _("Go Backwards"), NULL,
319                                 NULL, NULL, NULL);
320   gtk_widget_ref (toolbar_back);
321   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_back", toolbar_back,
322                             (GtkDestroyNotify) gtk_widget_unref);
323   gtk_widget_show (toolbar_back);
324   gtk_widget_set_sensitive (toolbar_back, FALSE);
325
326   toolbar_stop = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
327                                 GTK_TOOLBAR_CHILD_BUTTON,
328                                 NULL,
329                                 _("Stop"),
330                                 _("Stop Stream"), NULL,
331                                 NULL, NULL, NULL);
332   gtk_widget_ref (toolbar_stop);
333   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_stop", toolbar_stop,
334                             (GtkDestroyNotify) gtk_widget_unref);
335   gtk_widget_show (toolbar_stop);
336   gtk_widget_set_sensitive (toolbar_stop, FALSE);
337
338   toolbar_play = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
339                                 GTK_TOOLBAR_CHILD_BUTTON,
340                                 NULL,
341                                 _("Play"),
342                                 _("Play Stream"), NULL,
343                                 NULL, NULL, NULL);
344   gtk_widget_ref (toolbar_play);
345   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_play", toolbar_play,
346                             (GtkDestroyNotify) gtk_widget_unref);
347   gtk_widget_show (toolbar_play);
348
349   toolbar_pause = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
350                                 GTK_TOOLBAR_CHILD_BUTTON,
351                                 NULL,
352                                 _("Pause"),
353                                 _("Pause Stream"), NULL,
354                                 NULL, NULL, NULL);
355   gtk_widget_ref (toolbar_pause);
356   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_pause", toolbar_pause,
357                             (GtkDestroyNotify) gtk_widget_unref);
358   gtk_widget_show (toolbar_pause);
359
360   toolbar_slow = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
361                                 GTK_TOOLBAR_CHILD_BUTTON,
362                                 NULL,
363                                 _("Slow"),
364                                 _("Play Slower"), NULL,
365                                 NULL, NULL, NULL);
366   gtk_widget_ref (toolbar_slow);
367   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_slow", toolbar_slow,
368                             (GtkDestroyNotify) gtk_widget_unref);
369   gtk_widget_show (toolbar_slow);
370
371   toolbar_fast = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
372                                 GTK_TOOLBAR_CHILD_BUTTON,
373                                 NULL,
374                                 _("Fast"),
375                                 _("Play Faster"), NULL,
376                                 NULL, NULL, NULL);
377   gtk_widget_ref (toolbar_fast);
378   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_fast", toolbar_fast,
379                             (GtkDestroyNotify) gtk_widget_unref);
380   gtk_widget_show (toolbar_fast);
381
382   gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
383
384   toolbar_playlist = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
385                                 GTK_TOOLBAR_CHILD_BUTTON,
386                                 NULL,
387                                 _("Playlist"),
388                                 _("Open Playlist"), NULL,
389                                 NULL, NULL, NULL);
390   gtk_widget_ref (toolbar_playlist);
391   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_playlist", toolbar_playlist,
392                             (GtkDestroyNotify) gtk_widget_unref);
393   gtk_widget_show (toolbar_playlist);
394   gtk_widget_set_sensitive (toolbar_playlist, FALSE);
395
396   toolbar_prev = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
397                                 GTK_TOOLBAR_CHILD_BUTTON,
398                                 NULL,
399                                 _("Prev"),
400                                 _("Previous File"), NULL,
401                                 NULL, NULL, NULL);
402   gtk_widget_ref (toolbar_prev);
403   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_prev", toolbar_prev,
404                             (GtkDestroyNotify) gtk_widget_unref);
405   gtk_widget_show (toolbar_prev);
406
407   toolbar_next = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
408                                 GTK_TOOLBAR_CHILD_BUTTON,
409                                 NULL,
410                                 _("Next"),
411                                 _("Next File"), NULL,
412                                 NULL, NULL, NULL);
413   gtk_widget_ref (toolbar_next);
414   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_next", toolbar_next,
415                             (GtkDestroyNotify) gtk_widget_unref);
416   gtk_widget_show (toolbar_next);
417
418   entry1 = gtk_entry_new ();
419   gtk_widget_ref (entry1);
420   gtk_object_set_data_full (GTK_OBJECT (intf_window), "entry1", entry1,
421                             (GtkDestroyNotify) gtk_widget_unref);
422   gtk_widget_show (entry1);
423   gtk_box_pack_start (GTK_BOX (vbox2), entry1, FALSE, TRUE, 0);
424   gtk_entry_set_text (GTK_ENTRY (entry1), _("Tired of boring stub messages ? Write your own exciting message here !!"));
425
426   label6 = gtk_label_new (_("This part of the interface doesn't work yet. You can drag the slider below, though:"));
427   gtk_widget_ref (label6);
428   gtk_object_set_data_full (GTK_OBJECT (intf_window), "label6", label6,
429                             (GtkDestroyNotify) gtk_widget_unref);
430   gtk_widget_show (label6);
431   gtk_box_pack_start (GTK_BOX (vbox2), label6, FALSE, TRUE, 0);
432   gtk_label_set_justify (GTK_LABEL (label6), GTK_JUSTIFY_LEFT);
433   gtk_misc_set_alignment (GTK_MISC (label6), 0, 0.5);
434   gtk_misc_set_padding (GTK_MISC (label6), 5, 0);
435
436   hscale = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 100, 1, 6.25, 0)));
437   gtk_widget_ref (hscale);
438   gtk_object_set_data_full (GTK_OBJECT (intf_window), "hscale", hscale,
439                             (GtkDestroyNotify) gtk_widget_unref);
440   gtk_widget_show (hscale);
441   gtk_box_pack_start (GTK_BOX (vbox2), hscale, FALSE, TRUE, 0);
442   gtk_scale_set_value_pos (GTK_SCALE (hscale), GTK_POS_BOTTOM);
443   gtk_range_set_update_policy (GTK_RANGE (hscale), GTK_UPDATE_DELAYED);
444
445   label13 = gtk_label_new (_("HEY ! YOU CAN DROP A FILE ON VLC TOO :-)"));
446   gtk_widget_ref (label13);
447   gtk_object_set_data_full (GTK_OBJECT (intf_window), "label13", label13,
448                             (GtkDestroyNotify) gtk_widget_unref);
449   gtk_widget_show (label13);
450   gtk_box_pack_start (GTK_BOX (vbox2), label13, FALSE, TRUE, 0);
451   gtk_misc_set_padding (GTK_MISC (label13), 0, 5);
452
453   statusbar1 = gtk_statusbar_new ();
454   gtk_widget_ref (statusbar1);
455   gtk_object_set_data_full (GTK_OBJECT (intf_window), "statusbar1", statusbar1,
456                             (GtkDestroyNotify) gtk_widget_unref);
457   gtk_widget_show (statusbar1);
458   gtk_box_pack_end (GTK_BOX (vbox2), statusbar1, FALSE, TRUE, 0);
459
460   gtk_signal_connect (GTK_OBJECT (intf_window), "destroy",
461                       GTK_SIGNAL_FUNC (on_intf_window_destroy),
462                       NULL);
463   gtk_signal_connect (GTK_OBJECT (intf_window), "drag_data_received",
464                       GTK_SIGNAL_FUNC (on_intf_window_drag_data_received),
465                       NULL);
466   gtk_signal_connect (GTK_OBJECT (menubar_open), "activate",
467                       GTK_SIGNAL_FUNC (on_menubar_open_activate),
468                       NULL);
469   gtk_signal_connect (GTK_OBJECT (menubar_disc), "activate",
470                       GTK_SIGNAL_FUNC (on_menubar_disc_activate),
471                       NULL);
472   gtk_signal_connect (GTK_OBJECT (menubar_exit), "activate",
473                       GTK_SIGNAL_FUNC (on_menubar_exit_activate),
474                       NULL);
475   gtk_signal_connect (GTK_OBJECT (menubar_playlist), "activate",
476                       GTK_SIGNAL_FUNC (on_menubar_playlist_activate),
477                       NULL);
478   gtk_signal_connect (GTK_OBJECT (menubar_modules), "activate",
479                       GTK_SIGNAL_FUNC (on_menubar_modules_activate),
480                       NULL);
481   gtk_signal_connect (GTK_OBJECT (menubar_preferences), "activate",
482                       GTK_SIGNAL_FUNC (on_menubar_preferences_activate),
483                       NULL);
484   gtk_signal_connect (GTK_OBJECT (menubar_about), "activate",
485                       GTK_SIGNAL_FUNC (on_menubar_about_activate),
486                       NULL);
487   gtk_signal_connect (GTK_OBJECT (toolbar_open), "clicked",
488                       GTK_SIGNAL_FUNC (on_toolbar_open_clicked),
489                       NULL);
490   gtk_signal_connect (GTK_OBJECT (toolbar_disc), "clicked",
491                       GTK_SIGNAL_FUNC (on_toolbar_disc_clicked),
492                       NULL);
493   gtk_signal_connect (GTK_OBJECT (toolbar_back), "clicked",
494                       GTK_SIGNAL_FUNC (on_toolbar_back_clicked),
495                       NULL);
496   gtk_signal_connect (GTK_OBJECT (toolbar_stop), "clicked",
497                       GTK_SIGNAL_FUNC (on_toolbar_stop_clicked),
498                       NULL);
499   gtk_signal_connect (GTK_OBJECT (toolbar_play), "clicked",
500                       GTK_SIGNAL_FUNC (on_toolbar_play_clicked),
501                       NULL);
502   gtk_signal_connect (GTK_OBJECT (toolbar_pause), "clicked",
503                       GTK_SIGNAL_FUNC (on_toolbar_pause_clicked),
504                       NULL);
505   gtk_signal_connect (GTK_OBJECT (toolbar_slow), "clicked",
506                       GTK_SIGNAL_FUNC (on_toolbar_slow_clicked),
507                       NULL);
508   gtk_signal_connect (GTK_OBJECT (toolbar_fast), "clicked",
509                       GTK_SIGNAL_FUNC (on_toolbar_fast_clicked),
510                       NULL);
511   gtk_signal_connect (GTK_OBJECT (toolbar_playlist), "clicked",
512                       GTK_SIGNAL_FUNC (on_toolbar_playlist_clicked),
513                       NULL);
514   gtk_signal_connect (GTK_OBJECT (toolbar_prev), "clicked",
515                       GTK_SIGNAL_FUNC (on_toolbar_prev_clicked),
516                       NULL);
517   gtk_signal_connect (GTK_OBJECT (toolbar_next), "clicked",
518                       GTK_SIGNAL_FUNC (on_toolbar_next_clicked),
519                       NULL);
520   gtk_signal_connect (GTK_OBJECT (hscale), "button_release_event",
521                       GTK_SIGNAL_FUNC (on_hscale_button_release_event),
522                       NULL);
523   gtk_signal_connect (GTK_OBJECT (hscale), "button_press_event",
524                       GTK_SIGNAL_FUNC (on_hscale_button_press_event),
525                       NULL);
526
527   gtk_object_set_data (GTK_OBJECT (intf_window), "tooltips", tooltips);
528
529   gtk_window_add_accel_group (GTK_WINDOW (intf_window), accel_group);
530
531   return intf_window;
532 }
533
534 GtkWidget*
535 create_intf_popup (void)
536 {
537   GtkWidget *intf_popup;
538   GtkAccelGroup *intf_popup_accels;
539   guint tmp_key;
540   GtkWidget *popup_play;
541   GtkWidget *popup_pause;
542   GtkWidget *popup_slow;
543   GtkWidget *popup_fast;
544   GtkWidget *separator6;
545   GtkWidget *popup_open;
546   GtkWidget *popup_disc;
547   GtkWidget *separator5;
548   GtkWidget *popup_about;
549   GtkWidget *popup_exit;
550   GtkTooltips *tooltips;
551
552   tooltips = gtk_tooltips_new ();
553
554   intf_popup = gtk_menu_new ();
555   gtk_object_set_data (GTK_OBJECT (intf_popup), "intf_popup", intf_popup);
556   intf_popup_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (intf_popup));
557
558   popup_play = gtk_menu_item_new_with_label ("");
559   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_play)->child),
560                                    _("_Play"));
561   gtk_widget_add_accelerator (popup_play, "activate_item", intf_popup_accels,
562                               tmp_key, 0, 0);
563   gtk_widget_ref (popup_play);
564   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_play", popup_play,
565                             (GtkDestroyNotify) gtk_widget_unref);
566   gtk_widget_show (popup_play);
567   gtk_container_add (GTK_CONTAINER (intf_popup), popup_play);
568
569   popup_pause = gtk_menu_item_new_with_label (_("Pause"));
570   gtk_widget_ref (popup_pause);
571   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_pause", popup_pause,
572                             (GtkDestroyNotify) gtk_widget_unref);
573   gtk_widget_show (popup_pause);
574   gtk_container_add (GTK_CONTAINER (intf_popup), popup_pause);
575
576   popup_slow = gtk_menu_item_new_with_label (_("Slow"));
577   gtk_widget_ref (popup_slow);
578   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_slow", popup_slow,
579                             (GtkDestroyNotify) gtk_widget_unref);
580   gtk_widget_show (popup_slow);
581   gtk_container_add (GTK_CONTAINER (intf_popup), popup_slow);
582
583   popup_fast = gtk_menu_item_new_with_label (_("Fast"));
584   gtk_widget_ref (popup_fast);
585   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_fast", popup_fast,
586                             (GtkDestroyNotify) gtk_widget_unref);
587   gtk_widget_show (popup_fast);
588   gtk_container_add (GTK_CONTAINER (intf_popup), popup_fast);
589
590   separator6 = gtk_menu_item_new ();
591   gtk_widget_ref (separator6);
592   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator6", separator6,
593                             (GtkDestroyNotify) gtk_widget_unref);
594   gtk_widget_show (separator6);
595   gtk_container_add (GTK_CONTAINER (intf_popup), separator6);
596   gtk_widget_set_sensitive (separator6, FALSE);
597
598   popup_open = gtk_menu_item_new_with_label ("");
599   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_open)->child),
600                                    _("_Open..."));
601   gtk_widget_add_accelerator (popup_open, "activate_item", intf_popup_accels,
602                               tmp_key, 0, 0);
603   gtk_widget_ref (popup_open);
604   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_open", popup_open,
605                             (GtkDestroyNotify) gtk_widget_unref);
606   gtk_widget_show (popup_open);
607   gtk_container_add (GTK_CONTAINER (intf_popup), popup_open);
608
609   popup_disc = gtk_menu_item_new_with_label ("");
610   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_disc)->child),
611                                    _("Open _disc..."));
612   gtk_widget_add_accelerator (popup_disc, "activate_item", intf_popup_accels,
613                               tmp_key, 0, 0);
614   gtk_widget_ref (popup_disc);
615   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_disc", popup_disc,
616                             (GtkDestroyNotify) gtk_widget_unref);
617   gtk_widget_show (popup_disc);
618   gtk_container_add (GTK_CONTAINER (intf_popup), popup_disc);
619   gtk_tooltips_set_tip (tooltips, popup_disc, _("Open DVD or VCD"), NULL);
620
621   separator5 = gtk_menu_item_new ();
622   gtk_widget_ref (separator5);
623   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator5", separator5,
624                             (GtkDestroyNotify) gtk_widget_unref);
625   gtk_widget_show (separator5);
626   gtk_container_add (GTK_CONTAINER (intf_popup), separator5);
627   gtk_widget_set_sensitive (separator5, FALSE);
628
629   popup_about = gtk_menu_item_new_with_label ("");
630   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_about)->child),
631                                    _("_About..."));
632   gtk_widget_add_accelerator (popup_about, "activate_item", intf_popup_accels,
633                               tmp_key, 0, 0);
634   gtk_widget_ref (popup_about);
635   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_about", popup_about,
636                             (GtkDestroyNotify) gtk_widget_unref);
637   gtk_widget_show (popup_about);
638   gtk_container_add (GTK_CONTAINER (intf_popup), popup_about);
639
640   popup_exit = gtk_menu_item_new_with_label ("");
641   tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_exit)->child),
642                                    _("E_xit"));
643   gtk_widget_add_accelerator (popup_exit, "activate_item", intf_popup_accels,
644                               tmp_key, 0, 0);
645   gtk_widget_ref (popup_exit);
646   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_exit", popup_exit,
647                             (GtkDestroyNotify) gtk_widget_unref);
648   gtk_widget_show (popup_exit);
649   gtk_container_add (GTK_CONTAINER (intf_popup), popup_exit);
650
651   gtk_signal_connect (GTK_OBJECT (popup_play), "activate",
652                       GTK_SIGNAL_FUNC (on_popup_play_activate),
653                       NULL);
654   gtk_signal_connect (GTK_OBJECT (popup_pause), "activate",
655                       GTK_SIGNAL_FUNC (on_popup_pause_activate),
656                       NULL);
657   gtk_signal_connect (GTK_OBJECT (popup_slow), "activate",
658                       GTK_SIGNAL_FUNC (on_popup_slow_activate),
659                       NULL);
660   gtk_signal_connect (GTK_OBJECT (popup_fast), "activate",
661                       GTK_SIGNAL_FUNC (on_popup_fast_activate),
662                       NULL);
663   gtk_signal_connect (GTK_OBJECT (popup_open), "activate",
664                       GTK_SIGNAL_FUNC (on_popup_open_activate),
665                       NULL);
666   gtk_signal_connect (GTK_OBJECT (popup_disc), "activate",
667                       GTK_SIGNAL_FUNC (on_popup_disc_activate),
668                       NULL);
669   gtk_signal_connect (GTK_OBJECT (popup_about), "activate",
670                       GTK_SIGNAL_FUNC (on_popup_about_activate),
671                       NULL);
672   gtk_signal_connect (GTK_OBJECT (popup_exit), "activate",
673                       GTK_SIGNAL_FUNC (on_popup_exit_activate),
674                       NULL);
675
676   gtk_object_set_data (GTK_OBJECT (intf_popup), "tooltips", tooltips);
677
678   return intf_popup;
679 }
680
681 GtkWidget*
682 create_intf_about (void)
683 {
684   GtkWidget *intf_about;
685   GtkWidget *dialog_vbox1;
686   GtkWidget *vbox3;
687   GtkWidget *label14;
688   GtkWidget *label18;
689   GtkWidget *frame1;
690   GtkWidget *label16;
691   GtkWidget *label17;
692   GtkWidget *dialog_action_area;
693   GtkWidget *about_ok;
694
695   intf_about = gtk_dialog_new ();
696   gtk_object_set_data (GTK_OBJECT (intf_about), "intf_about", intf_about);
697   gtk_container_set_border_width (GTK_CONTAINER (intf_about), 10);
698   gtk_window_set_title (GTK_WINDOW (intf_about), _("About"));
699   gtk_window_set_position (GTK_WINDOW (intf_about), GTK_WIN_POS_CENTER);
700   gtk_window_set_policy (GTK_WINDOW (intf_about), FALSE, FALSE, FALSE);
701
702   dialog_vbox1 = GTK_DIALOG (intf_about)->vbox;
703   gtk_object_set_data (GTK_OBJECT (intf_about), "dialog_vbox1", dialog_vbox1);
704   gtk_widget_show (dialog_vbox1);
705
706   vbox3 = gtk_vbox_new (FALSE, 0);
707   gtk_widget_ref (vbox3);
708   gtk_object_set_data_full (GTK_OBJECT (intf_about), "vbox3", vbox3,
709                             (GtkDestroyNotify) gtk_widget_unref);
710   gtk_widget_show (vbox3);
711   gtk_box_pack_start (GTK_BOX (dialog_vbox1), vbox3, TRUE, TRUE, 0);
712
713   label14 = gtk_label_new (_("VideoLAN Client"));
714   gtk_widget_ref (label14);
715   gtk_object_set_data_full (GTK_OBJECT (intf_about), "label14", label14,
716                             (GtkDestroyNotify) gtk_widget_unref);
717   gtk_widget_show (label14);
718   gtk_box_pack_start (GTK_BOX (vbox3), label14, TRUE, TRUE, 0);
719   gtk_misc_set_padding (GTK_MISC (label14), 0, 10);
720
721   label18 = gtk_label_new (_("(C) 1996, 1997, 1998, 1999, 2000, 2001 - the VideoLAN Team"));
722   gtk_widget_ref (label18);
723   gtk_object_set_data_full (GTK_OBJECT (intf_about), "label18", label18,
724                             (GtkDestroyNotify) gtk_widget_unref);
725   gtk_widget_show (label18);
726   gtk_box_pack_start (GTK_BOX (vbox3), label18, FALSE, FALSE, 0);
727   gtk_label_set_justify (GTK_LABEL (label18), GTK_JUSTIFY_LEFT);
728   gtk_misc_set_padding (GTK_MISC (label18), 0, 5);
729
730   frame1 = gtk_frame_new (_("Authors"));
731   gtk_widget_ref (frame1);
732   gtk_object_set_data_full (GTK_OBJECT (intf_about), "frame1", frame1,
733                             (GtkDestroyNotify) gtk_widget_unref);
734   gtk_widget_show (frame1);
735   gtk_box_pack_start (GTK_BOX (vbox3), frame1, FALSE, FALSE, 0);
736
737   label16 = gtk_label_new (_("Régis Duchesne <regis@via.ecp.fr>\nMichel Lespinasse <walken@zoy.org>\nOlivier Pomel <pomel@via.ecp.fr>\nPierre Baillet <oct@zoy.org>\nJean-Philippe Grimaldi <jeanphi@via.ecp.fr>\nAndres Krapf <dae@via.ecp.fr>\nChristophe Massiot <massiot@via.ecp.fr>\nVincent Seguin <seguin@via.ecp.fr>\nBenoit Steiner <benny@via.ecp.fr>\nArnaud de Bossoreille de Ribou <bozo@via.ecp.fr>\nJean-Marc Dressler <polux@via.ecp.fr>\nGaël Hendryckx <jimmy@via.ecp.fr>\nSamuel Hocevar <sam@zoy.org>\nBrieuc Jeunhomme <bbp@via.ecp.fr>\nMichel Kaempf <maxx@via.ecp.fr>\nStéphane Borel <stef@via.ecp.fr>\nRenaud Dartus <reno@via.ecp.fr>\nHenri Fallon <henri@via.ecp.fr>"));
738   gtk_widget_ref (label16);
739   gtk_object_set_data_full (GTK_OBJECT (intf_about), "label16", label16,
740                             (GtkDestroyNotify) gtk_widget_unref);
741   gtk_widget_show (label16);
742   gtk_container_add (GTK_CONTAINER (frame1), label16);
743   gtk_label_set_justify (GTK_LABEL (label16), GTK_JUSTIFY_LEFT);
744   gtk_misc_set_alignment (GTK_MISC (label16), 0.5, 0);
745   gtk_misc_set_padding (GTK_MISC (label16), 5, 5);
746
747   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."));
748   gtk_widget_ref (label17);
749   gtk_object_set_data_full (GTK_OBJECT (intf_about), "label17", label17,
750                             (GtkDestroyNotify) gtk_widget_unref);
751   gtk_widget_show (label17);
752   gtk_box_pack_start (GTK_BOX (vbox3), label17, FALSE, FALSE, 0);
753   gtk_label_set_justify (GTK_LABEL (label17), GTK_JUSTIFY_LEFT);
754   gtk_label_set_line_wrap (GTK_LABEL (label17), TRUE);
755   gtk_misc_set_padding (GTK_MISC (label17), 0, 5);
756
757   dialog_action_area = GTK_DIALOG (intf_about)->action_area;
758   gtk_object_set_data (GTK_OBJECT (intf_about), "dialog_action_area", dialog_action_area);
759   gtk_widget_show (dialog_action_area);
760
761   about_ok = gtk_button_new_with_label (_("OK"));
762   gtk_widget_ref (about_ok);
763   gtk_object_set_data_full (GTK_OBJECT (intf_about), "about_ok", about_ok,
764                             (GtkDestroyNotify) gtk_widget_unref);
765   gtk_widget_show (about_ok);
766   gtk_box_pack_start (GTK_BOX (dialog_action_area), about_ok, FALSE, TRUE, 0);
767   GTK_WIDGET_SET_FLAGS (about_ok, GTK_CAN_DEFAULT);
768
769   gtk_signal_connect (GTK_OBJECT (about_ok), "clicked",
770                       GTK_SIGNAL_FUNC (on_about_ok_clicked),
771                       NULL);
772
773   gtk_widget_grab_default (about_ok);
774   return intf_about;
775 }
776
777 GtkWidget*
778 create_intf_fileopen (void)
779 {
780   GtkWidget *intf_fileopen;
781   GtkWidget *fileopen_ok;
782   GtkWidget *fileopen_cancel;
783
784   intf_fileopen = gtk_file_selection_new (_("Select File"));
785   gtk_object_set_data (GTK_OBJECT (intf_fileopen), "intf_fileopen", intf_fileopen);
786   gtk_container_set_border_width (GTK_CONTAINER (intf_fileopen), 10);
787
788   fileopen_ok = GTK_FILE_SELECTION (intf_fileopen)->ok_button;
789   gtk_object_set_data (GTK_OBJECT (intf_fileopen), "fileopen_ok", fileopen_ok);
790   gtk_widget_show (fileopen_ok);
791   GTK_WIDGET_SET_FLAGS (fileopen_ok, GTK_CAN_DEFAULT);
792
793   fileopen_cancel = GTK_FILE_SELECTION (intf_fileopen)->cancel_button;
794   gtk_object_set_data (GTK_OBJECT (intf_fileopen), "fileopen_cancel", fileopen_cancel);
795   gtk_widget_show (fileopen_cancel);
796   GTK_WIDGET_SET_FLAGS (fileopen_cancel, GTK_CAN_DEFAULT);
797
798   gtk_signal_connect (GTK_OBJECT (intf_fileopen), "destroy",
799                       GTK_SIGNAL_FUNC (on_intf_fileopen_destroy),
800                       NULL);
801   gtk_signal_connect (GTK_OBJECT (fileopen_ok), "clicked",
802                       GTK_SIGNAL_FUNC (on_fileopen_ok_clicked),
803                       NULL);
804   gtk_signal_connect (GTK_OBJECT (fileopen_cancel), "clicked",
805                       GTK_SIGNAL_FUNC (on_fileopen_cancel_clicked),
806                       NULL);
807
808   return intf_fileopen;
809 }
810
811 GtkWidget*
812 create_intf_disc (void)
813 {
814   GtkWidget *intf_disc;
815   GtkWidget *dialog_vbox2;
816   GtkWidget *vbox4;
817   GtkWidget *frame2;
818   GtkWidget *vbox5;
819   GSList *disc_group = NULL;
820   GtkWidget *disc_dvd;
821   GtkWidget *disc_vcd;
822   GtkWidget *hbox2;
823   GtkWidget *label19;
824   GtkWidget *entry2;
825   GtkWidget *dialog_action_area1;
826   GtkWidget *hbox1;
827   GtkWidget *disc_ok;
828   GtkWidget *disc_cancel;
829
830   intf_disc = gtk_dialog_new ();
831   gtk_object_set_data (GTK_OBJECT (intf_disc), "intf_disc", intf_disc);
832   gtk_window_set_title (GTK_WINDOW (intf_disc), _("Open disc"));
833   gtk_window_set_policy (GTK_WINDOW (intf_disc), FALSE, FALSE, FALSE);
834
835   dialog_vbox2 = GTK_DIALOG (intf_disc)->vbox;
836   gtk_object_set_data (GTK_OBJECT (intf_disc), "dialog_vbox2", dialog_vbox2);
837   gtk_widget_show (dialog_vbox2);
838   gtk_container_set_border_width (GTK_CONTAINER (dialog_vbox2), 10);
839
840   vbox4 = gtk_vbox_new (FALSE, 5);
841   gtk_widget_ref (vbox4);
842   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "vbox4", vbox4,
843                             (GtkDestroyNotify) gtk_widget_unref);
844   gtk_widget_show (vbox4);
845   gtk_box_pack_start (GTK_BOX (dialog_vbox2), vbox4, TRUE, TRUE, 0);
846   gtk_container_set_border_width (GTK_CONTAINER (vbox4), 5);
847
848   frame2 = gtk_frame_new (_("Disc type"));
849   gtk_widget_ref (frame2);
850   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "frame2", frame2,
851                             (GtkDestroyNotify) gtk_widget_unref);
852   gtk_widget_show (frame2);
853   gtk_box_pack_start (GTK_BOX (vbox4), frame2, TRUE, TRUE, 0);
854
855   vbox5 = gtk_vbox_new (FALSE, 0);
856   gtk_widget_ref (vbox5);
857   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "vbox5", vbox5,
858                             (GtkDestroyNotify) gtk_widget_unref);
859   gtk_widget_show (vbox5);
860   gtk_container_add (GTK_CONTAINER (frame2), vbox5);
861
862   disc_dvd = gtk_radio_button_new_with_label (disc_group, _("DVD"));
863   disc_group = gtk_radio_button_group (GTK_RADIO_BUTTON (disc_dvd));
864   gtk_widget_ref (disc_dvd);
865   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_dvd", disc_dvd,
866                             (GtkDestroyNotify) gtk_widget_unref);
867   gtk_widget_show (disc_dvd);
868   gtk_box_pack_start (GTK_BOX (vbox5), disc_dvd, FALSE, FALSE, 0);
869
870   disc_vcd = gtk_radio_button_new_with_label (disc_group, _("VCD (unsupported yet)"));
871   disc_group = gtk_radio_button_group (GTK_RADIO_BUTTON (disc_vcd));
872   gtk_widget_ref (disc_vcd);
873   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_vcd", disc_vcd,
874                             (GtkDestroyNotify) gtk_widget_unref);
875   gtk_widget_show (disc_vcd);
876   gtk_box_pack_start (GTK_BOX (vbox5), disc_vcd, FALSE, FALSE, 0);
877
878   hbox2 = gtk_hbox_new (FALSE, 5);
879   gtk_widget_ref (hbox2);
880   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "hbox2", hbox2,
881                             (GtkDestroyNotify) gtk_widget_unref);
882   gtk_widget_show (hbox2);
883   gtk_box_pack_start (GTK_BOX (vbox4), hbox2, TRUE, TRUE, 0);
884
885   label19 = gtk_label_new (_("Device name (eg. /dev/cdrom or /dev/dvd):"));
886   gtk_widget_ref (label19);
887   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "label19", label19,
888                             (GtkDestroyNotify) gtk_widget_unref);
889   gtk_widget_show (label19);
890   gtk_box_pack_start (GTK_BOX (hbox2), label19, FALSE, FALSE, 0);
891
892   entry2 = gtk_entry_new ();
893   gtk_widget_ref (entry2);
894   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "entry2", entry2,
895                             (GtkDestroyNotify) gtk_widget_unref);
896   gtk_widget_show (entry2);
897   gtk_box_pack_start (GTK_BOX (hbox2), entry2, TRUE, TRUE, 0);
898   gtk_entry_set_text (GTK_ENTRY (entry2), _("/dev/dvd"));
899
900   dialog_action_area1 = GTK_DIALOG (intf_disc)->action_area;
901   gtk_object_set_data (GTK_OBJECT (intf_disc), "dialog_action_area1", dialog_action_area1);
902   gtk_widget_show (dialog_action_area1);
903
904   hbox1 = gtk_hbox_new (TRUE, 5);
905   gtk_widget_ref (hbox1);
906   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "hbox1", hbox1,
907                             (GtkDestroyNotify) gtk_widget_unref);
908   gtk_widget_show (hbox1);
909   gtk_box_pack_end (GTK_BOX (dialog_action_area1), hbox1, FALSE, TRUE, 0);
910   gtk_container_set_border_width (GTK_CONTAINER (hbox1), 10);
911
912   disc_ok = gtk_button_new_with_label (_("OK"));
913   gtk_widget_ref (disc_ok);
914   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_ok", disc_ok,
915                             (GtkDestroyNotify) gtk_widget_unref);
916   gtk_widget_show (disc_ok);
917   gtk_box_pack_start (GTK_BOX (hbox1), disc_ok, FALSE, TRUE, 0);
918
919   disc_cancel = gtk_button_new_with_label (_("Cancel"));
920   gtk_widget_ref (disc_cancel);
921   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_cancel", disc_cancel,
922                             (GtkDestroyNotify) gtk_widget_unref);
923   gtk_widget_show (disc_cancel);
924   gtk_box_pack_start (GTK_BOX (hbox1), disc_cancel, FALSE, TRUE, 0);
925
926   gtk_signal_connect (GTK_OBJECT (disc_dvd), "toggled",
927                       GTK_SIGNAL_FUNC (on_disc_dvd_toggled),
928                       NULL);
929   gtk_signal_connect (GTK_OBJECT (disc_vcd), "toggled",
930                       GTK_SIGNAL_FUNC (on_disc_vcd_toggled),
931                       NULL);
932   gtk_signal_connect (GTK_OBJECT (disc_ok), "clicked",
933                       GTK_SIGNAL_FUNC (on_disc_ok_clicked),
934                       NULL);
935   gtk_signal_connect (GTK_OBJECT (disc_cancel), "clicked",
936                       GTK_SIGNAL_FUNC (on_disc_cancel_clicked),
937                       NULL);
938
939   return intf_disc;
940 }
941