]> git.sesse.net Git - vlc/blob - plugins/gnome/gnome_interface.c
* Fixed my old stupid bug that disabled sound after having played the
[vlc] / plugins / gnome / gnome_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 <gnome.h>
15
16 #include "gnome_callbacks.h"
17 #include "gnome_interface.h"
18 #include "gnome_support.h"
19
20 static GnomeUIInfo menubar_file_menu_uiinfo[] =
21 {
22   GNOMEUIINFO_MENU_OPEN_ITEM (on_menubar_open_activate, NULL),
23   GNOMEUIINFO_SEPARATOR,
24   GNOMEUIINFO_MENU_EXIT_ITEM (on_menubar_exit_activate, NULL),
25   GNOMEUIINFO_END
26 };
27
28 static GnomeUIInfo menubar_view_menu_uiinfo[] =
29 {
30   {
31     GNOME_APP_UI_ITEM, N_("P_laylist"),
32     NULL,
33     (gpointer) on_menubar_playlist_activate, NULL, NULL,
34     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_INDEX,
35     0, (GdkModifierType) 0, NULL
36   },
37   {
38     GNOME_APP_UI_ITEM, N_("_Plugins"),
39     NULL,
40     (gpointer) on_menubar_plugins_activate, NULL, NULL,
41     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_ATTACH,
42     0, (GdkModifierType) 0, NULL
43   },
44   GNOMEUIINFO_END
45 };
46
47 static GnomeUIInfo menubar_settings_menu_uiinfo[] =
48 {
49   GNOMEUIINFO_MENU_PREFERENCES_ITEM (on_menubar_preferences_activate, NULL),
50   GNOMEUIINFO_END
51 };
52
53 static GnomeUIInfo menubar_help_menu_uiinfo[] =
54 {
55   GNOMEUIINFO_MENU_ABOUT_ITEM (on_menubar_about_activate, NULL),
56   GNOMEUIINFO_END
57 };
58
59 static GnomeUIInfo menubar_uiinfo[] =
60 {
61   GNOMEUIINFO_MENU_FILE_TREE (menubar_file_menu_uiinfo),
62   GNOMEUIINFO_MENU_VIEW_TREE (menubar_view_menu_uiinfo),
63   GNOMEUIINFO_MENU_SETTINGS_TREE (menubar_settings_menu_uiinfo),
64   GNOMEUIINFO_MENU_HELP_TREE (menubar_help_menu_uiinfo),
65   GNOMEUIINFO_END
66 };
67
68 GtkWidget*
69 create_intf_window (void)
70 {
71   GtkWidget *intf_window;
72   GtkWidget *dock1;
73   GtkWidget *toolbar;
74   GtkWidget *tmp_toolbar_icon;
75   GtkWidget *toolbar_open;
76   GtkWidget *toolbar_back;
77   GtkWidget *toolbar_stop;
78   GtkWidget *toolbar_play;
79   GtkWidget *toolbar_pause;
80   GtkWidget *toolbar_slow;
81   GtkWidget *toolbar_fast;
82   GtkWidget *toolbar_playlist;
83   GtkWidget *toolbar_prev;
84   GtkWidget *toolbar_next;
85   GtkWidget *scrolledwindow1;
86   GtkWidget *text1;
87   GtkWidget *appbar;
88
89   intf_window = gnome_app_new ("VideoLAN Client", _("VideoLAN Client"));
90   gtk_object_set_data (GTK_OBJECT (intf_window), "intf_window", intf_window);
91
92   dock1 = GNOME_APP (intf_window)->dock;
93   gtk_widget_ref (dock1);
94   gtk_object_set_data_full (GTK_OBJECT (intf_window), "dock1", dock1,
95                             (GtkDestroyNotify) gtk_widget_unref);
96   gtk_widget_show (dock1);
97
98   gnome_app_create_menus (GNOME_APP (intf_window), menubar_uiinfo);
99
100   gtk_widget_ref (menubar_uiinfo[0].widget);
101   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_file",
102                             menubar_uiinfo[0].widget,
103                             (GtkDestroyNotify) gtk_widget_unref);
104
105   gtk_widget_ref (menubar_file_menu_uiinfo[0].widget);
106   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_open",
107                             menubar_file_menu_uiinfo[0].widget,
108                             (GtkDestroyNotify) gtk_widget_unref);
109
110   gtk_widget_ref (menubar_file_menu_uiinfo[1].widget);
111   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator1",
112                             menubar_file_menu_uiinfo[1].widget,
113                             (GtkDestroyNotify) gtk_widget_unref);
114
115   gtk_widget_ref (menubar_file_menu_uiinfo[2].widget);
116   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_exit",
117                             menubar_file_menu_uiinfo[2].widget,
118                             (GtkDestroyNotify) gtk_widget_unref);
119
120   gtk_widget_ref (menubar_uiinfo[1].widget);
121   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_view",
122                             menubar_uiinfo[1].widget,
123                             (GtkDestroyNotify) gtk_widget_unref);
124
125   gtk_widget_ref (menubar_view_menu_uiinfo[0].widget);
126   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_playlist",
127                             menubar_view_menu_uiinfo[0].widget,
128                             (GtkDestroyNotify) gtk_widget_unref);
129
130   gtk_widget_ref (menubar_view_menu_uiinfo[1].widget);
131   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_plugins",
132                             menubar_view_menu_uiinfo[1].widget,
133                             (GtkDestroyNotify) gtk_widget_unref);
134
135   gtk_widget_ref (menubar_uiinfo[2].widget);
136   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_settings",
137                             menubar_uiinfo[2].widget,
138                             (GtkDestroyNotify) gtk_widget_unref);
139
140   gtk_widget_ref (menubar_settings_menu_uiinfo[0].widget);
141   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_preferences",
142                             menubar_settings_menu_uiinfo[0].widget,
143                             (GtkDestroyNotify) gtk_widget_unref);
144
145   gtk_widget_ref (menubar_uiinfo[3].widget);
146   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_help",
147                             menubar_uiinfo[3].widget,
148                             (GtkDestroyNotify) gtk_widget_unref);
149
150   gtk_widget_ref (menubar_help_menu_uiinfo[0].widget);
151   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_about",
152                             menubar_help_menu_uiinfo[0].widget,
153                             (GtkDestroyNotify) gtk_widget_unref);
154
155   toolbar = gtk_toolbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_BOTH);
156   gtk_widget_ref (toolbar);
157   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar", toolbar,
158                             (GtkDestroyNotify) gtk_widget_unref);
159   gtk_widget_show (toolbar);
160   gnome_app_add_toolbar (GNOME_APP (intf_window), GTK_TOOLBAR (toolbar), "toolbar",
161                                 GNOME_DOCK_ITEM_BEH_EXCLUSIVE,
162                                 GNOME_DOCK_TOP, 1, 0, 2);
163   gtk_container_set_border_width (GTK_CONTAINER (toolbar), 1);
164   gtk_toolbar_set_space_size (GTK_TOOLBAR (toolbar), 16);
165   gtk_toolbar_set_space_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_SPACE_LINE);
166   gtk_toolbar_set_button_relief (GTK_TOOLBAR (toolbar), GTK_RELIEF_NONE);
167
168   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_OPEN);
169   toolbar_open = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
170                                 GTK_TOOLBAR_CHILD_BUTTON,
171                                 NULL,
172                                 _("Open"),
173                                 _("Open File"), NULL,
174                                 tmp_toolbar_icon, NULL, NULL);
175   gtk_widget_ref (toolbar_open);
176   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_open", toolbar_open,
177                             (GtkDestroyNotify) gtk_widget_unref);
178   gtk_widget_show (toolbar_open);
179
180   gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
181
182   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_BACK);
183   toolbar_back = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
184                                 GTK_TOOLBAR_CHILD_BUTTON,
185                                 NULL,
186                                 _("Back"),
187                                 _("Go Backwards"), NULL,
188                                 tmp_toolbar_icon, NULL, NULL);
189   gtk_widget_ref (toolbar_back);
190   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_back", toolbar_back,
191                             (GtkDestroyNotify) gtk_widget_unref);
192   gtk_widget_show (toolbar_back);
193
194   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_STOP);
195   toolbar_stop = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
196                                 GTK_TOOLBAR_CHILD_BUTTON,
197                                 NULL,
198                                 _("Stop"),
199                                 _("Stop Stream"), NULL,
200                                 tmp_toolbar_icon, NULL, NULL);
201   gtk_widget_ref (toolbar_stop);
202   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_stop", toolbar_stop,
203                             (GtkDestroyNotify) gtk_widget_unref);
204   gtk_widget_show (toolbar_stop);
205
206   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_FORWARD);
207   toolbar_play = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
208                                 GTK_TOOLBAR_CHILD_BUTTON,
209                                 NULL,
210                                 _("Play"),
211                                 _("Play Stream"), NULL,
212                                 tmp_toolbar_icon, NULL, NULL);
213   gtk_widget_ref (toolbar_play);
214   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_play", toolbar_play,
215                             (GtkDestroyNotify) gtk_widget_unref);
216   gtk_widget_show (toolbar_play);
217
218   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_BOTTOM);
219   toolbar_pause = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
220                                 GTK_TOOLBAR_CHILD_BUTTON,
221                                 NULL,
222                                 _("Pause"),
223                                 _("Pause Stream"), NULL,
224                                 tmp_toolbar_icon, NULL, NULL);
225   gtk_widget_ref (toolbar_pause);
226   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_pause", toolbar_pause,
227                             (GtkDestroyNotify) gtk_widget_unref);
228   gtk_widget_show (toolbar_pause);
229
230   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_TIMER_STOP);
231   toolbar_slow = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
232                                 GTK_TOOLBAR_CHILD_BUTTON,
233                                 NULL,
234                                 _("Slow"),
235                                 _("Play Slower"), NULL,
236                                 tmp_toolbar_icon, NULL, NULL);
237   gtk_widget_ref (toolbar_slow);
238   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_slow", toolbar_slow,
239                             (GtkDestroyNotify) gtk_widget_unref);
240   gtk_widget_show (toolbar_slow);
241
242   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_TIMER);
243   toolbar_fast = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
244                                 GTK_TOOLBAR_CHILD_BUTTON,
245                                 NULL,
246                                 _("Fast"),
247                                 _("Play Faster"), NULL,
248                                 tmp_toolbar_icon, NULL, NULL);
249   gtk_widget_ref (toolbar_fast);
250   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_fast", toolbar_fast,
251                             (GtkDestroyNotify) gtk_widget_unref);
252   gtk_widget_show (toolbar_fast);
253
254   gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
255
256   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_INDEX);
257   toolbar_playlist = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
258                                 GTK_TOOLBAR_CHILD_BUTTON,
259                                 NULL,
260                                 _("Playlist"),
261                                 _("Open Playlist"), NULL,
262                                 tmp_toolbar_icon, NULL, NULL);
263   gtk_widget_ref (toolbar_playlist);
264   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_playlist", toolbar_playlist,
265                             (GtkDestroyNotify) gtk_widget_unref);
266   gtk_widget_show (toolbar_playlist);
267
268   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_FIRST);
269   toolbar_prev = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
270                                 GTK_TOOLBAR_CHILD_BUTTON,
271                                 NULL,
272                                 _("Prev"),
273                                 _("Previous File"), NULL,
274                                 tmp_toolbar_icon, NULL, NULL);
275   gtk_widget_ref (toolbar_prev);
276   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_prev", toolbar_prev,
277                             (GtkDestroyNotify) gtk_widget_unref);
278   gtk_widget_show (toolbar_prev);
279
280   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_LAST);
281   toolbar_next = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
282                                 GTK_TOOLBAR_CHILD_BUTTON,
283                                 NULL,
284                                 _("Next"),
285                                 _("Next File"), NULL,
286                                 tmp_toolbar_icon, NULL, NULL);
287   gtk_widget_ref (toolbar_next);
288   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_next", toolbar_next,
289                             (GtkDestroyNotify) gtk_widget_unref);
290   gtk_widget_show (toolbar_next);
291
292   scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL);
293   gtk_widget_ref (scrolledwindow1);
294   gtk_object_set_data_full (GTK_OBJECT (intf_window), "scrolledwindow1", scrolledwindow1,
295                             (GtkDestroyNotify) gtk_widget_unref);
296   gtk_widget_show (scrolledwindow1);
297   gnome_app_set_contents (GNOME_APP (intf_window), scrolledwindow1);
298   gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
299
300   text1 = gtk_text_new (NULL, NULL);
301   gtk_widget_ref (text1);
302   gtk_object_set_data_full (GTK_OBJECT (intf_window), "text1", text1,
303                             (GtkDestroyNotify) gtk_widget_unref);
304   gtk_widget_show (text1);
305   gtk_container_add (GTK_CONTAINER (scrolledwindow1), text1);
306   gtk_text_insert (GTK_TEXT (text1), NULL, NULL, NULL,
307                    _("This is some random text. Nah. Eat at Sam's. Rent this place. Wazaaa."), 69);
308
309   appbar = gnome_appbar_new (TRUE, TRUE, GNOME_PREFERENCES_NEVER);
310   gtk_widget_ref (appbar);
311   gtk_object_set_data_full (GTK_OBJECT (intf_window), "appbar", appbar,
312                             (GtkDestroyNotify) gtk_widget_unref);
313   gtk_widget_show (appbar);
314   gnome_app_set_statusbar (GNOME_APP (intf_window), appbar);
315
316   gtk_signal_connect (GTK_OBJECT (intf_window), "destroy",
317                       GTK_SIGNAL_FUNC (on_intf_window_destroy),
318                       NULL);
319   gnome_app_install_menu_hints (GNOME_APP (intf_window), menubar_uiinfo);
320   gtk_signal_connect (GTK_OBJECT (toolbar_open), "clicked",
321                       GTK_SIGNAL_FUNC (on_toolbar_open_clicked),
322                       NULL);
323   gtk_signal_connect (GTK_OBJECT (toolbar_back), "clicked",
324                       GTK_SIGNAL_FUNC (on_toolbar_back_clicked),
325                       NULL);
326   gtk_signal_connect (GTK_OBJECT (toolbar_stop), "clicked",
327                       GTK_SIGNAL_FUNC (on_toolbar_stop_clicked),
328                       NULL);
329   gtk_signal_connect (GTK_OBJECT (toolbar_play), "clicked",
330                       GTK_SIGNAL_FUNC (on_toolbar_play_clicked),
331                       NULL);
332   gtk_signal_connect (GTK_OBJECT (toolbar_pause), "clicked",
333                       GTK_SIGNAL_FUNC (on_toolbar_pause_clicked),
334                       NULL);
335   gtk_signal_connect (GTK_OBJECT (toolbar_slow), "clicked",
336                       GTK_SIGNAL_FUNC (on_toolbar_slow_clicked),
337                       NULL);
338   gtk_signal_connect (GTK_OBJECT (toolbar_fast), "clicked",
339                       GTK_SIGNAL_FUNC (on_toolbar_fast_clicked),
340                       NULL);
341   gtk_signal_connect (GTK_OBJECT (toolbar_playlist), "clicked",
342                       GTK_SIGNAL_FUNC (on_toolbar_playlist_clicked),
343                       NULL);
344   gtk_signal_connect (GTK_OBJECT (toolbar_prev), "clicked",
345                       GTK_SIGNAL_FUNC (on_toolbar_prev_clicked),
346                       NULL);
347   gtk_signal_connect (GTK_OBJECT (toolbar_next), "clicked",
348                       GTK_SIGNAL_FUNC (on_toolbar_next_clicked),
349                       NULL);
350
351   return intf_window;
352 }
353
354 static GnomeUIInfo intf_popup_uiinfo[] =
355 {
356   {
357     GNOME_APP_UI_ITEM, N_("_Play"),
358     NULL,
359     (gpointer) on_popup_play_activate, NULL, NULL,
360     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_FORWARD,
361     0, (GdkModifierType) 0, NULL
362   },
363   {
364     GNOME_APP_UI_ITEM, N_("Pause"),
365     NULL,
366     (gpointer) on_popup_pause_activate, NULL, NULL,
367     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_BOTTOM,
368     0, (GdkModifierType) 0, NULL
369   },
370   {
371     GNOME_APP_UI_ITEM, N_("Slow"),
372     NULL,
373     (gpointer) on_popup_slow_activate, NULL, NULL,
374     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_TIMER_STOP,
375     0, (GdkModifierType) 0, NULL
376   },
377   {
378     GNOME_APP_UI_ITEM, N_("Fast"),
379     NULL,
380     (gpointer) on_popup_fast_activate, NULL, NULL,
381     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_TIMER,
382     0, (GdkModifierType) 0, NULL
383   },
384   GNOMEUIINFO_SEPARATOR,
385   GNOMEUIINFO_MENU_OPEN_ITEM (on_popup_open_activate, NULL),
386   GNOMEUIINFO_SEPARATOR,
387   GNOMEUIINFO_MENU_ABOUT_ITEM (on_popup_about_activate, NULL),
388   GNOMEUIINFO_MENU_EXIT_ITEM (on_popup_exit_activate, NULL),
389   GNOMEUIINFO_END
390 };
391
392 GtkWidget*
393 create_intf_popup (void)
394 {
395   GtkWidget *intf_popup;
396
397   intf_popup = gtk_menu_new ();
398   gtk_object_set_data (GTK_OBJECT (intf_popup), "intf_popup", intf_popup);
399   gnome_app_fill_menu (GTK_MENU_SHELL (intf_popup), intf_popup_uiinfo,
400                        NULL, FALSE, 0);
401
402   gtk_widget_ref (intf_popup_uiinfo[0].widget);
403   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_play",
404                             intf_popup_uiinfo[0].widget,
405                             (GtkDestroyNotify) gtk_widget_unref);
406
407   gtk_widget_ref (intf_popup_uiinfo[1].widget);
408   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_pause",
409                             intf_popup_uiinfo[1].widget,
410                             (GtkDestroyNotify) gtk_widget_unref);
411
412   gtk_widget_ref (intf_popup_uiinfo[2].widget);
413   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_slow",
414                             intf_popup_uiinfo[2].widget,
415                             (GtkDestroyNotify) gtk_widget_unref);
416
417   gtk_widget_ref (intf_popup_uiinfo[3].widget);
418   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_fast",
419                             intf_popup_uiinfo[3].widget,
420                             (GtkDestroyNotify) gtk_widget_unref);
421
422   gtk_widget_ref (intf_popup_uiinfo[4].widget);
423   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator2",
424                             intf_popup_uiinfo[4].widget,
425                             (GtkDestroyNotify) gtk_widget_unref);
426
427   gtk_widget_ref (intf_popup_uiinfo[5].widget);
428   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_open",
429                             intf_popup_uiinfo[5].widget,
430                             (GtkDestroyNotify) gtk_widget_unref);
431
432   gtk_widget_ref (intf_popup_uiinfo[6].widget);
433   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator3",
434                             intf_popup_uiinfo[6].widget,
435                             (GtkDestroyNotify) gtk_widget_unref);
436
437   gtk_widget_ref (intf_popup_uiinfo[7].widget);
438   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_about",
439                             intf_popup_uiinfo[7].widget,
440                             (GtkDestroyNotify) gtk_widget_unref);
441
442   gtk_widget_ref (intf_popup_uiinfo[8].widget);
443   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_exit",
444                             intf_popup_uiinfo[8].widget,
445                             (GtkDestroyNotify) gtk_widget_unref);
446
447   return intf_popup;
448 }
449
450 GtkWidget*
451 create_intf_about (void)
452 {
453   const gchar *authors[] = {
454     "Régis Duchesne <regis@via.ecp.fr>",
455     "Michel Lespinasse <walken@zoy.org>",
456     "Olivier Pomel <pomel@via.ecp.fr>",
457     "Jean-Philippe Grimaldi <jeanphi@via.ecp.fr>",
458     "Andres Krapf <dae@via.ecp.fr>",
459     "Christophe Massiot <massiot@via.ecp.fr>",
460     "Vincent Seguin <seguin@via.ecp.fr>",
461     "Benoit Steiner <benny@via.ecp.fr>",
462     "Jean-Marc Dressler <polux@via.ecp.fr>",
463     "Gaël Hendryckx <jimmy@via.ecp.fr>",
464     "Samuel Hocevar <sam@zoy.org>",
465     "Brieuc Jeunhomme <bbp@via.ecp.fr>",
466     "Michel Kaempf <maxx@via.ecp.fr>",
467     "Stéphane Borel <stef@via.ecp.fr>",
468     "Renaud Dartus <reno@via.ecp.fr>",
469     "Henri Fallon <henri@via.ecp.fr>",
470     NULL
471   };
472   GtkWidget *intf_about;
473
474   intf_about = gnome_about_new ("VideoLAN Client", VERSION,
475                         _("(C) 1996, 1997, 1998, 1999, 2000, 2001 - the VideoLAN Team"),
476                         authors,
477                         _("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."),
478                         NULL);
479   gtk_object_set_data (GTK_OBJECT (intf_about), "intf_about", intf_about);
480
481   return intf_about;
482 }
483
484 GtkWidget*
485 create_intf_fileopen (void)
486 {
487   GtkWidget *intf_fileopen;
488   GtkWidget *fileopen_ok;
489   GtkWidget *fileopen_cancel;
490
491   intf_fileopen = gtk_file_selection_new (_("Open File"));
492   gtk_object_set_data (GTK_OBJECT (intf_fileopen), "intf_fileopen", intf_fileopen);
493   gtk_container_set_border_width (GTK_CONTAINER (intf_fileopen), 10);
494
495   fileopen_ok = GTK_FILE_SELECTION (intf_fileopen)->ok_button;
496   gtk_object_set_data (GTK_OBJECT (intf_fileopen), "fileopen_ok", fileopen_ok);
497   gtk_widget_show (fileopen_ok);
498   GTK_WIDGET_SET_FLAGS (fileopen_ok, GTK_CAN_DEFAULT);
499
500   fileopen_cancel = GTK_FILE_SELECTION (intf_fileopen)->cancel_button;
501   gtk_object_set_data (GTK_OBJECT (intf_fileopen), "fileopen_cancel", fileopen_cancel);
502   gtk_widget_show (fileopen_cancel);
503   GTK_WIDGET_SET_FLAGS (fileopen_cancel, GTK_CAN_DEFAULT);
504
505   gtk_signal_connect (GTK_OBJECT (intf_fileopen), "destroy",
506                       GTK_SIGNAL_FUNC (on_intf_fileopen_destroy),
507                       NULL);
508   gtk_signal_connect (GTK_OBJECT (fileopen_ok), "clicked",
509                       GTK_SIGNAL_FUNC (on_fileopen_ok_clicked),
510                       NULL);
511   gtk_signal_connect (GTK_OBJECT (fileopen_cancel), "clicked",
512                       GTK_SIGNAL_FUNC (on_fileopen_cancel_clicked),
513                       NULL);
514
515   return intf_fileopen;
516 }
517
518 GtkWidget*
519 create_intf_playlist (void)
520 {
521   GtkWidget *intf_playlist;
522   GtkWidget *vbox1;
523   GtkWidget *scrolledwindow2;
524   GtkWidget *clist1;
525   GtkWidget *label3;
526   GtkWidget *label4;
527   GtkWidget *label5;
528   GtkWidget *hseparator1;
529   GtkWidget *hbox1;
530   GtkWidget *button1;
531   GtkWidget *playlist_close;
532   GtkWidget *playlist_help;
533
534   intf_playlist = gtk_window_new (GTK_WINDOW_TOPLEVEL);
535   gtk_object_set_data (GTK_OBJECT (intf_playlist), "intf_playlist", intf_playlist);
536   gtk_window_set_title (GTK_WINDOW (intf_playlist), _("Playlist"));
537
538   vbox1 = gtk_vbox_new (FALSE, 0);
539   gtk_widget_ref (vbox1);
540   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "vbox1", vbox1,
541                             (GtkDestroyNotify) gtk_widget_unref);
542   gtk_widget_show (vbox1);
543   gtk_container_add (GTK_CONTAINER (intf_playlist), vbox1);
544
545   scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL);
546   gtk_widget_ref (scrolledwindow2);
547   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "scrolledwindow2", scrolledwindow2,
548                             (GtkDestroyNotify) gtk_widget_unref);
549   gtk_widget_show (scrolledwindow2);
550   gtk_box_pack_start (GTK_BOX (vbox1), scrolledwindow2, TRUE, TRUE, 0);
551
552   clist1 = gtk_clist_new (3);
553   gtk_widget_ref (clist1);
554   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "clist1", clist1,
555                             (GtkDestroyNotify) gtk_widget_unref);
556   gtk_widget_show (clist1);
557   gtk_container_add (GTK_CONTAINER (scrolledwindow2), clist1);
558   gtk_clist_set_column_width (GTK_CLIST (clist1), 0, 189);
559   gtk_clist_set_column_width (GTK_CLIST (clist1), 1, 80);
560   gtk_clist_set_column_width (GTK_CLIST (clist1), 2, 80);
561   gtk_clist_column_titles_show (GTK_CLIST (clist1));
562
563   label3 = gtk_label_new (_("Name"));
564   gtk_widget_ref (label3);
565   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "label3", label3,
566                             (GtkDestroyNotify) gtk_widget_unref);
567   gtk_widget_show (label3);
568   gtk_clist_set_column_widget (GTK_CLIST (clist1), 0, label3);
569
570   label4 = gtk_label_new (_("Type"));
571   gtk_widget_ref (label4);
572   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "label4", label4,
573                             (GtkDestroyNotify) gtk_widget_unref);
574   gtk_widget_show (label4);
575   gtk_clist_set_column_widget (GTK_CLIST (clist1), 1, label4);
576
577   label5 = gtk_label_new (_("Length"));
578   gtk_widget_ref (label5);
579   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "label5", label5,
580                             (GtkDestroyNotify) gtk_widget_unref);
581   gtk_widget_show (label5);
582   gtk_clist_set_column_widget (GTK_CLIST (clist1), 2, label5);
583
584   hseparator1 = gtk_hseparator_new ();
585   gtk_widget_ref (hseparator1);
586   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "hseparator1", hseparator1,
587                             (GtkDestroyNotify) gtk_widget_unref);
588   gtk_widget_show (hseparator1);
589   gtk_box_pack_start (GTK_BOX (vbox1), hseparator1, FALSE, TRUE, 0);
590
591   hbox1 = gtk_hbox_new (TRUE, 0);
592   gtk_widget_ref (hbox1);
593   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "hbox1", hbox1,
594                             (GtkDestroyNotify) gtk_widget_unref);
595   gtk_widget_show (hbox1);
596   gtk_box_pack_start (GTK_BOX (vbox1), hbox1, FALSE, FALSE, 0);
597
598   button1 = gtk_button_new_with_label (_("Wazaaaa !"));
599   gtk_widget_ref (button1);
600   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "button1", button1,
601                             (GtkDestroyNotify) gtk_widget_unref);
602   gtk_widget_show (button1);
603   gtk_box_pack_start (GTK_BOX (hbox1), button1, FALSE, FALSE, 0);
604
605   playlist_close = gnome_stock_button (GNOME_STOCK_BUTTON_CLOSE);
606   gtk_widget_ref (playlist_close);
607   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_close", playlist_close,
608                             (GtkDestroyNotify) gtk_widget_unref);
609   gtk_widget_show (playlist_close);
610   gtk_box_pack_start (GTK_BOX (hbox1), playlist_close, FALSE, FALSE, 0);
611
612   playlist_help = gnome_stock_button (GNOME_STOCK_BUTTON_HELP);
613   gtk_widget_ref (playlist_help);
614   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_help", playlist_help,
615                             (GtkDestroyNotify) gtk_widget_unref);
616   gtk_widget_show (playlist_help);
617   gtk_box_pack_start (GTK_BOX (hbox1), playlist_help, FALSE, FALSE, 0);
618
619   gtk_signal_connect (GTK_OBJECT (intf_playlist), "destroy",
620                       GTK_SIGNAL_FUNC (on_intf_playlist_destroy),
621                       NULL);
622   gtk_signal_connect (GTK_OBJECT (playlist_close), "clicked",
623                       GTK_SIGNAL_FUNC (on_playlist_close_clicked),
624                       NULL);
625
626   return intf_playlist;
627 }
628