2 * DO NOT EDIT THIS FILE - it is generated by Glade.
16 #include "gnome_callbacks.h"
17 #include "gnome_interface.h"
18 #include "gnome_support.h"
20 static GnomeUIInfo menubar_file_menu_uiinfo[] =
23 GNOME_APP_UI_ITEM, N_("_Open File..."),
25 (gpointer) on_menubar_open_activate, NULL, NULL,
26 GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_OPEN,
27 0, (GdkModifierType) 0, NULL
30 GNOME_APP_UI_ITEM, N_("Open _Disc..."),
31 N_("Open a DVD or VCD"),
32 (gpointer) on_menubar_disc_activate, NULL, NULL,
33 GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_CDROM,
34 0, (GdkModifierType) 0, NULL
37 GNOME_APP_UI_ITEM, N_("_Network Stream..."),
38 N_("Select a Network Stream"),
39 (gpointer) on_menubar_network_activate, NULL, NULL,
40 GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_REFRESH,
41 0, (GdkModifierType) 0, NULL
43 GNOMEUIINFO_SEPARATOR,
44 GNOMEUIINFO_MENU_EXIT_ITEM (on_menubar_exit_activate, NULL),
48 static GnomeUIInfo menubar_view_menu_uiinfo[] =
51 GNOME_APP_UI_ITEM, N_("_Title"),
53 (gpointer) NULL, NULL, NULL,
54 GNOME_APP_PIXMAP_NONE, NULL,
55 0, (GdkModifierType) 0, NULL
58 GNOME_APP_UI_ITEM, N_("_Chapter"),
60 (gpointer) NULL, NULL, NULL,
61 GNOME_APP_PIXMAP_NONE, NULL,
62 0, (GdkModifierType) 0, NULL
64 GNOMEUIINFO_SEPARATOR,
66 GNOME_APP_UI_ITEM, N_("_Playlist..."),
67 N_("Open the playlist window"),
68 (gpointer) on_menubar_playlist_activate, NULL, NULL,
69 GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_INDEX,
70 0, (GdkModifierType) 0, NULL
73 GNOME_APP_UI_ITEM, N_("_Modules..."),
74 N_("Open the plugin manager"),
75 (gpointer) on_menubar_modules_activate, NULL, NULL,
76 GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_ATTACH,
77 0, (GdkModifierType) 0, NULL
82 static GnomeUIInfo menubar_settings_menu_uiinfo[] =
85 GNOME_APP_UI_ITEM, N_("_Audio"),
86 N_("Select audio channel"),
87 (gpointer) NULL, NULL, NULL,
88 GNOME_APP_PIXMAP_NONE, NULL,
89 0, (GdkModifierType) 0, NULL
92 GNOME_APP_UI_ITEM, N_("_Subtitle"),
93 N_("Select subtitle unit"),
94 (gpointer) NULL, NULL, NULL,
95 GNOME_APP_PIXMAP_NONE, NULL,
96 0, (GdkModifierType) 0, NULL
98 GNOMEUIINFO_SEPARATOR,
99 GNOMEUIINFO_MENU_PREFERENCES_ITEM (on_menubar_preferences_activate, NULL),
103 static GnomeUIInfo menubar_help_menu_uiinfo[] =
105 GNOMEUIINFO_MENU_ABOUT_ITEM (on_menubar_about_activate, NULL),
109 static GnomeUIInfo menubar_uiinfo[] =
111 GNOMEUIINFO_MENU_FILE_TREE (menubar_file_menu_uiinfo),
112 GNOMEUIINFO_MENU_VIEW_TREE (menubar_view_menu_uiinfo),
113 GNOMEUIINFO_MENU_SETTINGS_TREE (menubar_settings_menu_uiinfo),
114 GNOMEUIINFO_MENU_HELP_TREE (menubar_help_menu_uiinfo),
119 create_intf_window (void)
121 GtkWidget *intf_window;
124 GtkWidget *tmp_toolbar_icon;
125 GtkWidget *toolbar_file;
126 GtkWidget *toolbar_disc;
127 GtkWidget *toolbar_network;
128 GtkWidget *toolbar_back;
129 GtkWidget *toolbar_stop;
130 GtkWidget *toolbar_play;
131 GtkWidget *toolbar_pause;
132 GtkWidget *toolbar_slow;
133 GtkWidget *toolbar_fast;
134 GtkWidget *toolbar_playlist;
135 GtkWidget *toolbar_prev;
136 GtkWidget *toolbar_next;
139 GtkWidget *label_date;
140 GtkWidget *label_status;
141 GtkWidget *label_bar;
145 intf_window = gnome_app_new ("VideoLAN Client", _("VideoLAN Client"));
146 gtk_object_set_data (GTK_OBJECT (intf_window), "intf_window", intf_window);
148 dockitem = GNOME_APP (intf_window)->dock;
149 gtk_widget_ref (dockitem);
150 gtk_object_set_data_full (GTK_OBJECT (intf_window), "dockitem", dockitem,
151 (GtkDestroyNotify) gtk_widget_unref);
152 gtk_widget_show (dockitem);
154 gnome_app_create_menus (GNOME_APP (intf_window), menubar_uiinfo);
156 gtk_widget_ref (menubar_uiinfo[0].widget);
157 gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_file",
158 menubar_uiinfo[0].widget,
159 (GtkDestroyNotify) gtk_widget_unref);
161 gtk_widget_ref (menubar_file_menu_uiinfo[0].widget);
162 gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_open",
163 menubar_file_menu_uiinfo[0].widget,
164 (GtkDestroyNotify) gtk_widget_unref);
166 gtk_widget_ref (menubar_file_menu_uiinfo[1].widget);
167 gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_disc",
168 menubar_file_menu_uiinfo[1].widget,
169 (GtkDestroyNotify) gtk_widget_unref);
171 gtk_widget_ref (menubar_file_menu_uiinfo[2].widget);
172 gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_network",
173 menubar_file_menu_uiinfo[2].widget,
174 (GtkDestroyNotify) gtk_widget_unref);
176 gtk_widget_ref (menubar_file_menu_uiinfo[3].widget);
177 gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator1",
178 menubar_file_menu_uiinfo[3].widget,
179 (GtkDestroyNotify) gtk_widget_unref);
181 gtk_widget_ref (menubar_file_menu_uiinfo[4].widget);
182 gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_exit",
183 menubar_file_menu_uiinfo[4].widget,
184 (GtkDestroyNotify) gtk_widget_unref);
186 gtk_widget_ref (menubar_uiinfo[1].widget);
187 gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_view",
188 menubar_uiinfo[1].widget,
189 (GtkDestroyNotify) gtk_widget_unref);
191 gtk_widget_ref (menubar_view_menu_uiinfo[0].widget);
192 gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_title",
193 menubar_view_menu_uiinfo[0].widget,
194 (GtkDestroyNotify) gtk_widget_unref);
195 gtk_widget_set_sensitive (menubar_view_menu_uiinfo[0].widget, FALSE);
197 gtk_widget_ref (menubar_view_menu_uiinfo[1].widget);
198 gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_chapter",
199 menubar_view_menu_uiinfo[1].widget,
200 (GtkDestroyNotify) gtk_widget_unref);
201 gtk_widget_set_sensitive (menubar_view_menu_uiinfo[1].widget, FALSE);
203 gtk_widget_ref (menubar_view_menu_uiinfo[2].widget);
204 gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator7",
205 menubar_view_menu_uiinfo[2].widget,
206 (GtkDestroyNotify) gtk_widget_unref);
208 gtk_widget_ref (menubar_view_menu_uiinfo[3].widget);
209 gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_playlist",
210 menubar_view_menu_uiinfo[3].widget,
211 (GtkDestroyNotify) gtk_widget_unref);
212 gtk_widget_set_sensitive (menubar_view_menu_uiinfo[3].widget, FALSE);
214 gtk_widget_ref (menubar_view_menu_uiinfo[4].widget);
215 gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_modules",
216 menubar_view_menu_uiinfo[4].widget,
217 (GtkDestroyNotify) gtk_widget_unref);
218 gtk_widget_set_sensitive (menubar_view_menu_uiinfo[4].widget, FALSE);
220 gtk_widget_ref (menubar_uiinfo[2].widget);
221 gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_settings",
222 menubar_uiinfo[2].widget,
223 (GtkDestroyNotify) gtk_widget_unref);
225 gtk_widget_ref (menubar_settings_menu_uiinfo[0].widget);
226 gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_audio",
227 menubar_settings_menu_uiinfo[0].widget,
228 (GtkDestroyNotify) gtk_widget_unref);
229 gtk_widget_set_sensitive (menubar_settings_menu_uiinfo[0].widget, FALSE);
231 gtk_widget_ref (menubar_settings_menu_uiinfo[1].widget);
232 gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_subtitle",
233 menubar_settings_menu_uiinfo[1].widget,
234 (GtkDestroyNotify) gtk_widget_unref);
235 gtk_widget_set_sensitive (menubar_settings_menu_uiinfo[1].widget, FALSE);
237 gtk_widget_ref (menubar_settings_menu_uiinfo[2].widget);
238 gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator5",
239 menubar_settings_menu_uiinfo[2].widget,
240 (GtkDestroyNotify) gtk_widget_unref);
242 gtk_widget_ref (menubar_settings_menu_uiinfo[3].widget);
243 gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_preferences",
244 menubar_settings_menu_uiinfo[3].widget,
245 (GtkDestroyNotify) gtk_widget_unref);
246 gtk_widget_set_sensitive (menubar_settings_menu_uiinfo[3].widget, FALSE);
248 gtk_widget_ref (menubar_uiinfo[3].widget);
249 gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_help",
250 menubar_uiinfo[3].widget,
251 (GtkDestroyNotify) gtk_widget_unref);
253 gtk_widget_ref (menubar_help_menu_uiinfo[0].widget);
254 gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_about",
255 menubar_help_menu_uiinfo[0].widget,
256 (GtkDestroyNotify) gtk_widget_unref);
258 toolbar = gtk_toolbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_BOTH);
259 gtk_widget_ref (toolbar);
260 gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar", toolbar,
261 (GtkDestroyNotify) gtk_widget_unref);
262 gtk_widget_show (toolbar);
263 gnome_app_add_toolbar (GNOME_APP (intf_window), GTK_TOOLBAR (toolbar), "toolbar",
264 GNOME_DOCK_ITEM_BEH_EXCLUSIVE,
265 GNOME_DOCK_TOP, 1, 0, 2);
266 gtk_toolbar_set_space_size (GTK_TOOLBAR (toolbar), 16);
267 gtk_toolbar_set_space_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_SPACE_LINE);
268 gtk_toolbar_set_button_relief (GTK_TOOLBAR (toolbar), GTK_RELIEF_NONE);
270 tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_OPEN);
271 toolbar_file = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
272 GTK_TOOLBAR_CHILD_BUTTON,
275 _("Open a File"), NULL,
276 tmp_toolbar_icon, NULL, NULL);
277 gtk_widget_ref (toolbar_file);
278 gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_file", toolbar_file,
279 (GtkDestroyNotify) gtk_widget_unref);
280 gtk_widget_show (toolbar_file);
282 tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_CDROM);
283 toolbar_disc = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
284 GTK_TOOLBAR_CHILD_BUTTON,
287 _("Open a DVD or VCD"), NULL,
288 tmp_toolbar_icon, NULL, NULL);
289 gtk_widget_ref (toolbar_disc);
290 gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_disc", toolbar_disc,
291 (GtkDestroyNotify) gtk_widget_unref);
292 gtk_widget_show (toolbar_disc);
294 tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_REFRESH);
295 toolbar_network = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
296 GTK_TOOLBAR_CHILD_BUTTON,
299 _("Select a Network Stream"), NULL,
300 tmp_toolbar_icon, NULL, NULL);
301 gtk_widget_ref (toolbar_network);
302 gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_network", toolbar_network,
303 (GtkDestroyNotify) gtk_widget_unref);
304 gtk_widget_show (toolbar_network);
306 gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
308 tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_BACK);
309 toolbar_back = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
310 GTK_TOOLBAR_CHILD_BUTTON,
313 _("Go Backwards"), NULL,
314 tmp_toolbar_icon, NULL, NULL);
315 gtk_widget_ref (toolbar_back);
316 gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_back", toolbar_back,
317 (GtkDestroyNotify) gtk_widget_unref);
318 gtk_widget_show (toolbar_back);
319 gtk_widget_set_sensitive (toolbar_back, FALSE);
321 tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_STOP);
322 toolbar_stop = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
323 GTK_TOOLBAR_CHILD_BUTTON,
326 _("Stop Stream"), NULL,
327 tmp_toolbar_icon, NULL, NULL);
328 gtk_widget_ref (toolbar_stop);
329 gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_stop", toolbar_stop,
330 (GtkDestroyNotify) gtk_widget_unref);
331 gtk_widget_show (toolbar_stop);
332 gtk_widget_set_sensitive (toolbar_stop, FALSE);
334 tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_FORWARD);
335 toolbar_play = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
336 GTK_TOOLBAR_CHILD_BUTTON,
339 _("Play Stream"), NULL,
340 tmp_toolbar_icon, NULL, NULL);
341 gtk_widget_ref (toolbar_play);
342 gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_play", toolbar_play,
343 (GtkDestroyNotify) gtk_widget_unref);
344 gtk_widget_show (toolbar_play);
346 tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_BOTTOM);
347 toolbar_pause = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
348 GTK_TOOLBAR_CHILD_BUTTON,
351 _("Pause Stream"), NULL,
352 tmp_toolbar_icon, NULL, NULL);
353 gtk_widget_ref (toolbar_pause);
354 gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_pause", toolbar_pause,
355 (GtkDestroyNotify) gtk_widget_unref);
356 gtk_widget_show (toolbar_pause);
358 tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_TIMER_STOP);
359 toolbar_slow = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
360 GTK_TOOLBAR_CHILD_BUTTON,
363 _("Play Slower"), NULL,
364 tmp_toolbar_icon, NULL, NULL);
365 gtk_widget_ref (toolbar_slow);
366 gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_slow", toolbar_slow,
367 (GtkDestroyNotify) gtk_widget_unref);
368 gtk_widget_show (toolbar_slow);
370 tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_TIMER);
371 toolbar_fast = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
372 GTK_TOOLBAR_CHILD_BUTTON,
375 _("Play Faster"), NULL,
376 tmp_toolbar_icon, NULL, NULL);
377 gtk_widget_ref (toolbar_fast);
378 gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_fast", toolbar_fast,
379 (GtkDestroyNotify) gtk_widget_unref);
380 gtk_widget_show (toolbar_fast);
382 gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
384 tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_INDEX);
385 toolbar_playlist = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
386 GTK_TOOLBAR_CHILD_BUTTON,
389 _("Open Playlist"), NULL,
390 tmp_toolbar_icon, NULL, NULL);
391 gtk_widget_ref (toolbar_playlist);
392 gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_playlist", toolbar_playlist,
393 (GtkDestroyNotify) gtk_widget_unref);
394 gtk_widget_show (toolbar_playlist);
395 gtk_widget_set_sensitive (toolbar_playlist, FALSE);
397 tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_FIRST);
398 toolbar_prev = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
399 GTK_TOOLBAR_CHILD_BUTTON,
402 _("Previous File"), NULL,
403 tmp_toolbar_icon, NULL, NULL);
404 gtk_widget_ref (toolbar_prev);
405 gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_prev", toolbar_prev,
406 (GtkDestroyNotify) gtk_widget_unref);
407 gtk_widget_show (toolbar_prev);
409 tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_LAST);
410 toolbar_next = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
411 GTK_TOOLBAR_CHILD_BUTTON,
414 _("Next File"), NULL,
415 tmp_toolbar_icon, NULL, NULL);
416 gtk_widget_ref (toolbar_next);
417 gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_next", toolbar_next,
418 (GtkDestroyNotify) gtk_widget_unref);
419 gtk_widget_show (toolbar_next);
421 vbox2 = gtk_vbox_new (FALSE, 0);
422 gtk_widget_ref (vbox2);
423 gtk_object_set_data_full (GTK_OBJECT (intf_window), "vbox2", vbox2,
424 (GtkDestroyNotify) gtk_widget_unref);
425 gtk_widget_show (vbox2);
426 gnome_app_set_contents (GNOME_APP (intf_window), vbox2);
428 hbox4 = gtk_hbox_new (TRUE, 0);
429 gtk_widget_ref (hbox4);
430 gtk_object_set_data_full (GTK_OBJECT (intf_window), "hbox4", hbox4,
431 (GtkDestroyNotify) gtk_widget_unref);
432 gtk_widget_show (hbox4);
433 gtk_box_pack_start (GTK_BOX (vbox2), hbox4, TRUE, TRUE, 0);
435 label_date = gtk_label_new (_("-:--:--"));
436 gtk_widget_ref (label_date);
437 gtk_object_set_data_full (GTK_OBJECT (intf_window), "label_date", label_date,
438 (GtkDestroyNotify) gtk_widget_unref);
439 gtk_widget_show (label_date);
440 gtk_box_pack_start (GTK_BOX (hbox4), label_date, FALSE, FALSE, 0);
442 label_status = gtk_label_new (_("Status: foo"));
443 gtk_widget_ref (label_status);
444 gtk_object_set_data_full (GTK_OBJECT (intf_window), "label_status", label_status,
445 (GtkDestroyNotify) gtk_widget_unref);
446 gtk_widget_show (label_status);
447 gtk_box_pack_start (GTK_BOX (hbox4), label_status, FALSE, FALSE, 0);
449 label_bar = gtk_label_new (_("Bar: baz"));
450 gtk_widget_ref (label_bar);
451 gtk_object_set_data_full (GTK_OBJECT (intf_window), "label_bar", label_bar,
452 (GtkDestroyNotify) gtk_widget_unref);
453 gtk_widget_show (label_bar);
454 gtk_box_pack_start (GTK_BOX (hbox4), label_bar, FALSE, FALSE, 0);
456 slider = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 100, 0, 6.25, 0)));
457 gtk_widget_ref (slider);
458 gtk_object_set_data_full (GTK_OBJECT (intf_window), "slider", slider,
459 (GtkDestroyNotify) gtk_widget_unref);
460 gtk_widget_show (slider);
461 gtk_box_pack_start (GTK_BOX (vbox2), slider, TRUE, TRUE, 0);
462 gtk_scale_set_draw_value (GTK_SCALE (slider), FALSE);
463 gtk_scale_set_digits (GTK_SCALE (slider), 0);
465 appbar = gnome_appbar_new (TRUE, TRUE, GNOME_PREFERENCES_NEVER);
466 gtk_widget_ref (appbar);
467 gtk_object_set_data_full (GTK_OBJECT (intf_window), "appbar", appbar,
468 (GtkDestroyNotify) gtk_widget_unref);
469 gtk_widget_show (appbar);
470 gnome_app_set_statusbar (GNOME_APP (intf_window), appbar);
472 gtk_signal_connect (GTK_OBJECT (intf_window), "destroy",
473 GTK_SIGNAL_FUNC (on_intf_window_destroy),
475 gtk_signal_connect (GTK_OBJECT (intf_window), "drag_data_received",
476 GTK_SIGNAL_FUNC (on_intf_window_drag_data_received),
478 gnome_app_install_menu_hints (GNOME_APP (intf_window), menubar_uiinfo);
479 gtk_signal_connect (GTK_OBJECT (toolbar_file), "clicked",
480 GTK_SIGNAL_FUNC (on_toolbar_open_clicked),
482 gtk_signal_connect (GTK_OBJECT (toolbar_disc), "clicked",
483 GTK_SIGNAL_FUNC (on_toolbar_disc_clicked),
485 gtk_signal_connect (GTK_OBJECT (toolbar_network), "clicked",
486 GTK_SIGNAL_FUNC (on_toolbar_network_clicked),
488 gtk_signal_connect (GTK_OBJECT (toolbar_back), "clicked",
489 GTK_SIGNAL_FUNC (on_toolbar_back_clicked),
491 gtk_signal_connect (GTK_OBJECT (toolbar_stop), "clicked",
492 GTK_SIGNAL_FUNC (on_toolbar_stop_clicked),
494 gtk_signal_connect (GTK_OBJECT (toolbar_play), "clicked",
495 GTK_SIGNAL_FUNC (on_toolbar_play_clicked),
497 gtk_signal_connect (GTK_OBJECT (toolbar_pause), "clicked",
498 GTK_SIGNAL_FUNC (on_toolbar_pause_clicked),
500 gtk_signal_connect (GTK_OBJECT (toolbar_slow), "clicked",
501 GTK_SIGNAL_FUNC (on_toolbar_slow_clicked),
503 gtk_signal_connect (GTK_OBJECT (toolbar_fast), "clicked",
504 GTK_SIGNAL_FUNC (on_toolbar_fast_clicked),
506 gtk_signal_connect (GTK_OBJECT (toolbar_playlist), "clicked",
507 GTK_SIGNAL_FUNC (on_toolbar_playlist_clicked),
509 gtk_signal_connect (GTK_OBJECT (toolbar_prev), "clicked",
510 GTK_SIGNAL_FUNC (on_toolbar_prev_clicked),
512 gtk_signal_connect (GTK_OBJECT (toolbar_next), "clicked",
513 GTK_SIGNAL_FUNC (on_toolbar_next_clicked),
515 gtk_signal_connect (GTK_OBJECT (slider), "button_press_event",
516 GTK_SIGNAL_FUNC (on_slider_button_press_event),
518 gtk_signal_connect (GTK_OBJECT (slider), "button_release_event",
519 GTK_SIGNAL_FUNC (on_slider_button_release_event),
525 static GnomeUIInfo popup_file_menu_uiinfo[] =
528 GNOME_APP_UI_ITEM, N_("_Open File..."),
530 (gpointer) on_popup_open_activate, NULL, NULL,
531 GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_OPEN,
532 0, (GdkModifierType) 0, NULL
535 GNOME_APP_UI_ITEM, N_("Open _Disc..."),
536 N_("Open a DVD or VCD"),
537 (gpointer) on_popup_disc_activate, NULL, NULL,
538 GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_CDROM,
539 0, (GdkModifierType) 0, NULL
542 GNOME_APP_UI_ITEM, N_("_Network Stream..."),
543 N_("Select a Network Stream"),
544 (gpointer) on_popup_network_activate, NULL, NULL,
545 GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_REFRESH,
546 0, (GdkModifierType) 0, NULL
548 GNOMEUIINFO_SEPARATOR,
549 GNOMEUIINFO_MENU_ABOUT_ITEM (on_popup_about_activate, NULL),
553 static GnomeUIInfo intf_popup_uiinfo[] =
556 GNOME_APP_UI_ITEM, N_("_Play"),
558 (gpointer) on_popup_play_activate, NULL, NULL,
559 GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_FORWARD,
560 0, (GdkModifierType) 0, NULL
563 GNOME_APP_UI_ITEM, N_("Pause"),
565 (gpointer) on_popup_pause_activate, NULL, NULL,
566 GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_BOTTOM,
567 0, (GdkModifierType) 0, NULL
570 GNOME_APP_UI_ITEM, N_("Slow"),
572 (gpointer) on_popup_slow_activate, NULL, NULL,
573 GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_TIMER_STOP,
574 0, (GdkModifierType) 0, NULL
577 GNOME_APP_UI_ITEM, N_("Fast"),
579 (gpointer) on_popup_fast_activate, NULL, NULL,
580 GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_TIMER,
581 0, (GdkModifierType) 0, NULL
583 GNOMEUIINFO_SEPARATOR,
585 GNOME_APP_UI_ITEM, N_("_Navigation"),
586 N_("Navigate through titles and chapters"),
587 (gpointer) NULL, NULL, NULL,
588 GNOME_APP_PIXMAP_NONE, NULL,
589 0, (GdkModifierType) 0, NULL
592 GNOME_APP_UI_ITEM, N_("_Audio"),
593 N_("Select audio channel"),
594 (gpointer) NULL, NULL, NULL,
595 GNOME_APP_PIXMAP_NONE, NULL,
596 0, (GdkModifierType) 0, NULL
599 GNOME_APP_UI_ITEM, N_("_Subtitle"),
600 N_("Select subtitle channel"),
601 (gpointer) NULL, NULL, NULL,
602 GNOME_APP_PIXMAP_NONE, NULL,
603 0, (GdkModifierType) 0, NULL
605 GNOMEUIINFO_MENU_FILE_TREE (popup_file_menu_uiinfo),
606 GNOMEUIINFO_SEPARATOR,
607 GNOMEUIINFO_MENU_EXIT_ITEM (on_popup_exit_activate, NULL),
612 create_intf_popup (void)
614 GtkWidget *intf_popup;
616 intf_popup = gtk_menu_new ();
617 gtk_object_set_data (GTK_OBJECT (intf_popup), "intf_popup", intf_popup);
618 gnome_app_fill_menu (GTK_MENU_SHELL (intf_popup), intf_popup_uiinfo,
621 gtk_widget_ref (intf_popup_uiinfo[0].widget);
622 gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_play",
623 intf_popup_uiinfo[0].widget,
624 (GtkDestroyNotify) gtk_widget_unref);
626 gtk_widget_ref (intf_popup_uiinfo[1].widget);
627 gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_pause",
628 intf_popup_uiinfo[1].widget,
629 (GtkDestroyNotify) gtk_widget_unref);
631 gtk_widget_ref (intf_popup_uiinfo[2].widget);
632 gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_slow",
633 intf_popup_uiinfo[2].widget,
634 (GtkDestroyNotify) gtk_widget_unref);
636 gtk_widget_ref (intf_popup_uiinfo[3].widget);
637 gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_fast",
638 intf_popup_uiinfo[3].widget,
639 (GtkDestroyNotify) gtk_widget_unref);
641 gtk_widget_ref (intf_popup_uiinfo[4].widget);
642 gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator3",
643 intf_popup_uiinfo[4].widget,
644 (GtkDestroyNotify) gtk_widget_unref);
646 gtk_widget_ref (intf_popup_uiinfo[5].widget);
647 gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_navigation",
648 intf_popup_uiinfo[5].widget,
649 (GtkDestroyNotify) gtk_widget_unref);
650 gtk_widget_set_sensitive (intf_popup_uiinfo[5].widget, FALSE);
652 gtk_widget_ref (intf_popup_uiinfo[6].widget);
653 gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_audio",
654 intf_popup_uiinfo[6].widget,
655 (GtkDestroyNotify) gtk_widget_unref);
656 gtk_widget_set_sensitive (intf_popup_uiinfo[6].widget, FALSE);
658 gtk_widget_ref (intf_popup_uiinfo[7].widget);
659 gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_subtitle",
660 intf_popup_uiinfo[7].widget,
661 (GtkDestroyNotify) gtk_widget_unref);
662 gtk_widget_set_sensitive (intf_popup_uiinfo[7].widget, FALSE);
664 gtk_widget_ref (intf_popup_uiinfo[8].widget);
665 gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_file",
666 intf_popup_uiinfo[8].widget,
667 (GtkDestroyNotify) gtk_widget_unref);
669 gtk_widget_ref (popup_file_menu_uiinfo[0].widget);
670 gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_open",
671 popup_file_menu_uiinfo[0].widget,
672 (GtkDestroyNotify) gtk_widget_unref);
674 gtk_widget_ref (popup_file_menu_uiinfo[1].widget);
675 gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_disc",
676 popup_file_menu_uiinfo[1].widget,
677 (GtkDestroyNotify) gtk_widget_unref);
679 gtk_widget_ref (popup_file_menu_uiinfo[2].widget);
680 gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_network",
681 popup_file_menu_uiinfo[2].widget,
682 (GtkDestroyNotify) gtk_widget_unref);
684 gtk_widget_ref (popup_file_menu_uiinfo[3].widget);
685 gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator4",
686 popup_file_menu_uiinfo[3].widget,
687 (GtkDestroyNotify) gtk_widget_unref);
689 gtk_widget_ref (popup_file_menu_uiinfo[4].widget);
690 gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_about",
691 popup_file_menu_uiinfo[4].widget,
692 (GtkDestroyNotify) gtk_widget_unref);
694 gtk_widget_ref (intf_popup_uiinfo[9].widget);
695 gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator2",
696 intf_popup_uiinfo[9].widget,
697 (GtkDestroyNotify) gtk_widget_unref);
699 gtk_widget_ref (intf_popup_uiinfo[10].widget);
700 gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_exit",
701 intf_popup_uiinfo[10].widget,
702 (GtkDestroyNotify) gtk_widget_unref);
708 create_intf_about (void)
710 const gchar *authors[] = {
711 "Régis Duchesne <regis@via.ecp.fr>",
712 "Michel Lespinasse <walken@zoy.org>",
713 "Olivier Pomel <pomel@via.ecp.fr>",
714 "Pierre Baillet <oct@zoy.org>",
715 "Jean-Philippe Grimaldi <jeanphi@via.ecp.fr>",
716 "Andres Krapf <dae@via.ecp.fr>",
717 "Christophe Massiot <massiot@via.ecp.fr>",
718 "Vincent Seguin <seguin@via.ecp.fr>",
719 "Benoit Steiner <benny@via.ecp.fr>",
720 "Arnaud de Bossoreille de Ribou <bozo@via.ecp.fr>",
721 "Jean-Marc Dressler <polux@via.ecp.fr>",
722 "Gaël Hendryckx <jimmy@via.ecp.fr>",
723 "Samuel Hocevar <sam@zoy.org>",
724 "Brieuc Jeunhomme <bbp@via.ecp.fr>",
725 "Michel Kaempf <maxx@via.ecp.fr>",
726 "Stéphane Borel <stef@via.ecp.fr>",
727 "Renaud Dartus <reno@via.ecp.fr>",
728 "Henri Fallon <henri@via.ecp.fr>",
731 GtkWidget *intf_about;
733 intf_about = gnome_about_new ("VideoLAN Client", VERSION,
734 _("(C) 1996, 1997, 1998, 1999, 2000, 2001 - the VideoLAN Team"),
736 _("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."),
738 gtk_object_set_data (GTK_OBJECT (intf_about), "intf_about", intf_about);
744 create_intf_fileopen (void)
746 GtkWidget *intf_fileopen;
747 GtkWidget *fileopen_ok;
748 GtkWidget *fileopen_cancel;
750 intf_fileopen = gtk_file_selection_new (_("Open File"));
751 gtk_object_set_data (GTK_OBJECT (intf_fileopen), "intf_fileopen", intf_fileopen);
752 gtk_container_set_border_width (GTK_CONTAINER (intf_fileopen), 10);
753 gtk_window_set_modal (GTK_WINDOW (intf_fileopen), TRUE);
755 fileopen_ok = GTK_FILE_SELECTION (intf_fileopen)->ok_button;
756 gtk_object_set_data (GTK_OBJECT (intf_fileopen), "fileopen_ok", fileopen_ok);
757 gtk_widget_show (fileopen_ok);
758 GTK_WIDGET_SET_FLAGS (fileopen_ok, GTK_CAN_DEFAULT);
760 fileopen_cancel = GTK_FILE_SELECTION (intf_fileopen)->cancel_button;
761 gtk_object_set_data (GTK_OBJECT (intf_fileopen), "fileopen_cancel", fileopen_cancel);
762 gtk_widget_show (fileopen_cancel);
763 GTK_WIDGET_SET_FLAGS (fileopen_cancel, GTK_CAN_DEFAULT);
765 gtk_signal_connect (GTK_OBJECT (intf_fileopen), "destroy",
766 GTK_SIGNAL_FUNC (on_intf_fileopen_destroy),
768 gtk_signal_connect (GTK_OBJECT (fileopen_ok), "clicked",
769 GTK_SIGNAL_FUNC (on_fileopen_ok_clicked),
771 gtk_signal_connect (GTK_OBJECT (fileopen_cancel), "clicked",
772 GTK_SIGNAL_FUNC (on_fileopen_cancel_clicked),
775 return intf_fileopen;
779 create_intf_modules (void)
781 GtkWidget *intf_modules;
782 GtkWidget *dialog_vbox1;
784 GtkWidget *dialog_action_area1;
785 GtkWidget *modules_ok;
786 GtkWidget *modules_apply;
787 GtkWidget *modules_cancel;
789 intf_modules = gnome_dialog_new (_("Modules"), NULL);
790 gtk_object_set_data (GTK_OBJECT (intf_modules), "intf_modules", intf_modules);
791 gtk_window_set_policy (GTK_WINDOW (intf_modules), FALSE, FALSE, FALSE);
793 dialog_vbox1 = GNOME_DIALOG (intf_modules)->vbox;
794 gtk_object_set_data (GTK_OBJECT (intf_modules), "dialog_vbox1", dialog_vbox1);
795 gtk_widget_show (dialog_vbox1);
797 label12 = gtk_label_new (_("Sorry, the module manager isn't functional yet. Please retry in a later version."));
798 gtk_widget_ref (label12);
799 gtk_object_set_data_full (GTK_OBJECT (intf_modules), "label12", label12,
800 (GtkDestroyNotify) gtk_widget_unref);
801 gtk_widget_show (label12);
802 gtk_box_pack_start (GTK_BOX (dialog_vbox1), label12, FALSE, FALSE, 0);
804 dialog_action_area1 = GNOME_DIALOG (intf_modules)->action_area;
805 gtk_object_set_data (GTK_OBJECT (intf_modules), "dialog_action_area1", dialog_action_area1);
806 gtk_widget_show (dialog_action_area1);
807 gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_END);
808 gtk_button_box_set_spacing (GTK_BUTTON_BOX (dialog_action_area1), 8);
810 gnome_dialog_append_button (GNOME_DIALOG (intf_modules), GNOME_STOCK_BUTTON_OK);
811 modules_ok = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_modules)->buttons)->data);
812 gtk_widget_ref (modules_ok);
813 gtk_object_set_data_full (GTK_OBJECT (intf_modules), "modules_ok", modules_ok,
814 (GtkDestroyNotify) gtk_widget_unref);
815 gtk_widget_show (modules_ok);
816 GTK_WIDGET_SET_FLAGS (modules_ok, GTK_CAN_DEFAULT);
818 gnome_dialog_append_button (GNOME_DIALOG (intf_modules), GNOME_STOCK_BUTTON_APPLY);
819 modules_apply = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_modules)->buttons)->data);
820 gtk_widget_ref (modules_apply);
821 gtk_object_set_data_full (GTK_OBJECT (intf_modules), "modules_apply", modules_apply,
822 (GtkDestroyNotify) gtk_widget_unref);
823 gtk_widget_show (modules_apply);
824 GTK_WIDGET_SET_FLAGS (modules_apply, GTK_CAN_DEFAULT);
826 gnome_dialog_append_button (GNOME_DIALOG (intf_modules), GNOME_STOCK_BUTTON_CANCEL);
827 modules_cancel = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_modules)->buttons)->data);
828 gtk_widget_ref (modules_cancel);
829 gtk_object_set_data_full (GTK_OBJECT (intf_modules), "modules_cancel", modules_cancel,
830 (GtkDestroyNotify) gtk_widget_unref);
831 gtk_widget_show (modules_cancel);
832 GTK_WIDGET_SET_FLAGS (modules_cancel, GTK_CAN_DEFAULT);
834 gtk_signal_connect (GTK_OBJECT (intf_modules), "destroy",
835 GTK_SIGNAL_FUNC (on_intf_modules_destroy),
837 gtk_signal_connect (GTK_OBJECT (modules_ok), "clicked",
838 GTK_SIGNAL_FUNC (on_modules_ok_clicked),
840 gtk_signal_connect (GTK_OBJECT (modules_apply), "clicked",
841 GTK_SIGNAL_FUNC (on_modules_apply_clicked),
843 gtk_signal_connect (GTK_OBJECT (modules_cancel), "clicked",
844 GTK_SIGNAL_FUNC (on_modules_cancel_clicked),
851 create_intf_playlist (void)
853 GtkWidget *intf_playlist;
854 GtkWidget *dialog_vbox2;
856 GtkWidget *scrolledwindow3;
861 GtkWidget *dialog_action_area2;
862 GtkWidget *playlist_ok;
864 intf_playlist = gnome_dialog_new (_("Playlist"), NULL);
865 gtk_object_set_data (GTK_OBJECT (intf_playlist), "intf_playlist", intf_playlist);
867 dialog_vbox2 = GNOME_DIALOG (intf_playlist)->vbox;
868 gtk_object_set_data (GTK_OBJECT (intf_playlist), "dialog_vbox2", dialog_vbox2);
869 gtk_widget_show (dialog_vbox2);
871 label11 = gtk_label_new (_("Sorry, the playlist isn't functional yet. Please retry in a later version."));
872 gtk_widget_ref (label11);
873 gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "label11", label11,
874 (GtkDestroyNotify) gtk_widget_unref);
875 gtk_widget_show (label11);
876 gtk_box_pack_start (GTK_BOX (dialog_vbox2), label11, FALSE, FALSE, 0);
878 scrolledwindow3 = gtk_scrolled_window_new (NULL, NULL);
879 gtk_widget_ref (scrolledwindow3);
880 gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "scrolledwindow3", scrolledwindow3,
881 (GtkDestroyNotify) gtk_widget_unref);
882 gtk_widget_show (scrolledwindow3);
883 gtk_box_pack_start (GTK_BOX (dialog_vbox2), scrolledwindow3, TRUE, TRUE, 0);
885 clist2 = gtk_clist_new (3);
886 gtk_widget_ref (clist2);
887 gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "clist2", clist2,
888 (GtkDestroyNotify) gtk_widget_unref);
889 gtk_widget_show (clist2);
890 gtk_container_add (GTK_CONTAINER (scrolledwindow3), clist2);
891 gtk_clist_set_column_width (GTK_CLIST (clist2), 0, 211);
892 gtk_clist_set_column_width (GTK_CLIST (clist2), 1, 49);
893 gtk_clist_set_column_width (GTK_CLIST (clist2), 2, 35);
894 gtk_clist_column_titles_hide (GTK_CLIST (clist2));
896 label8 = gtk_label_new (_("Name"));
897 gtk_widget_ref (label8);
898 gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "label8", label8,
899 (GtkDestroyNotify) gtk_widget_unref);
900 gtk_widget_show (label8);
901 gtk_clist_set_column_widget (GTK_CLIST (clist2), 0, label8);
903 label9 = gtk_label_new (_("Type"));
904 gtk_widget_ref (label9);
905 gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "label9", label9,
906 (GtkDestroyNotify) gtk_widget_unref);
907 gtk_widget_show (label9);
908 gtk_clist_set_column_widget (GTK_CLIST (clist2), 1, label9);
910 label10 = gtk_label_new (_("Length"));
911 gtk_widget_ref (label10);
912 gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "label10", label10,
913 (GtkDestroyNotify) gtk_widget_unref);
914 gtk_widget_show (label10);
915 gtk_clist_set_column_widget (GTK_CLIST (clist2), 2, label10);
917 dialog_action_area2 = GNOME_DIALOG (intf_playlist)->action_area;
918 gtk_object_set_data (GTK_OBJECT (intf_playlist), "dialog_action_area2", dialog_action_area2);
919 gtk_widget_show (dialog_action_area2);
920 gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area2), GTK_BUTTONBOX_END);
921 gtk_button_box_set_spacing (GTK_BUTTON_BOX (dialog_action_area2), 8);
923 gnome_dialog_append_button (GNOME_DIALOG (intf_playlist), GNOME_STOCK_BUTTON_OK);
924 playlist_ok = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_playlist)->buttons)->data);
925 gtk_widget_ref (playlist_ok);
926 gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_ok", playlist_ok,
927 (GtkDestroyNotify) gtk_widget_unref);
928 gtk_widget_show (playlist_ok);
929 GTK_WIDGET_SET_FLAGS (playlist_ok, GTK_CAN_DEFAULT);
931 gtk_signal_connect (GTK_OBJECT (intf_playlist), "destroy",
932 GTK_SIGNAL_FUNC (on_intf_playlist_destroy),
934 gtk_signal_connect (GTK_OBJECT (playlist_ok), "clicked",
935 GTK_SIGNAL_FUNC (on_playlist_ok_clicked),
938 return intf_playlist;
942 create_intf_disc (void)
944 GtkWidget *intf_disc;
945 GtkWidget *dialog_vbox4;
949 GSList *disc_group = NULL;
956 GtkObject *disc_title_adj;
957 GtkWidget *disc_title;
958 GtkObject *disc_chapter_adj;
959 GtkWidget *disc_chapter;
962 GtkWidget *disc_name;
963 GtkWidget *dialog_action_area4;
965 GtkWidget *disc_cancel;
967 intf_disc = gnome_dialog_new (_("Open Disc"), NULL);
968 gtk_object_set_data (GTK_OBJECT (intf_disc), "intf_disc", intf_disc);
969 gtk_window_set_modal (GTK_WINDOW (intf_disc), TRUE);
970 gtk_window_set_policy (GTK_WINDOW (intf_disc), FALSE, FALSE, FALSE);
972 dialog_vbox4 = GNOME_DIALOG (intf_disc)->vbox;
973 gtk_object_set_data (GTK_OBJECT (intf_disc), "dialog_vbox4", dialog_vbox4);
974 gtk_widget_show (dialog_vbox4);
976 hbox2 = gtk_hbox_new (FALSE, 5);
977 gtk_widget_ref (hbox2);
978 gtk_object_set_data_full (GTK_OBJECT (intf_disc), "hbox2", hbox2,
979 (GtkDestroyNotify) gtk_widget_unref);
980 gtk_widget_show (hbox2);
981 gtk_box_pack_start (GTK_BOX (dialog_vbox4), hbox2, TRUE, TRUE, 0);
983 frame1 = gtk_frame_new (_("Disc type"));
984 gtk_widget_ref (frame1);
985 gtk_object_set_data_full (GTK_OBJECT (intf_disc), "frame1", frame1,
986 (GtkDestroyNotify) gtk_widget_unref);
987 gtk_widget_show (frame1);
988 gtk_box_pack_start (GTK_BOX (hbox2), frame1, TRUE, TRUE, 0);
990 vbox4 = gtk_vbox_new (FALSE, 0);
991 gtk_widget_ref (vbox4);
992 gtk_object_set_data_full (GTK_OBJECT (intf_disc), "vbox4", vbox4,
993 (GtkDestroyNotify) gtk_widget_unref);
994 gtk_widget_show (vbox4);
995 gtk_container_add (GTK_CONTAINER (frame1), vbox4);
997 disc_dvd = gtk_radio_button_new_with_label (disc_group, _("DVD"));
998 disc_group = gtk_radio_button_group (GTK_RADIO_BUTTON (disc_dvd));
999 gtk_widget_ref (disc_dvd);
1000 gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_dvd", disc_dvd,
1001 (GtkDestroyNotify) gtk_widget_unref);
1002 gtk_widget_show (disc_dvd);
1003 gtk_box_pack_start (GTK_BOX (vbox4), disc_dvd, FALSE, FALSE, 0);
1005 disc_vcd = gtk_radio_button_new_with_label (disc_group, _("VCD"));
1006 disc_group = gtk_radio_button_group (GTK_RADIO_BUTTON (disc_vcd));
1007 gtk_widget_ref (disc_vcd);
1008 gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_vcd", disc_vcd,
1009 (GtkDestroyNotify) gtk_widget_unref);
1010 gtk_widget_show (disc_vcd);
1011 gtk_box_pack_start (GTK_BOX (vbox4), disc_vcd, FALSE, FALSE, 0);
1012 gtk_widget_set_sensitive (disc_vcd, FALSE);
1014 frame2 = gtk_frame_new (_("Starting position"));
1015 gtk_widget_ref (frame2);
1016 gtk_object_set_data_full (GTK_OBJECT (intf_disc), "frame2", frame2,
1017 (GtkDestroyNotify) gtk_widget_unref);
1018 gtk_widget_show (frame2);
1019 gtk_box_pack_start (GTK_BOX (hbox2), frame2, TRUE, TRUE, 0);
1021 table1 = gtk_table_new (2, 2, FALSE);
1022 gtk_widget_ref (table1);
1023 gtk_object_set_data_full (GTK_OBJECT (intf_disc), "table1", table1,
1024 (GtkDestroyNotify) gtk_widget_unref);
1025 gtk_widget_show (table1);
1026 gtk_container_add (GTK_CONTAINER (frame2), table1);
1027 gtk_container_set_border_width (GTK_CONTAINER (table1), 5);
1028 gtk_table_set_row_spacings (GTK_TABLE (table1), 5);
1029 gtk_table_set_col_spacings (GTK_TABLE (table1), 5);
1031 label15 = gtk_label_new (_("Title"));
1032 gtk_widget_ref (label15);
1033 gtk_object_set_data_full (GTK_OBJECT (intf_disc), "label15", label15,
1034 (GtkDestroyNotify) gtk_widget_unref);
1035 gtk_widget_show (label15);
1036 gtk_table_attach (GTK_TABLE (table1), label15, 0, 1, 0, 1,
1037 (GtkAttachOptions) (GTK_FILL),
1038 (GtkAttachOptions) (0), 0, 0);
1039 gtk_misc_set_alignment (GTK_MISC (label15), 0, 0.5);
1041 label16 = gtk_label_new (_("Chapter"));
1042 gtk_widget_ref (label16);
1043 gtk_object_set_data_full (GTK_OBJECT (intf_disc), "label16", label16,
1044 (GtkDestroyNotify) gtk_widget_unref);
1045 gtk_widget_show (label16);
1046 gtk_table_attach (GTK_TABLE (table1), label16, 0, 1, 1, 2,
1047 (GtkAttachOptions) (GTK_FILL),
1048 (GtkAttachOptions) (0), 0, 0);
1049 gtk_misc_set_alignment (GTK_MISC (label16), 0, 0.5);
1051 disc_title_adj = gtk_adjustment_new (1, 1, 65536, 1, 10, 10);
1052 disc_title = gtk_spin_button_new (GTK_ADJUSTMENT (disc_title_adj), 1, 0);
1053 gtk_widget_ref (disc_title);
1054 gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_title", disc_title,
1055 (GtkDestroyNotify) gtk_widget_unref);
1056 gtk_widget_show (disc_title);
1057 gtk_table_attach (GTK_TABLE (table1), disc_title, 1, 2, 0, 1,
1058 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1059 (GtkAttachOptions) (0), 0, 0);
1061 disc_chapter_adj = gtk_adjustment_new (1, 1, 65536, 1, 10, 10);
1062 disc_chapter = gtk_spin_button_new (GTK_ADJUSTMENT (disc_chapter_adj), 1, 0);
1063 gtk_widget_ref (disc_chapter);
1064 gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_chapter", disc_chapter,
1065 (GtkDestroyNotify) gtk_widget_unref);
1066 gtk_widget_show (disc_chapter);
1067 gtk_table_attach (GTK_TABLE (table1), disc_chapter, 1, 2, 1, 2,
1068 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1069 (GtkAttachOptions) (0), 0, 0);
1071 hbox1 = gtk_hbox_new (FALSE, 5);
1072 gtk_widget_ref (hbox1);
1073 gtk_object_set_data_full (GTK_OBJECT (intf_disc), "hbox1", hbox1,
1074 (GtkDestroyNotify) gtk_widget_unref);
1075 gtk_widget_show (hbox1);
1076 gtk_box_pack_start (GTK_BOX (dialog_vbox4), hbox1, TRUE, TRUE, 0);
1078 label14 = gtk_label_new (_("Device name:"));
1079 gtk_widget_ref (label14);
1080 gtk_object_set_data_full (GTK_OBJECT (intf_disc), "label14", label14,
1081 (GtkDestroyNotify) gtk_widget_unref);
1082 gtk_widget_show (label14);
1083 gtk_box_pack_start (GTK_BOX (hbox1), label14, FALSE, FALSE, 0);
1085 disc_name = gtk_entry_new ();
1086 gtk_widget_ref (disc_name);
1087 gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_name", disc_name,
1088 (GtkDestroyNotify) gtk_widget_unref);
1089 gtk_widget_show (disc_name);
1090 gtk_box_pack_start (GTK_BOX (hbox1), disc_name, TRUE, TRUE, 0);
1091 gtk_entry_set_text (GTK_ENTRY (disc_name), _("/dev/dvd"));
1093 dialog_action_area4 = GNOME_DIALOG (intf_disc)->action_area;
1094 gtk_object_set_data (GTK_OBJECT (intf_disc), "dialog_action_area4", dialog_action_area4);
1095 gtk_widget_show (dialog_action_area4);
1096 gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area4), GTK_BUTTONBOX_END);
1097 gtk_button_box_set_spacing (GTK_BUTTON_BOX (dialog_action_area4), 8);
1099 gnome_dialog_append_button (GNOME_DIALOG (intf_disc), GNOME_STOCK_BUTTON_OK);
1100 disc_ok = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_disc)->buttons)->data);
1101 gtk_widget_ref (disc_ok);
1102 gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_ok", disc_ok,
1103 (GtkDestroyNotify) gtk_widget_unref);
1104 gtk_widget_show (disc_ok);
1105 GTK_WIDGET_SET_FLAGS (disc_ok, GTK_CAN_DEFAULT);
1107 gnome_dialog_append_button (GNOME_DIALOG (intf_disc), GNOME_STOCK_BUTTON_CANCEL);
1108 disc_cancel = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_disc)->buttons)->data);
1109 gtk_widget_ref (disc_cancel);
1110 gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_cancel", disc_cancel,
1111 (GtkDestroyNotify) gtk_widget_unref);
1112 gtk_widget_show (disc_cancel);
1113 GTK_WIDGET_SET_FLAGS (disc_cancel, GTK_CAN_DEFAULT);
1115 gtk_signal_connect (GTK_OBJECT (disc_dvd), "toggled",
1116 GTK_SIGNAL_FUNC (on_disc_dvd_toggled),
1118 gtk_signal_connect (GTK_OBJECT (disc_vcd), "toggled",
1119 GTK_SIGNAL_FUNC (on_disc_vcd_toggled),
1121 gtk_signal_connect (GTK_OBJECT (disc_ok), "clicked",
1122 GTK_SIGNAL_FUNC (on_disc_ok_clicked),
1124 gtk_signal_connect (GTK_OBJECT (disc_cancel), "clicked",
1125 GTK_SIGNAL_FUNC (on_disc_cancel_clicked),
1132 create_intf_network (void)
1134 GtkWidget *intf_network;
1139 GSList *network_group = NULL;
1140 GtkWidget *network_ts;
1141 GtkWidget *network_rtp;
1142 GtkWidget *network_http;
1147 GtkObject *network_port_adj;
1148 GtkWidget *network_port;
1149 GtkWidget *network_server;
1150 GtkWidget *hbuttonbox1;
1151 GtkWidget *network_ok;
1152 GtkWidget *network_cancel;
1154 intf_network = gnome_dialog_new (_("Network Stream"), NULL);
1155 gtk_object_set_data (GTK_OBJECT (intf_network), "intf_network", intf_network);
1156 gtk_window_set_modal (GTK_WINDOW (intf_network), TRUE);
1157 gtk_window_set_policy (GTK_WINDOW (intf_network), FALSE, FALSE, FALSE);
1159 vbox5 = GNOME_DIALOG (intf_network)->vbox;
1160 gtk_object_set_data (GTK_OBJECT (intf_network), "vbox5", vbox5);
1161 gtk_widget_show (vbox5);
1163 hbox3 = gtk_hbox_new (FALSE, 5);
1164 gtk_widget_ref (hbox3);
1165 gtk_object_set_data_full (GTK_OBJECT (intf_network), "hbox3", hbox3,
1166 (GtkDestroyNotify) gtk_widget_unref);
1167 gtk_widget_show (hbox3);
1168 gtk_box_pack_start (GTK_BOX (vbox5), hbox3, TRUE, TRUE, 0);
1170 frame3 = gtk_frame_new (_("Protocol"));
1171 gtk_widget_ref (frame3);
1172 gtk_object_set_data_full (GTK_OBJECT (intf_network), "frame3", frame3,
1173 (GtkDestroyNotify) gtk_widget_unref);
1174 gtk_widget_show (frame3);
1175 gtk_box_pack_start (GTK_BOX (hbox3), frame3, TRUE, TRUE, 0);
1177 vbox6 = gtk_vbox_new (FALSE, 0);
1178 gtk_widget_ref (vbox6);
1179 gtk_object_set_data_full (GTK_OBJECT (intf_network), "vbox6", vbox6,
1180 (GtkDestroyNotify) gtk_widget_unref);
1181 gtk_widget_show (vbox6);
1182 gtk_container_add (GTK_CONTAINER (frame3), vbox6);
1184 network_ts = gtk_radio_button_new_with_label (network_group, _("TS"));
1185 network_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_ts));
1186 gtk_widget_ref (network_ts);
1187 gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_ts", network_ts,
1188 (GtkDestroyNotify) gtk_widget_unref);
1189 gtk_widget_show (network_ts);
1190 gtk_box_pack_start (GTK_BOX (vbox6), network_ts, FALSE, FALSE, 0);
1192 network_rtp = gtk_radio_button_new_with_label (network_group, _("RTP"));
1193 network_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_rtp));
1194 gtk_widget_ref (network_rtp);
1195 gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_rtp", network_rtp,
1196 (GtkDestroyNotify) gtk_widget_unref);
1197 gtk_widget_show (network_rtp);
1198 gtk_box_pack_start (GTK_BOX (vbox6), network_rtp, FALSE, FALSE, 0);
1199 gtk_widget_set_sensitive (network_rtp, FALSE);
1201 network_http = gtk_radio_button_new_with_label (network_group, _("HTTP"));
1202 network_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_http));
1203 gtk_widget_ref (network_http);
1204 gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_http", network_http,
1205 (GtkDestroyNotify) gtk_widget_unref);
1206 gtk_widget_show (network_http);
1207 gtk_box_pack_start (GTK_BOX (vbox6), network_http, FALSE, FALSE, 0);
1208 gtk_widget_set_sensitive (network_http, FALSE);
1210 frame4 = gtk_frame_new (_("Server"));
1211 gtk_widget_ref (frame4);
1212 gtk_object_set_data_full (GTK_OBJECT (intf_network), "frame4", frame4,
1213 (GtkDestroyNotify) gtk_widget_unref);
1214 gtk_widget_show (frame4);
1215 gtk_box_pack_start (GTK_BOX (hbox3), frame4, TRUE, TRUE, 0);
1217 table2 = gtk_table_new (2, 2, FALSE);
1218 gtk_widget_ref (table2);
1219 gtk_object_set_data_full (GTK_OBJECT (intf_network), "table2", table2,
1220 (GtkDestroyNotify) gtk_widget_unref);
1221 gtk_widget_show (table2);
1222 gtk_container_add (GTK_CONTAINER (frame4), table2);
1223 gtk_container_set_border_width (GTK_CONTAINER (table2), 5);
1224 gtk_table_set_row_spacings (GTK_TABLE (table2), 5);
1225 gtk_table_set_col_spacings (GTK_TABLE (table2), 5);
1227 label17 = gtk_label_new (_("Address"));
1228 gtk_widget_ref (label17);
1229 gtk_object_set_data_full (GTK_OBJECT (intf_network), "label17", label17,
1230 (GtkDestroyNotify) gtk_widget_unref);
1231 gtk_widget_show (label17);
1232 gtk_table_attach (GTK_TABLE (table2), label17, 0, 1, 0, 1,
1233 (GtkAttachOptions) (GTK_FILL),
1234 (GtkAttachOptions) (0), 0, 0);
1235 gtk_misc_set_alignment (GTK_MISC (label17), 0, 0.5);
1237 label18 = gtk_label_new (_("Port"));
1238 gtk_widget_ref (label18);
1239 gtk_object_set_data_full (GTK_OBJECT (intf_network), "label18", label18,
1240 (GtkDestroyNotify) gtk_widget_unref);
1241 gtk_widget_show (label18);
1242 gtk_table_attach (GTK_TABLE (table2), label18, 0, 1, 1, 2,
1243 (GtkAttachOptions) (GTK_FILL),
1244 (GtkAttachOptions) (0), 0, 0);
1245 gtk_misc_set_alignment (GTK_MISC (label18), 0, 0.5);
1247 network_port_adj = gtk_adjustment_new (1234, 0, 65535, 1, 10, 10);
1248 network_port = gtk_spin_button_new (GTK_ADJUSTMENT (network_port_adj), 1, 0);
1249 gtk_widget_ref (network_port);
1250 gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_port", network_port,
1251 (GtkDestroyNotify) gtk_widget_unref);
1252 gtk_widget_show (network_port);
1253 gtk_table_attach (GTK_TABLE (table2), network_port, 1, 2, 1, 2,
1254 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1255 (GtkAttachOptions) (0), 0, 0);
1257 network_server = gtk_entry_new ();
1258 gtk_widget_ref (network_server);
1259 gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_server", network_server,
1260 (GtkDestroyNotify) gtk_widget_unref);
1261 gtk_widget_show (network_server);
1262 gtk_table_attach (GTK_TABLE (table2), network_server, 1, 2, 0, 1,
1263 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
1264 (GtkAttachOptions) (0), 0, 0);
1265 gtk_entry_set_text (GTK_ENTRY (network_server), _("vls"));
1267 hbuttonbox1 = GNOME_DIALOG (intf_network)->action_area;
1268 gtk_object_set_data (GTK_OBJECT (intf_network), "hbuttonbox1", hbuttonbox1);
1269 gtk_widget_show (hbuttonbox1);
1270 gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox1), GTK_BUTTONBOX_END);
1271 gtk_button_box_set_spacing (GTK_BUTTON_BOX (hbuttonbox1), 8);
1273 gnome_dialog_append_button (GNOME_DIALOG (intf_network), GNOME_STOCK_BUTTON_OK);
1274 network_ok = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_network)->buttons)->data);
1275 gtk_widget_ref (network_ok);
1276 gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_ok", network_ok,
1277 (GtkDestroyNotify) gtk_widget_unref);
1278 gtk_widget_show (network_ok);
1279 GTK_WIDGET_SET_FLAGS (network_ok, GTK_CAN_DEFAULT);
1281 gnome_dialog_append_button (GNOME_DIALOG (intf_network), GNOME_STOCK_BUTTON_CANCEL);
1282 network_cancel = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_network)->buttons)->data);
1283 gtk_widget_ref (network_cancel);
1284 gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_cancel", network_cancel,
1285 (GtkDestroyNotify) gtk_widget_unref);
1286 gtk_widget_show (network_cancel);
1287 GTK_WIDGET_SET_FLAGS (network_cancel, GTK_CAN_DEFAULT);
1289 gtk_signal_connect (GTK_OBJECT (network_ok), "clicked",
1290 GTK_SIGNAL_FUNC (on_network_ok_clicked),
1292 gtk_signal_connect (GTK_OBJECT (network_cancel), "clicked",
1293 GTK_SIGNAL_FUNC (on_network_cancel_clicked),
1296 return intf_network;