]> git.sesse.net Git - vlc/blob - plugins/gtk/gnome_interface.c
* ./include/modules_inner.h: replaced _X with __VLC_SYMBOL because _X was
[vlc] / plugins / gtk / gnome_interface.c
1 /* This file was created automatically by glade and fixed by fixfiles.sh */
2
3 #include <videolan/vlc.h>
4
5 #include <sys/types.h>
6 #include <sys/stat.h>
7 #include <unistd.h>
8 #include <string.h>
9
10 #include <gnome.h>
11
12 #include "gnome_callbacks.h"
13 #include "gnome_interface.h"
14 #include "gnome_support.h"
15
16 static GnomeUIInfo menubar_file_menu_uiinfo[] =
17 {
18   {
19     GNOME_APP_UI_ITEM, N_("_Open File..."),
20     N_("Open a File"),
21     (gpointer) GnomeMenubarFileOpenActivate, NULL, NULL,
22     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_OPEN,
23     0, (GdkModifierType) 0, NULL
24   },
25   {
26     GNOME_APP_UI_ITEM, N_("Open _Disc..."),
27     N_("Open a DVD or VCD"),
28     (gpointer) GnomeMenubarDiscOpenActivate, NULL, NULL,
29     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_CDROM,
30     0, (GdkModifierType) 0, NULL
31   },
32   {
33     GNOME_APP_UI_ITEM, N_("_Network Stream..."),
34     N_("Select a Network Stream"),
35     (gpointer) GnomeMenubarNetworkOpenActivate, NULL, NULL,
36     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_REFRESH,
37     0, (GdkModifierType) 0, NULL
38   },
39   GNOMEUIINFO_SEPARATOR,
40   {
41     GNOME_APP_UI_ITEM, N_("_Eject Disc"),
42     N_("Eject disc"),
43     (gpointer) GnomeMenubarDiscEjectActivate, NULL, NULL,
44     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_TOP,
45     0, (GdkModifierType) 0, NULL
46   },
47   GNOMEUIINFO_SEPARATOR,
48   GNOMEUIINFO_MENU_EXIT_ITEM (GnomeMenubarExitActivate, NULL),
49   GNOMEUIINFO_END
50 };
51
52 static GnomeUIInfo menubar_view_menu_uiinfo[] =
53 {
54   {
55     GNOME_APP_UI_ITEM, N_("_Hide interface"),
56     NULL,
57     (gpointer) GnomeMenubarWindowToggleActivate, NULL, NULL,
58     GNOME_APP_PIXMAP_NONE, NULL,
59     0, (GdkModifierType) 0, NULL
60   },
61   {
62     GNOME_APP_UI_ITEM, N_("_Fullscreen"),
63     NULL,
64     (gpointer) GnomeMenubarFullscreenActivate, NULL, NULL,
65     GNOME_APP_PIXMAP_NONE, NULL,
66     0, (GdkModifierType) 0, NULL
67   },
68   GNOMEUIINFO_SEPARATOR,
69   {
70     GNOME_APP_UI_ITEM, N_("_Title"),
71     N_("Choose title"),
72     (gpointer) NULL, NULL, NULL,
73     GNOME_APP_PIXMAP_NONE, NULL,
74     0, (GdkModifierType) 0, NULL
75   },
76   {
77     GNOME_APP_UI_ITEM, N_("_Chapter"),
78     N_("Choose chapter"),
79     (gpointer) NULL, NULL, NULL,
80     GNOME_APP_PIXMAP_NONE, NULL,
81     0, (GdkModifierType) 0, NULL
82   },
83   {
84     GNOME_APP_UI_ITEM, N_("An_gle"),
85     N_("Choose angle"),
86     (gpointer) NULL, NULL, NULL,
87     GNOME_APP_PIXMAP_NONE, NULL,
88     0, (GdkModifierType) 0, NULL
89   },
90   GNOMEUIINFO_SEPARATOR,
91   {
92     GNOME_APP_UI_ITEM, N_("_Playlist..."),
93     N_("Open the playlist window"),
94     (gpointer) GnomeMenubarPlaylistActivate, NULL, NULL,
95     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_INDEX,
96     0, (GdkModifierType) 0, NULL
97   },
98   {
99     GNOME_APP_UI_ITEM, N_("_Modules..."),
100     N_("Open the plugin manager"),
101     (gpointer) GnomeMenubarModulesActivate, NULL, NULL,
102     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_ATTACH,
103     0, (GdkModifierType) 0, NULL
104   },
105   GNOMEUIINFO_END
106 };
107
108 static GnomeUIInfo menubar_settings_menu_uiinfo[] =
109 {
110   {
111     GNOME_APP_UI_ITEM, N_("_Audio"),
112     N_("Select audio channel"),
113     (gpointer) NULL, NULL, NULL,
114     GNOME_APP_PIXMAP_NONE, NULL,
115     0, (GdkModifierType) 0, NULL
116   },
117   {
118     GNOME_APP_UI_ITEM, N_("_Subtitles"),
119     N_("Select subtitle unit"),
120     (gpointer) NULL, NULL, NULL,
121     GNOME_APP_PIXMAP_NONE, NULL,
122     0, (GdkModifierType) 0, NULL
123   },
124   GNOMEUIINFO_SEPARATOR,
125   GNOMEUIINFO_MENU_PREFERENCES_ITEM (GnomeMenubarPreferencesActivate, NULL),
126   GNOMEUIINFO_END
127 };
128
129 static GnomeUIInfo menubar_help_menu_uiinfo[] =
130 {
131   GNOMEUIINFO_MENU_ABOUT_ITEM (GnomeMenubarAboutActivate, NULL),
132   GNOMEUIINFO_END
133 };
134
135 static GnomeUIInfo menubar_uiinfo[] =
136 {
137   GNOMEUIINFO_MENU_FILE_TREE (menubar_file_menu_uiinfo),
138   GNOMEUIINFO_MENU_VIEW_TREE (menubar_view_menu_uiinfo),
139   GNOMEUIINFO_MENU_SETTINGS_TREE (menubar_settings_menu_uiinfo),
140   GNOMEUIINFO_MENU_HELP_TREE (menubar_help_menu_uiinfo),
141   GNOMEUIINFO_END
142 };
143
144 GtkWidget*
145 create_intf_window (void)
146 {
147   GtkWidget *intf_window;
148   GtkWidget *dockitem;
149   GtkWidget *toolbar;
150   GtkWidget *tmp_toolbar_icon;
151   GtkWidget *toolbar_file;
152   GtkWidget *toolbar_disc;
153   GtkWidget *toolbar_network;
154   GtkWidget *toolbar_back;
155   GtkWidget *toolbar_stop;
156   GtkWidget *toolbar_eject;
157   GtkWidget *toolbar_play;
158   GtkWidget *toolbar_pause;
159   GtkWidget *toolbar_slow;
160   GtkWidget *toolbar_fast;
161   GtkWidget *toolbar_playlist;
162   GtkWidget *toolbar_prev;
163   GtkWidget *toolbar_next;
164   GtkWidget *vbox8;
165   GtkWidget *slider_frame;
166   GtkWidget *slider;
167   GtkWidget *file_box;
168   GtkWidget *label_status;
169   GtkWidget *dvd_box;
170   GtkWidget *label21;
171   GtkWidget *title_chapter_box;
172   GtkWidget *label19;
173   GtkWidget *title_label;
174   GtkWidget *button_title_prev;
175   GtkWidget *button_title_next;
176   GtkWidget *vseparator1;
177   GtkWidget *dvd_chapter_box;
178   GtkWidget *label20;
179   GtkWidget *chapter_label;
180   GtkWidget *button_chapter_prev;
181   GtkWidget *button_chapter_next;
182   GtkWidget *network_box;
183   GtkWidget *network_address_label;
184   GtkWidget *network_channel_box;
185   GtkWidget *label_network;
186   GtkObject *network_channel_spinbutton_adj;
187   GtkWidget *network_channel_spinbutton;
188   GtkWidget *network_channel_go_button;
189   GtkWidget *appbar;
190   GtkTooltips *tooltips;
191
192   tooltips = gtk_tooltips_new ();
193
194   intf_window = gnome_app_new ("VideoLAN Client", _("VideoLAN Client"));
195   gtk_object_set_data (GTK_OBJECT (intf_window), "intf_window", intf_window);
196   gtk_window_set_policy (GTK_WINDOW (intf_window), FALSE, TRUE, TRUE);
197
198   dockitem = GNOME_APP (intf_window)->dock;
199   gtk_widget_ref (dockitem);
200   gtk_object_set_data_full (GTK_OBJECT (intf_window), "dockitem", dockitem,
201                             (GtkDestroyNotify) gtk_widget_unref);
202   gtk_widget_show (dockitem);
203
204   gnome_app_create_menus (GNOME_APP (intf_window), menubar_uiinfo);
205
206   gtk_widget_ref (menubar_uiinfo[0].widget);
207   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_file",
208                             menubar_uiinfo[0].widget,
209                             (GtkDestroyNotify) gtk_widget_unref);
210
211   gtk_widget_ref (menubar_file_menu_uiinfo[0].widget);
212   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_open",
213                             menubar_file_menu_uiinfo[0].widget,
214                             (GtkDestroyNotify) gtk_widget_unref);
215
216   gtk_widget_ref (menubar_file_menu_uiinfo[1].widget);
217   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_disc",
218                             menubar_file_menu_uiinfo[1].widget,
219                             (GtkDestroyNotify) gtk_widget_unref);
220
221   gtk_widget_ref (menubar_file_menu_uiinfo[2].widget);
222   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_network",
223                             menubar_file_menu_uiinfo[2].widget,
224                             (GtkDestroyNotify) gtk_widget_unref);
225
226   gtk_widget_ref (menubar_file_menu_uiinfo[3].widget);
227   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator1",
228                             menubar_file_menu_uiinfo[3].widget,
229                             (GtkDestroyNotify) gtk_widget_unref);
230
231   gtk_widget_ref (menubar_file_menu_uiinfo[4].widget);
232   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_eject",
233                             menubar_file_menu_uiinfo[4].widget,
234                             (GtkDestroyNotify) gtk_widget_unref);
235
236   gtk_widget_ref (menubar_file_menu_uiinfo[5].widget);
237   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator15",
238                             menubar_file_menu_uiinfo[5].widget,
239                             (GtkDestroyNotify) gtk_widget_unref);
240
241   gtk_widget_ref (menubar_file_menu_uiinfo[6].widget);
242   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_exit",
243                             menubar_file_menu_uiinfo[6].widget,
244                             (GtkDestroyNotify) gtk_widget_unref);
245
246   gtk_widget_ref (menubar_uiinfo[1].widget);
247   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_view",
248                             menubar_uiinfo[1].widget,
249                             (GtkDestroyNotify) gtk_widget_unref);
250
251   gtk_widget_ref (menubar_view_menu_uiinfo[0].widget);
252   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_hide_interface",
253                             menubar_view_menu_uiinfo[0].widget,
254                             (GtkDestroyNotify) gtk_widget_unref);
255
256   gtk_widget_ref (menubar_view_menu_uiinfo[1].widget);
257   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_fullscreen",
258                             menubar_view_menu_uiinfo[1].widget,
259                             (GtkDestroyNotify) gtk_widget_unref);
260
261   gtk_widget_ref (menubar_view_menu_uiinfo[2].widget);
262   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator9",
263                             menubar_view_menu_uiinfo[2].widget,
264                             (GtkDestroyNotify) gtk_widget_unref);
265
266   gtk_widget_ref (menubar_view_menu_uiinfo[3].widget);
267   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_title",
268                             menubar_view_menu_uiinfo[3].widget,
269                             (GtkDestroyNotify) gtk_widget_unref);
270   gtk_widget_set_sensitive (menubar_view_menu_uiinfo[3].widget, FALSE);
271
272   gtk_widget_ref (menubar_view_menu_uiinfo[4].widget);
273   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_chapter",
274                             menubar_view_menu_uiinfo[4].widget,
275                             (GtkDestroyNotify) gtk_widget_unref);
276   gtk_widget_set_sensitive (menubar_view_menu_uiinfo[4].widget, FALSE);
277
278   gtk_widget_ref (menubar_view_menu_uiinfo[5].widget);
279   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_angle",
280                             menubar_view_menu_uiinfo[5].widget,
281                             (GtkDestroyNotify) gtk_widget_unref);
282   gtk_widget_set_sensitive (menubar_view_menu_uiinfo[5].widget, FALSE);
283
284   gtk_widget_ref (menubar_view_menu_uiinfo[6].widget);
285   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator7",
286                             menubar_view_menu_uiinfo[6].widget,
287                             (GtkDestroyNotify) gtk_widget_unref);
288
289   gtk_widget_ref (menubar_view_menu_uiinfo[7].widget);
290   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_playlist",
291                             menubar_view_menu_uiinfo[7].widget,
292                             (GtkDestroyNotify) gtk_widget_unref);
293
294   gtk_widget_ref (menubar_view_menu_uiinfo[8].widget);
295   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_modules",
296                             menubar_view_menu_uiinfo[8].widget,
297                             (GtkDestroyNotify) gtk_widget_unref);
298   gtk_widget_set_sensitive (menubar_view_menu_uiinfo[8].widget, FALSE);
299
300   gtk_widget_ref (menubar_uiinfo[2].widget);
301   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_settings",
302                             menubar_uiinfo[2].widget,
303                             (GtkDestroyNotify) gtk_widget_unref);
304
305   gtk_widget_ref (menubar_settings_menu_uiinfo[0].widget);
306   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_audio",
307                             menubar_settings_menu_uiinfo[0].widget,
308                             (GtkDestroyNotify) gtk_widget_unref);
309   gtk_widget_set_sensitive (menubar_settings_menu_uiinfo[0].widget, FALSE);
310
311   gtk_widget_ref (menubar_settings_menu_uiinfo[1].widget);
312   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_subpictures",
313                             menubar_settings_menu_uiinfo[1].widget,
314                             (GtkDestroyNotify) gtk_widget_unref);
315   gtk_widget_set_sensitive (menubar_settings_menu_uiinfo[1].widget, FALSE);
316
317   gtk_widget_ref (menubar_settings_menu_uiinfo[2].widget);
318   gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator5",
319                             menubar_settings_menu_uiinfo[2].widget,
320                             (GtkDestroyNotify) gtk_widget_unref);
321
322   gtk_widget_ref (menubar_settings_menu_uiinfo[3].widget);
323   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_preferences",
324                             menubar_settings_menu_uiinfo[3].widget,
325                             (GtkDestroyNotify) gtk_widget_unref);
326
327   gtk_widget_ref (menubar_uiinfo[3].widget);
328   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_help",
329                             menubar_uiinfo[3].widget,
330                             (GtkDestroyNotify) gtk_widget_unref);
331
332   gtk_widget_ref (menubar_help_menu_uiinfo[0].widget);
333   gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_about",
334                             menubar_help_menu_uiinfo[0].widget,
335                             (GtkDestroyNotify) gtk_widget_unref);
336
337   toolbar = gtk_toolbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_BOTH);
338   gtk_widget_ref (toolbar);
339   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar", toolbar,
340                             (GtkDestroyNotify) gtk_widget_unref);
341   gtk_widget_show (toolbar);
342   gnome_app_add_toolbar (GNOME_APP (intf_window), GTK_TOOLBAR (toolbar), "toolbar",
343                                 GNOME_DOCK_ITEM_BEH_EXCLUSIVE,
344                                 GNOME_DOCK_TOP, 1, 0, 2);
345   gtk_toolbar_set_space_size (GTK_TOOLBAR (toolbar), 16);
346   gtk_toolbar_set_space_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_SPACE_LINE);
347   gtk_toolbar_set_button_relief (GTK_TOOLBAR (toolbar), GTK_RELIEF_NONE);
348
349   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_OPEN);
350   toolbar_file = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
351                                 GTK_TOOLBAR_CHILD_BUTTON,
352                                 NULL,
353                                 _("File"),
354                                 _("Open a File"), NULL,
355                                 tmp_toolbar_icon, NULL, NULL);
356   gtk_widget_ref (toolbar_file);
357   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_file", toolbar_file,
358                             (GtkDestroyNotify) gtk_widget_unref);
359   gtk_widget_show (toolbar_file);
360
361   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_CDROM);
362   toolbar_disc = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
363                                 GTK_TOOLBAR_CHILD_BUTTON,
364                                 NULL,
365                                 _("Disc"),
366                                 _("Open a DVD or VCD"), NULL,
367                                 tmp_toolbar_icon, NULL, NULL);
368   gtk_widget_ref (toolbar_disc);
369   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_disc", toolbar_disc,
370                             (GtkDestroyNotify) gtk_widget_unref);
371   gtk_widget_show (toolbar_disc);
372
373   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_REFRESH);
374   toolbar_network = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
375                                 GTK_TOOLBAR_CHILD_BUTTON,
376                                 NULL,
377                                 _("Net"),
378                                 _("Select a Network Stream"), NULL,
379                                 tmp_toolbar_icon, NULL, NULL);
380   gtk_widget_ref (toolbar_network);
381   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_network", toolbar_network,
382                             (GtkDestroyNotify) gtk_widget_unref);
383   gtk_widget_show (toolbar_network);
384
385   gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
386
387   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_BACK);
388   toolbar_back = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
389                                 GTK_TOOLBAR_CHILD_BUTTON,
390                                 NULL,
391                                 _("Back"),
392                                 _("Go Backwards"), NULL,
393                                 tmp_toolbar_icon, NULL, NULL);
394   gtk_widget_ref (toolbar_back);
395   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_back", toolbar_back,
396                             (GtkDestroyNotify) gtk_widget_unref);
397   gtk_widget_show (toolbar_back);
398   gtk_widget_set_sensitive (toolbar_back, FALSE);
399
400   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_STOP);
401   toolbar_stop = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
402                                 GTK_TOOLBAR_CHILD_BUTTON,
403                                 NULL,
404                                 _("Stop"),
405                                 _("Stop Stream"), NULL,
406                                 tmp_toolbar_icon, NULL, NULL);
407   gtk_widget_ref (toolbar_stop);
408   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_stop", toolbar_stop,
409                             (GtkDestroyNotify) gtk_widget_unref);
410   gtk_widget_show (toolbar_stop);
411
412   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_TOP);
413   toolbar_eject = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
414                                 GTK_TOOLBAR_CHILD_BUTTON,
415                                 NULL,
416                                 _("Eject"),
417                                 _("Eject disc"), NULL,
418                                 tmp_toolbar_icon, NULL, NULL);
419   gtk_widget_ref (toolbar_eject);
420   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_eject", toolbar_eject,
421                             (GtkDestroyNotify) gtk_widget_unref);
422   gtk_widget_show (toolbar_eject);
423
424   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_FORWARD);
425   toolbar_play = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
426                                 GTK_TOOLBAR_CHILD_BUTTON,
427                                 NULL,
428                                 _("Play"),
429                                 _("Play Stream"), NULL,
430                                 tmp_toolbar_icon, NULL, NULL);
431   gtk_widget_ref (toolbar_play);
432   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_play", toolbar_play,
433                             (GtkDestroyNotify) gtk_widget_unref);
434   gtk_widget_show (toolbar_play);
435
436   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_BOTTOM);
437   toolbar_pause = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
438                                 GTK_TOOLBAR_CHILD_BUTTON,
439                                 NULL,
440                                 _("Pause"),
441                                 _("Pause Stream"), NULL,
442                                 tmp_toolbar_icon, NULL, NULL);
443   gtk_widget_ref (toolbar_pause);
444   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_pause", toolbar_pause,
445                             (GtkDestroyNotify) gtk_widget_unref);
446   gtk_widget_show (toolbar_pause);
447   gtk_widget_set_sensitive (toolbar_pause, FALSE);
448
449   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_TIMER_STOP);
450   toolbar_slow = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
451                                 GTK_TOOLBAR_CHILD_BUTTON,
452                                 NULL,
453                                 _("Slow"),
454                                 _("Play Slower"), NULL,
455                                 tmp_toolbar_icon, NULL, NULL);
456   gtk_widget_ref (toolbar_slow);
457   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_slow", toolbar_slow,
458                             (GtkDestroyNotify) gtk_widget_unref);
459   gtk_widget_show (toolbar_slow);
460   gtk_widget_set_sensitive (toolbar_slow, FALSE);
461
462   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_TIMER);
463   toolbar_fast = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
464                                 GTK_TOOLBAR_CHILD_BUTTON,
465                                 NULL,
466                                 _("Fast"),
467                                 _("Play Faster"), NULL,
468                                 tmp_toolbar_icon, NULL, NULL);
469   gtk_widget_ref (toolbar_fast);
470   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_fast", toolbar_fast,
471                             (GtkDestroyNotify) gtk_widget_unref);
472   gtk_widget_show (toolbar_fast);
473   gtk_widget_set_sensitive (toolbar_fast, FALSE);
474
475   gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
476
477   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_INDEX);
478   toolbar_playlist = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
479                                 GTK_TOOLBAR_CHILD_BUTTON,
480                                 NULL,
481                                 _("Playlist"),
482                                 _("Open Playlist"), NULL,
483                                 tmp_toolbar_icon, NULL, NULL);
484   gtk_widget_ref (toolbar_playlist);
485   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_playlist", toolbar_playlist,
486                             (GtkDestroyNotify) gtk_widget_unref);
487   gtk_widget_show (toolbar_playlist);
488
489   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_FIRST);
490   toolbar_prev = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
491                                 GTK_TOOLBAR_CHILD_BUTTON,
492                                 NULL,
493                                 _("Prev"),
494                                 _("Previous File"), NULL,
495                                 tmp_toolbar_icon, NULL, NULL);
496   gtk_widget_ref (toolbar_prev);
497   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_prev", toolbar_prev,
498                             (GtkDestroyNotify) gtk_widget_unref);
499   gtk_widget_show (toolbar_prev);
500
501   tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_LAST);
502   toolbar_next = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
503                                 GTK_TOOLBAR_CHILD_BUTTON,
504                                 NULL,
505                                 _("Next"),
506                                 _("Next File"), NULL,
507                                 tmp_toolbar_icon, NULL, NULL);
508   gtk_widget_ref (toolbar_next);
509   gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_next", toolbar_next,
510                             (GtkDestroyNotify) gtk_widget_unref);
511   gtk_widget_show (toolbar_next);
512
513   vbox8 = gtk_vbox_new (FALSE, 0);
514   gtk_widget_ref (vbox8);
515   gtk_object_set_data_full (GTK_OBJECT (intf_window), "vbox8", vbox8,
516                             (GtkDestroyNotify) gtk_widget_unref);
517   gtk_widget_show (vbox8);
518   gnome_app_set_contents (GNOME_APP (intf_window), vbox8);
519
520   slider_frame = gtk_frame_new (_("-:--:--"));
521   gtk_widget_ref (slider_frame);
522   gtk_object_set_data_full (GTK_OBJECT (intf_window), "slider_frame", slider_frame,
523                             (GtkDestroyNotify) gtk_widget_unref);
524   gtk_box_pack_start (GTK_BOX (vbox8), slider_frame, TRUE, TRUE, 0);
525   gtk_frame_set_label_align (GTK_FRAME (slider_frame), 0.05, 0.5);
526
527   slider = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 100, 1, 6.25, 0)));
528   gtk_widget_ref (slider);
529   gtk_object_set_data_full (GTK_OBJECT (intf_window), "slider", slider,
530                             (GtkDestroyNotify) gtk_widget_unref);
531   gtk_widget_show (slider);
532   gtk_container_add (GTK_CONTAINER (slider_frame), slider);
533   gtk_scale_set_draw_value (GTK_SCALE (slider), FALSE);
534   gtk_scale_set_digits (GTK_SCALE (slider), 3);
535
536   file_box = gtk_hbox_new (FALSE, 0);
537   gtk_widget_ref (file_box);
538   gtk_object_set_data_full (GTK_OBJECT (intf_window), "file_box", file_box,
539                             (GtkDestroyNotify) gtk_widget_unref);
540   gtk_widget_show (file_box);
541   gtk_box_pack_start (GTK_BOX (vbox8), file_box, TRUE, TRUE, 0);
542
543   label_status = gtk_label_new ("");
544   gtk_widget_ref (label_status);
545   gtk_object_set_data_full (GTK_OBJECT (intf_window), "label_status", label_status,
546                             (GtkDestroyNotify) gtk_widget_unref);
547   gtk_widget_show (label_status);
548   gtk_box_pack_start (GTK_BOX (file_box), label_status, TRUE, TRUE, 0);
549
550   dvd_box = gtk_hbox_new (FALSE, 0);
551   gtk_widget_ref (dvd_box);
552   gtk_object_set_data_full (GTK_OBJECT (intf_window), "dvd_box", dvd_box,
553                             (GtkDestroyNotify) gtk_widget_unref);
554   gtk_box_pack_start (GTK_BOX (vbox8), dvd_box, TRUE, TRUE, 0);
555
556   label21 = gtk_label_new (_("Disc"));
557   gtk_widget_ref (label21);
558   gtk_object_set_data_full (GTK_OBJECT (intf_window), "label21", label21,
559                             (GtkDestroyNotify) gtk_widget_unref);
560   gtk_widget_show (label21);
561   gtk_box_pack_start (GTK_BOX (dvd_box), label21, TRUE, FALSE, 0);
562
563   title_chapter_box = gtk_hbox_new (FALSE, 10);
564   gtk_widget_ref (title_chapter_box);
565   gtk_object_set_data_full (GTK_OBJECT (intf_window), "title_chapter_box", title_chapter_box,
566                             (GtkDestroyNotify) gtk_widget_unref);
567   gtk_widget_show (title_chapter_box);
568   gtk_box_pack_start (GTK_BOX (dvd_box), title_chapter_box, TRUE, FALSE, 0);
569
570   label19 = gtk_label_new (_("Title:"));
571   gtk_widget_ref (label19);
572   gtk_object_set_data_full (GTK_OBJECT (intf_window), "label19", label19,
573                             (GtkDestroyNotify) gtk_widget_unref);
574   gtk_widget_show (label19);
575   gtk_box_pack_start (GTK_BOX (title_chapter_box), label19, FALSE, FALSE, 0);
576
577   title_label = gtk_label_new (_("--"));
578   gtk_widget_ref (title_label);
579   gtk_object_set_data_full (GTK_OBJECT (intf_window), "title_label", title_label,
580                             (GtkDestroyNotify) gtk_widget_unref);
581   gtk_widget_show (title_label);
582   gtk_box_pack_start (GTK_BOX (title_chapter_box), title_label, FALSE, FALSE, 0);
583
584   button_title_prev = gnome_stock_button (GNOME_STOCK_BUTTON_PREV);
585   gtk_widget_ref (button_title_prev);
586   gtk_object_set_data_full (GTK_OBJECT (intf_window), "button_title_prev", button_title_prev,
587                             (GtkDestroyNotify) gtk_widget_unref);
588   gtk_widget_show (button_title_prev);
589   gtk_box_pack_start (GTK_BOX (title_chapter_box), button_title_prev, FALSE, FALSE, 0);
590   gtk_tooltips_set_tip (tooltips, button_title_prev, _("Select previous title"), NULL);
591
592   button_title_next = gnome_stock_button (GNOME_STOCK_BUTTON_NEXT);
593   gtk_widget_ref (button_title_next);
594   gtk_object_set_data_full (GTK_OBJECT (intf_window), "button_title_next", button_title_next,
595                             (GtkDestroyNotify) gtk_widget_unref);
596   gtk_widget_show (button_title_next);
597   gtk_box_pack_start (GTK_BOX (title_chapter_box), button_title_next, FALSE, FALSE, 0);
598
599   vseparator1 = gtk_vseparator_new ();
600   gtk_widget_ref (vseparator1);
601   gtk_object_set_data_full (GTK_OBJECT (intf_window), "vseparator1", vseparator1,
602                             (GtkDestroyNotify) gtk_widget_unref);
603   gtk_widget_show (vseparator1);
604   gtk_box_pack_start (GTK_BOX (dvd_box), vseparator1, FALSE, FALSE, 0);
605
606   dvd_chapter_box = gtk_hbox_new (FALSE, 10);
607   gtk_widget_ref (dvd_chapter_box);
608   gtk_object_set_data_full (GTK_OBJECT (intf_window), "dvd_chapter_box", dvd_chapter_box,
609                             (GtkDestroyNotify) gtk_widget_unref);
610   gtk_widget_show (dvd_chapter_box);
611   gtk_box_pack_start (GTK_BOX (dvd_box), dvd_chapter_box, TRUE, FALSE, 0);
612
613   label20 = gtk_label_new (_("Chapter:"));
614   gtk_widget_ref (label20);
615   gtk_object_set_data_full (GTK_OBJECT (intf_window), "label20", label20,
616                             (GtkDestroyNotify) gtk_widget_unref);
617   gtk_widget_show (label20);
618   gtk_box_pack_start (GTK_BOX (dvd_chapter_box), label20, FALSE, FALSE, 0);
619
620   chapter_label = gtk_label_new (_("---"));
621   gtk_widget_ref (chapter_label);
622   gtk_object_set_data_full (GTK_OBJECT (intf_window), "chapter_label", chapter_label,
623                             (GtkDestroyNotify) gtk_widget_unref);
624   gtk_widget_show (chapter_label);
625   gtk_box_pack_start (GTK_BOX (dvd_chapter_box), chapter_label, FALSE, FALSE, 0);
626
627   button_chapter_prev = gnome_stock_button (GNOME_STOCK_BUTTON_DOWN);
628   gtk_widget_ref (button_chapter_prev);
629   gtk_object_set_data_full (GTK_OBJECT (intf_window), "button_chapter_prev", button_chapter_prev,
630                             (GtkDestroyNotify) gtk_widget_unref);
631   gtk_widget_show (button_chapter_prev);
632   gtk_box_pack_start (GTK_BOX (dvd_chapter_box), button_chapter_prev, FALSE, FALSE, 0);
633   gtk_tooltips_set_tip (tooltips, button_chapter_prev, _("Select previous chapter"), NULL);
634
635   button_chapter_next = gnome_stock_button (GNOME_STOCK_BUTTON_UP);
636   gtk_widget_ref (button_chapter_next);
637   gtk_object_set_data_full (GTK_OBJECT (intf_window), "button_chapter_next", button_chapter_next,
638                             (GtkDestroyNotify) gtk_widget_unref);
639   gtk_widget_show (button_chapter_next);
640   gtk_box_pack_start (GTK_BOX (dvd_chapter_box), button_chapter_next, FALSE, FALSE, 0);
641   gtk_tooltips_set_tip (tooltips, button_chapter_next, _("Select next chapter"), NULL);
642
643   network_box = gtk_hbox_new (TRUE, 0);
644   gtk_widget_ref (network_box);
645   gtk_object_set_data_full (GTK_OBJECT (intf_window), "network_box", network_box,
646                             (GtkDestroyNotify) gtk_widget_unref);
647   gtk_box_pack_start (GTK_BOX (vbox8), network_box, FALSE, FALSE, 0);
648
649   network_address_label = gtk_label_new (_("No server"));
650   gtk_widget_ref (network_address_label);
651   gtk_object_set_data_full (GTK_OBJECT (intf_window), "network_address_label", network_address_label,
652                             (GtkDestroyNotify) gtk_widget_unref);
653   gtk_widget_show (network_address_label);
654   gtk_box_pack_start (GTK_BOX (network_box), network_address_label, FALSE, FALSE, 0);
655
656   network_channel_box = gtk_hbox_new (FALSE, 0);
657   gtk_widget_ref (network_channel_box);
658   gtk_object_set_data_full (GTK_OBJECT (intf_window), "network_channel_box", network_channel_box,
659                             (GtkDestroyNotify) gtk_widget_unref);
660   gtk_widget_show (network_channel_box);
661   gtk_box_pack_start (GTK_BOX (network_box), network_channel_box, FALSE, FALSE, 0);
662
663   label_network = gtk_label_new (_("Network Channel:"));
664   gtk_widget_ref (label_network);
665   gtk_object_set_data_full (GTK_OBJECT (intf_window), "label_network", label_network,
666                             (GtkDestroyNotify) gtk_widget_unref);
667   gtk_widget_show (label_network);
668   gtk_box_pack_start (GTK_BOX (network_channel_box), label_network, TRUE, FALSE, 5);
669
670   network_channel_spinbutton_adj = gtk_adjustment_new (0, 0, 100, 1, 10, 10);
671   network_channel_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (network_channel_spinbutton_adj), 1, 0);
672   gtk_widget_ref (network_channel_spinbutton);
673   gtk_object_set_data_full (GTK_OBJECT (intf_window), "network_channel_spinbutton", network_channel_spinbutton,
674                             (GtkDestroyNotify) gtk_widget_unref);
675   gtk_widget_show (network_channel_spinbutton);
676   gtk_box_pack_start (GTK_BOX (network_channel_box), network_channel_spinbutton, FALSE, TRUE, 5);
677
678   network_channel_go_button = gtk_button_new_with_label (_("Go!"));
679   gtk_widget_ref (network_channel_go_button);
680   gtk_object_set_data_full (GTK_OBJECT (intf_window), "network_channel_go_button", network_channel_go_button,
681                             (GtkDestroyNotify) gtk_widget_unref);
682   gtk_widget_show (network_channel_go_button);
683   gtk_box_pack_start (GTK_BOX (network_channel_box), network_channel_go_button, FALSE, FALSE, 0);
684   gtk_button_set_relief (GTK_BUTTON (network_channel_go_button), GTK_RELIEF_NONE);
685
686   appbar = gnome_appbar_new (FALSE, TRUE, GNOME_PREFERENCES_NEVER);
687   gtk_widget_ref (appbar);
688   gtk_object_set_data_full (GTK_OBJECT (intf_window), "appbar", appbar,
689                             (GtkDestroyNotify) gtk_widget_unref);
690   gtk_widget_show (appbar);
691   gnome_app_set_statusbar (GNOME_APP (intf_window), appbar);
692   gtk_widget_set_usize (appbar, 500, -2);
693
694   gtk_signal_connect (GTK_OBJECT (intf_window), "delete_event",
695                       GTK_SIGNAL_FUNC (GtkWindowDelete),
696                       "intf_window");
697   gtk_signal_connect (GTK_OBJECT (intf_window), "drag_data_received",
698                       GTK_SIGNAL_FUNC (GtkWindowDrag),
699                       "intf_window");
700   gnome_app_install_menu_hints (GNOME_APP (intf_window), menubar_uiinfo);
701   gtk_signal_connect (GTK_OBJECT (toolbar_file), "button_press_event",
702                       GTK_SIGNAL_FUNC (GtkFileOpenShow),
703                       "intf_window");
704   gtk_signal_connect (GTK_OBJECT (toolbar_disc), "button_press_event",
705                       GTK_SIGNAL_FUNC (GtkDiscOpenShow),
706                       "intf_window");
707   gtk_signal_connect (GTK_OBJECT (toolbar_network), "button_press_event",
708                       GTK_SIGNAL_FUNC (GtkNetworkOpenShow),
709                       "intf_window");
710   gtk_signal_connect (GTK_OBJECT (toolbar_back), "button_press_event",
711                       GTK_SIGNAL_FUNC (GtkControlBack),
712                       "intf_window");
713   gtk_signal_connect (GTK_OBJECT (toolbar_stop), "button_press_event",
714                       GTK_SIGNAL_FUNC (GtkControlStop),
715                       "intf_window");
716   gtk_signal_connect (GTK_OBJECT (toolbar_eject), "button_press_event",
717                       GTK_SIGNAL_FUNC (GtkDiscEject),
718                       "intf_window");
719   gtk_signal_connect (GTK_OBJECT (toolbar_play), "button_press_event",
720                       GTK_SIGNAL_FUNC (GtkControlPlay),
721                       "intf_window");
722   gtk_signal_connect (GTK_OBJECT (toolbar_pause), "button_press_event",
723                       GTK_SIGNAL_FUNC (GtkControlPause),
724                       "intf_window");
725   gtk_signal_connect (GTK_OBJECT (toolbar_slow), "button_press_event",
726                       GTK_SIGNAL_FUNC (GtkControlSlow),
727                       "intf_window");
728   gtk_signal_connect (GTK_OBJECT (toolbar_fast), "button_press_event",
729                       GTK_SIGNAL_FUNC (GtkControlFast),
730                       "intf_window");
731   gtk_signal_connect (GTK_OBJECT (toolbar_playlist), "button_press_event",
732                       GTK_SIGNAL_FUNC (GtkPlaylistShow),
733                       "intf_window");
734   gtk_signal_connect (GTK_OBJECT (toolbar_prev), "button_press_event",
735                       GTK_SIGNAL_FUNC (GtkPlaylistPrev),
736                       "intf_window");
737   gtk_signal_connect (GTK_OBJECT (toolbar_next), "button_press_event",
738                       GTK_SIGNAL_FUNC (GtkPlaylistNext),
739                       "intf_window");
740   gtk_signal_connect (GTK_OBJECT (slider), "button_press_event",
741                       GTK_SIGNAL_FUNC (GtkSliderPress),
742                       "intf_window");
743   gtk_signal_connect (GTK_OBJECT (slider), "button_release_event",
744                       GTK_SIGNAL_FUNC (GtkSliderRelease),
745                       "intf_window");
746   gtk_signal_connect (GTK_OBJECT (button_title_prev), "clicked",
747                       GTK_SIGNAL_FUNC (GtkTitlePrev),
748                       "intf_window");
749   gtk_signal_connect (GTK_OBJECT (button_title_next), "clicked",
750                       GTK_SIGNAL_FUNC (GtkTitleNext),
751                       "intf_window");
752   gtk_signal_connect (GTK_OBJECT (button_chapter_prev), "clicked",
753                       GTK_SIGNAL_FUNC (GtkChapterPrev),
754                       "intf_window");
755   gtk_signal_connect (GTK_OBJECT (button_chapter_next), "clicked",
756                       GTK_SIGNAL_FUNC (GtkChapterNext),
757                       "intf_window");
758   gtk_signal_connect (GTK_OBJECT (network_channel_spinbutton), "activate",
759                       GTK_SIGNAL_FUNC (GtkNetworkJoin),
760                       "intf_window");
761   gtk_signal_connect (GTK_OBJECT (network_channel_go_button), "clicked",
762                       GTK_SIGNAL_FUNC (GtkChannelGo),
763                       "intf_window");
764
765   gtk_object_set_data (GTK_OBJECT (intf_window), "tooltips", tooltips);
766
767   return intf_window;
768 }
769
770 static GnomeUIInfo popup_file_menu_uiinfo[] =
771 {
772   {
773     GNOME_APP_UI_ITEM, N_("_Open File..."),
774     N_("Open a File"),
775     (gpointer) GnomePopupFileOpenActivate, NULL, NULL,
776     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_OPEN,
777     0, (GdkModifierType) 0, NULL
778   },
779   {
780     GNOME_APP_UI_ITEM, N_("Open _Disc..."),
781     N_("Open a DVD or VCD"),
782     (gpointer) GnomePopupDiscOpenActivate, NULL, NULL,
783     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_CDROM,
784     0, (GdkModifierType) 0, NULL
785   },
786   {
787     GNOME_APP_UI_ITEM, N_("_Network Stream..."),
788     N_("Select a Network Stream"),
789     (gpointer) GnomePopupNetworkOpenActivate, NULL, NULL,
790     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_REFRESH,
791     0, (GdkModifierType) 0, NULL
792   },
793   GNOMEUIINFO_SEPARATOR,
794   GNOMEUIINFO_MENU_ABOUT_ITEM (GnomePopupAboutActivate, NULL),
795   GNOMEUIINFO_END
796 };
797
798 static GnomeUIInfo intf_popup_uiinfo[] =
799 {
800   {
801     GNOME_APP_UI_ITEM, N_("Play"),
802     NULL,
803     (gpointer) GnomePopupPlayActivate, NULL, NULL,
804     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_FORWARD,
805     0, (GdkModifierType) 0, NULL
806   },
807   {
808     GNOME_APP_UI_ITEM, N_("Pause"),
809     NULL,
810     (gpointer) GnomePopupPauseActivate, NULL, NULL,
811     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_BOTTOM,
812     0, (GdkModifierType) 0, NULL
813   },
814   {
815     GNOME_APP_UI_ITEM, N_("Stop"),
816     NULL,
817     (gpointer) GnomePopupStopActivate, NULL, NULL,
818     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_STOP,
819     0, (GdkModifierType) 0, NULL
820   },
821   {
822     GNOME_APP_UI_ITEM, N_("Back"),
823     NULL,
824     (gpointer) GnomePopupBackActivate, NULL, NULL,
825     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_BACK,
826     0, (GdkModifierType) 0, NULL
827   },
828   {
829     GNOME_APP_UI_ITEM, N_("Slow"),
830     NULL,
831     (gpointer) GnomePopupSlowActivate, NULL, NULL,
832     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_TIMER_STOP,
833     0, (GdkModifierType) 0, NULL
834   },
835   {
836     GNOME_APP_UI_ITEM, N_("Fast"),
837     NULL,
838     (gpointer) GnomePopupFastActivate, NULL, NULL,
839     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_TIMER,
840     0, (GdkModifierType) 0, NULL
841   },
842   GNOMEUIINFO_SEPARATOR,
843   {
844     GNOME_APP_UI_ITEM, N_("Toggle _Interface"),
845     NULL,
846     (gpointer) GnomePopupWindowToggleActivate, NULL, NULL,
847     GNOME_APP_PIXMAP_NONE, NULL,
848     0, (GdkModifierType) 0, NULL
849   },
850   {
851     GNOME_APP_UI_ITEM, N_("_Fullscreen"),
852     N_("Toggle fullscreen mode"),
853     (gpointer) GnomePopupFullscreenActivate, NULL, NULL,
854     GNOME_APP_PIXMAP_NONE, NULL,
855     0, (GdkModifierType) 0, NULL
856   },
857   GNOMEUIINFO_SEPARATOR,
858   {
859     GNOME_APP_UI_ITEM, N_("Next"),
860     NULL,
861     (gpointer) GnomePopupNextActivate, NULL, NULL,
862     GNOME_APP_PIXMAP_NONE, NULL,
863     0, (GdkModifierType) 0, NULL
864   },
865   {
866     GNOME_APP_UI_ITEM, N_("Prev"),
867     NULL,
868     (gpointer) GnomePopupPrevActivate, NULL, NULL,
869     GNOME_APP_PIXMAP_NONE, NULL,
870     0, (GdkModifierType) 0, NULL
871   },
872   {
873     GNOME_APP_UI_ITEM, N_("_Jump..."),
874     N_("Got directly so specified point"),
875     (gpointer) GnomePopupJumpActivate, NULL, NULL,
876     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_JUMP_TO,
877     0, (GdkModifierType) 0, NULL
878   },
879   {
880     GNOME_APP_UI_ITEM, N_("_Navigation"),
881     N_("Navigate through titles and chapters"),
882     (gpointer) NULL, NULL, NULL,
883     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_SEARCH,
884     0, (GdkModifierType) 0, NULL
885   },
886   {
887     GNOME_APP_UI_ITEM, N_("An_gle"),
888     NULL,
889     (gpointer) NULL, NULL, NULL,
890     GNOME_APP_PIXMAP_NONE, NULL,
891     0, (GdkModifierType) 0, NULL
892   },
893   {
894     GNOME_APP_UI_ITEM, N_("_Audio"),
895     N_("Select audio channel"),
896     (gpointer) NULL, NULL, NULL,
897     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_VOLUME,
898     0, (GdkModifierType) 0, NULL
899   },
900   {
901     GNOME_APP_UI_ITEM, N_("_Subtitles"),
902     N_("Select subtitle channel"),
903     (gpointer) NULL, NULL, NULL,
904     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_FONT,
905     0, (GdkModifierType) 0, NULL
906   },
907   GNOMEUIINFO_SEPARATOR,
908   GNOMEUIINFO_MENU_FILE_TREE (popup_file_menu_uiinfo),
909   {
910     GNOME_APP_UI_ITEM, N_("Playlist..."),
911     NULL,
912     (gpointer) GnomePopupPlaylistActivate, NULL, NULL,
913     GNOME_APP_PIXMAP_NONE, NULL,
914     0, (GdkModifierType) 0, NULL
915   },
916   GNOMEUIINFO_MENU_PREFERENCES_ITEM (GnomePopupPreferencesActivate, NULL),
917   GNOMEUIINFO_SEPARATOR,
918   GNOMEUIINFO_MENU_EXIT_ITEM (GnomePopupExitActivate, NULL),
919   GNOMEUIINFO_END
920 };
921
922 GtkWidget*
923 create_intf_popup (void)
924 {
925   GtkWidget *intf_popup;
926
927   intf_popup = gtk_menu_new ();
928   gtk_object_set_data (GTK_OBJECT (intf_popup), "intf_popup", intf_popup);
929   gnome_app_fill_menu (GTK_MENU_SHELL (intf_popup), intf_popup_uiinfo,
930                        NULL, FALSE, 0);
931
932   gtk_widget_ref (intf_popup_uiinfo[0].widget);
933   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_play",
934                             intf_popup_uiinfo[0].widget,
935                             (GtkDestroyNotify) gtk_widget_unref);
936
937   gtk_widget_ref (intf_popup_uiinfo[1].widget);
938   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_pause",
939                             intf_popup_uiinfo[1].widget,
940                             (GtkDestroyNotify) gtk_widget_unref);
941
942   gtk_widget_ref (intf_popup_uiinfo[2].widget);
943   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_stop",
944                             intf_popup_uiinfo[2].widget,
945                             (GtkDestroyNotify) gtk_widget_unref);
946
947   gtk_widget_ref (intf_popup_uiinfo[3].widget);
948   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_back",
949                             intf_popup_uiinfo[3].widget,
950                             (GtkDestroyNotify) gtk_widget_unref);
951   gtk_widget_set_sensitive (intf_popup_uiinfo[3].widget, FALSE);
952
953   gtk_widget_ref (intf_popup_uiinfo[4].widget);
954   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_slow",
955                             intf_popup_uiinfo[4].widget,
956                             (GtkDestroyNotify) gtk_widget_unref);
957
958   gtk_widget_ref (intf_popup_uiinfo[5].widget);
959   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_fast",
960                             intf_popup_uiinfo[5].widget,
961                             (GtkDestroyNotify) gtk_widget_unref);
962
963   gtk_widget_ref (intf_popup_uiinfo[6].widget);
964   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator3",
965                             intf_popup_uiinfo[6].widget,
966                             (GtkDestroyNotify) gtk_widget_unref);
967
968   gtk_widget_ref (intf_popup_uiinfo[7].widget);
969   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_interface_toggle",
970                             intf_popup_uiinfo[7].widget,
971                             (GtkDestroyNotify) gtk_widget_unref);
972
973   gtk_widget_ref (intf_popup_uiinfo[8].widget);
974   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_fullscreen",
975                             intf_popup_uiinfo[8].widget,
976                             (GtkDestroyNotify) gtk_widget_unref);
977
978   gtk_widget_ref (intf_popup_uiinfo[9].widget);
979   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator8",
980                             intf_popup_uiinfo[9].widget,
981                             (GtkDestroyNotify) gtk_widget_unref);
982
983   gtk_widget_ref (intf_popup_uiinfo[10].widget);
984   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_next",
985                             intf_popup_uiinfo[10].widget,
986                             (GtkDestroyNotify) gtk_widget_unref);
987
988   gtk_widget_ref (intf_popup_uiinfo[11].widget);
989   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_prev",
990                             intf_popup_uiinfo[11].widget,
991                             (GtkDestroyNotify) gtk_widget_unref);
992
993   gtk_widget_ref (intf_popup_uiinfo[12].widget);
994   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_jump",
995                             intf_popup_uiinfo[12].widget,
996                             (GtkDestroyNotify) gtk_widget_unref);
997
998   gtk_widget_ref (intf_popup_uiinfo[13].widget);
999   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_navigation",
1000                             intf_popup_uiinfo[13].widget,
1001                             (GtkDestroyNotify) gtk_widget_unref);
1002   gtk_widget_set_sensitive (intf_popup_uiinfo[13].widget, FALSE);
1003
1004   gtk_widget_ref (intf_popup_uiinfo[14].widget);
1005   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_angle",
1006                             intf_popup_uiinfo[14].widget,
1007                             (GtkDestroyNotify) gtk_widget_unref);
1008   gtk_widget_set_sensitive (intf_popup_uiinfo[14].widget, FALSE);
1009
1010   gtk_widget_ref (intf_popup_uiinfo[15].widget);
1011   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_audio",
1012                             intf_popup_uiinfo[15].widget,
1013                             (GtkDestroyNotify) gtk_widget_unref);
1014   gtk_widget_set_sensitive (intf_popup_uiinfo[15].widget, FALSE);
1015
1016   gtk_widget_ref (intf_popup_uiinfo[16].widget);
1017   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_subpictures",
1018                             intf_popup_uiinfo[16].widget,
1019                             (GtkDestroyNotify) gtk_widget_unref);
1020   gtk_widget_set_sensitive (intf_popup_uiinfo[16].widget, FALSE);
1021
1022   gtk_widget_ref (intf_popup_uiinfo[17].widget);
1023   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator13",
1024                             intf_popup_uiinfo[17].widget,
1025                             (GtkDestroyNotify) gtk_widget_unref);
1026
1027   gtk_widget_ref (intf_popup_uiinfo[18].widget);
1028   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_file",
1029                             intf_popup_uiinfo[18].widget,
1030                             (GtkDestroyNotify) gtk_widget_unref);
1031
1032   gtk_widget_ref (popup_file_menu_uiinfo[0].widget);
1033   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_open",
1034                             popup_file_menu_uiinfo[0].widget,
1035                             (GtkDestroyNotify) gtk_widget_unref);
1036
1037   gtk_widget_ref (popup_file_menu_uiinfo[1].widget);
1038   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_disc",
1039                             popup_file_menu_uiinfo[1].widget,
1040                             (GtkDestroyNotify) gtk_widget_unref);
1041
1042   gtk_widget_ref (popup_file_menu_uiinfo[2].widget);
1043   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_network",
1044                             popup_file_menu_uiinfo[2].widget,
1045                             (GtkDestroyNotify) gtk_widget_unref);
1046
1047   gtk_widget_ref (popup_file_menu_uiinfo[3].widget);
1048   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator4",
1049                             popup_file_menu_uiinfo[3].widget,
1050                             (GtkDestroyNotify) gtk_widget_unref);
1051
1052   gtk_widget_ref (popup_file_menu_uiinfo[4].widget);
1053   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_about",
1054                             popup_file_menu_uiinfo[4].widget,
1055                             (GtkDestroyNotify) gtk_widget_unref);
1056
1057   gtk_widget_ref (intf_popup_uiinfo[19].widget);
1058   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_playlist",
1059                             intf_popup_uiinfo[19].widget,
1060                             (GtkDestroyNotify) gtk_widget_unref);
1061
1062   gtk_widget_ref (intf_popup_uiinfo[20].widget);
1063   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_preferences",
1064                             intf_popup_uiinfo[20].widget,
1065                             (GtkDestroyNotify) gtk_widget_unref);
1066
1067   gtk_widget_ref (intf_popup_uiinfo[21].widget);
1068   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator2",
1069                             intf_popup_uiinfo[21].widget,
1070                             (GtkDestroyNotify) gtk_widget_unref);
1071
1072   gtk_widget_ref (intf_popup_uiinfo[22].widget);
1073   gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_exit",
1074                             intf_popup_uiinfo[22].widget,
1075                             (GtkDestroyNotify) gtk_widget_unref);
1076
1077   return intf_popup;
1078 }
1079
1080 GtkWidget*
1081 create_intf_about (void)
1082 {
1083   const gchar *authors[] = {
1084     "Régis Duchesne <regis@via.ecp.fr>",
1085     "Michel Lespinasse <walken@zoy.org>",
1086     "Olivier Pomel <pomel@via.ecp.fr>",
1087     "Pierre Baillet <oct@zoy.org>",
1088     "Jean-Philippe Grimaldi <jeanphi@via.ecp.fr>",
1089     "Andres Krapf <dae@via.ecp.fr>",
1090     "Christophe Massiot <massiot@via.ecp.fr>",
1091     "Vincent Seguin <seguin@via.ecp.fr>",
1092     "Benoit Steiner <benny@via.ecp.fr>",
1093     "Arnaud de Bossoreille de Ribou <bozo@via.ecp.fr>",
1094     "Jean-Marc Dressler <polux@via.ecp.fr>",
1095     "Gaël Hendryckx <jimmy@via.ecp.fr>",
1096     "Samuel Hocevar <sam@zoy.org>",
1097     "Brieuc Jeunhomme <bbp@via.ecp.fr>",
1098     "Michel Kaempf <maxx@via.ecp.fr>",
1099     "Stéphane Borel <stef@via.ecp.fr>",
1100     "Renaud Dartus <reno@via.ecp.fr>",
1101     "Henri Fallon <henri@via.ecp.fr>",
1102     NULL
1103   };
1104   GtkWidget *intf_about;
1105
1106   intf_about = gnome_about_new ("VideoLAN Client", VERSION,
1107                         _("(C) 1996, 1997, 1998, 1999, 2000, 2001 - the VideoLAN Team"),
1108                         authors,
1109                         _("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."),
1110                         NULL);
1111   gtk_object_set_data (GTK_OBJECT (intf_about), "intf_about", intf_about);
1112
1113   return intf_about;
1114 }
1115
1116 GtkWidget*
1117 create_intf_fileopen (void)
1118 {
1119   GtkWidget *intf_fileopen;
1120   GtkWidget *fileopen_ok;
1121   GtkWidget *fileopen_cancel;
1122
1123   intf_fileopen = gtk_file_selection_new (_("Open File"));
1124   gtk_object_set_data (GTK_OBJECT (intf_fileopen), "intf_fileopen", intf_fileopen);
1125   gtk_container_set_border_width (GTK_CONTAINER (intf_fileopen), 10);
1126   gtk_window_set_modal (GTK_WINDOW (intf_fileopen), TRUE);
1127   gtk_file_selection_hide_fileop_buttons (GTK_FILE_SELECTION (intf_fileopen));
1128
1129   fileopen_ok = GTK_FILE_SELECTION (intf_fileopen)->ok_button;
1130   gtk_object_set_data (GTK_OBJECT (intf_fileopen), "fileopen_ok", fileopen_ok);
1131   gtk_widget_show (fileopen_ok);
1132   GTK_WIDGET_SET_FLAGS (fileopen_ok, GTK_CAN_DEFAULT);
1133
1134   fileopen_cancel = GTK_FILE_SELECTION (intf_fileopen)->cancel_button;
1135   gtk_object_set_data (GTK_OBJECT (intf_fileopen), "fileopen_cancel", fileopen_cancel);
1136   gtk_widget_show (fileopen_cancel);
1137   GTK_WIDGET_SET_FLAGS (fileopen_cancel, GTK_CAN_DEFAULT);
1138
1139   gtk_signal_connect (GTK_OBJECT (fileopen_ok), "clicked",
1140                       GTK_SIGNAL_FUNC (GtkFileOpenOk),
1141                       "intf_fileopen");
1142   gtk_signal_connect (GTK_OBJECT (fileopen_cancel), "clicked",
1143                       GTK_SIGNAL_FUNC (GtkFileOpenCancel),
1144                       "intf_fileopen");
1145
1146   return intf_fileopen;
1147 }
1148
1149 GtkWidget*
1150 create_intf_modules (void)
1151 {
1152   GtkWidget *intf_modules;
1153   GtkWidget *dialog_vbox1;
1154   GtkWidget *label12;
1155   GtkWidget *dialog_action_area1;
1156   GtkWidget *modules_ok;
1157   GtkWidget *modules_apply;
1158   GtkWidget *modules_cancel;
1159
1160   intf_modules = gnome_dialog_new (_("Modules"), NULL);
1161   gtk_object_set_data (GTK_OBJECT (intf_modules), "intf_modules", intf_modules);
1162   gtk_window_set_policy (GTK_WINDOW (intf_modules), FALSE, FALSE, FALSE);
1163
1164   dialog_vbox1 = GNOME_DIALOG (intf_modules)->vbox;
1165   gtk_object_set_data (GTK_OBJECT (intf_modules), "dialog_vbox1", dialog_vbox1);
1166   gtk_widget_show (dialog_vbox1);
1167
1168   label12 = gtk_label_new (_("Sorry, the module manager isn't functional yet. Please retry in a later version."));
1169   gtk_widget_ref (label12);
1170   gtk_object_set_data_full (GTK_OBJECT (intf_modules), "label12", label12,
1171                             (GtkDestroyNotify) gtk_widget_unref);
1172   gtk_widget_show (label12);
1173   gtk_box_pack_start (GTK_BOX (dialog_vbox1), label12, FALSE, FALSE, 0);
1174
1175   dialog_action_area1 = GNOME_DIALOG (intf_modules)->action_area;
1176   gtk_object_set_data (GTK_OBJECT (intf_modules), "dialog_action_area1", dialog_action_area1);
1177   gtk_widget_show (dialog_action_area1);
1178   gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_END);
1179   gtk_button_box_set_spacing (GTK_BUTTON_BOX (dialog_action_area1), 8);
1180
1181   gnome_dialog_append_button (GNOME_DIALOG (intf_modules), GNOME_STOCK_BUTTON_OK);
1182   modules_ok = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_modules)->buttons)->data);
1183   gtk_widget_ref (modules_ok);
1184   gtk_object_set_data_full (GTK_OBJECT (intf_modules), "modules_ok", modules_ok,
1185                             (GtkDestroyNotify) gtk_widget_unref);
1186   gtk_widget_show (modules_ok);
1187   GTK_WIDGET_SET_FLAGS (modules_ok, GTK_CAN_DEFAULT);
1188
1189   gnome_dialog_append_button (GNOME_DIALOG (intf_modules), GNOME_STOCK_BUTTON_APPLY);
1190   modules_apply = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_modules)->buttons)->data);
1191   gtk_widget_ref (modules_apply);
1192   gtk_object_set_data_full (GTK_OBJECT (intf_modules), "modules_apply", modules_apply,
1193                             (GtkDestroyNotify) gtk_widget_unref);
1194   gtk_widget_show (modules_apply);
1195   GTK_WIDGET_SET_FLAGS (modules_apply, GTK_CAN_DEFAULT);
1196
1197   gnome_dialog_append_button (GNOME_DIALOG (intf_modules), GNOME_STOCK_BUTTON_CANCEL);
1198   modules_cancel = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_modules)->buttons)->data);
1199   gtk_widget_ref (modules_cancel);
1200   gtk_object_set_data_full (GTK_OBJECT (intf_modules), "modules_cancel", modules_cancel,
1201                             (GtkDestroyNotify) gtk_widget_unref);
1202   gtk_widget_show (modules_cancel);
1203   GTK_WIDGET_SET_FLAGS (modules_cancel, GTK_CAN_DEFAULT);
1204
1205   return intf_modules;
1206 }
1207
1208 GtkWidget*
1209 create_intf_disc (void)
1210 {
1211   GtkWidget *intf_disc;
1212   GtkWidget *dialog_vbox4;
1213   GtkWidget *hbox2;
1214   GtkWidget *frame1;
1215   GtkWidget *vbox4;
1216   GSList *disc_group = NULL;
1217   GtkWidget *disc_dvd;
1218   GtkWidget *disc_vcd;
1219   GtkWidget *frame2;
1220   GtkWidget *table1;
1221   GtkWidget *label15;
1222   GtkWidget *label16;
1223   GtkObject *disc_title_adj;
1224   GtkWidget *disc_title;
1225   GtkObject *disc_chapter_adj;
1226   GtkWidget *disc_chapter;
1227   GtkWidget *hbox1;
1228   GtkWidget *label14;
1229   GtkWidget *disc_name;
1230   GtkWidget *dialog_action_area4;
1231   GtkWidget *disc_ok;
1232   GtkWidget *disc_cancel;
1233
1234   intf_disc = gnome_dialog_new (_("Open Disc"), NULL);
1235   gtk_object_set_data (GTK_OBJECT (intf_disc), "intf_disc", intf_disc);
1236   gtk_window_set_modal (GTK_WINDOW (intf_disc), TRUE);
1237   gtk_window_set_policy (GTK_WINDOW (intf_disc), FALSE, FALSE, FALSE);
1238
1239   dialog_vbox4 = GNOME_DIALOG (intf_disc)->vbox;
1240   gtk_object_set_data (GTK_OBJECT (intf_disc), "dialog_vbox4", dialog_vbox4);
1241   gtk_widget_show (dialog_vbox4);
1242
1243   hbox2 = gtk_hbox_new (FALSE, 5);
1244   gtk_widget_ref (hbox2);
1245   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "hbox2", hbox2,
1246                             (GtkDestroyNotify) gtk_widget_unref);
1247   gtk_widget_show (hbox2);
1248   gtk_box_pack_start (GTK_BOX (dialog_vbox4), hbox2, TRUE, TRUE, 0);
1249
1250   frame1 = gtk_frame_new (_("Disc type"));
1251   gtk_widget_ref (frame1);
1252   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "frame1", frame1,
1253                             (GtkDestroyNotify) gtk_widget_unref);
1254   gtk_widget_show (frame1);
1255   gtk_box_pack_start (GTK_BOX (hbox2), frame1, TRUE, TRUE, 0);
1256
1257   vbox4 = gtk_vbox_new (FALSE, 0);
1258   gtk_widget_ref (vbox4);
1259   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "vbox4", vbox4,
1260                             (GtkDestroyNotify) gtk_widget_unref);
1261   gtk_widget_show (vbox4);
1262   gtk_container_add (GTK_CONTAINER (frame1), vbox4);
1263
1264   disc_dvd = gtk_radio_button_new_with_label (disc_group, _("DVD"));
1265   disc_group = gtk_radio_button_group (GTK_RADIO_BUTTON (disc_dvd));
1266   gtk_widget_ref (disc_dvd);
1267   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_dvd", disc_dvd,
1268                             (GtkDestroyNotify) gtk_widget_unref);
1269   gtk_widget_show (disc_dvd);
1270   gtk_box_pack_start (GTK_BOX (vbox4), disc_dvd, FALSE, FALSE, 0);
1271
1272   disc_vcd = gtk_radio_button_new_with_label (disc_group, _("VCD"));
1273   disc_group = gtk_radio_button_group (GTK_RADIO_BUTTON (disc_vcd));
1274   gtk_widget_ref (disc_vcd);
1275   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_vcd", disc_vcd,
1276                             (GtkDestroyNotify) gtk_widget_unref);
1277   gtk_widget_show (disc_vcd);
1278   gtk_box_pack_start (GTK_BOX (vbox4), disc_vcd, FALSE, FALSE, 0);
1279
1280   frame2 = gtk_frame_new (_("Starting position"));
1281   gtk_widget_ref (frame2);
1282   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "frame2", frame2,
1283                             (GtkDestroyNotify) gtk_widget_unref);
1284   gtk_widget_show (frame2);
1285   gtk_box_pack_start (GTK_BOX (hbox2), frame2, TRUE, TRUE, 0);
1286
1287   table1 = gtk_table_new (2, 2, FALSE);
1288   gtk_widget_ref (table1);
1289   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "table1", table1,
1290                             (GtkDestroyNotify) gtk_widget_unref);
1291   gtk_widget_show (table1);
1292   gtk_container_add (GTK_CONTAINER (frame2), table1);
1293   gtk_container_set_border_width (GTK_CONTAINER (table1), 5);
1294   gtk_table_set_row_spacings (GTK_TABLE (table1), 5);
1295   gtk_table_set_col_spacings (GTK_TABLE (table1), 5);
1296
1297   label15 = gtk_label_new (_("Title"));
1298   gtk_widget_ref (label15);
1299   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "label15", label15,
1300                             (GtkDestroyNotify) gtk_widget_unref);
1301   gtk_widget_show (label15);
1302   gtk_table_attach (GTK_TABLE (table1), label15, 0, 1, 0, 1,
1303                     (GtkAttachOptions) (GTK_FILL),
1304                     (GtkAttachOptions) (0), 0, 0);
1305   gtk_misc_set_alignment (GTK_MISC (label15), 0, 0.5);
1306
1307   label16 = gtk_label_new (_("Chapter"));
1308   gtk_widget_ref (label16);
1309   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "label16", label16,
1310                             (GtkDestroyNotify) gtk_widget_unref);
1311   gtk_widget_show (label16);
1312   gtk_table_attach (GTK_TABLE (table1), label16, 0, 1, 1, 2,
1313                     (GtkAttachOptions) (GTK_FILL),
1314                     (GtkAttachOptions) (0), 0, 0);
1315   gtk_misc_set_alignment (GTK_MISC (label16), 0, 0.5);
1316
1317   disc_title_adj = gtk_adjustment_new (1, 1, 65536, 1, 10, 10);
1318   disc_title = gtk_spin_button_new (GTK_ADJUSTMENT (disc_title_adj), 1, 0);
1319   gtk_widget_ref (disc_title);
1320   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_title", disc_title,
1321                             (GtkDestroyNotify) gtk_widget_unref);
1322   gtk_widget_show (disc_title);
1323   gtk_table_attach (GTK_TABLE (table1), disc_title, 1, 2, 0, 1,
1324                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1325                     (GtkAttachOptions) (0), 0, 0);
1326
1327   disc_chapter_adj = gtk_adjustment_new (1, 1, 65536, 1, 10, 10);
1328   disc_chapter = gtk_spin_button_new (GTK_ADJUSTMENT (disc_chapter_adj), 1, 0);
1329   gtk_widget_ref (disc_chapter);
1330   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_chapter", disc_chapter,
1331                             (GtkDestroyNotify) gtk_widget_unref);
1332   gtk_widget_show (disc_chapter);
1333   gtk_table_attach (GTK_TABLE (table1), disc_chapter, 1, 2, 1, 2,
1334                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1335                     (GtkAttachOptions) (0), 0, 0);
1336
1337   hbox1 = gtk_hbox_new (FALSE, 5);
1338   gtk_widget_ref (hbox1);
1339   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "hbox1", hbox1,
1340                             (GtkDestroyNotify) gtk_widget_unref);
1341   gtk_widget_show (hbox1);
1342   gtk_box_pack_start (GTK_BOX (dialog_vbox4), hbox1, TRUE, TRUE, 0);
1343
1344   label14 = gtk_label_new (_("Device name:"));
1345   gtk_widget_ref (label14);
1346   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "label14", label14,
1347                             (GtkDestroyNotify) gtk_widget_unref);
1348   gtk_widget_show (label14);
1349   gtk_box_pack_start (GTK_BOX (hbox1), label14, FALSE, FALSE, 0);
1350
1351   disc_name = gtk_entry_new ();
1352   gtk_widget_ref (disc_name);
1353   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_name", disc_name,
1354                             (GtkDestroyNotify) gtk_widget_unref);
1355   gtk_widget_show (disc_name);
1356   gtk_box_pack_start (GTK_BOX (hbox1), disc_name, TRUE, TRUE, 0);
1357   gtk_entry_set_text (GTK_ENTRY (disc_name), DVD_DEVICE);
1358
1359   dialog_action_area4 = GNOME_DIALOG (intf_disc)->action_area;
1360   gtk_object_set_data (GTK_OBJECT (intf_disc), "dialog_action_area4", dialog_action_area4);
1361   gtk_widget_show (dialog_action_area4);
1362   gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area4), GTK_BUTTONBOX_END);
1363   gtk_button_box_set_spacing (GTK_BUTTON_BOX (dialog_action_area4), 8);
1364
1365   gnome_dialog_append_button (GNOME_DIALOG (intf_disc), GNOME_STOCK_BUTTON_OK);
1366   disc_ok = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_disc)->buttons)->data);
1367   gtk_widget_ref (disc_ok);
1368   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_ok", disc_ok,
1369                             (GtkDestroyNotify) gtk_widget_unref);
1370   gtk_widget_show (disc_ok);
1371   GTK_WIDGET_SET_FLAGS (disc_ok, GTK_CAN_DEFAULT);
1372
1373   gnome_dialog_append_button (GNOME_DIALOG (intf_disc), GNOME_STOCK_BUTTON_CANCEL);
1374   disc_cancel = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_disc)->buttons)->data);
1375   gtk_widget_ref (disc_cancel);
1376   gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_cancel", disc_cancel,
1377                             (GtkDestroyNotify) gtk_widget_unref);
1378   gtk_widget_show (disc_cancel);
1379   GTK_WIDGET_SET_FLAGS (disc_cancel, GTK_CAN_DEFAULT);
1380
1381   gtk_signal_connect (GTK_OBJECT (disc_dvd), "toggled",
1382                       GTK_SIGNAL_FUNC (GtkDiscOpenDvd),
1383                       "intf_disc");
1384   gtk_signal_connect (GTK_OBJECT (disc_vcd), "toggled",
1385                       GTK_SIGNAL_FUNC (GtkDiscOpenVcd),
1386                       "intf_disc");
1387   gtk_signal_connect (GTK_OBJECT (disc_ok), "clicked",
1388                       GTK_SIGNAL_FUNC (GtkDiscOpenOk),
1389                       "intf_disc");
1390   gtk_signal_connect (GTK_OBJECT (disc_cancel), "clicked",
1391                       GTK_SIGNAL_FUNC (GtkDiscOpenCancel),
1392                       "intf_disc");
1393
1394   return intf_disc;
1395 }
1396
1397 GtkWidget*
1398 create_intf_network (void)
1399 {
1400   GtkWidget *intf_network;
1401   GtkWidget *vbox5;
1402   GtkWidget *hbox3;
1403   GtkWidget *frame3;
1404   GtkWidget *vbox6;
1405   GSList *network_group = NULL;
1406   GtkWidget *network_ts;
1407   GtkWidget *network_rtp;
1408   GtkWidget *network_http;
1409   GtkWidget *frame4;
1410   GtkWidget *table2;
1411   GtkWidget *network_server_label;
1412   GtkWidget *network_port_label;
1413   GtkObject *network_port_adj;
1414   GtkWidget *network_port;
1415   GtkWidget *network_broadcast_check;
1416   GtkWidget *network_broadcast_combo;
1417   GtkWidget *network_broadcast;
1418   GtkWidget *network_server_combo;
1419   GtkWidget *network_server;
1420   GtkWidget *frame5;
1421   GtkWidget *hbox4;
1422   GtkWidget *network_channel_check;
1423   GtkWidget *network_channel_combo;
1424   GtkWidget *network_channel;
1425   GtkWidget *network_channel_port_label;
1426   GtkObject *network_channel_port_adj;
1427   GtkWidget *network_channel_port;
1428   GtkWidget *hbuttonbox1;
1429   GtkWidget *network_ok;
1430   GtkWidget *network_cancel;
1431   GtkTooltips *tooltips;
1432
1433   tooltips = gtk_tooltips_new ();
1434
1435   intf_network = gnome_dialog_new (_("Network Stream"), NULL);
1436   gtk_object_set_data (GTK_OBJECT (intf_network), "intf_network", intf_network);
1437   gtk_window_set_modal (GTK_WINDOW (intf_network), TRUE);
1438   gtk_window_set_policy (GTK_WINDOW (intf_network), FALSE, FALSE, FALSE);
1439
1440   vbox5 = GNOME_DIALOG (intf_network)->vbox;
1441   gtk_object_set_data (GTK_OBJECT (intf_network), "vbox5", vbox5);
1442   gtk_widget_show (vbox5);
1443
1444   hbox3 = gtk_hbox_new (FALSE, 5);
1445   gtk_widget_ref (hbox3);
1446   gtk_object_set_data_full (GTK_OBJECT (intf_network), "hbox3", hbox3,
1447                             (GtkDestroyNotify) gtk_widget_unref);
1448   gtk_widget_show (hbox3);
1449   gtk_box_pack_start (GTK_BOX (vbox5), hbox3, TRUE, TRUE, 0);
1450
1451   frame3 = gtk_frame_new (_("Protocol"));
1452   gtk_widget_ref (frame3);
1453   gtk_object_set_data_full (GTK_OBJECT (intf_network), "frame3", frame3,
1454                             (GtkDestroyNotify) gtk_widget_unref);
1455   gtk_widget_show (frame3);
1456   gtk_box_pack_start (GTK_BOX (hbox3), frame3, TRUE, TRUE, 0);
1457
1458   vbox6 = gtk_vbox_new (FALSE, 0);
1459   gtk_widget_ref (vbox6);
1460   gtk_object_set_data_full (GTK_OBJECT (intf_network), "vbox6", vbox6,
1461                             (GtkDestroyNotify) gtk_widget_unref);
1462   gtk_widget_show (vbox6);
1463   gtk_container_add (GTK_CONTAINER (frame3), vbox6);
1464
1465   network_ts = gtk_radio_button_new_with_label (network_group, _("TS"));
1466   network_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_ts));
1467   gtk_widget_ref (network_ts);
1468   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_ts", network_ts,
1469                             (GtkDestroyNotify) gtk_widget_unref);
1470   gtk_widget_show (network_ts);
1471   gtk_box_pack_start (GTK_BOX (vbox6), network_ts, FALSE, FALSE, 0);
1472
1473   network_rtp = gtk_radio_button_new_with_label (network_group, _("RTP"));
1474   network_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_rtp));
1475   gtk_widget_ref (network_rtp);
1476   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_rtp", network_rtp,
1477                             (GtkDestroyNotify) gtk_widget_unref);
1478   gtk_widget_show (network_rtp);
1479   gtk_box_pack_start (GTK_BOX (vbox6), network_rtp, FALSE, FALSE, 0);
1480   gtk_widget_set_sensitive (network_rtp, FALSE);
1481
1482   network_http = gtk_radio_button_new_with_label (network_group, _("HTTP"));
1483   network_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_http));
1484   gtk_widget_ref (network_http);
1485   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_http", network_http,
1486                             (GtkDestroyNotify) gtk_widget_unref);
1487   gtk_widget_show (network_http);
1488   gtk_box_pack_start (GTK_BOX (vbox6), network_http, FALSE, FALSE, 0);
1489
1490   frame4 = gtk_frame_new (_("Server"));
1491   gtk_widget_ref (frame4);
1492   gtk_object_set_data_full (GTK_OBJECT (intf_network), "frame4", frame4,
1493                             (GtkDestroyNotify) gtk_widget_unref);
1494   gtk_widget_show (frame4);
1495   gtk_box_pack_start (GTK_BOX (hbox3), frame4, TRUE, TRUE, 0);
1496
1497   table2 = gtk_table_new (3, 2, FALSE);
1498   gtk_widget_ref (table2);
1499   gtk_object_set_data_full (GTK_OBJECT (intf_network), "table2", table2,
1500                             (GtkDestroyNotify) gtk_widget_unref);
1501   gtk_widget_show (table2);
1502   gtk_container_add (GTK_CONTAINER (frame4), table2);
1503   gtk_container_set_border_width (GTK_CONTAINER (table2), 5);
1504   gtk_table_set_row_spacings (GTK_TABLE (table2), 5);
1505   gtk_table_set_col_spacings (GTK_TABLE (table2), 5);
1506
1507   network_server_label = gtk_label_new (_("Address"));
1508   gtk_widget_ref (network_server_label);
1509   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_server_label", network_server_label,
1510                             (GtkDestroyNotify) gtk_widget_unref);
1511   gtk_widget_show (network_server_label);
1512   gtk_table_attach (GTK_TABLE (table2), network_server_label, 0, 1, 0, 1,
1513                     (GtkAttachOptions) (GTK_FILL),
1514                     (GtkAttachOptions) (0), 0, 0);
1515   gtk_misc_set_alignment (GTK_MISC (network_server_label), 0, 0.5);
1516
1517   network_port_label = gtk_label_new (_("Port"));
1518   gtk_widget_ref (network_port_label);
1519   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_port_label", network_port_label,
1520                             (GtkDestroyNotify) gtk_widget_unref);
1521   gtk_widget_show (network_port_label);
1522   gtk_table_attach (GTK_TABLE (table2), network_port_label, 0, 1, 1, 2,
1523                     (GtkAttachOptions) (GTK_FILL),
1524                     (GtkAttachOptions) (0), 0, 0);
1525   gtk_misc_set_alignment (GTK_MISC (network_port_label), 0, 0.5);
1526
1527   network_port_adj = gtk_adjustment_new (1234, 1024, 65535, 1, 10, 10);
1528   network_port = gtk_spin_button_new (GTK_ADJUSTMENT (network_port_adj), 1, 0);
1529   gtk_widget_ref (network_port);
1530   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_port", network_port,
1531                             (GtkDestroyNotify) gtk_widget_unref);
1532   gtk_widget_show (network_port);
1533   gtk_table_attach (GTK_TABLE (table2), network_port, 1, 2, 1, 2,
1534                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1535                     (GtkAttachOptions) (0), 0, 0);
1536   gtk_tooltips_set_tip (tooltips, network_port, _("Port of the stream server"), NULL);
1537
1538   network_broadcast_check = gtk_check_button_new_with_label (_("Broadcast"));
1539   gtk_widget_ref (network_broadcast_check);
1540   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_broadcast_check", network_broadcast_check,
1541                             (GtkDestroyNotify) gtk_widget_unref);
1542   gtk_widget_show (network_broadcast_check);
1543   gtk_table_attach (GTK_TABLE (table2), network_broadcast_check, 0, 1, 2, 3,
1544                     (GtkAttachOptions) (GTK_FILL),
1545                     (GtkAttachOptions) (0), 0, 0);
1546
1547   network_broadcast_combo = gnome_entry_new (NULL);
1548   gtk_widget_ref (network_broadcast_combo);
1549   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_broadcast_combo", network_broadcast_combo,
1550                             (GtkDestroyNotify) gtk_widget_unref);
1551   gtk_widget_show (network_broadcast_combo);
1552   gtk_table_attach (GTK_TABLE (table2), network_broadcast_combo, 1, 2, 2, 3,
1553                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1554                     (GtkAttachOptions) (0), 0, 0);
1555
1556   network_broadcast = gnome_entry_gtk_entry (GNOME_ENTRY (network_broadcast_combo));
1557   gtk_widget_ref (network_broadcast);
1558   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_broadcast", network_broadcast,
1559                             (GtkDestroyNotify) gtk_widget_unref);
1560   gtk_widget_show (network_broadcast);
1561   gtk_widget_set_sensitive (network_broadcast, FALSE);
1562   gtk_entry_set_text (GTK_ENTRY (network_broadcast), _("138.195.143.255"));
1563
1564   network_server_combo = gnome_entry_new (NULL);
1565   gtk_widget_ref (network_server_combo);
1566   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_server_combo", network_server_combo,
1567                             (GtkDestroyNotify) gtk_widget_unref);
1568   gtk_widget_show (network_server_combo);
1569   gtk_table_attach (GTK_TABLE (table2), network_server_combo, 1, 2, 0, 1,
1570                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1571                     (GtkAttachOptions) (0), 0, 0);
1572
1573   network_server = gnome_entry_gtk_entry (GNOME_ENTRY (network_server_combo));
1574   gtk_widget_ref (network_server);
1575   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_server", network_server,
1576                             (GtkDestroyNotify) gtk_widget_unref);
1577   gtk_widget_show (network_server);
1578   gtk_entry_set_text (GTK_ENTRY (network_server), _("vls"));
1579
1580   frame5 = gtk_frame_new (_("Channels"));
1581   gtk_widget_ref (frame5);
1582   gtk_object_set_data_full (GTK_OBJECT (intf_network), "frame5", frame5,
1583                             (GtkDestroyNotify) gtk_widget_unref);
1584   gtk_widget_show (frame5);
1585   gtk_box_pack_start (GTK_BOX (vbox5), frame5, TRUE, TRUE, 0);
1586   gtk_frame_set_label_align (GTK_FRAME (frame5), 0.05, 0.5);
1587
1588   hbox4 = gtk_hbox_new (FALSE, 0);
1589   gtk_widget_ref (hbox4);
1590   gtk_object_set_data_full (GTK_OBJECT (intf_network), "hbox4", hbox4,
1591                             (GtkDestroyNotify) gtk_widget_unref);
1592   gtk_widget_show (hbox4);
1593   gtk_container_add (GTK_CONTAINER (frame5), hbox4);
1594
1595   network_channel_check = gtk_check_button_new_with_label (_("Channel server:"));
1596   gtk_widget_ref (network_channel_check);
1597   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_channel_check", network_channel_check,
1598                             (GtkDestroyNotify) gtk_widget_unref);
1599   gtk_widget_show (network_channel_check);
1600   gtk_box_pack_start (GTK_BOX (hbox4), network_channel_check, FALSE, FALSE, 0);
1601
1602   network_channel_combo = gnome_entry_new (NULL);
1603   gtk_widget_ref (network_channel_combo);
1604   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_channel_combo", network_channel_combo,
1605                             (GtkDestroyNotify) gtk_widget_unref);
1606   gtk_widget_show (network_channel_combo);
1607   gtk_box_pack_start (GTK_BOX (hbox4), network_channel_combo, FALSE, FALSE, 0);
1608   gtk_widget_set_sensitive (network_channel_combo, FALSE);
1609
1610   network_channel = gnome_entry_gtk_entry (GNOME_ENTRY (network_channel_combo));
1611   gtk_widget_ref (network_channel);
1612   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_channel", network_channel,
1613                             (GtkDestroyNotify) gtk_widget_unref);
1614   gtk_widget_show (network_channel);
1615   gtk_entry_set_text (GTK_ENTRY (network_channel), _("138.195.143.120"));
1616
1617   network_channel_port_label = gtk_label_new (_("port:"));
1618   gtk_widget_ref (network_channel_port_label);
1619   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_channel_port_label", network_channel_port_label,
1620                             (GtkDestroyNotify) gtk_widget_unref);
1621   gtk_widget_show (network_channel_port_label);
1622   gtk_box_pack_start (GTK_BOX (hbox4), network_channel_port_label, FALSE, FALSE, 5);
1623
1624   network_channel_port_adj = gtk_adjustment_new (6010, 1024, 65535, 1, 10, 10);
1625   network_channel_port = gtk_spin_button_new (GTK_ADJUSTMENT (network_channel_port_adj), 1, 0);
1626   gtk_widget_ref (network_channel_port);
1627   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_channel_port", network_channel_port,
1628                             (GtkDestroyNotify) gtk_widget_unref);
1629   gtk_widget_show (network_channel_port);
1630   gtk_box_pack_start (GTK_BOX (hbox4), network_channel_port, FALSE, FALSE, 0);
1631   gtk_widget_set_usize (network_channel_port, 60, -2);
1632   gtk_widget_set_sensitive (network_channel_port, FALSE);
1633
1634   hbuttonbox1 = GNOME_DIALOG (intf_network)->action_area;
1635   gtk_object_set_data (GTK_OBJECT (intf_network), "hbuttonbox1", hbuttonbox1);
1636   gtk_widget_show (hbuttonbox1);
1637   gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox1), GTK_BUTTONBOX_END);
1638   gtk_button_box_set_spacing (GTK_BUTTON_BOX (hbuttonbox1), 8);
1639
1640   gnome_dialog_append_button (GNOME_DIALOG (intf_network), GNOME_STOCK_BUTTON_OK);
1641   network_ok = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_network)->buttons)->data);
1642   gtk_widget_ref (network_ok);
1643   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_ok", network_ok,
1644                             (GtkDestroyNotify) gtk_widget_unref);
1645   gtk_widget_show (network_ok);
1646   GTK_WIDGET_SET_FLAGS (network_ok, GTK_CAN_DEFAULT);
1647
1648   gnome_dialog_append_button (GNOME_DIALOG (intf_network), GNOME_STOCK_BUTTON_CANCEL);
1649   network_cancel = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_network)->buttons)->data);
1650   gtk_widget_ref (network_cancel);
1651   gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_cancel", network_cancel,
1652                             (GtkDestroyNotify) gtk_widget_unref);
1653   gtk_widget_show (network_cancel);
1654   GTK_WIDGET_SET_FLAGS (network_cancel, GTK_CAN_DEFAULT);
1655
1656   gtk_signal_connect (GTK_OBJECT (network_broadcast_check), "toggled",
1657                       GTK_SIGNAL_FUNC (GtkNetworkOpenBroadcast),
1658                       "intf_network");
1659   gtk_signal_connect (GTK_OBJECT (network_channel_check), "toggled",
1660                       GTK_SIGNAL_FUNC (GtkNetworkOpenChannel),
1661                       "intf_network");
1662   gtk_signal_connect (GTK_OBJECT (network_ok), "clicked",
1663                       GTK_SIGNAL_FUNC (GtkNetworkOpenOk),
1664                       "intf_network");
1665   gtk_signal_connect (GTK_OBJECT (network_cancel), "clicked",
1666                       GTK_SIGNAL_FUNC (GtkNetworkOpenCancel),
1667                       "intf_network");
1668
1669   gtk_object_set_data (GTK_OBJECT (intf_network), "tooltips", tooltips);
1670
1671   return intf_network;
1672 }
1673
1674 static GnomeUIInfo playlist_add_menu_uiinfo[] =
1675 {
1676   {
1677     GNOME_APP_UI_ITEM, N_("Disc"),
1678     NULL,
1679     (gpointer) GnomePlaylistDiscOpenActivate, NULL, NULL,
1680     GNOME_APP_PIXMAP_NONE, NULL,
1681     0, (GdkModifierType) 0, NULL
1682   },
1683   {
1684     GNOME_APP_UI_ITEM, N_("File"),
1685     NULL,
1686     (gpointer) GnomePlaylistFileOpenActivate, NULL, NULL,
1687     GNOME_APP_PIXMAP_NONE, NULL,
1688     0, (GdkModifierType) 0, NULL
1689   },
1690   {
1691     GNOME_APP_UI_ITEM, N_("Network"),
1692     NULL,
1693     (gpointer) GnomePlaylistNetworkOpenActivate, NULL, NULL,
1694     GNOME_APP_PIXMAP_NONE, NULL,
1695     0, (GdkModifierType) 0, NULL
1696   },
1697   {
1698     GNOME_APP_UI_ITEM, N_("Url"),
1699     NULL,
1700     (gpointer) GtkPlaylistAddUrl, NULL, NULL,
1701     GNOME_APP_PIXMAP_NONE, NULL,
1702     0, (GdkModifierType) 0, NULL
1703   },
1704   GNOMEUIINFO_END
1705 };
1706
1707 static GnomeUIInfo playlist_delete_menu_uiinfo[] =
1708 {
1709   {
1710     GNOME_APP_UI_ITEM, N_("All"),
1711     NULL,
1712     (gpointer) GtkPlaylistDeleteAll, NULL, NULL,
1713     GNOME_APP_PIXMAP_NONE, NULL,
1714     0, (GdkModifierType) 0, NULL
1715   },
1716   {
1717     GNOME_APP_UI_ITEM, N_("Item"),
1718     NULL,
1719     (gpointer) GtkPlaylistDeleteSelected, NULL, NULL,
1720     GNOME_APP_PIXMAP_NONE, NULL,
1721     0, (GdkModifierType) 0, NULL
1722   },
1723   GNOMEUIINFO_END
1724 };
1725
1726 static GnomeUIInfo playlist_selection_menu_uiinfo[] =
1727 {
1728   {
1729     GNOME_APP_UI_ITEM, N_("Crop"),
1730     NULL,
1731     (gpointer) GtkPlaylistCrop, NULL, NULL,
1732     GNOME_APP_PIXMAP_NONE, NULL,
1733     0, (GdkModifierType) 0, NULL
1734   },
1735   {
1736     GNOME_APP_UI_ITEM, N_("Invert"),
1737     NULL,
1738     (gpointer) GtkPlaylistInvert, NULL, NULL,
1739     GNOME_APP_PIXMAP_NONE, NULL,
1740     0, (GdkModifierType) 0, NULL
1741   },
1742   {
1743     GNOME_APP_UI_ITEM, N_("Select"),
1744     NULL,
1745     (gpointer) GtkPlaylistSelect, NULL, NULL,
1746     GNOME_APP_PIXMAP_NONE, NULL,
1747     0, (GdkModifierType) 0, NULL
1748   },
1749   GNOMEUIINFO_END
1750 };
1751
1752 static GnomeUIInfo playlist_menubar_uiinfo[] =
1753 {
1754   {
1755     GNOME_APP_UI_SUBTREE, N_("Add"),
1756     NULL,
1757     playlist_add_menu_uiinfo, NULL, NULL,
1758     GNOME_APP_PIXMAP_NONE, NULL,
1759     0, (GdkModifierType) 0, NULL
1760   },
1761   {
1762     GNOME_APP_UI_SUBTREE, N_("Delete"),
1763     NULL,
1764     playlist_delete_menu_uiinfo, NULL, NULL,
1765     GNOME_APP_PIXMAP_NONE, NULL,
1766     0, (GdkModifierType) 0, NULL
1767   },
1768   {
1769     GNOME_APP_UI_SUBTREE, N_("Selection"),
1770     NULL,
1771     playlist_selection_menu_uiinfo, NULL, NULL,
1772     GNOME_APP_PIXMAP_NONE, NULL,
1773     0, (GdkModifierType) 0, NULL
1774   },
1775   GNOMEUIINFO_END
1776 };
1777
1778 GtkWidget*
1779 create_intf_playlist (void)
1780 {
1781   GtkWidget *intf_playlist;
1782   GtkWidget *playlist_vbox;
1783   GtkWidget *playlist_scrolledwindow;
1784   GtkWidget *playlist_viewport;
1785   GtkWidget *playlist_frame;
1786   GtkWidget *playlist_clist;
1787   GtkWidget *playlist_label_url;
1788   GtkWidget *playlist_label_duration;
1789   GtkWidget *playlist_menubar;
1790   GtkWidget *playlist_action;
1791   GtkWidget *playlist_ok;
1792   GtkWidget *playlist_cancel;
1793
1794   intf_playlist = gnome_dialog_new (_("Playlist"), NULL);
1795   gtk_object_set_data (GTK_OBJECT (intf_playlist), "intf_playlist", intf_playlist);
1796   gtk_window_set_default_size (GTK_WINDOW (intf_playlist), 400, 300);
1797   gtk_window_set_policy (GTK_WINDOW (intf_playlist), TRUE, TRUE, FALSE);
1798
1799   playlist_vbox = GNOME_DIALOG (intf_playlist)->vbox;
1800   gtk_object_set_data (GTK_OBJECT (intf_playlist), "playlist_vbox", playlist_vbox);
1801   gtk_widget_show (playlist_vbox);
1802
1803   playlist_scrolledwindow = gtk_scrolled_window_new (NULL, NULL);
1804   gtk_widget_ref (playlist_scrolledwindow);
1805   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_scrolledwindow", playlist_scrolledwindow,
1806                             (GtkDestroyNotify) gtk_widget_unref);
1807   gtk_widget_show (playlist_scrolledwindow);
1808   gtk_box_pack_start (GTK_BOX (playlist_vbox), playlist_scrolledwindow, TRUE, TRUE, 0);
1809   gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (playlist_scrolledwindow), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
1810
1811   playlist_viewport = gtk_viewport_new (NULL, NULL);
1812   gtk_widget_ref (playlist_viewport);
1813   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_viewport", playlist_viewport,
1814                             (GtkDestroyNotify) gtk_widget_unref);
1815   gtk_widget_show (playlist_viewport);
1816   gtk_container_add (GTK_CONTAINER (playlist_scrolledwindow), playlist_viewport);
1817
1818   playlist_frame = gtk_frame_new (_("Playlist"));
1819   gtk_widget_ref (playlist_frame);
1820   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_frame", playlist_frame,
1821                             (GtkDestroyNotify) gtk_widget_unref);
1822   gtk_widget_show (playlist_frame);
1823   gtk_container_add (GTK_CONTAINER (playlist_viewport), playlist_frame);
1824   gtk_container_set_border_width (GTK_CONTAINER (playlist_frame), 4);
1825   gtk_frame_set_label_align (GTK_FRAME (playlist_frame), 0.05, 0.5);
1826
1827   playlist_clist = gtk_clist_new (2);
1828   gtk_widget_ref (playlist_clist);
1829   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_clist", playlist_clist,
1830                             (GtkDestroyNotify) gtk_widget_unref);
1831   gtk_widget_show (playlist_clist);
1832   gtk_container_add (GTK_CONTAINER (playlist_frame), playlist_clist);
1833   gtk_clist_set_column_width (GTK_CLIST (playlist_clist), 0, 287);
1834   gtk_clist_set_column_width (GTK_CLIST (playlist_clist), 1, 70);
1835   gtk_clist_column_titles_show (GTK_CLIST (playlist_clist));
1836
1837   playlist_label_url = gtk_label_new (_("Url"));
1838   gtk_widget_ref (playlist_label_url);
1839   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_label_url", playlist_label_url,
1840                             (GtkDestroyNotify) gtk_widget_unref);
1841   gtk_widget_show (playlist_label_url);
1842   gtk_clist_set_column_widget (GTK_CLIST (playlist_clist), 0, playlist_label_url);
1843
1844   playlist_label_duration = gtk_label_new (_("Duration"));
1845   gtk_widget_ref (playlist_label_duration);
1846   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_label_duration", playlist_label_duration,
1847                             (GtkDestroyNotify) gtk_widget_unref);
1848   gtk_widget_show (playlist_label_duration);
1849   gtk_clist_set_column_widget (GTK_CLIST (playlist_clist), 1, playlist_label_duration);
1850
1851   playlist_menubar = gtk_menu_bar_new ();
1852   gtk_widget_ref (playlist_menubar);
1853   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_menubar", playlist_menubar,
1854                             (GtkDestroyNotify) gtk_widget_unref);
1855   gtk_widget_show (playlist_menubar);
1856   gtk_box_pack_start (GTK_BOX (playlist_vbox), playlist_menubar, FALSE, FALSE, 0);
1857   gnome_app_fill_menu (GTK_MENU_SHELL (playlist_menubar), playlist_menubar_uiinfo,
1858                        NULL, FALSE, 0);
1859
1860   gtk_widget_ref (playlist_menubar_uiinfo[0].widget);
1861   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add",
1862                             playlist_menubar_uiinfo[0].widget,
1863                             (GtkDestroyNotify) gtk_widget_unref);
1864
1865   gtk_widget_ref (playlist_add_menu_uiinfo[0].widget);
1866   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_disc",
1867                             playlist_add_menu_uiinfo[0].widget,
1868                             (GtkDestroyNotify) gtk_widget_unref);
1869
1870   gtk_widget_ref (playlist_add_menu_uiinfo[1].widget);
1871   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_file",
1872                             playlist_add_menu_uiinfo[1].widget,
1873                             (GtkDestroyNotify) gtk_widget_unref);
1874
1875   gtk_widget_ref (playlist_add_menu_uiinfo[2].widget);
1876   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_network",
1877                             playlist_add_menu_uiinfo[2].widget,
1878                             (GtkDestroyNotify) gtk_widget_unref);
1879
1880   gtk_widget_ref (playlist_add_menu_uiinfo[3].widget);
1881   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_url",
1882                             playlist_add_menu_uiinfo[3].widget,
1883                             (GtkDestroyNotify) gtk_widget_unref);
1884
1885   gtk_widget_ref (playlist_menubar_uiinfo[1].widget);
1886   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_delete",
1887                             playlist_menubar_uiinfo[1].widget,
1888                             (GtkDestroyNotify) gtk_widget_unref);
1889
1890   gtk_widget_ref (playlist_delete_menu_uiinfo[0].widget);
1891   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_delete_all",
1892                             playlist_delete_menu_uiinfo[0].widget,
1893                             (GtkDestroyNotify) gtk_widget_unref);
1894
1895   gtk_widget_ref (playlist_delete_menu_uiinfo[1].widget);
1896   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_delete_item",
1897                             playlist_delete_menu_uiinfo[1].widget,
1898                             (GtkDestroyNotify) gtk_widget_unref);
1899
1900   gtk_widget_ref (playlist_menubar_uiinfo[2].widget);
1901   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection",
1902                             playlist_menubar_uiinfo[2].widget,
1903                             (GtkDestroyNotify) gtk_widget_unref);
1904
1905   gtk_widget_ref (playlist_selection_menu_uiinfo[0].widget);
1906   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection_crop",
1907                             playlist_selection_menu_uiinfo[0].widget,
1908                             (GtkDestroyNotify) gtk_widget_unref);
1909
1910   gtk_widget_ref (playlist_selection_menu_uiinfo[1].widget);
1911   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection_invert",
1912                             playlist_selection_menu_uiinfo[1].widget,
1913                             (GtkDestroyNotify) gtk_widget_unref);
1914
1915   gtk_widget_ref (playlist_selection_menu_uiinfo[2].widget);
1916   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection_select",
1917                             playlist_selection_menu_uiinfo[2].widget,
1918                             (GtkDestroyNotify) gtk_widget_unref);
1919
1920   playlist_action = GNOME_DIALOG (intf_playlist)->action_area;
1921   gtk_object_set_data (GTK_OBJECT (intf_playlist), "playlist_action", playlist_action);
1922   gtk_widget_show (playlist_action);
1923   gtk_button_box_set_layout (GTK_BUTTON_BOX (playlist_action), GTK_BUTTONBOX_END);
1924   gtk_button_box_set_spacing (GTK_BUTTON_BOX (playlist_action), 8);
1925   gtk_button_box_set_child_size (GTK_BUTTON_BOX (playlist_action), 100, 38);
1926
1927   gnome_dialog_append_button (GNOME_DIALOG (intf_playlist), GNOME_STOCK_BUTTON_OK);
1928   playlist_ok = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_playlist)->buttons)->data);
1929   gtk_widget_ref (playlist_ok);
1930   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_ok", playlist_ok,
1931                             (GtkDestroyNotify) gtk_widget_unref);
1932   gtk_widget_show (playlist_ok);
1933   GTK_WIDGET_SET_FLAGS (playlist_ok, GTK_CAN_DEFAULT);
1934
1935   gnome_dialog_append_button (GNOME_DIALOG (intf_playlist), GNOME_STOCK_BUTTON_CANCEL);
1936   playlist_cancel = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_playlist)->buttons)->data);
1937   gtk_widget_ref (playlist_cancel);
1938   gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_cancel", playlist_cancel,
1939                             (GtkDestroyNotify) gtk_widget_unref);
1940   gtk_widget_show (playlist_cancel);
1941   GTK_WIDGET_SET_FLAGS (playlist_cancel, GTK_CAN_DEFAULT);
1942
1943   gtk_signal_connect (GTK_OBJECT (intf_playlist), "destroy",
1944                       GTK_SIGNAL_FUNC (gtk_widget_hide),
1945                       "intf_playlist");
1946   gtk_signal_connect (GTK_OBJECT (intf_playlist), "delete_event",
1947                       GTK_SIGNAL_FUNC (gtk_widget_hide),
1948                       "intf_playlist");
1949   gtk_signal_connect (GTK_OBJECT (playlist_clist), "event",
1950                       GTK_SIGNAL_FUNC (GtkPlaylistEvent),
1951                       "intf_playlist");
1952   gtk_signal_connect (GTK_OBJECT (playlist_clist), "drag_data_received",
1953                       GTK_SIGNAL_FUNC (GtkPlaylistDragData),
1954                       "intf_playlist");
1955   gtk_signal_connect (GTK_OBJECT (playlist_clist), "drag_motion",
1956                       GTK_SIGNAL_FUNC (GtkPlaylistDragMotion),
1957                       "intf_playlist");
1958   gtk_signal_connect (GTK_OBJECT (playlist_ok), "clicked",
1959                       GTK_SIGNAL_FUNC (GtkPlaylistOk),
1960                       "intf_playlist");
1961   gtk_signal_connect (GTK_OBJECT (playlist_cancel), "clicked",
1962                       GTK_SIGNAL_FUNC (GtkPlaylistCancel),
1963                       "intf_playlist");
1964
1965   return intf_playlist;
1966 }
1967
1968 GtkWidget*
1969 create_intf_jump (void)
1970 {
1971   GtkWidget *intf_jump;
1972   GtkWidget *jump_vbox;
1973   GtkWidget *jump_frame;
1974   GtkWidget *jump_box;
1975   GtkWidget *jump_label3;
1976   GtkObject *jump_second_spinbutton_adj;
1977   GtkWidget *jump_second_spinbutton;
1978   GtkWidget *jump_label1;
1979   GtkObject *jump_minute_spinbutton_adj;
1980   GtkWidget *jump_minute_spinbutton;
1981   GtkWidget *jump_label2;
1982   GtkObject *jump_hour_spinbutton_adj;
1983   GtkWidget *jump_hour_spinbutton;
1984   GtkWidget *jump_action;
1985   GtkWidget *jump_ok;
1986   GtkWidget *jump_cancel;
1987
1988   intf_jump = gnome_dialog_new (NULL, NULL);
1989   gtk_object_set_data (GTK_OBJECT (intf_jump), "intf_jump", intf_jump);
1990   gtk_window_set_policy (GTK_WINDOW (intf_jump), FALSE, FALSE, FALSE);
1991
1992   jump_vbox = GNOME_DIALOG (intf_jump)->vbox;
1993   gtk_object_set_data (GTK_OBJECT (intf_jump), "jump_vbox", jump_vbox);
1994   gtk_widget_show (jump_vbox);
1995
1996   jump_frame = gtk_frame_new (_("Jump to: "));
1997   gtk_widget_ref (jump_frame);
1998   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_frame", jump_frame,
1999                             (GtkDestroyNotify) gtk_widget_unref);
2000   gtk_widget_show (jump_frame);
2001   gtk_box_pack_start (GTK_BOX (jump_vbox), jump_frame, FALSE, FALSE, 0);
2002   gtk_container_set_border_width (GTK_CONTAINER (jump_frame), 5);
2003   gtk_frame_set_label_align (GTK_FRAME (jump_frame), 0.05, 0.5);
2004
2005   jump_box = gtk_hbox_new (FALSE, 0);
2006   gtk_widget_ref (jump_box);
2007   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_box", jump_box,
2008                             (GtkDestroyNotify) gtk_widget_unref);
2009   gtk_widget_show (jump_box);
2010   gtk_container_add (GTK_CONTAINER (jump_frame), jump_box);
2011   gtk_container_set_border_width (GTK_CONTAINER (jump_box), 5);
2012
2013   jump_label3 = gtk_label_new (_("s."));
2014   gtk_widget_ref (jump_label3);
2015   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_label3", jump_label3,
2016                             (GtkDestroyNotify) gtk_widget_unref);
2017   gtk_widget_show (jump_label3);
2018   gtk_box_pack_end (GTK_BOX (jump_box), jump_label3, FALSE, FALSE, 0);
2019
2020   jump_second_spinbutton_adj = gtk_adjustment_new (0, 0, 100, 1, 10, 10);
2021   jump_second_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (jump_second_spinbutton_adj), 1, 0);
2022   gtk_widget_ref (jump_second_spinbutton);
2023   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_second_spinbutton", jump_second_spinbutton,
2024                             (GtkDestroyNotify) gtk_widget_unref);
2025   gtk_widget_show (jump_second_spinbutton);
2026   gtk_box_pack_end (GTK_BOX (jump_box), jump_second_spinbutton, FALSE, FALSE, 5);
2027
2028   jump_label1 = gtk_label_new (_("m:"));
2029   gtk_widget_ref (jump_label1);
2030   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_label1", jump_label1,
2031                             (GtkDestroyNotify) gtk_widget_unref);
2032   gtk_widget_show (jump_label1);
2033   gtk_box_pack_end (GTK_BOX (jump_box), jump_label1, FALSE, FALSE, 5);
2034
2035   jump_minute_spinbutton_adj = gtk_adjustment_new (0, 0, 59, 1, 10, 10);
2036   jump_minute_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (jump_minute_spinbutton_adj), 1, 0);
2037   gtk_widget_ref (jump_minute_spinbutton);
2038   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_minute_spinbutton", jump_minute_spinbutton,
2039                             (GtkDestroyNotify) gtk_widget_unref);
2040   gtk_widget_show (jump_minute_spinbutton);
2041   gtk_box_pack_end (GTK_BOX (jump_box), jump_minute_spinbutton, FALSE, FALSE, 5);
2042
2043   jump_label2 = gtk_label_new (_("h:"));
2044   gtk_widget_ref (jump_label2);
2045   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_label2", jump_label2,
2046                             (GtkDestroyNotify) gtk_widget_unref);
2047   gtk_widget_show (jump_label2);
2048   gtk_box_pack_end (GTK_BOX (jump_box), jump_label2, FALSE, FALSE, 5);
2049
2050   jump_hour_spinbutton_adj = gtk_adjustment_new (0, 0, 10, 1, 10, 10);
2051   jump_hour_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (jump_hour_spinbutton_adj), 1, 0);
2052   gtk_widget_ref (jump_hour_spinbutton);
2053   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_hour_spinbutton", jump_hour_spinbutton,
2054                             (GtkDestroyNotify) gtk_widget_unref);
2055   gtk_widget_show (jump_hour_spinbutton);
2056   gtk_box_pack_end (GTK_BOX (jump_box), jump_hour_spinbutton, FALSE, FALSE, 5);
2057
2058   jump_action = GNOME_DIALOG (intf_jump)->action_area;
2059   gtk_object_set_data (GTK_OBJECT (intf_jump), "jump_action", jump_action);
2060   gtk_widget_show (jump_action);
2061   gtk_button_box_set_layout (GTK_BUTTON_BOX (jump_action), GTK_BUTTONBOX_END);
2062   gtk_button_box_set_spacing (GTK_BUTTON_BOX (jump_action), 8);
2063
2064   gnome_dialog_append_button (GNOME_DIALOG (intf_jump), GNOME_STOCK_BUTTON_OK);
2065   jump_ok = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_jump)->buttons)->data);
2066   gtk_widget_ref (jump_ok);
2067   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_ok", jump_ok,
2068                             (GtkDestroyNotify) gtk_widget_unref);
2069   gtk_widget_show (jump_ok);
2070   GTK_WIDGET_SET_FLAGS (jump_ok, GTK_CAN_DEFAULT);
2071
2072   gnome_dialog_append_button (GNOME_DIALOG (intf_jump), GNOME_STOCK_BUTTON_CANCEL);
2073   jump_cancel = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_jump)->buttons)->data);
2074   gtk_widget_ref (jump_cancel);
2075   gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_cancel", jump_cancel,
2076                             (GtkDestroyNotify) gtk_widget_unref);
2077   gtk_widget_show (jump_cancel);
2078   GTK_WIDGET_SET_FLAGS (jump_cancel, GTK_CAN_DEFAULT);
2079
2080   gtk_signal_connect (GTK_OBJECT (jump_ok), "clicked",
2081                       GTK_SIGNAL_FUNC (GtkJumpOk),
2082                       "intf_jump");
2083   gtk_signal_connect (GTK_OBJECT (jump_cancel), "clicked",
2084                       GTK_SIGNAL_FUNC (GtkJumpCancel),
2085                       "intf_jump");
2086
2087   return intf_jump;
2088 }
2089
2090 GtkWidget*
2091 create_intf_preferences (void)
2092 {
2093   GtkWidget *intf_preferences;
2094   GtkWidget *preferences_vbox;
2095   GtkWidget *preferences_frame;
2096   GtkWidget *preferences_notebook;
2097   GtkWidget *preferences_file_table;
2098   GtkWidget *preferences_file_combo;
2099   GtkWidget *preferences_file_path_entry;
2100   GtkWidget *preferences_file_path_label;
2101   GtkWidget *preferences_file;
2102   GtkWidget *preferences_disc_table;
2103   GtkWidget *preferences_disc_dvd_combo;
2104   GtkWidget *preferences_disc_dvd_entry;
2105   GtkWidget *preferences_file_vcd_combo;
2106   GtkWidget *preferences_disc_vcd_entry;
2107   GtkWidget *preferences_disc_dvd_label;
2108   GtkWidget *preferences_disc_vcd_label;
2109   GtkWidget *preferences_disc;
2110   GtkWidget *preferences_network_table;
2111   GtkWidget *preferences_network_server_label;
2112   GtkObject *preferences_network_port_spinbutton_adj;
2113   GtkWidget *preferences_network_port_spinbutton;
2114   GtkWidget *preferences_network_broadcast_label;
2115   GtkWidget *preferences_network_port_label;
2116   GtkWidget *preferences_network_server_combo;
2117   GtkWidget *preferences_network_server_entry;
2118   GtkWidget *preferences_network_broadcast_combo;
2119   GtkWidget *preferences_network_broadcast_entry;
2120   GtkWidget *preferences_network_broadcast_checkbutton;
2121   GSList *preferences_network_protocol_group_group = NULL;
2122   GtkWidget *preferences_network_ts_radiobutton;
2123   GtkWidget *preferences_network_rtp_radiobutton;
2124   GtkWidget *preferences_network_http_radiobutton;
2125   GtkWidget *preferences_network_protocol_label;
2126   GtkWidget *preferences_network;
2127   GtkWidget *preferences_network_interface_table;
2128   GtkWidget *preferences_interface_label;
2129   GtkWidget *preferences_interface_combo;
2130   GtkWidget *preferences_interface_entry;
2131   GtkWidget *preferences_interface;
2132   GtkWidget *preferences_video_table;
2133   GtkWidget *preferences_video_output_label;
2134   GtkWidget *preferences_video_height;
2135   GtkObject *preferences_video_height_spinbutton_adj;
2136   GtkWidget *preferences_video_height_spinbutton;
2137   GtkObject *preferences_video_width_spinbutton_adj;
2138   GtkWidget *preferences_video_width_spinbutton;
2139   GtkWidget *preferences_video_width_label;
2140   GtkWidget *preferences_video_output_combo;
2141   GtkWidget *preferences_video_output_entry;
2142   GtkWidget *preferences_video_depth;
2143   GtkWidget *preferences_video_depth_optionmenu;
2144   GtkWidget *preferences_video_depth_optionmenu_menu;
2145   GtkWidget *glade_menuitem;
2146   GtkWidget *preferences_video_fullscreen_depth;
2147   GtkWidget *preferences_video_fullscreen_depth_optionmenu;
2148   GtkWidget *preferences_video_fullscreen_depth_optionmenu_menu;
2149   GtkWidget *preferences_video_fullscreen_checkbutton;
2150   GtkWidget *preferences_video_grayscale_checkbutton;
2151   GtkWidget *preferences_video_gamma_label;
2152   GtkObject *spinbutton4_adj;
2153   GtkWidget *spinbutton4;
2154   GtkWidget *preferences_video;
2155   GtkWidget *preference_audio_table;
2156   GtkWidget *preferences_audio_spdif_checkbutton;
2157   GtkWidget *preferences_audio_output_label;
2158   GtkWidget *preferences_audio_output_combo;
2159   GtkWidget *preferences_audio_output_entry;
2160   GtkWidget *preferences_audio_frequency_label;
2161   GtkWidget *preferences_audio_frequency_optionmenu;
2162   GtkWidget *preferences_audio_frequency_optionmenu_menu;
2163   GtkWidget *preferences_audio_quality_label;
2164   GtkWidget *preferences_audio_quality_optionmenu;
2165   GtkWidget *preferences_audio_quality_optionmenu_menu;
2166   GtkWidget *preferences_audio_channels_label;
2167   GtkWidget *preferences_audio_channels_optionmenu;
2168   GtkWidget *preferences_audio_channels_optionmenu_menu;
2169   GtkWidget *preferences_audio_device_label;
2170   GtkWidget *preferences_audio_device_combo;
2171   GtkWidget *preferences_audio_device_entry;
2172   GtkWidget *preferences_audio;
2173   GtkWidget *preference_playlist_table;
2174   GtkWidget *preferences_playlist_startup_checkbutton;
2175   GtkWidget *preferences_playlist_loop_checkbutton;
2176   GtkWidget *preferences_playlist_enqueue_checkbutton;
2177   GtkWidget *preferences_playlist;
2178   GtkWidget *preferences_misc_table;
2179   GtkWidget *preferences_misc_associated_files_frame;
2180   GtkWidget *preferences_misc_associated_table;
2181   GtkWidget *preferences_misc_ts_checkbutton;
2182   GtkWidget *preferences_misc_vob_checkbutton;
2183   GtkWidget *preferences_misc_mp2_checkbutton;
2184   GtkWidget *preferences_misc_mpeg_checkbutton;
2185   GtkWidget *preferences_misc_message_frame;
2186   GtkWidget *preferences_misc_message_table;
2187   GtkWidget *preferences_misc_messages_label;
2188   GtkObject *preferences_misc_messages_spinbutton_adj;
2189   GtkWidget *preferences_misc_messages_spinbutton;
2190   GtkWidget *preferences_misc;
2191   GtkWidget *preferences_dialog;
2192   GtkWidget *preferences_ok;
2193   GtkWidget *preferences_apply;
2194   GtkWidget *preferences_cancel;
2195
2196   intf_preferences = gnome_dialog_new (_("Preferences"), NULL);
2197   gtk_object_set_data (GTK_OBJECT (intf_preferences), "intf_preferences", intf_preferences);
2198   gtk_window_set_default_size (GTK_WINDOW (intf_preferences), 450, 350);
2199   gtk_window_set_policy (GTK_WINDOW (intf_preferences), TRUE, TRUE, FALSE);
2200
2201   preferences_vbox = GNOME_DIALOG (intf_preferences)->vbox;
2202   gtk_object_set_data (GTK_OBJECT (intf_preferences), "preferences_vbox", preferences_vbox);
2203   gtk_widget_show (preferences_vbox);
2204   gtk_container_set_border_width (GTK_CONTAINER (preferences_vbox), 5);
2205
2206   preferences_frame = gtk_frame_new (_("Preferences"));
2207   gtk_widget_ref (preferences_frame);
2208   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_frame", preferences_frame,
2209                             (GtkDestroyNotify) gtk_widget_unref);
2210   gtk_widget_show (preferences_frame);
2211   gtk_box_pack_start (GTK_BOX (preferences_vbox), preferences_frame, TRUE, TRUE, 0);
2212   gtk_frame_set_label_align (GTK_FRAME (preferences_frame), 0.05, 0.5);
2213
2214   preferences_notebook = gtk_notebook_new ();
2215   gtk_widget_ref (preferences_notebook);
2216   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_notebook", preferences_notebook,
2217                             (GtkDestroyNotify) gtk_widget_unref);
2218   gtk_widget_show (preferences_notebook);
2219   gtk_container_add (GTK_CONTAINER (preferences_frame), preferences_notebook);
2220
2221   preferences_file_table = gtk_table_new (1, 2, FALSE);
2222   gtk_widget_ref (preferences_file_table);
2223   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_file_table", preferences_file_table,
2224                             (GtkDestroyNotify) gtk_widget_unref);
2225   gtk_widget_show (preferences_file_table);
2226   gtk_container_add (GTK_CONTAINER (preferences_notebook), preferences_file_table);
2227   gtk_container_set_border_width (GTK_CONTAINER (preferences_file_table), 5);
2228   gtk_table_set_row_spacings (GTK_TABLE (preferences_file_table), 5);
2229   gtk_table_set_col_spacings (GTK_TABLE (preferences_file_table), 5);
2230
2231   preferences_file_combo = gnome_file_entry_new (NULL, NULL);
2232   gtk_widget_ref (preferences_file_combo);
2233   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_file_combo", preferences_file_combo,
2234                             (GtkDestroyNotify) gtk_widget_unref);
2235   gtk_widget_show (preferences_file_combo);
2236   gtk_table_attach (GTK_TABLE (preferences_file_table), preferences_file_combo, 1, 2, 0, 1,
2237                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2238                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2239
2240   preferences_file_path_entry = gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (preferences_file_combo));
2241   gtk_widget_ref (preferences_file_path_entry);
2242   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_file_path_entry", preferences_file_path_entry,
2243                             (GtkDestroyNotify) gtk_widget_unref);
2244   gtk_widget_show (preferences_file_path_entry);
2245
2246   preferences_file_path_label = gtk_label_new (_("Default path: "));
2247   gtk_widget_ref (preferences_file_path_label);
2248   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_file_path_label", preferences_file_path_label,
2249                             (GtkDestroyNotify) gtk_widget_unref);
2250   gtk_widget_show (preferences_file_path_label);
2251   gtk_table_attach (GTK_TABLE (preferences_file_table), preferences_file_path_label, 0, 1, 0, 1,
2252                     (GtkAttachOptions) (GTK_EXPAND),
2253                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2254   gtk_misc_set_alignment (GTK_MISC (preferences_file_path_label), 0, 0.5);
2255
2256   preferences_file = gtk_label_new (_("File"));
2257   gtk_widget_ref (preferences_file);
2258   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_file", preferences_file,
2259                             (GtkDestroyNotify) gtk_widget_unref);
2260   gtk_widget_show (preferences_file);
2261   gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 0), preferences_file);
2262
2263   preferences_disc_table = gtk_table_new (2, 2, FALSE);
2264   gtk_widget_ref (preferences_disc_table);
2265   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_disc_table", preferences_disc_table,
2266                             (GtkDestroyNotify) gtk_widget_unref);
2267   gtk_widget_show (preferences_disc_table);
2268   gtk_container_add (GTK_CONTAINER (preferences_notebook), preferences_disc_table);
2269   gtk_container_set_border_width (GTK_CONTAINER (preferences_disc_table), 5);
2270   gtk_table_set_row_spacings (GTK_TABLE (preferences_disc_table), 5);
2271   gtk_table_set_col_spacings (GTK_TABLE (preferences_disc_table), 5);
2272
2273   preferences_disc_dvd_combo = gnome_file_entry_new (NULL, NULL);
2274   gtk_widget_ref (preferences_disc_dvd_combo);
2275   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_disc_dvd_combo", preferences_disc_dvd_combo,
2276                             (GtkDestroyNotify) gtk_widget_unref);
2277   gtk_widget_show (preferences_disc_dvd_combo);
2278   gtk_table_attach (GTK_TABLE (preferences_disc_table), preferences_disc_dvd_combo, 1, 2, 0, 1,
2279                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2280                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2281
2282   preferences_disc_dvd_entry = gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (preferences_disc_dvd_combo));
2283   gtk_widget_ref (preferences_disc_dvd_entry);
2284   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_disc_dvd_entry", preferences_disc_dvd_entry,
2285                             (GtkDestroyNotify) gtk_widget_unref);
2286   gtk_widget_show (preferences_disc_dvd_entry);
2287
2288   preferences_file_vcd_combo = gnome_file_entry_new (NULL, NULL);
2289   gtk_widget_ref (preferences_file_vcd_combo);
2290   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_file_vcd_combo", preferences_file_vcd_combo,
2291                             (GtkDestroyNotify) gtk_widget_unref);
2292   gtk_widget_show (preferences_file_vcd_combo);
2293   gtk_table_attach (GTK_TABLE (preferences_disc_table), preferences_file_vcd_combo, 1, 2, 1, 2,
2294                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2295                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2296
2297   preferences_disc_vcd_entry = gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (preferences_file_vcd_combo));
2298   gtk_widget_ref (preferences_disc_vcd_entry);
2299   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_disc_vcd_entry", preferences_disc_vcd_entry,
2300                             (GtkDestroyNotify) gtk_widget_unref);
2301   gtk_widget_show (preferences_disc_vcd_entry);
2302
2303   preferences_disc_dvd_label = gtk_label_new (_("Default DVD path: "));
2304   gtk_widget_ref (preferences_disc_dvd_label);
2305   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_disc_dvd_label", preferences_disc_dvd_label,
2306                             (GtkDestroyNotify) gtk_widget_unref);
2307   gtk_widget_show (preferences_disc_dvd_label);
2308   gtk_table_attach (GTK_TABLE (preferences_disc_table), preferences_disc_dvd_label, 0, 1, 0, 1,
2309                     (GtkAttachOptions) (GTK_EXPAND),
2310                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2311   gtk_misc_set_alignment (GTK_MISC (preferences_disc_dvd_label), 0, 0.5);
2312
2313   preferences_disc_vcd_label = gtk_label_new (_("Default VCD path: "));
2314   gtk_widget_ref (preferences_disc_vcd_label);
2315   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_disc_vcd_label", preferences_disc_vcd_label,
2316                             (GtkDestroyNotify) gtk_widget_unref);
2317   gtk_widget_show (preferences_disc_vcd_label);
2318   gtk_table_attach (GTK_TABLE (preferences_disc_table), preferences_disc_vcd_label, 0, 1, 1, 2,
2319                     (GtkAttachOptions) (GTK_EXPAND),
2320                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2321   gtk_misc_set_alignment (GTK_MISC (preferences_disc_vcd_label), 0, 0.5);
2322
2323   preferences_disc = gtk_label_new (_("Disc"));
2324   gtk_widget_ref (preferences_disc);
2325   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_disc", preferences_disc,
2326                             (GtkDestroyNotify) gtk_widget_unref);
2327   gtk_widget_show (preferences_disc);
2328   gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 1), preferences_disc);
2329
2330   preferences_network_table = gtk_table_new (7, 2, FALSE);
2331   gtk_widget_ref (preferences_network_table);
2332   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_table", preferences_network_table,
2333                             (GtkDestroyNotify) gtk_widget_unref);
2334   gtk_widget_show (preferences_network_table);
2335   gtk_container_add (GTK_CONTAINER (preferences_notebook), preferences_network_table);
2336   gtk_container_set_border_width (GTK_CONTAINER (preferences_network_table), 5);
2337   gtk_table_set_row_spacings (GTK_TABLE (preferences_network_table), 5);
2338   gtk_table_set_col_spacings (GTK_TABLE (preferences_network_table), 5);
2339
2340   preferences_network_server_label = gtk_label_new (_("Default server: "));
2341   gtk_widget_ref (preferences_network_server_label);
2342   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_server_label", preferences_network_server_label,
2343                             (GtkDestroyNotify) gtk_widget_unref);
2344   gtk_widget_show (preferences_network_server_label);
2345   gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_server_label, 0, 1, 0, 1,
2346                     (GtkAttachOptions) (GTK_EXPAND),
2347                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2348   gtk_misc_set_alignment (GTK_MISC (preferences_network_server_label), 0, 0.5);
2349
2350   preferences_network_port_spinbutton_adj = gtk_adjustment_new (1234, 0, 65535, 1, 10, 10);
2351   preferences_network_port_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (preferences_network_port_spinbutton_adj), 1, 0);
2352   gtk_widget_ref (preferences_network_port_spinbutton);
2353   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_port_spinbutton", preferences_network_port_spinbutton,
2354                             (GtkDestroyNotify) gtk_widget_unref);
2355   gtk_widget_show (preferences_network_port_spinbutton);
2356   gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_port_spinbutton, 1, 2, 1, 2,
2357                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2358                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2359
2360   preferences_network_broadcast_label = gtk_label_new (_("Broadcast address: "));
2361   gtk_widget_ref (preferences_network_broadcast_label);
2362   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_broadcast_label", preferences_network_broadcast_label,
2363                             (GtkDestroyNotify) gtk_widget_unref);
2364   gtk_widget_show (preferences_network_broadcast_label);
2365   gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_broadcast_label, 0, 1, 2, 3,
2366                     (GtkAttachOptions) (GTK_EXPAND),
2367                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2368   gtk_misc_set_alignment (GTK_MISC (preferences_network_broadcast_label), 0, 0.5);
2369
2370   preferences_network_port_label = gtk_label_new (_("Default port: "));
2371   gtk_widget_ref (preferences_network_port_label);
2372   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_port_label", preferences_network_port_label,
2373                             (GtkDestroyNotify) gtk_widget_unref);
2374   gtk_widget_show (preferences_network_port_label);
2375   gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_port_label, 0, 1, 1, 2,
2376                     (GtkAttachOptions) (GTK_EXPAND),
2377                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2378   gtk_misc_set_alignment (GTK_MISC (preferences_network_port_label), 0, 0.5);
2379
2380   preferences_network_server_combo = gnome_entry_new (NULL);
2381   gtk_widget_ref (preferences_network_server_combo);
2382   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_server_combo", preferences_network_server_combo,
2383                             (GtkDestroyNotify) gtk_widget_unref);
2384   gtk_widget_show (preferences_network_server_combo);
2385   gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_server_combo, 1, 2, 0, 1,
2386                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2387                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2388
2389   preferences_network_server_entry = gnome_entry_gtk_entry (GNOME_ENTRY (preferences_network_server_combo));
2390   gtk_widget_ref (preferences_network_server_entry);
2391   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_server_entry", preferences_network_server_entry,
2392                             (GtkDestroyNotify) gtk_widget_unref);
2393   gtk_widget_show (preferences_network_server_entry);
2394   gtk_entry_set_text (GTK_ENTRY (preferences_network_server_entry), _("vls"));
2395
2396   preferences_network_broadcast_combo = gnome_entry_new (NULL);
2397   gtk_widget_ref (preferences_network_broadcast_combo);
2398   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_broadcast_combo", preferences_network_broadcast_combo,
2399                             (GtkDestroyNotify) gtk_widget_unref);
2400   gtk_widget_show (preferences_network_broadcast_combo);
2401   gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_broadcast_combo, 1, 2, 2, 3,
2402                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2403                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2404
2405   preferences_network_broadcast_entry = gnome_entry_gtk_entry (GNOME_ENTRY (preferences_network_broadcast_combo));
2406   gtk_widget_ref (preferences_network_broadcast_entry);
2407   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_broadcast_entry", preferences_network_broadcast_entry,
2408                             (GtkDestroyNotify) gtk_widget_unref);
2409   gtk_widget_show (preferences_network_broadcast_entry);
2410
2411   preferences_network_broadcast_checkbutton = gtk_check_button_new_with_label (_("Broadcast mode"));
2412   gtk_widget_ref (preferences_network_broadcast_checkbutton);
2413   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_broadcast_checkbutton", preferences_network_broadcast_checkbutton,
2414                             (GtkDestroyNotify) gtk_widget_unref);
2415   gtk_widget_show (preferences_network_broadcast_checkbutton);
2416   gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_broadcast_checkbutton, 0, 1, 3, 4,
2417                     (GtkAttachOptions) (GTK_EXPAND),
2418                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2419
2420   preferences_network_ts_radiobutton = gtk_radio_button_new_with_label (preferences_network_protocol_group_group, _("TS"));
2421   preferences_network_protocol_group_group = gtk_radio_button_group (GTK_RADIO_BUTTON (preferences_network_ts_radiobutton));
2422   gtk_widget_ref (preferences_network_ts_radiobutton);
2423   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_ts_radiobutton", preferences_network_ts_radiobutton,
2424                             (GtkDestroyNotify) gtk_widget_unref);
2425   gtk_widget_show (preferences_network_ts_radiobutton);
2426   gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_ts_radiobutton, 1, 2, 4, 5,
2427                     (GtkAttachOptions) (GTK_FILL),
2428                     (GtkAttachOptions) (GTK_SHRINK), 0, 0);
2429
2430   preferences_network_rtp_radiobutton = gtk_radio_button_new_with_label (preferences_network_protocol_group_group, _("RTP"));
2431   preferences_network_protocol_group_group = gtk_radio_button_group (GTK_RADIO_BUTTON (preferences_network_rtp_radiobutton));
2432   gtk_widget_ref (preferences_network_rtp_radiobutton);
2433   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_rtp_radiobutton", preferences_network_rtp_radiobutton,
2434                             (GtkDestroyNotify) gtk_widget_unref);
2435   gtk_widget_show (preferences_network_rtp_radiobutton);
2436   gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_rtp_radiobutton, 1, 2, 5, 6,
2437                     (GtkAttachOptions) (GTK_FILL),
2438                     (GtkAttachOptions) (GTK_SHRINK), 0, 0);
2439
2440   preferences_network_http_radiobutton = gtk_radio_button_new_with_label (preferences_network_protocol_group_group, _("HTTP"));
2441   preferences_network_protocol_group_group = gtk_radio_button_group (GTK_RADIO_BUTTON (preferences_network_http_radiobutton));
2442   gtk_widget_ref (preferences_network_http_radiobutton);
2443   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_http_radiobutton", preferences_network_http_radiobutton,
2444                             (GtkDestroyNotify) gtk_widget_unref);
2445   gtk_widget_show (preferences_network_http_radiobutton);
2446   gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_http_radiobutton, 1, 2, 6, 7,
2447                     (GtkAttachOptions) (GTK_FILL),
2448                     (GtkAttachOptions) (GTK_SHRINK), 0, 0);
2449
2450   preferences_network_protocol_label = gtk_label_new (_("Default protocol: "));
2451   gtk_widget_ref (preferences_network_protocol_label);
2452   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_protocol_label", preferences_network_protocol_label,
2453                             (GtkDestroyNotify) gtk_widget_unref);
2454   gtk_widget_show (preferences_network_protocol_label);
2455   gtk_table_attach (GTK_TABLE (preferences_network_table), preferences_network_protocol_label, 0, 1, 4, 7,
2456                     (GtkAttachOptions) (GTK_EXPAND),
2457                     (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK), 0, 0);
2458   gtk_misc_set_alignment (GTK_MISC (preferences_network_protocol_label), 0, 0.5);
2459
2460   preferences_network = gtk_label_new (_("Network"));
2461   gtk_widget_ref (preferences_network);
2462   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network", preferences_network,
2463                             (GtkDestroyNotify) gtk_widget_unref);
2464   gtk_widget_show (preferences_network);
2465   gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 2), preferences_network);
2466
2467   preferences_network_interface_table = gtk_table_new (1, 2, FALSE);
2468   gtk_widget_ref (preferences_network_interface_table);
2469   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_network_interface_table", preferences_network_interface_table,
2470                             (GtkDestroyNotify) gtk_widget_unref);
2471   gtk_widget_show (preferences_network_interface_table);
2472   gtk_container_add (GTK_CONTAINER (preferences_notebook), preferences_network_interface_table);
2473   gtk_container_set_border_width (GTK_CONTAINER (preferences_network_interface_table), 5);
2474   gtk_table_set_row_spacings (GTK_TABLE (preferences_network_interface_table), 5);
2475   gtk_table_set_col_spacings (GTK_TABLE (preferences_network_interface_table), 5);
2476
2477   preferences_interface_label = gtk_label_new (_("Default interface: "));
2478   gtk_widget_ref (preferences_interface_label);
2479   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_interface_label", preferences_interface_label,
2480                             (GtkDestroyNotify) gtk_widget_unref);
2481   gtk_widget_show (preferences_interface_label);
2482   gtk_table_attach (GTK_TABLE (preferences_network_interface_table), preferences_interface_label, 0, 1, 0, 1,
2483                     (GtkAttachOptions) (GTK_EXPAND),
2484                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2485   gtk_misc_set_alignment (GTK_MISC (preferences_interface_label), 0, 0.5);
2486
2487   preferences_interface_combo = gnome_entry_new (NULL);
2488   gtk_widget_ref (preferences_interface_combo);
2489   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_interface_combo", preferences_interface_combo,
2490                             (GtkDestroyNotify) gtk_widget_unref);
2491   gtk_widget_show (preferences_interface_combo);
2492   gtk_table_attach (GTK_TABLE (preferences_network_interface_table), preferences_interface_combo, 1, 2, 0, 1,
2493                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2494                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2495
2496   preferences_interface_entry = gnome_entry_gtk_entry (GNOME_ENTRY (preferences_interface_combo));
2497   gtk_widget_ref (preferences_interface_entry);
2498   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_interface_entry", preferences_interface_entry,
2499                             (GtkDestroyNotify) gtk_widget_unref);
2500   gtk_widget_show (preferences_interface_entry);
2501
2502   preferences_interface = gtk_label_new (_("Interface"));
2503   gtk_widget_ref (preferences_interface);
2504   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_interface", preferences_interface,
2505                             (GtkDestroyNotify) gtk_widget_unref);
2506   gtk_widget_show (preferences_interface);
2507   gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 3), preferences_interface);
2508
2509   preferences_video_table = gtk_table_new (7, 2, FALSE);
2510   gtk_widget_ref (preferences_video_table);
2511   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_table", preferences_video_table,
2512                             (GtkDestroyNotify) gtk_widget_unref);
2513   gtk_widget_show (preferences_video_table);
2514   gtk_container_add (GTK_CONTAINER (preferences_notebook), preferences_video_table);
2515   gtk_container_set_border_width (GTK_CONTAINER (preferences_video_table), 5);
2516   gtk_table_set_row_spacings (GTK_TABLE (preferences_video_table), 5);
2517   gtk_table_set_col_spacings (GTK_TABLE (preferences_video_table), 5);
2518
2519   preferences_video_output_label = gtk_label_new (_("Default output: "));
2520   gtk_widget_ref (preferences_video_output_label);
2521   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_output_label", preferences_video_output_label,
2522                             (GtkDestroyNotify) gtk_widget_unref);
2523   gtk_widget_show (preferences_video_output_label);
2524   gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_output_label, 0, 1, 0, 1,
2525                     (GtkAttachOptions) (GTK_EXPAND),
2526                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2527   gtk_misc_set_alignment (GTK_MISC (preferences_video_output_label), 0, 0.5);
2528
2529   preferences_video_height = gtk_label_new (_("Default height: "));
2530   gtk_widget_ref (preferences_video_height);
2531   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_height", preferences_video_height,
2532                             (GtkDestroyNotify) gtk_widget_unref);
2533   gtk_widget_show (preferences_video_height);
2534   gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_height, 0, 1, 2, 3,
2535                     (GtkAttachOptions) (GTK_EXPAND),
2536                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2537   gtk_misc_set_alignment (GTK_MISC (preferences_video_height), 0, 0.5);
2538
2539   preferences_video_height_spinbutton_adj = gtk_adjustment_new (576, 0, 1600, 1, 10, 10);
2540   preferences_video_height_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (preferences_video_height_spinbutton_adj), 1, 0);
2541   gtk_widget_ref (preferences_video_height_spinbutton);
2542   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_height_spinbutton", preferences_video_height_spinbutton,
2543                             (GtkDestroyNotify) gtk_widget_unref);
2544   gtk_widget_show (preferences_video_height_spinbutton);
2545   gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_height_spinbutton, 1, 2, 2, 3,
2546                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2547                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2548
2549   preferences_video_width_spinbutton_adj = gtk_adjustment_new (720, 100, 1600, 1, 10, 10);
2550   preferences_video_width_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (preferences_video_width_spinbutton_adj), 1, 0);
2551   gtk_widget_ref (preferences_video_width_spinbutton);
2552   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_width_spinbutton", preferences_video_width_spinbutton,
2553                             (GtkDestroyNotify) gtk_widget_unref);
2554   gtk_widget_show (preferences_video_width_spinbutton);
2555   gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_width_spinbutton, 1, 2, 1, 2,
2556                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2557                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2558
2559   preferences_video_width_label = gtk_label_new (_("Default width: "));
2560   gtk_widget_ref (preferences_video_width_label);
2561   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_width_label", preferences_video_width_label,
2562                             (GtkDestroyNotify) gtk_widget_unref);
2563   gtk_widget_show (preferences_video_width_label);
2564   gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_width_label, 0, 1, 1, 2,
2565                     (GtkAttachOptions) (GTK_EXPAND),
2566                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2567   gtk_misc_set_alignment (GTK_MISC (preferences_video_width_label), 0, 0.5);
2568
2569   preferences_video_output_combo = gnome_entry_new (NULL);
2570   gtk_widget_ref (preferences_video_output_combo);
2571   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_output_combo", preferences_video_output_combo,
2572                             (GtkDestroyNotify) gtk_widget_unref);
2573   gtk_widget_show (preferences_video_output_combo);
2574   gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_output_combo, 1, 2, 0, 1,
2575                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2576                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2577
2578   preferences_video_output_entry = gnome_entry_gtk_entry (GNOME_ENTRY (preferences_video_output_combo));
2579   gtk_widget_ref (preferences_video_output_entry);
2580   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_output_entry", preferences_video_output_entry,
2581                             (GtkDestroyNotify) gtk_widget_unref);
2582   gtk_widget_show (preferences_video_output_entry);
2583
2584   preferences_video_depth = gtk_label_new (_("Default depth:"));
2585   gtk_widget_ref (preferences_video_depth);
2586   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_depth", preferences_video_depth,
2587                             (GtkDestroyNotify) gtk_widget_unref);
2588   gtk_widget_show (preferences_video_depth);
2589   gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_depth, 0, 1, 3, 4,
2590                     (GtkAttachOptions) (GTK_EXPAND),
2591                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2592   gtk_misc_set_alignment (GTK_MISC (preferences_video_depth), 0, 0.5);
2593
2594   preferences_video_depth_optionmenu = gtk_option_menu_new ();
2595   gtk_widget_ref (preferences_video_depth_optionmenu);
2596   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_depth_optionmenu", preferences_video_depth_optionmenu,
2597                             (GtkDestroyNotify) gtk_widget_unref);
2598   gtk_widget_show (preferences_video_depth_optionmenu);
2599   gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_depth_optionmenu, 1, 2, 3, 4,
2600                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2601                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2602   preferences_video_depth_optionmenu_menu = gtk_menu_new ();
2603   glade_menuitem = gtk_menu_item_new_with_label (_("15 bits"));
2604   gtk_widget_show (glade_menuitem);
2605   gtk_menu_append (GTK_MENU (preferences_video_depth_optionmenu_menu), glade_menuitem);
2606   glade_menuitem = gtk_menu_item_new_with_label (_("16 bits"));
2607   gtk_widget_show (glade_menuitem);
2608   gtk_menu_append (GTK_MENU (preferences_video_depth_optionmenu_menu), glade_menuitem);
2609   glade_menuitem = gtk_menu_item_new_with_label (_("32 bits"));
2610   gtk_widget_show (glade_menuitem);
2611   gtk_menu_append (GTK_MENU (preferences_video_depth_optionmenu_menu), glade_menuitem);
2612   gtk_option_menu_set_menu (GTK_OPTION_MENU (preferences_video_depth_optionmenu), preferences_video_depth_optionmenu_menu);
2613   gtk_option_menu_set_history (GTK_OPTION_MENU (preferences_video_depth_optionmenu), 1);
2614
2615   preferences_video_fullscreen_depth = gtk_label_new (_("Fullscreen depth:"));
2616   gtk_widget_ref (preferences_video_fullscreen_depth);
2617   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_fullscreen_depth", preferences_video_fullscreen_depth,
2618                             (GtkDestroyNotify) gtk_widget_unref);
2619   gtk_widget_show (preferences_video_fullscreen_depth);
2620   gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_fullscreen_depth, 0, 1, 4, 5,
2621                     (GtkAttachOptions) (GTK_EXPAND),
2622                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2623   gtk_misc_set_alignment (GTK_MISC (preferences_video_fullscreen_depth), 0, 0.5);
2624
2625   preferences_video_fullscreen_depth_optionmenu = gtk_option_menu_new ();
2626   gtk_widget_ref (preferences_video_fullscreen_depth_optionmenu);
2627   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_fullscreen_depth_optionmenu", preferences_video_fullscreen_depth_optionmenu,
2628                             (GtkDestroyNotify) gtk_widget_unref);
2629   gtk_widget_show (preferences_video_fullscreen_depth_optionmenu);
2630   gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_fullscreen_depth_optionmenu, 1, 2, 4, 5,
2631                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2632                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
2633   preferences_video_fullscreen_depth_optionmenu_menu = gtk_menu_new ();
2634   glade_menuitem = gtk_menu_item_new_with_label (_("15 bits"));
2635   gtk_widget_show (glade_menuitem);
2636   gtk_menu_append (GTK_MENU (preferences_video_fullscreen_depth_optionmenu_menu), glade_menuitem);
2637   glade_menuitem = gtk_menu_item_new_with_label (_("16 bits"));
2638   gtk_widget_show (glade_menuitem);
2639   gtk_menu_append (GTK_MENU (preferences_video_fullscreen_depth_optionmenu_menu), glade_menuitem);
2640   glade_menuitem = gtk_menu_item_new_with_label (_("32 bits"));
2641   gtk_widget_show (glade_menuitem);
2642   gtk_menu_append (GTK_MENU (preferences_video_fullscreen_depth_optionmenu_menu), glade_menuitem);
2643   gtk_option_menu_set_menu (GTK_OPTION_MENU (preferences_video_fullscreen_depth_optionmenu), preferences_video_fullscreen_depth_optionmenu_menu);
2644   gtk_option_menu_set_history (GTK_OPTION_MENU (preferences_video_fullscreen_depth_optionmenu), 2);
2645
2646   preferences_video_fullscreen_checkbutton = gtk_check_button_new_with_label (_("Fullscreen on play"));
2647   gtk_widget_ref (preferences_video_fullscreen_checkbutton);
2648   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_fullscreen_checkbutton", preferences_video_fullscreen_checkbutton,
2649                             (GtkDestroyNotify) gtk_widget_unref);
2650   gtk_widget_show (preferences_video_fullscreen_checkbutton);
2651   gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_fullscreen_checkbutton, 0, 1, 6, 7,
2652                     (GtkAttachOptions) (GTK_EXPAND),
2653                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2654
2655   preferences_video_grayscale_checkbutton = gtk_check_button_new_with_label (_("Grayscale"));
2656   gtk_widget_ref (preferences_video_grayscale_checkbutton);
2657   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_grayscale_checkbutton", preferences_video_grayscale_checkbutton,
2658                             (GtkDestroyNotify) gtk_widget_unref);
2659   gtk_widget_show (preferences_video_grayscale_checkbutton);
2660   gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_grayscale_checkbutton, 1, 2, 6, 7,
2661                     (GtkAttachOptions) (GTK_EXPAND),
2662                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2663
2664   preferences_video_gamma_label = gtk_label_new (_("Gamma:"));
2665   gtk_widget_ref (preferences_video_gamma_label);
2666   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video_gamma_label", preferences_video_gamma_label,
2667                             (GtkDestroyNotify) gtk_widget_unref);
2668   gtk_widget_show (preferences_video_gamma_label);
2669   gtk_table_attach (GTK_TABLE (preferences_video_table), preferences_video_gamma_label, 0, 1, 5, 6,
2670                     (GtkAttachOptions) (GTK_EXPAND),
2671                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2672   gtk_misc_set_alignment (GTK_MISC (preferences_video_gamma_label), 0, 0.5);
2673
2674   spinbutton4_adj = gtk_adjustment_new (0, 0, 5, 0.1, 10, 10);
2675   spinbutton4 = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton4_adj), 1, 1);
2676   gtk_widget_ref (spinbutton4);
2677   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "spinbutton4", spinbutton4,
2678                             (GtkDestroyNotify) gtk_widget_unref);
2679   gtk_widget_show (spinbutton4);
2680   gtk_table_attach (GTK_TABLE (preferences_video_table), spinbutton4, 1, 2, 5, 6,
2681                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2682                     (GtkAttachOptions) (0), 0, 0);
2683
2684   preferences_video = gtk_label_new (_("Video"));
2685   gtk_widget_ref (preferences_video);
2686   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_video", preferences_video,
2687                             (GtkDestroyNotify) gtk_widget_unref);
2688   gtk_widget_show (preferences_video);
2689   gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 4), preferences_video);
2690
2691   preference_audio_table = gtk_table_new (6, 2, FALSE);
2692   gtk_widget_ref (preference_audio_table);
2693   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preference_audio_table", preference_audio_table,
2694                             (GtkDestroyNotify) gtk_widget_unref);
2695   gtk_widget_show (preference_audio_table);
2696   gtk_container_add (GTK_CONTAINER (preferences_notebook), preference_audio_table);
2697   gtk_container_set_border_width (GTK_CONTAINER (preference_audio_table), 5);
2698   gtk_table_set_row_spacings (GTK_TABLE (preference_audio_table), 5);
2699   gtk_table_set_col_spacings (GTK_TABLE (preference_audio_table), 5);
2700
2701   preferences_audio_spdif_checkbutton = gtk_check_button_new_with_label (_("Spdif output"));
2702   gtk_widget_ref (preferences_audio_spdif_checkbutton);
2703   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_spdif_checkbutton", preferences_audio_spdif_checkbutton,
2704                             (GtkDestroyNotify) gtk_widget_unref);
2705   gtk_widget_show (preferences_audio_spdif_checkbutton);
2706   gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_spdif_checkbutton, 0, 2, 5, 6,
2707                     (GtkAttachOptions) (GTK_EXPAND),
2708                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2709
2710   preferences_audio_output_label = gtk_label_new (_("Default output: "));
2711   gtk_widget_ref (preferences_audio_output_label);
2712   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_output_label", preferences_audio_output_label,
2713                             (GtkDestroyNotify) gtk_widget_unref);
2714   gtk_widget_show (preferences_audio_output_label);
2715   gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_output_label, 0, 1, 0, 1,
2716                     (GtkAttachOptions) (GTK_EXPAND),
2717                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2718   gtk_misc_set_alignment (GTK_MISC (preferences_audio_output_label), 0, 0.5);
2719
2720   preferences_audio_output_combo = gnome_entry_new (NULL);
2721   gtk_widget_ref (preferences_audio_output_combo);
2722   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_output_combo", preferences_audio_output_combo,
2723                             (GtkDestroyNotify) gtk_widget_unref);
2724   gtk_widget_show (preferences_audio_output_combo);
2725   gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_output_combo, 1, 2, 0, 1,
2726                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2727                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2728
2729   preferences_audio_output_entry = gnome_entry_gtk_entry (GNOME_ENTRY (preferences_audio_output_combo));
2730   gtk_widget_ref (preferences_audio_output_entry);
2731   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_output_entry", preferences_audio_output_entry,
2732                             (GtkDestroyNotify) gtk_widget_unref);
2733   gtk_widget_show (preferences_audio_output_entry);
2734
2735   preferences_audio_frequency_label = gtk_label_new (_("Frequency: "));
2736   gtk_widget_ref (preferences_audio_frequency_label);
2737   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_frequency_label", preferences_audio_frequency_label,
2738                             (GtkDestroyNotify) gtk_widget_unref);
2739   gtk_widget_show (preferences_audio_frequency_label);
2740   gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_frequency_label, 0, 1, 2, 3,
2741                     (GtkAttachOptions) (GTK_EXPAND),
2742                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2743   gtk_misc_set_alignment (GTK_MISC (preferences_audio_frequency_label), 0, 0.5);
2744
2745   preferences_audio_frequency_optionmenu = gtk_option_menu_new ();
2746   gtk_widget_ref (preferences_audio_frequency_optionmenu);
2747   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_frequency_optionmenu", preferences_audio_frequency_optionmenu,
2748                             (GtkDestroyNotify) gtk_widget_unref);
2749   gtk_widget_show (preferences_audio_frequency_optionmenu);
2750   gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_frequency_optionmenu, 1, 2, 2, 3,
2751                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2752                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2753   preferences_audio_frequency_optionmenu_menu = gtk_menu_new ();
2754   glade_menuitem = gtk_menu_item_new_with_label (_("48000 Hz"));
2755   gtk_widget_show (glade_menuitem);
2756   gtk_menu_append (GTK_MENU (preferences_audio_frequency_optionmenu_menu), glade_menuitem);
2757   glade_menuitem = gtk_menu_item_new_with_label (_("44100 Hz"));
2758   gtk_widget_show (glade_menuitem);
2759   gtk_menu_append (GTK_MENU (preferences_audio_frequency_optionmenu_menu), glade_menuitem);
2760   glade_menuitem = gtk_menu_item_new_with_label (_("32000 Hz"));
2761   gtk_widget_show (glade_menuitem);
2762   gtk_menu_append (GTK_MENU (preferences_audio_frequency_optionmenu_menu), glade_menuitem);
2763   glade_menuitem = gtk_menu_item_new_with_label (_("22050 Hz"));
2764   gtk_widget_show (glade_menuitem);
2765   gtk_menu_append (GTK_MENU (preferences_audio_frequency_optionmenu_menu), glade_menuitem);
2766   gtk_option_menu_set_menu (GTK_OPTION_MENU (preferences_audio_frequency_optionmenu), preferences_audio_frequency_optionmenu_menu);
2767
2768   preferences_audio_quality_label = gtk_label_new (_("Quality: "));
2769   gtk_widget_ref (preferences_audio_quality_label);
2770   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_quality_label", preferences_audio_quality_label,
2771                             (GtkDestroyNotify) gtk_widget_unref);
2772   gtk_widget_show (preferences_audio_quality_label);
2773   gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_quality_label, 0, 1, 3, 4,
2774                     (GtkAttachOptions) (GTK_EXPAND),
2775                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2776   gtk_misc_set_alignment (GTK_MISC (preferences_audio_quality_label), 0, 0.5);
2777
2778   preferences_audio_quality_optionmenu = gtk_option_menu_new ();
2779   gtk_widget_ref (preferences_audio_quality_optionmenu);
2780   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_quality_optionmenu", preferences_audio_quality_optionmenu,
2781                             (GtkDestroyNotify) gtk_widget_unref);
2782   gtk_widget_show (preferences_audio_quality_optionmenu);
2783   gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_quality_optionmenu, 1, 2, 3, 4,
2784                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2785                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2786   preferences_audio_quality_optionmenu_menu = gtk_menu_new ();
2787   glade_menuitem = gtk_menu_item_new_with_label (_("16 bits"));
2788   gtk_widget_show (glade_menuitem);
2789   gtk_menu_append (GTK_MENU (preferences_audio_quality_optionmenu_menu), glade_menuitem);
2790   glade_menuitem = gtk_menu_item_new_with_label (_("8 bits"));
2791   gtk_widget_show (glade_menuitem);
2792   gtk_menu_append (GTK_MENU (preferences_audio_quality_optionmenu_menu), glade_menuitem);
2793   gtk_option_menu_set_menu (GTK_OPTION_MENU (preferences_audio_quality_optionmenu), preferences_audio_quality_optionmenu_menu);
2794
2795   preferences_audio_channels_label = gtk_label_new (_("Channels: "));
2796   gtk_widget_ref (preferences_audio_channels_label);
2797   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_channels_label", preferences_audio_channels_label,
2798                             (GtkDestroyNotify) gtk_widget_unref);
2799   gtk_widget_show (preferences_audio_channels_label);
2800   gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_channels_label, 0, 1, 4, 5,
2801                     (GtkAttachOptions) (GTK_EXPAND),
2802                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2803   gtk_misc_set_alignment (GTK_MISC (preferences_audio_channels_label), 0, 0.5);
2804
2805   preferences_audio_channels_optionmenu = gtk_option_menu_new ();
2806   gtk_widget_ref (preferences_audio_channels_optionmenu);
2807   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_channels_optionmenu", preferences_audio_channels_optionmenu,
2808                             (GtkDestroyNotify) gtk_widget_unref);
2809   gtk_widget_show (preferences_audio_channels_optionmenu);
2810   gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_channels_optionmenu, 1, 2, 4, 5,
2811                     (GtkAttachOptions) (GTK_FILL),
2812                     (GtkAttachOptions) (0), 0, 0);
2813   preferences_audio_channels_optionmenu_menu = gtk_menu_new ();
2814   glade_menuitem = gtk_menu_item_new_with_label (_("Mono"));
2815   gtk_widget_show (glade_menuitem);
2816   gtk_menu_append (GTK_MENU (preferences_audio_channels_optionmenu_menu), glade_menuitem);
2817   glade_menuitem = gtk_menu_item_new_with_label (_("Stereo"));
2818   gtk_widget_show (glade_menuitem);
2819   gtk_menu_append (GTK_MENU (preferences_audio_channels_optionmenu_menu), glade_menuitem);
2820   gtk_option_menu_set_menu (GTK_OPTION_MENU (preferences_audio_channels_optionmenu), preferences_audio_channels_optionmenu_menu);
2821   gtk_option_menu_set_history (GTK_OPTION_MENU (preferences_audio_channels_optionmenu), 1);
2822
2823   preferences_audio_device_label = gtk_label_new (_("Default device:"));
2824   gtk_widget_ref (preferences_audio_device_label);
2825   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_device_label", preferences_audio_device_label,
2826                             (GtkDestroyNotify) gtk_widget_unref);
2827   gtk_widget_show (preferences_audio_device_label);
2828   gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_device_label, 0, 1, 1, 2,
2829                     (GtkAttachOptions) (GTK_EXPAND),
2830                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2831   gtk_misc_set_alignment (GTK_MISC (preferences_audio_device_label), 0, 0.5);
2832
2833   preferences_audio_device_combo = gnome_entry_new (NULL);
2834   gtk_widget_ref (preferences_audio_device_combo);
2835   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_device_combo", preferences_audio_device_combo,
2836                             (GtkDestroyNotify) gtk_widget_unref);
2837   gtk_widget_show (preferences_audio_device_combo);
2838   gtk_table_attach (GTK_TABLE (preference_audio_table), preferences_audio_device_combo, 1, 2, 1, 2,
2839                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2840                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2841
2842   preferences_audio_device_entry = gnome_entry_gtk_entry (GNOME_ENTRY (preferences_audio_device_combo));
2843   gtk_widget_ref (preferences_audio_device_entry);
2844   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio_device_entry", preferences_audio_device_entry,
2845                             (GtkDestroyNotify) gtk_widget_unref);
2846   gtk_widget_show (preferences_audio_device_entry);
2847
2848   preferences_audio = gtk_label_new (_("Audio"));
2849   gtk_widget_ref (preferences_audio);
2850   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_audio", preferences_audio,
2851                             (GtkDestroyNotify) gtk_widget_unref);
2852   gtk_widget_show (preferences_audio);
2853   gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 5), preferences_audio);
2854
2855   preference_playlist_table = gtk_table_new (3, 1, FALSE);
2856   gtk_widget_ref (preference_playlist_table);
2857   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preference_playlist_table", preference_playlist_table,
2858                             (GtkDestroyNotify) gtk_widget_unref);
2859   gtk_widget_show (preference_playlist_table);
2860   gtk_container_add (GTK_CONTAINER (preferences_notebook), preference_playlist_table);
2861   gtk_container_set_border_width (GTK_CONTAINER (preference_playlist_table), 5);
2862   gtk_table_set_row_spacings (GTK_TABLE (preference_playlist_table), 5);
2863   gtk_table_set_col_spacings (GTK_TABLE (preference_playlist_table), 5);
2864
2865   preferences_playlist_startup_checkbutton = gtk_check_button_new_with_label (_("Launch on startup"));
2866   gtk_widget_ref (preferences_playlist_startup_checkbutton);
2867   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_playlist_startup_checkbutton", preferences_playlist_startup_checkbutton,
2868                             (GtkDestroyNotify) gtk_widget_unref);
2869   gtk_widget_show (preferences_playlist_startup_checkbutton);
2870   gtk_table_attach (GTK_TABLE (preference_playlist_table), preferences_playlist_startup_checkbutton, 0, 1, 0, 1,
2871                     (GtkAttachOptions) (GTK_EXPAND),
2872                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2873
2874   preferences_playlist_loop_checkbutton = gtk_check_button_new_with_label (_("Loop on playlist end"));
2875   gtk_widget_ref (preferences_playlist_loop_checkbutton);
2876   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_playlist_loop_checkbutton", preferences_playlist_loop_checkbutton,
2877                             (GtkDestroyNotify) gtk_widget_unref);
2878   gtk_widget_show (preferences_playlist_loop_checkbutton);
2879   gtk_table_attach (GTK_TABLE (preference_playlist_table), preferences_playlist_loop_checkbutton, 0, 1, 2, 3,
2880                     (GtkAttachOptions) (GTK_EXPAND),
2881                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2882
2883   preferences_playlist_enqueue_checkbutton = gtk_check_button_new_with_label (_("Enqueue as default"));
2884   gtk_widget_ref (preferences_playlist_enqueue_checkbutton);
2885   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_playlist_enqueue_checkbutton", preferences_playlist_enqueue_checkbutton,
2886                             (GtkDestroyNotify) gtk_widget_unref);
2887   gtk_widget_show (preferences_playlist_enqueue_checkbutton);
2888   gtk_table_attach (GTK_TABLE (preference_playlist_table), preferences_playlist_enqueue_checkbutton, 0, 1, 1, 2,
2889                     (GtkAttachOptions) (GTK_EXPAND),
2890                     (GtkAttachOptions) (GTK_EXPAND), 0, 0);
2891
2892   preferences_playlist = gtk_label_new (_("Playlist"));
2893   gtk_widget_ref (preferences_playlist);
2894   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_playlist", preferences_playlist,
2895                             (GtkDestroyNotify) gtk_widget_unref);
2896   gtk_widget_show (preferences_playlist);
2897   gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 6), preferences_playlist);
2898
2899   preferences_misc_table = gtk_table_new (1, 2, FALSE);
2900   gtk_widget_ref (preferences_misc_table);
2901   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_table", preferences_misc_table,
2902                             (GtkDestroyNotify) gtk_widget_unref);
2903   gtk_widget_show (preferences_misc_table);
2904   gtk_container_add (GTK_CONTAINER (preferences_notebook), preferences_misc_table);
2905   gtk_container_set_border_width (GTK_CONTAINER (preferences_misc_table), 5);
2906   gtk_table_set_row_spacings (GTK_TABLE (preferences_misc_table), 5);
2907   gtk_table_set_col_spacings (GTK_TABLE (preferences_misc_table), 5);
2908
2909   preferences_misc_associated_files_frame = gtk_frame_new (_("Files associated with vlc"));
2910   gtk_widget_ref (preferences_misc_associated_files_frame);
2911   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_associated_files_frame", preferences_misc_associated_files_frame,
2912                             (GtkDestroyNotify) gtk_widget_unref);
2913   gtk_widget_show (preferences_misc_associated_files_frame);
2914   gtk_table_attach (GTK_TABLE (preferences_misc_table), preferences_misc_associated_files_frame, 0, 1, 0, 1,
2915                     (GtkAttachOptions) (GTK_EXPAND),
2916                     (GtkAttachOptions) (GTK_FILL), 0, 0);
2917   gtk_widget_set_sensitive (preferences_misc_associated_files_frame, FALSE);
2918   gtk_frame_set_label_align (GTK_FRAME (preferences_misc_associated_files_frame), 0.05, 0.5);
2919
2920   preferences_misc_associated_table = gtk_table_new (4, 1, FALSE);
2921   gtk_widget_ref (preferences_misc_associated_table);
2922   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_associated_table", preferences_misc_associated_table,
2923                             (GtkDestroyNotify) gtk_widget_unref);
2924   gtk_widget_show (preferences_misc_associated_table);
2925   gtk_container_add (GTK_CONTAINER (preferences_misc_associated_files_frame), preferences_misc_associated_table);
2926
2927   preferences_misc_ts_checkbutton = gtk_check_button_new_with_label (_("ts"));
2928   gtk_widget_ref (preferences_misc_ts_checkbutton);
2929   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_ts_checkbutton", preferences_misc_ts_checkbutton,
2930                             (GtkDestroyNotify) gtk_widget_unref);
2931   gtk_widget_show (preferences_misc_ts_checkbutton);
2932   gtk_table_attach (GTK_TABLE (preferences_misc_associated_table), preferences_misc_ts_checkbutton, 0, 1, 3, 4,
2933                     (GtkAttachOptions) (GTK_FILL),
2934                     (GtkAttachOptions) (0), 0, 0);
2935
2936   preferences_misc_vob_checkbutton = gtk_check_button_new_with_label (_("vob"));
2937   gtk_widget_ref (preferences_misc_vob_checkbutton);
2938   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_vob_checkbutton", preferences_misc_vob_checkbutton,
2939                             (GtkDestroyNotify) gtk_widget_unref);
2940   gtk_widget_show (preferences_misc_vob_checkbutton);
2941   gtk_table_attach (GTK_TABLE (preferences_misc_associated_table), preferences_misc_vob_checkbutton, 0, 1, 2, 3,
2942                     (GtkAttachOptions) (GTK_FILL),
2943                     (GtkAttachOptions) (0), 0, 0);
2944
2945   preferences_misc_mp2_checkbutton = gtk_check_button_new_with_label (_("mp2"));
2946   gtk_widget_ref (preferences_misc_mp2_checkbutton);
2947   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_mp2_checkbutton", preferences_misc_mp2_checkbutton,
2948                             (GtkDestroyNotify) gtk_widget_unref);
2949   gtk_widget_show (preferences_misc_mp2_checkbutton);
2950   gtk_table_attach (GTK_TABLE (preferences_misc_associated_table), preferences_misc_mp2_checkbutton, 0, 1, 1, 2,
2951                     (GtkAttachOptions) (GTK_FILL),
2952                     (GtkAttachOptions) (0), 0, 0);
2953
2954   preferences_misc_mpeg_checkbutton = gtk_check_button_new_with_label (_("mpeg"));
2955   gtk_widget_ref (preferences_misc_mpeg_checkbutton);
2956   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_mpeg_checkbutton", preferences_misc_mpeg_checkbutton,
2957                             (GtkDestroyNotify) gtk_widget_unref);
2958   gtk_widget_show (preferences_misc_mpeg_checkbutton);
2959   gtk_table_attach (GTK_TABLE (preferences_misc_associated_table), preferences_misc_mpeg_checkbutton, 0, 1, 0, 1,
2960                     (GtkAttachOptions) (GTK_FILL),
2961                     (GtkAttachOptions) (0), 0, 0);
2962
2963   preferences_misc_message_frame = gtk_frame_new (_("Messages"));
2964   gtk_widget_ref (preferences_misc_message_frame);
2965   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_message_frame", preferences_misc_message_frame,
2966                             (GtkDestroyNotify) gtk_widget_unref);
2967   gtk_widget_show (preferences_misc_message_frame);
2968   gtk_table_attach (GTK_TABLE (preferences_misc_table), preferences_misc_message_frame, 1, 2, 0, 1,
2969                     (GtkAttachOptions) (GTK_EXPAND),
2970                     (GtkAttachOptions) (GTK_FILL), 0, 0);
2971   gtk_frame_set_label_align (GTK_FRAME (preferences_misc_message_frame), 0.05, 0.5);
2972
2973   preferences_misc_message_table = gtk_table_new (1, 2, FALSE);
2974   gtk_widget_ref (preferences_misc_message_table);
2975   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_message_table", preferences_misc_message_table,
2976                             (GtkDestroyNotify) gtk_widget_unref);
2977   gtk_widget_show (preferences_misc_message_table);
2978   gtk_container_add (GTK_CONTAINER (preferences_misc_message_frame), preferences_misc_message_table);
2979
2980   preferences_misc_messages_label = gtk_label_new (_("Warning level: "));
2981   gtk_widget_ref (preferences_misc_messages_label);
2982   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_messages_label", preferences_misc_messages_label,
2983                             (GtkDestroyNotify) gtk_widget_unref);
2984   gtk_widget_show (preferences_misc_messages_label);
2985   gtk_table_attach (GTK_TABLE (preferences_misc_message_table), preferences_misc_messages_label, 0, 1, 0, 1,
2986                     (GtkAttachOptions) (GTK_FILL),
2987                     (GtkAttachOptions) (0), 0, 0);
2988
2989   preferences_misc_messages_spinbutton_adj = gtk_adjustment_new (0, 0, 100, 1, 10, 10);
2990   preferences_misc_messages_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (preferences_misc_messages_spinbutton_adj), 1, 0);
2991   gtk_widget_ref (preferences_misc_messages_spinbutton);
2992   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc_messages_spinbutton", preferences_misc_messages_spinbutton,
2993                             (GtkDestroyNotify) gtk_widget_unref);
2994   gtk_widget_show (preferences_misc_messages_spinbutton);
2995   gtk_table_attach (GTK_TABLE (preferences_misc_message_table), preferences_misc_messages_spinbutton, 1, 2, 0, 1,
2996                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
2997                     (GtkAttachOptions) (0), 0, 0);
2998
2999   preferences_misc = gtk_label_new (_("Misc"));
3000   gtk_widget_ref (preferences_misc);
3001   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_misc", preferences_misc,
3002                             (GtkDestroyNotify) gtk_widget_unref);
3003   gtk_widget_show (preferences_misc);
3004   gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 7), preferences_misc);
3005
3006   preferences_dialog = GNOME_DIALOG (intf_preferences)->action_area;
3007   gtk_object_set_data (GTK_OBJECT (intf_preferences), "preferences_dialog", preferences_dialog);
3008   gtk_widget_show (preferences_dialog);
3009   gtk_button_box_set_layout (GTK_BUTTON_BOX (preferences_dialog), GTK_BUTTONBOX_END);
3010   gtk_button_box_set_spacing (GTK_BUTTON_BOX (preferences_dialog), 8);
3011
3012   gnome_dialog_append_button (GNOME_DIALOG (intf_preferences), GNOME_STOCK_BUTTON_OK);
3013   preferences_ok = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_preferences)->buttons)->data);
3014   gtk_widget_ref (preferences_ok);
3015   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_ok", preferences_ok,
3016                             (GtkDestroyNotify) gtk_widget_unref);
3017   gtk_widget_show (preferences_ok);
3018   GTK_WIDGET_SET_FLAGS (preferences_ok, GTK_CAN_DEFAULT);
3019
3020   gnome_dialog_append_button (GNOME_DIALOG (intf_preferences), GNOME_STOCK_BUTTON_APPLY);
3021   preferences_apply = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_preferences)->buttons)->data);
3022   gtk_widget_ref (preferences_apply);
3023   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_apply", preferences_apply,
3024                             (GtkDestroyNotify) gtk_widget_unref);
3025   gtk_widget_show (preferences_apply);
3026   GTK_WIDGET_SET_FLAGS (preferences_apply, GTK_CAN_DEFAULT);
3027
3028   gnome_dialog_append_button (GNOME_DIALOG (intf_preferences), GNOME_STOCK_BUTTON_CANCEL);
3029   preferences_cancel = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_preferences)->buttons)->data);
3030   gtk_widget_ref (preferences_cancel);
3031   gtk_object_set_data_full (GTK_OBJECT (intf_preferences), "preferences_cancel", preferences_cancel,
3032                             (GtkDestroyNotify) gtk_widget_unref);
3033   gtk_widget_show (preferences_cancel);
3034   GTK_WIDGET_SET_FLAGS (preferences_cancel, GTK_CAN_DEFAULT);
3035
3036   gtk_signal_connect (GTK_OBJECT (preferences_ok), "clicked",
3037                       GTK_SIGNAL_FUNC (GtkPreferencesOk),
3038                       "intf_preferences");
3039   gtk_signal_connect (GTK_OBJECT (preferences_apply), "clicked",
3040                       GTK_SIGNAL_FUNC (GtkPreferencesApply),
3041                       "intf_preferences");
3042   gtk_signal_connect (GTK_OBJECT (preferences_cancel), "clicked",
3043                       GTK_SIGNAL_FUNC (GtkPreferencesCancel),
3044                       "intf_preferences");
3045
3046   return intf_preferences;
3047 }
3048
3049 GtkWidget*
3050 create_intf_open (void)
3051 {
3052   GtkWidget *intf_open;
3053   GtkWidget *dialog_vbox5;
3054   GtkWidget *tab_open;
3055   GtkWidget *vbox10;
3056   GtkWidget *hbox5;
3057   GtkWidget *frame6;
3058   GtkWidget *vbox11;
3059   GSList *vbox11_group = NULL;
3060   GtkWidget *radiobutton1;
3061   GtkWidget *radiobutton2;
3062   GtkWidget *frame7;
3063   GtkWidget *table3;
3064   GtkWidget *label24;
3065   GtkWidget *label25;
3066   GtkObject *spinbutton5_adj;
3067   GtkWidget *spinbutton5;
3068   GtkObject *spinbutton6_adj;
3069   GtkWidget *spinbutton6;
3070   GtkWidget *hbox6;
3071   GtkWidget *label29;
3072   GtkWidget *entry1;
3073   GtkWidget *tab_disc;
3074   GtkWidget *vbox12;
3075   GtkWidget *hbox7;
3076   GtkWidget *frame8;
3077   GtkWidget *vbox13;
3078   GSList *vbox13_group = NULL;
3079   GtkWidget *radiobutton3;
3080   GtkWidget *radiobutton4;
3081   GtkWidget *radiobutton5;
3082   GtkWidget *frame9;
3083   GtkWidget *vbox14;
3084   GtkWidget *table4;
3085   GtkWidget *label26;
3086   GtkWidget *label27;
3087   GtkWidget *combo1;
3088   GtkWidget *combo_entry1;
3089   GtkObject *spinbutton7_adj;
3090   GtkWidget *spinbutton7;
3091   GtkWidget *frame10;
3092   GtkWidget *hbox8;
3093   GtkWidget *checkbutton2;
3094   GtkWidget *combo3;
3095   GtkWidget *combo_entry3;
3096   GtkWidget *frame11;
3097   GtkWidget *hbox9;
3098   GtkWidget *checkbutton1;
3099   GtkWidget *combo2;
3100   GtkWidget *combo_entry2;
3101   GtkWidget *label28;
3102   GtkObject *spinbutton8_adj;
3103   GtkWidget *spinbutton8;
3104   GtkWidget *tab_network;
3105   GtkWidget *dialog_action_area5;
3106   GtkWidget *button1;
3107   GtkWidget *button3;
3108
3109   intf_open = gnome_dialog_new (_("Open Stream"), NULL);
3110   gtk_object_set_data (GTK_OBJECT (intf_open), "intf_open", intf_open);
3111   gtk_window_set_modal (GTK_WINDOW (intf_open), TRUE);
3112   gtk_window_set_policy (GTK_WINDOW (intf_open), FALSE, FALSE, FALSE);
3113
3114   dialog_vbox5 = GNOME_DIALOG (intf_open)->vbox;
3115   gtk_object_set_data (GTK_OBJECT (intf_open), "dialog_vbox5", dialog_vbox5);
3116   gtk_widget_show (dialog_vbox5);
3117
3118   tab_open = gtk_notebook_new ();
3119   gtk_widget_ref (tab_open);
3120   gtk_object_set_data_full (GTK_OBJECT (intf_open), "tab_open", tab_open,
3121                             (GtkDestroyNotify) gtk_widget_unref);
3122   gtk_widget_show (tab_open);
3123   gtk_box_pack_start (GTK_BOX (dialog_vbox5), tab_open, TRUE, TRUE, 0);
3124
3125   vbox10 = gtk_vbox_new (FALSE, 5);
3126   gtk_widget_ref (vbox10);
3127   gtk_object_set_data_full (GTK_OBJECT (intf_open), "vbox10", vbox10,
3128                             (GtkDestroyNotify) gtk_widget_unref);
3129   gtk_widget_show (vbox10);
3130   gtk_container_add (GTK_CONTAINER (tab_open), vbox10);
3131   gtk_container_set_border_width (GTK_CONTAINER (vbox10), 5);
3132
3133   hbox5 = gtk_hbox_new (FALSE, 5);
3134   gtk_widget_ref (hbox5);
3135   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox5", hbox5,
3136                             (GtkDestroyNotify) gtk_widget_unref);
3137   gtk_widget_show (hbox5);
3138   gtk_box_pack_start (GTK_BOX (vbox10), hbox5, TRUE, TRUE, 0);
3139
3140   frame6 = gtk_frame_new (_("Disc type"));
3141   gtk_widget_ref (frame6);
3142   gtk_object_set_data_full (GTK_OBJECT (intf_open), "frame6", frame6,
3143                             (GtkDestroyNotify) gtk_widget_unref);
3144   gtk_widget_show (frame6);
3145   gtk_box_pack_start (GTK_BOX (hbox5), frame6, TRUE, TRUE, 0);
3146
3147   vbox11 = gtk_vbox_new (FALSE, 0);
3148   gtk_widget_ref (vbox11);
3149   gtk_object_set_data_full (GTK_OBJECT (intf_open), "vbox11", vbox11,
3150                             (GtkDestroyNotify) gtk_widget_unref);
3151   gtk_widget_show (vbox11);
3152   gtk_container_add (GTK_CONTAINER (frame6), vbox11);
3153   gtk_container_set_border_width (GTK_CONTAINER (vbox11), 5);
3154
3155   radiobutton1 = gtk_radio_button_new_with_label (vbox11_group, _("DVD"));
3156   vbox11_group = gtk_radio_button_group (GTK_RADIO_BUTTON (radiobutton1));
3157   gtk_widget_ref (radiobutton1);
3158   gtk_object_set_data_full (GTK_OBJECT (intf_open), "radiobutton1", radiobutton1,
3159                             (GtkDestroyNotify) gtk_widget_unref);
3160   gtk_widget_show (radiobutton1);
3161   gtk_box_pack_start (GTK_BOX (vbox11), radiobutton1, FALSE, FALSE, 0);
3162
3163   radiobutton2 = gtk_radio_button_new_with_label (vbox11_group, _("VCD"));
3164   vbox11_group = gtk_radio_button_group (GTK_RADIO_BUTTON (radiobutton2));
3165   gtk_widget_ref (radiobutton2);
3166   gtk_object_set_data_full (GTK_OBJECT (intf_open), "radiobutton2", radiobutton2,
3167                             (GtkDestroyNotify) gtk_widget_unref);
3168   gtk_widget_show (radiobutton2);
3169   gtk_box_pack_start (GTK_BOX (vbox11), radiobutton2, FALSE, FALSE, 0);
3170
3171   frame7 = gtk_frame_new (_("Starting position"));
3172   gtk_widget_ref (frame7);
3173   gtk_object_set_data_full (GTK_OBJECT (intf_open), "frame7", frame7,
3174                             (GtkDestroyNotify) gtk_widget_unref);
3175   gtk_widget_show (frame7);
3176   gtk_box_pack_start (GTK_BOX (hbox5), frame7, TRUE, TRUE, 0);
3177
3178   table3 = gtk_table_new (2, 2, FALSE);
3179   gtk_widget_ref (table3);
3180   gtk_object_set_data_full (GTK_OBJECT (intf_open), "table3", table3,
3181                             (GtkDestroyNotify) gtk_widget_unref);
3182   gtk_widget_show (table3);
3183   gtk_container_add (GTK_CONTAINER (frame7), table3);
3184   gtk_container_set_border_width (GTK_CONTAINER (table3), 5);
3185   gtk_table_set_row_spacings (GTK_TABLE (table3), 5);
3186   gtk_table_set_col_spacings (GTK_TABLE (table3), 5);
3187
3188   label24 = gtk_label_new (_("Title"));
3189   gtk_widget_ref (label24);
3190   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label24", label24,
3191                             (GtkDestroyNotify) gtk_widget_unref);
3192   gtk_widget_show (label24);
3193   gtk_table_attach (GTK_TABLE (table3), label24, 0, 1, 0, 1,
3194                     (GtkAttachOptions) (GTK_FILL),
3195                     (GtkAttachOptions) (0), 0, 0);
3196   gtk_misc_set_alignment (GTK_MISC (label24), 0, 0.5);
3197
3198   label25 = gtk_label_new (_("Chapter"));
3199   gtk_widget_ref (label25);
3200   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label25", label25,
3201                             (GtkDestroyNotify) gtk_widget_unref);
3202   gtk_widget_show (label25);
3203   gtk_table_attach (GTK_TABLE (table3), label25, 0, 1, 1, 2,
3204                     (GtkAttachOptions) (GTK_FILL),
3205                     (GtkAttachOptions) (0), 0, 0);
3206   gtk_misc_set_alignment (GTK_MISC (label25), 0, 0.5);
3207
3208   spinbutton5_adj = gtk_adjustment_new (1, 0, 100, 1, 10, 10);
3209   spinbutton5 = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton5_adj), 1, 0);
3210   gtk_widget_ref (spinbutton5);
3211   gtk_object_set_data_full (GTK_OBJECT (intf_open), "spinbutton5", spinbutton5,
3212                             (GtkDestroyNotify) gtk_widget_unref);
3213   gtk_widget_show (spinbutton5);
3214   gtk_table_attach (GTK_TABLE (table3), spinbutton5, 1, 2, 0, 1,
3215                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
3216                     (GtkAttachOptions) (0), 0, 0);
3217
3218   spinbutton6_adj = gtk_adjustment_new (1, 0, 100, 1, 10, 10);
3219   spinbutton6 = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton6_adj), 1, 0);
3220   gtk_widget_ref (spinbutton6);
3221   gtk_object_set_data_full (GTK_OBJECT (intf_open), "spinbutton6", spinbutton6,
3222                             (GtkDestroyNotify) gtk_widget_unref);
3223   gtk_widget_show (spinbutton6);
3224   gtk_table_attach (GTK_TABLE (table3), spinbutton6, 1, 2, 1, 2,
3225                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
3226                     (GtkAttachOptions) (0), 0, 0);
3227
3228   hbox6 = gtk_hbox_new (FALSE, 5);
3229   gtk_widget_ref (hbox6);
3230   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox6", hbox6,
3231                             (GtkDestroyNotify) gtk_widget_unref);
3232   gtk_widget_show (hbox6);
3233   gtk_box_pack_start (GTK_BOX (vbox10), hbox6, TRUE, TRUE, 0);
3234
3235   label29 = gtk_label_new (_("Device name:"));
3236   gtk_widget_ref (label29);
3237   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label29", label29,
3238                             (GtkDestroyNotify) gtk_widget_unref);
3239   gtk_widget_show (label29);
3240   gtk_box_pack_start (GTK_BOX (hbox6), label29, FALSE, FALSE, 0);
3241
3242   entry1 = gtk_entry_new ();
3243   gtk_widget_ref (entry1);
3244   gtk_object_set_data_full (GTK_OBJECT (intf_open), "entry1", entry1,
3245                             (GtkDestroyNotify) gtk_widget_unref);
3246   gtk_widget_show (entry1);
3247   gtk_box_pack_start (GTK_BOX (hbox6), entry1, TRUE, TRUE, 0);
3248   gtk_entry_set_text (GTK_ENTRY (entry1), DVD_DEVICE);
3249
3250   tab_disc = gtk_label_new (_("Disc"));
3251   gtk_widget_ref (tab_disc);
3252   gtk_object_set_data_full (GTK_OBJECT (intf_open), "tab_disc", tab_disc,
3253                             (GtkDestroyNotify) gtk_widget_unref);
3254   gtk_widget_show (tab_disc);
3255   gtk_notebook_set_tab_label (GTK_NOTEBOOK (tab_open), gtk_notebook_get_nth_page (GTK_NOTEBOOK (tab_open), 0), tab_disc);
3256
3257   vbox12 = gtk_vbox_new (FALSE, 5);
3258   gtk_widget_ref (vbox12);
3259   gtk_object_set_data_full (GTK_OBJECT (intf_open), "vbox12", vbox12,
3260                             (GtkDestroyNotify) gtk_widget_unref);
3261   gtk_widget_show (vbox12);
3262   gtk_container_add (GTK_CONTAINER (tab_open), vbox12);
3263   gtk_container_set_border_width (GTK_CONTAINER (vbox12), 5);
3264
3265   hbox7 = gtk_hbox_new (FALSE, 5);
3266   gtk_widget_ref (hbox7);
3267   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox7", hbox7,
3268                             (GtkDestroyNotify) gtk_widget_unref);
3269   gtk_widget_show (hbox7);
3270   gtk_box_pack_start (GTK_BOX (vbox12), hbox7, TRUE, TRUE, 0);
3271
3272   frame8 = gtk_frame_new (_("Protocol"));
3273   gtk_widget_ref (frame8);
3274   gtk_object_set_data_full (GTK_OBJECT (intf_open), "frame8", frame8,
3275                             (GtkDestroyNotify) gtk_widget_unref);
3276   gtk_widget_show (frame8);
3277   gtk_box_pack_start (GTK_BOX (hbox7), frame8, TRUE, TRUE, 0);
3278
3279   vbox13 = gtk_vbox_new (FALSE, 0);
3280   gtk_widget_ref (vbox13);
3281   gtk_object_set_data_full (GTK_OBJECT (intf_open), "vbox13", vbox13,
3282                             (GtkDestroyNotify) gtk_widget_unref);
3283   gtk_widget_show (vbox13);
3284   gtk_container_add (GTK_CONTAINER (frame8), vbox13);
3285   gtk_container_set_border_width (GTK_CONTAINER (vbox13), 5);
3286
3287   radiobutton3 = gtk_radio_button_new_with_label (vbox13_group, _("UDP stream"));
3288   vbox13_group = gtk_radio_button_group (GTK_RADIO_BUTTON (radiobutton3));
3289   gtk_widget_ref (radiobutton3);
3290   gtk_object_set_data_full (GTK_OBJECT (intf_open), "radiobutton3", radiobutton3,
3291                             (GtkDestroyNotify) gtk_widget_unref);
3292   gtk_widget_show (radiobutton3);
3293   gtk_box_pack_start (GTK_BOX (vbox13), radiobutton3, FALSE, FALSE, 0);
3294
3295   radiobutton4 = gtk_radio_button_new_with_label (vbox13_group, _("HTTP"));
3296   vbox13_group = gtk_radio_button_group (GTK_RADIO_BUTTON (radiobutton4));
3297   gtk_widget_ref (radiobutton4);
3298   gtk_object_set_data_full (GTK_OBJECT (intf_open), "radiobutton4", radiobutton4,
3299                             (GtkDestroyNotify) gtk_widget_unref);
3300   gtk_widget_show (radiobutton4);
3301   gtk_box_pack_start (GTK_BOX (vbox13), radiobutton4, FALSE, FALSE, 0);
3302
3303   radiobutton5 = gtk_radio_button_new_with_label (vbox13_group, _("RTP"));
3304   vbox13_group = gtk_radio_button_group (GTK_RADIO_BUTTON (radiobutton5));
3305   gtk_widget_ref (radiobutton5);
3306   gtk_object_set_data_full (GTK_OBJECT (intf_open), "radiobutton5", radiobutton5,
3307                             (GtkDestroyNotify) gtk_widget_unref);
3308   gtk_widget_show (radiobutton5);
3309   gtk_box_pack_start (GTK_BOX (vbox13), radiobutton5, FALSE, FALSE, 0);
3310
3311   frame9 = gtk_frame_new (_("Server"));
3312   gtk_widget_ref (frame9);
3313   gtk_object_set_data_full (GTK_OBJECT (intf_open), "frame9", frame9,
3314                             (GtkDestroyNotify) gtk_widget_unref);
3315   gtk_widget_show (frame9);
3316   gtk_box_pack_start (GTK_BOX (hbox7), frame9, TRUE, TRUE, 0);
3317
3318   vbox14 = gtk_vbox_new (FALSE, 0);
3319   gtk_widget_ref (vbox14);
3320   gtk_object_set_data_full (GTK_OBJECT (intf_open), "vbox14", vbox14,
3321                             (GtkDestroyNotify) gtk_widget_unref);
3322   gtk_widget_show (vbox14);
3323   gtk_container_add (GTK_CONTAINER (frame9), vbox14);
3324
3325   table4 = gtk_table_new (2, 2, FALSE);
3326   gtk_widget_ref (table4);
3327   gtk_object_set_data_full (GTK_OBJECT (intf_open), "table4", table4,
3328                             (GtkDestroyNotify) gtk_widget_unref);
3329   gtk_widget_show (table4);
3330   gtk_box_pack_start (GTK_BOX (vbox14), table4, TRUE, TRUE, 0);
3331   gtk_container_set_border_width (GTK_CONTAINER (table4), 5);
3332   gtk_table_set_row_spacings (GTK_TABLE (table4), 5);
3333   gtk_table_set_col_spacings (GTK_TABLE (table4), 5);
3334
3335   label26 = gtk_label_new (_("Address"));
3336   gtk_widget_ref (label26);
3337   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label26", label26,
3338                             (GtkDestroyNotify) gtk_widget_unref);
3339   gtk_widget_show (label26);
3340   gtk_table_attach (GTK_TABLE (table4), label26, 0, 1, 0, 1,
3341                     (GtkAttachOptions) (GTK_FILL),
3342                     (GtkAttachOptions) (0), 0, 0);
3343   gtk_misc_set_alignment (GTK_MISC (label26), 0, 0.5);
3344
3345   label27 = gtk_label_new (_("Port"));
3346   gtk_widget_ref (label27);
3347   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label27", label27,
3348                             (GtkDestroyNotify) gtk_widget_unref);
3349   gtk_widget_show (label27);
3350   gtk_table_attach (GTK_TABLE (table4), label27, 0, 1, 1, 2,
3351                     (GtkAttachOptions) (GTK_FILL),
3352                     (GtkAttachOptions) (0), 0, 0);
3353   gtk_misc_set_alignment (GTK_MISC (label27), 0, 0.5);
3354
3355   combo1 = gtk_combo_new ();
3356   gtk_widget_ref (combo1);
3357   gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo1", combo1,
3358                             (GtkDestroyNotify) gtk_widget_unref);
3359   gtk_widget_show (combo1);
3360   gtk_table_attach (GTK_TABLE (table4), combo1, 1, 2, 0, 1,
3361                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
3362                     (GtkAttachOptions) (0), 0, 0);
3363
3364   combo_entry1 = GTK_COMBO (combo1)->entry;
3365   gtk_widget_ref (combo_entry1);
3366   gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo_entry1", combo_entry1,
3367                             (GtkDestroyNotify) gtk_widget_unref);
3368   gtk_widget_show (combo_entry1);
3369
3370   spinbutton7_adj = gtk_adjustment_new (0, 0, 100, 1, 10, 10);
3371   spinbutton7 = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton7_adj), 1, 0);
3372   gtk_widget_ref (spinbutton7);
3373   gtk_object_set_data_full (GTK_OBJECT (intf_open), "spinbutton7", spinbutton7,
3374                             (GtkDestroyNotify) gtk_widget_unref);
3375   gtk_widget_show (spinbutton7);
3376   gtk_table_attach (GTK_TABLE (table4), spinbutton7, 1, 2, 1, 2,
3377                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
3378                     (GtkAttachOptions) (0), 0, 0);
3379
3380   frame10 = gtk_frame_new (_("Broadcast"));
3381   gtk_widget_ref (frame10);
3382   gtk_object_set_data_full (GTK_OBJECT (intf_open), "frame10", frame10,
3383                             (GtkDestroyNotify) gtk_widget_unref);
3384   gtk_widget_show (frame10);
3385   gtk_box_pack_start (GTK_BOX (vbox12), frame10, TRUE, TRUE, 0);
3386
3387   hbox8 = gtk_hbox_new (FALSE, 5);
3388   gtk_widget_ref (hbox8);
3389   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox8", hbox8,
3390                             (GtkDestroyNotify) gtk_widget_unref);
3391   gtk_widget_show (hbox8);
3392   gtk_container_add (GTK_CONTAINER (frame10), hbox8);
3393   gtk_container_set_border_width (GTK_CONTAINER (hbox8), 5);
3394
3395   checkbutton2 = gtk_check_button_new_with_label (_("Broadcast"));
3396   gtk_widget_ref (checkbutton2);
3397   gtk_object_set_data_full (GTK_OBJECT (intf_open), "checkbutton2", checkbutton2,
3398                             (GtkDestroyNotify) gtk_widget_unref);
3399   gtk_widget_show (checkbutton2);
3400   gtk_box_pack_start (GTK_BOX (hbox8), checkbutton2, FALSE, FALSE, 0);
3401
3402   combo3 = gtk_combo_new ();
3403   gtk_widget_ref (combo3);
3404   gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo3", combo3,
3405                             (GtkDestroyNotify) gtk_widget_unref);
3406   gtk_widget_show (combo3);
3407   gtk_box_pack_start (GTK_BOX (hbox8), combo3, TRUE, TRUE, 0);
3408
3409   combo_entry3 = GTK_COMBO (combo3)->entry;
3410   gtk_widget_ref (combo_entry3);
3411   gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo_entry3", combo_entry3,
3412                             (GtkDestroyNotify) gtk_widget_unref);
3413   gtk_widget_show (combo_entry3);
3414
3415   frame11 = gtk_frame_new (_("Channels"));
3416   gtk_widget_ref (frame11);
3417   gtk_object_set_data_full (GTK_OBJECT (intf_open), "frame11", frame11,
3418                             (GtkDestroyNotify) gtk_widget_unref);
3419   gtk_widget_show (frame11);
3420   gtk_box_pack_start (GTK_BOX (vbox12), frame11, TRUE, TRUE, 0);
3421
3422   hbox9 = gtk_hbox_new (FALSE, 5);
3423   gtk_widget_ref (hbox9);
3424   gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox9", hbox9,
3425                             (GtkDestroyNotify) gtk_widget_unref);
3426   gtk_widget_show (hbox9);
3427   gtk_container_add (GTK_CONTAINER (frame11), hbox9);
3428   gtk_container_set_border_width (GTK_CONTAINER (hbox9), 5);
3429
3430   checkbutton1 = gtk_check_button_new_with_label (_("Channel server"));
3431   gtk_widget_ref (checkbutton1);
3432   gtk_object_set_data_full (GTK_OBJECT (intf_open), "checkbutton1", checkbutton1,
3433                             (GtkDestroyNotify) gtk_widget_unref);
3434   gtk_widget_show (checkbutton1);
3435   gtk_box_pack_start (GTK_BOX (hbox9), checkbutton1, FALSE, FALSE, 0);
3436
3437   combo2 = gtk_combo_new ();
3438   gtk_widget_ref (combo2);
3439   gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo2", combo2,
3440                             (GtkDestroyNotify) gtk_widget_unref);
3441   gtk_widget_show (combo2);
3442   gtk_box_pack_start (GTK_BOX (hbox9), combo2, TRUE, TRUE, 0);
3443
3444   combo_entry2 = GTK_COMBO (combo2)->entry;
3445   gtk_widget_ref (combo_entry2);
3446   gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo_entry2", combo_entry2,
3447                             (GtkDestroyNotify) gtk_widget_unref);
3448   gtk_widget_show (combo_entry2);
3449
3450   label28 = gtk_label_new (_("Port"));
3451   gtk_widget_ref (label28);
3452   gtk_object_set_data_full (GTK_OBJECT (intf_open), "label28", label28,
3453                             (GtkDestroyNotify) gtk_widget_unref);
3454   gtk_widget_show (label28);
3455   gtk_box_pack_start (GTK_BOX (hbox9), label28, FALSE, FALSE, 0);
3456
3457   spinbutton8_adj = gtk_adjustment_new (1, 0, 100, 1, 10, 10);
3458   spinbutton8 = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton8_adj), 1, 0);
3459   gtk_widget_ref (spinbutton8);
3460   gtk_object_set_data_full (GTK_OBJECT (intf_open), "spinbutton8", spinbutton8,
3461                             (GtkDestroyNotify) gtk_widget_unref);
3462   gtk_widget_show (spinbutton8);
3463   gtk_box_pack_start (GTK_BOX (hbox9), spinbutton8, TRUE, TRUE, 0);
3464
3465   tab_network = gtk_label_new (_("Network"));
3466   gtk_widget_ref (tab_network);
3467   gtk_object_set_data_full (GTK_OBJECT (intf_open), "tab_network", tab_network,
3468                             (GtkDestroyNotify) gtk_widget_unref);
3469   gtk_widget_show (tab_network);
3470   gtk_notebook_set_tab_label (GTK_NOTEBOOK (tab_open), gtk_notebook_get_nth_page (GTK_NOTEBOOK (tab_open), 1), tab_network);
3471
3472   dialog_action_area5 = GNOME_DIALOG (intf_open)->action_area;
3473   gtk_object_set_data (GTK_OBJECT (intf_open), "dialog_action_area5", dialog_action_area5);
3474   gtk_widget_show (dialog_action_area5);
3475   gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area5), GTK_BUTTONBOX_END);
3476   gtk_button_box_set_spacing (GTK_BUTTON_BOX (dialog_action_area5), 8);
3477
3478   gnome_dialog_append_button (GNOME_DIALOG (intf_open), GNOME_STOCK_BUTTON_OK);
3479   button1 = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_open)->buttons)->data);
3480   gtk_widget_ref (button1);
3481   gtk_object_set_data_full (GTK_OBJECT (intf_open), "button1", button1,
3482                             (GtkDestroyNotify) gtk_widget_unref);
3483   gtk_widget_show (button1);
3484   GTK_WIDGET_SET_FLAGS (button1, GTK_CAN_DEFAULT);
3485
3486   gnome_dialog_append_button (GNOME_DIALOG (intf_open), GNOME_STOCK_BUTTON_CANCEL);
3487   button3 = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_open)->buttons)->data);
3488   gtk_widget_ref (button3);
3489   gtk_object_set_data_full (GTK_OBJECT (intf_open), "button3", button3,
3490                             (GtkDestroyNotify) gtk_widget_unref);
3491   gtk_widget_show (button3);
3492   GTK_WIDGET_SET_FLAGS (button3, GTK_CAN_DEFAULT);
3493
3494   return intf_open;
3495 }
3496