Commit 00afb055 authored by Gildas Bazin's avatar Gildas Bazin

* modules/gui/wxwindows/*: another bunch of improvements.
parent a1e81377
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* interface.cpp : wxWindows plugin for vlc * interface.cpp : wxWindows plugin for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2000-2001 VideoLAN * Copyright (C) 2000-2001 VideoLAN
* $Id: interface.cpp,v 1.16 2003/03/26 00:56:22 gbazin Exp $ * $Id: interface.cpp,v 1.17 2003/03/30 19:56:11 gbazin Exp $
* *
* Authors: Gildas Bazin <gbazin@netcourrier.com> * Authors: Gildas Bazin <gbazin@netcourrier.com>
* *
...@@ -156,6 +156,8 @@ Interface::Interface( intf_thread_t *_p_intf ): ...@@ -156,6 +156,8 @@ Interface::Interface( intf_thread_t *_p_intf ):
/* Creation of the slider sub-window */ /* Creation of the slider sub-window */
CreateOurSlider(); CreateOurSlider();
frame_sizer->Add( slider_frame, 1, wxGROW, 0 );
frame_sizer->Hide( slider_frame );
/* Creation of the status bar /* Creation of the status bar
* Helptext for menu items and toolbar tools will automatically get * Helptext for menu items and toolbar tools will automatically get
...@@ -318,7 +320,6 @@ void Interface::CreateOurSlider() ...@@ -318,7 +320,6 @@ void Interface::CreateOurSlider()
/* Create a new frame containing the slider */ /* Create a new frame containing the slider */
slider_frame = new wxPanel( this, -1, wxDefaultPosition, wxDefaultSize ); slider_frame = new wxPanel( this, -1, wxDefaultPosition, wxDefaultSize );
slider_frame->SetAutoLayout( TRUE ); slider_frame->SetAutoLayout( TRUE );
slider_frame->Hide();
/* Create static box to surround the slider */ /* Create static box to surround the slider */
slider_box = new wxStaticBox( slider_frame, -1, "" ); slider_box = new wxStaticBox( slider_frame, -1, "" );
...@@ -335,6 +336,9 @@ void Interface::CreateOurSlider() ...@@ -335,6 +336,9 @@ void Interface::CreateOurSlider()
slider_sizer->Add( slider, 1, wxGROW | wxALL, 5 ); slider_sizer->Add( slider, 1, wxGROW | wxALL, 5 );
slider_sizer->Layout(); slider_sizer->Layout();
slider_sizer->SetSizeHints(slider_frame); slider_sizer->SetSizeHints(slider_frame);
/* Hide the slider by default */
slider_frame->Hide();
} }
void Interface::Open( int i_access_method ) void Interface::Open( int i_access_method )
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* timer.cpp : wxWindows plugin for vlc * timer.cpp : wxWindows plugin for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2000-2001 VideoLAN * Copyright (C) 2000-2001 VideoLAN
* $Id: timer.cpp,v 1.11 2003/03/26 00:56:22 gbazin Exp $ * $Id: timer.cpp,v 1.12 2003/03/30 19:56:11 gbazin Exp $
* *
* Authors: Gildas Bazin <gbazin@netcourrier.com> * Authors: Gildas Bazin <gbazin@netcourrier.com>
* *
...@@ -98,6 +98,8 @@ static int wxSetupMenus( intf_thread_t * p_intf ) ...@@ -98,6 +98,8 @@ static int wxSetupMenus( intf_thread_t * p_intf )
*****************************************************************************/ *****************************************************************************/
void Timer::Notify() void Timer::Notify()
{ {
vlc_bool_t b_pace_control;
vlc_mutex_lock( &p_intf->change_lock ); vlc_mutex_lock( &p_intf->change_lock );
/* If the "display popup" flag has changed */ /* If the "display popup" flag has changed */
...@@ -120,28 +122,37 @@ void Timer::Notify() ...@@ -120,28 +122,37 @@ void Timer::Notify()
p_intf->p_sys->p_input = (input_thread_t *)vlc_object_find( p_intf, p_intf->p_sys->p_input = (input_thread_t *)vlc_object_find( p_intf,
VLC_OBJECT_INPUT, VLC_OBJECT_INPUT,
FIND_ANYWHERE ); FIND_ANYWHERE );
/* Show slider */ /* Show slider */
if(p_intf->p_sys->p_input) if( p_intf->p_sys->p_input )
{
//if( p_intf->p_sys->p_input->stream.b_seekable )
{ {
p_main_interface->frame_sizer->Add(
p_main_interface->slider_frame, 1, wxGROW, 0 );
p_main_interface->slider_frame->Show(); p_main_interface->slider_frame->Show();
p_main_interface->frame_sizer->Show(
p_main_interface->slider_frame );
p_main_interface->frame_sizer->Layout(); p_main_interface->frame_sizer->Layout();
p_main_interface->frame_sizer->Fit( p_main_interface ); p_main_interface->frame_sizer->Fit( p_main_interface );
}
p_main_interface->statusbar->SetStatusText( p_main_interface->statusbar->SetStatusText(
p_intf->p_sys->p_input->psz_source, 1 ); p_intf->p_sys->p_input->psz_source, 1 );
p_main_interface->TogglePlayButton( PLAYING_S ); p_main_interface->TogglePlayButton( PLAYING_S );
i_old_playing_status = PLAYING_S; i_old_playing_status = PLAYING_S;
} }
/* control buttons for free pace streams */
b_pace_control = p_intf->p_sys->p_input->stream.b_pace_control;
} }
else if( p_intf->p_sys->p_input->b_dead ) else if( p_intf->p_sys->p_input->b_dead )
{ {
/* Hide slider */ /* Hide slider */
if(p_intf->p_sys->p_input) //if( p_intf->p_sys->p_input->stream.b_seekable )
{ {
p_main_interface->slider_frame->Hide(); p_main_interface->slider_frame->Hide();
p_main_interface->frame_sizer->Remove( p_main_interface->frame_sizer->Hide(
p_main_interface->slider_frame ); p_main_interface->slider_frame );
p_main_interface->frame_sizer->Layout(); p_main_interface->frame_sizer->Layout();
p_main_interface->frame_sizer->Fit( p_main_interface ); p_main_interface->frame_sizer->Fit( p_main_interface );
...@@ -181,7 +192,6 @@ void Timer::Notify() ...@@ -181,7 +192,6 @@ void Timer::Notify()
/* Manage the slider */ /* Manage the slider */
if( p_input->stream.b_seekable && p_intf->p_sys->b_playing ) if( p_input->stream.b_seekable && p_intf->p_sys->b_playing )
{ {
stream_position_t position; stream_position_t position;
/* Update the slider if the user isn't dragging it. */ /* Update the slider if the user isn't dragging it. */
...@@ -191,17 +201,19 @@ void Timer::Notify() ...@@ -191,17 +201,19 @@ void Timer::Notify()
vlc_mutex_unlock( &p_input->stream.stream_lock ); vlc_mutex_unlock( &p_input->stream.stream_lock );
input_Tell( p_input, &position ); input_Tell( p_input, &position );
vlc_mutex_lock( &p_input->stream.stream_lock ); vlc_mutex_lock( &p_input->stream.stream_lock );
if( position.i_size )
{
p_intf->p_sys->i_slider_pos = p_intf->p_sys->i_slider_pos =
( SLIDER_MAX_POS * position.i_tell ) / position.i_size; ( SLIDER_MAX_POS * position.i_tell ) / position.i_size;
p_main_interface->slider->SetValue( p_main_interface->slider->SetValue(
p_intf->p_sys->i_slider_pos ); p_intf->p_sys->i_slider_pos );
DisplayStreamDate( p_main_interface->slider_box, DisplayStreamDate( p_main_interface->slider_box,p_intf,
p_intf,
p_intf->p_sys->i_slider_pos ); p_intf->p_sys->i_slider_pos );
} }
} }
}
if( p_intf->p_sys->i_part != if( p_intf->p_sys->i_part !=
p_input->stream.p_selected_area->i_part ) p_input->stream.p_selected_area->i_part )
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment