/*****************************************************************************
* display.c: Gtk+ tools for main interface
*****************************************************************************
- * Copyright (C) 1999, 2000 VideoLAN
- * $Id: display.c,v 1.2 2002/08/08 22:28:22 sam Exp $
+ * Copyright (C) 1999, 2000, 2003 the VideoLAN team
+ * $Id$
*
* Authors: Samuel Hocevar <sam@zoy.org>
* Stéphane Borel <stef@via.ecp.fr>
* the stream. It is called whenever the slider changes its value.
* The lock has to be taken before you call the function.
*****************************************************************************/
-void GtkDisplayDate( GtkAdjustment *p_adj )
+void E_(GtkDisplayDate)( GtkAdjustment *p_adj )
{
intf_thread_t *p_intf;
if( p_intf->p_sys->p_input )
{
-#define p_area p_intf->p_sys->p_input->stream.p_selected_area
- char psz_time[ OFFSETTOTIME_MAX_SIZE ];
+ char psz_time[ MSTRTIME_MAX_SIZE ];
+ int64_t i_seconds;
+
+ i_seconds = var_GetTime( p_intf->p_sys->p_input, "time" ) / I64C(1000000 );
+ secstotimestr( psz_time, i_seconds );
gtk_frame_set_label( GTK_FRAME( p_intf->p_sys->p_slider_frame ),
- input_OffsetToTime( p_intf->p_sys->p_input, psz_time,
- ( p_area->i_size * p_adj->value ) / 100 ) );
-#undef p_area
+ psz_time );
}
}
/*****************************************************************************
- * GtkModeManage: actualise the aspect of the interface whenever the input
+ * GtkModeManage: actualize the aspect of the interface whenever the input
* changes.
*****************************************************************************
* The lock has to be taken before you call the function.
*****************************************************************************/
-gint GtkModeManage( intf_thread_t * p_intf )
+gint E_(GtkModeManage)( intf_thread_t * p_intf )
{
GtkWidget * p_dvd_box;
GtkWidget * p_file_box;
GtkWidget * p_network_box;
GtkWidget * p_slider;
GtkWidget * p_label;
- GtkWidget * p_channel;
vlc_bool_t b_control;
#define GETWIDGET( ptr, name ) GTK_WIDGET( gtk_object_get_data( GTK_OBJECT( \
"network_address_label" );
gtk_label_set_text( GTK_LABEL( p_label ),
p_intf->p_sys->p_input->psz_source );
- p_channel = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT(
- p_intf->p_sys->p_window ), "network_channel_box" ) );
- if( config_GetInt( p_intf, "network-channel" ) )
- {
- gtk_widget_show( GTK_WIDGET( p_channel ) );
- }
- else
- {
- gtk_widget_hide( GTK_WIDGET( p_channel ) );
- }
-
break;
default:
msg_Warn( p_intf, "cannot determine input method" );
p_intf->p_sys->b_audio_update = 1;
p_intf->p_sys->b_spu_update = 1;
p_intf->p_sys->i_part = 0;
-
+#if 0
+ p_intf->p_sys->b_aout_update = 1;
+ p_intf->p_sys->b_vout_update = 1;
+#endif
p_intf->p_sys->p_input->stream.b_changed = 0;
msg_Dbg( p_intf, "stream has changed, refreshing interface" );
}
else
{
- if( config_GetInt( p_intf, "network-channel" ) )
- {
- gtk_widget_show( GTK_WIDGET( p_network_box ) );
-
- p_channel = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT(
- p_intf->p_sys->p_window ), "network_channel_box" ) );
- gtk_widget_show( GTK_WIDGET( p_channel ) );
- }
- else
- {
- /* default mode */
- p_label = gtk_object_get_data(
- GTK_OBJECT( p_intf->p_sys->p_window ), "label_status" );
- gtk_label_set_text( GTK_LABEL( p_label ), "" );
- gtk_widget_show( GTK_WIDGET( p_file_box ) );
- }
+ /* default mode */
+ p_label = gtk_object_get_data(
+ GTK_OBJECT( p_intf->p_sys->p_window ), "label_status" );
+ gtk_label_set_text( GTK_LABEL( p_label ), "" );
+ gtk_widget_show( GTK_WIDGET( p_file_box ) );
/* unsensitize menus */
gtk_widget_set_sensitive( GETWIDGET(p_window,"menubar_program"),
FALSE );
gtk_widget_set_sensitive( GETWIDGET(p_popup,"popup_navigation"),
FALSE );
- gtk_widget_set_sensitive( GETWIDGET(p_popup,"popup_audio"), FALSE );
+ gtk_widget_set_sensitive( GETWIDGET(p_popup,"popup_language"), FALSE );
gtk_widget_set_sensitive( GETWIDGET(p_popup,"popup_subpictures"),
FALSE );
}
* GtkHideTooltips: show or hide the tooltips depending on the configuration
* option gnome-tooltips
*****************************************************************************/
-void GtkHideTooltips( vlc_object_t *p_this )
+int E_(GtkHideTooltips)( vlc_object_t *p_this, const char *psz_name,
+ vlc_value_t oldval, vlc_value_t val, void *p_data )
{
- intf_thread_t *p_intf = vlc_object_find( p_this, VLC_OBJECT_INTF,
- FIND_ANYWHERE );
+ intf_thread_t *p_intf;
+ int i_index;
+ vlc_list_t *p_list = vlc_list_find( p_this, VLC_OBJECT_INTF,
+ FIND_ANYWHERE );
- if( !p_intf )
- {
- return;
- }
+ vlc_bool_t b_enable = config_GetInt( p_this, "gnome-tooltips" );
- if( config_GetInt( p_this, "gnome-tooltips" ) )
+ for( i_index = 0; i_index < p_list->i_count; i_index++ )
{
- gtk_tooltips_enable( p_intf->p_sys->p_tooltips );
- }
- else
- {
- gtk_tooltips_disable( p_intf->p_sys->p_tooltips );
+ p_intf = (intf_thread_t *)p_list->p_values[i_index].p_object ;
+
+ if( strcmp( MODULE_STRING, p_intf->p_module->psz_object_name ) )
+ {
+ continue;
+ }
+
+ if( b_enable )
+ {
+ gtk_tooltips_enable( p_intf->p_sys->p_tooltips );
+ }
+ else
+ {
+ gtk_tooltips_disable( p_intf->p_sys->p_tooltips );
+ }
}
- vlc_object_release( p_intf );
+ vlc_list_release( p_list );
+ return VLC_SUCCESS;
}
#ifdef MODULE_NAME_IS_gnome
*****************************************************************************
* FIXME: GNOME only because of missing icons in gtk interface
*****************************************************************************/
-void GtkHideToolbarText( vlc_object_t *p_this )
+int GtkHideToolbarText( vlc_object_t *p_this, const char *psz_name,
+ vlc_value_t oldval, vlc_value_t val, void *p_data )
{
GtkToolbarStyle style;
GtkToolbar * p_toolbar;
-
- intf_thread_t *p_intf = vlc_object_find( p_this, VLC_OBJECT_INTF,
- FIND_ANYWHERE );
-
- if( !p_intf )
- {
- return;
- }
+ intf_thread_t *p_intf;
+ int i_index;
+ vlc_list_t *p_list = vlc_list_find( p_this, VLC_OBJECT_INTF,
+ FIND_ANYWHERE );
style = config_GetInt( p_this, "gnome-toolbartext" )
? GTK_TOOLBAR_BOTH
: GTK_TOOLBAR_ICONS;
- p_toolbar = GTK_TOOLBAR(lookup_widget( p_intf->p_sys->p_window,
- "toolbar" ));
- gtk_toolbar_set_style( p_toolbar, style );
+ for( i_index = 0; i_index < p_list->i_count; i_index++ )
+ {
+ p_intf = (intf_thread_t *)p_list->p_values[i_index].p_object ;
+
+ if( strcmp( MODULE_STRING, p_intf->p_module->psz_object_name ) )
+ {
+ continue;
+ }
+
+ p_toolbar = GTK_TOOLBAR(lookup_widget( p_intf->p_sys->p_window,
+ "toolbar" ));
+ gtk_toolbar_set_style( p_toolbar, style );
+ }
- vlc_object_release( p_intf );
+ vlc_list_release( p_list );
+ return VLC_SUCCESS;
}
#endif