/*****************************************************************************
* gtk_open.c : functions to handle file/disc/network open widgets.
*****************************************************************************
- * Copyright (C) 2000, 2001, 2003 VideoLAN
- * $Id: open.c,v 1.17 2003/12/12 18:34:30 gbazin Exp $
+ * Copyright (C) 2000, 2001, 2003 the VideoLAN team
+ * $Id$
*
- * Authors: Samuel Hocevar <sam@zoy.org>
+ * Authors: Sam Hocevar <sam@zoy.org>
* Stéphane Borel <stef@via.ecp.fr>
*
* This program is free software; you can redistribute it and/or modify
#include "playlist.h"
#include "common.h"
+#ifdef HAVE_CDDAX
+#define CDDA_MRL "cddax://"
+#else
+#define CDDA_MRL "cdda://"
+#endif
+
+#ifdef HAVE_VCDX
+#define VCD_MRL "vcdx://"
+#else
+#define VCD_MRL "vcdx://"
+#endif
+
static void GtkOpenShow( intf_thread_t *, int );
static void GtkFileOpenChanged ( GtkWidget *, gpointer );
intf_thread_t * p_intf = GtkGetIntf( togglebutton );
char *psz_device;
- if( togglebutton->active )
+ if( togglebutton->active )
{
- if ( (psz_device = config_GetPsz( p_intf, "dvd" )) )
+ if ( (psz_device = config_GetPsz( p_intf, "dvd" )) )
{
- gtk_widget_set_sensitive( GTK_WIDGET( gtk_object_get_data( GTK_OBJECT( p_intf->p_sys->p_open ), "disc_dvd_use_menu" ) ) , TRUE);
+ gtk_widget_set_sensitive( GTK_WIDGET( gtk_object_get_data( GTK_OBJECT( p_intf->p_sys->p_open ), "disc_dvd_use_menu" ) ) , TRUE);
- gtk_entry_set_text(
+ gtk_entry_set_text(
GTK_ENTRY( lookup_widget( GTK_WIDGET(togglebutton),
"disc_name" ) ), psz_device );
- free( psz_device );
- }
- else
- {
- gtk_widget_set_sensitive( GTK_WIDGET( gtk_object_get_data( GTK_OBJECT( p_intf->p_sys->p_open ), "disc_dvd_use_menu" ) ), FALSE );
- }
- GtkDiscOpenChanged( (GtkWidget *) togglebutton, user_data );
+ free( psz_device );
+ }
+ else
+ {
+ gtk_widget_set_sensitive( GTK_WIDGET( gtk_object_get_data( GTK_OBJECT( p_intf->p_sys->p_open ), "disc_dvd_use_menu" ) ), FALSE );
+ }
+ GtkDiscOpenChanged( (GtkWidget *) togglebutton, user_data );
}
else
{
- gtk_widget_set_sensitive( GTK_WIDGET( gtk_object_get_data( GTK_OBJECT( p_intf->p_sys->p_open ), "disc_dvd_use_menu" ) ), FALSE );
+ gtk_widget_set_sensitive( GTK_WIDGET( gtk_object_get_data( GTK_OBJECT( p_intf->p_sys->p_open ), "disc_dvd_use_menu" ) ), FALSE );
}
}
intf_thread_t * p_intf = GtkGetIntf( togglebutton );
char *psz_device;
- if( togglebutton->active )
+ if( togglebutton->active )
{
- if ( (psz_device = config_GetPsz( p_intf, "vcd" )) )
- {
- gtk_entry_set_text(
+ if ( (psz_device = config_GetPsz( p_intf, "vcd" )) )
+ {
+ gtk_entry_set_text(
GTK_ENTRY( lookup_widget( GTK_WIDGET(togglebutton),
"disc_name" ) ), psz_device );
- free( psz_device );
- }
- GtkDiscOpenChanged( (GtkWidget *) togglebutton, user_data );
+ free( psz_device );
+ } else {
+ gtk_entry_set_text(
+ GTK_ENTRY( lookup_widget( GTK_WIDGET(togglebutton),
+ "disc_name" ) ), "" );
+ }
+ GtkDiscOpenChanged( (GtkWidget *) togglebutton, user_data );
}
}
intf_thread_t * p_intf = GtkGetIntf( togglebutton );
char *psz_device;
- if( togglebutton->active )
+ if( togglebutton->active )
{
- if ( (psz_device = config_GetPsz( p_intf, "cd-audio" )) )
+ if ( (psz_device = config_GetPsz( p_intf, "cd-audio" )) )
{
gtk_entry_set_text(
GTK_ENTRY( lookup_widget( GTK_WIDGET(togglebutton),
"disc_name" ) ), psz_device );
free( psz_device );
- }
- GtkDiscOpenChanged( (GtkWidget *) togglebutton, user_data );
+ } else {
+ gtk_entry_set_text(
+ GTK_ENTRY( lookup_widget( GTK_WIDGET(togglebutton),
+ "disc_name" ) ), "" );
+ }
+ GtkDiscOpenChanged( (GtkWidget *) togglebutton, user_data );
}
}
{
intf_thread_t * p_intf = GtkGetIntf( button );
GString * p_target = g_string_new( "" );
- GtkWidget * p_open;
+ GtkWidget * p_open = gtk_widget_get_toplevel( GTK_WIDGET (button) );
vlc_bool_t b_menus = VLC_FALSE;
-
- p_open = gtk_widget_get_toplevel( GTK_WIDGET (button) );
+ vlc_bool_t b_chapter_menu = VLC_TRUE;
+ GtkWidget *p_label = gtk_object_get_data( GTK_OBJECT( p_open ),
+ "disc_title_label" );
if( GTK_TOGGLE_BUTTON( lookup_widget( GTK_WIDGET(button),
"disc_dvd" ) )->active )
{
+ gtk_label_set_text( GTK_LABEL( p_label ), _("Title") );
+
b_menus = GTK_TOGGLE_BUTTON( lookup_widget( GTK_WIDGET(button),
"disc_dvd_use_menu" ) )->active;
{
g_string_append( p_target, "dvdsimple://" );
}
-
- g_string_append( p_target,
- gtk_entry_get_text( GTK_ENTRY( lookup_widget(
+
+ g_string_append( p_target,
+ gtk_entry_get_text( GTK_ENTRY( lookup_widget(
GTK_WIDGET(button), "disc_name" ) ) ) );
- if( !b_menus )
- {
- g_string_sprintfa( p_target, "@%i:%i",
- gtk_spin_button_get_value_as_int(
+ if( !b_menus )
+ {
+ g_string_sprintfa( p_target, "@%i:%i",
+ gtk_spin_button_get_value_as_int(
GTK_SPIN_BUTTON( lookup_widget(
GTK_WIDGET(button), "disc_title" ) ) ),
gtk_spin_button_get_value_as_int(
GTK_SPIN_BUTTON( lookup_widget(
GTK_WIDGET(button), "disc_chapter" ) ) ) );
- }
+ }
}
else if( GTK_TOGGLE_BUTTON( lookup_widget( GTK_WIDGET(button),
"disc_vcd" ) )->active )
{
-#ifdef HAVE_VCDX
int i = gtk_spin_button_get_value_as_int(
GTK_SPIN_BUTTON( lookup_widget(
- GTK_WIDGET(button), "disc_title" ) ) );
-
- g_string_append( p_target, "vcdx://" );
- g_string_append( p_target,
- gtk_entry_get_text( GTK_ENTRY( lookup_widget(
+ GTK_WIDGET(button), "disc_title" ) ) );
+
+#ifdef HAVE_VCDX
+ int i_pbc = config_GetInt( p_intf, "vcdx-PBC" );
+
+ gtk_label_set_text( GTK_LABEL( p_label ),
+ i_pbc ? _("PBC LID") : _("Entry") );
+
+ g_string_append( p_target, VCD_MRL );
+ g_string_append( p_target,
+ gtk_entry_get_text( GTK_ENTRY( lookup_widget(
GTK_WIDGET(button), "disc_name" ) ) ) );
- if ( i )
- g_string_sprintfa( p_target, "@%c%d",
- config_GetInt( p_intf, "vcdx-PBC" )
- ? 'P' : 'E', i );
-
+ if ( i )
+ g_string_sprintfa( p_target, "@%c%d", i_pbc ? 'P' : 'E', i );
+
#else
- g_string_append( p_target, "vcd://" );
- g_string_sprintfa( p_target, "@%d",
- gtk_spin_button_get_value_as_int(
- GTK_SPIN_BUTTON( lookup_widget(
- GTK_WIDGET(button), "disc_title" ) ) ) );
+ gtk_label_set_text( GTK_LABEL( p_label ), _("Track") );
+ g_string_append( p_target, VCD_MRL );
+ g_string_sprintfa( p_target, "@%d", i );
+#endif /* HAVE_VCDX */
+ b_chapter_menu = VLC_FALSE;
}
-#endif
else if( GTK_TOGGLE_BUTTON( lookup_widget( GTK_WIDGET(button),
"disc_cdda" ) )->active )
{
-#ifdef HAVE_CDDAX
int i = gtk_spin_button_get_value_as_int(
GTK_SPIN_BUTTON( lookup_widget(
- GTK_WIDGET(button), "disc_title" ) ) );
-
- g_string_append( p_target, "cddax://" );
- g_string_append( p_target,
- gtk_entry_get_text( GTK_ENTRY( lookup_widget(
- GTK_WIDGET(button), "disc_name" ) ) ) );
+ GTK_WIDGET(button), "disc_title" ) ) );
- if ( i )
- g_string_sprintfa( p_target, "@T%i",
- gtk_spin_button_get_value_as_int(
- GTK_SPIN_BUTTON( lookup_widget(
- GTK_WIDGET(button), "disc_title" ) ) ) );
+ gtk_label_set_text( GTK_LABEL( p_label ), _("Track") );
+ b_chapter_menu = VLC_FALSE;
-#else
- g_string_append( p_target, "cdda://" );
- g_string_append( p_target,
+ g_string_append( p_target, CDDA_MRL );
+ g_string_append( p_target,
gtk_entry_get_text( GTK_ENTRY( lookup_widget(
GTK_WIDGET(button), "disc_name" ) ) ) );
+#ifdef HAVE_CDDAX
+ if ( i )
+ g_string_sprintfa( p_target, "@T%i", i );
+#else
+ g_string_sprintfa( p_target, "@%i", i );
- g_string_sprintfa( p_target, "@%i:%i",
- gtk_spin_button_get_value_as_int(
- GTK_SPIN_BUTTON( lookup_widget(
- GTK_WIDGET(button), "disc_title" ) ) ) );
#endif
}
gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_open ),
"disc_title" ), !b_menus );
gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_open ),
- "disc_chapter_label" ), !b_menus );
+ "disc_chapter_label" ), b_chapter_menu && !b_menus );
gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_open ),
- "disc_chapter" ), !b_menus );
+ "disc_chapter" ), b_chapter_menu && !b_menus );
gtk_entry_set_text( GTK_ENTRY( lookup_widget(
GTK_WIDGET(button), "entry_open" ) ),
"p_intf", p_intf );
/* FileOpen stuff */
- psz_var = config_GetPsz( p_intf, "search-path" );
+ psz_var = config_GetPsz( p_intf, MODULE_STRING"-search-path" );
if( psz_var )
{
gtk_file_selection_set_filename( GTK_FILE_SELECTION(
GTK_OBJECT( p_intf->p_sys->p_open ), "network_http_url" ) ),
"http://" );
+#ifdef HAVE_SATELLITE
/* Satellite stuff */
psz_var = config_GetPsz( p_intf, "frequency" );
if( psz_var )
psz_var );
free( psz_var );
}
+#endif /*HAVE_SATELITE*/
/* subtitle stuff */
/* hide hbox_subtitle */
psz_target = gtk_entry_get_text( GTK_ENTRY( lookup_widget(
GTK_WIDGET(button), "entry_open" ) ) );
- playlist_Add( p_playlist, (char*)psz_target, 0, 0,
+ playlist_Add( p_playlist, (char*)psz_target, (char*)psz_target,
PLAYLIST_APPEND | PLAYLIST_GO, PLAYLIST_END );
/* catch the GTK CList */