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