*
* Authors: Clément Stenac <zorglub@videolan.org>
* Jean-Baptiste Kempf <jb@videolan.org>
+ * Rafaël Carré <funman@videolanorg>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
void AdvControlsWidget::enableInput( bool enable )
{
-// slowerButton->setEnabled( enable );
ABButton->setEnabled( enable );
recordButton->setEnabled( enable );
normalButton->setEnabled( enable );
-// fasterButton->setEnabled( enable );
}
void AdvControlsWidget::enableVideo( bool enable )
{
snapshotButton->setEnabled( enable );
frameButton->setEnabled( enable );
- //fullscreenButton->setEnabled( enable );
}
void AdvControlsWidget::normal()
void AdvControlsWidget::snapshot()
{
+ vout_thread_t *p_vout = (vout_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_VOUT, FIND_ANYWHERE );
+ if( p_vout ) vout_Control( p_vout, VOUT_SNAPSHOT );
}
void AdvControlsWidget::frame(){}
advControls = new AdvControlsWidget( p_intf );
controlLayout->addWidget( advControls, 1, 3, 2, 5, Qt::AlignBottom );
if( !b_advancedVisible ) advControls->hide();
-//THIS should be removed. need_components_update = true;
+ //THIS should be removed. need_components_update = true;
/** Disc and Menus handling */
discFrame = new QFrame( this );
QSizePolicy sizePolicy( QSizePolicy::Maximum, QSizePolicy::Fixed );
sizePolicy.setHorizontalStretch( 0 );
sizePolicy.setVerticalStretch( 0 );
-// sizePolicy.setHeightForWidth( playButton->sizePolicy().hasHeightForWidth() );
/* Play */
playButton = new QPushButton;
/** Playlist Button **/
playlistButton = new QPushButton;
setupSmallButton( playlistButton );
-
controlLayout->addWidget( playlistButton, 3, 11 );
/** extended Settings **/
prefs() );
setupSmallButton( prefsButton );
controlLayout->addWidget( prefsButton, 3, 13 );
-
+
controlLayout->setColumnStretch( 14, 5 );
/* Volume */
VolumeClickHandler *h = new VolumeClickHandler( p_intf, this );
- QLabel *volMuteLabel = new QLabel;
- volMuteLabel->setPixmap( QPixmap( ":/pixmaps/volume-low.png" ) );
+ volMuteLabel = new QLabel;
+ volMuteLabel->setPixmap( QPixmap( ":/pixmaps/volume-high.png" ) );
volMuteLabel->setToolTip( qtr( "Mute" ) );
volMuteLabel->installEventFilter( h );
- /** TODO:
+ /** TODO:
* Change this slider to use a nice Amarok-like one
* Add a Context menu to change to the most useful %
* **/
volumeSlider->setMaximumSize( QSize( 80, 200 ) );
volumeSlider->setOrientation( Qt::Horizontal );
- volumeSlider->setMaximum( 100 );
+ volumeSlider->setMaximum( VOLUME_MAX );
volumeSlider->setFocusPolicy( Qt::NoFocus );
controlLayout->addWidget( volMuteLabel, 3, 15 );
controlLayout->addWidget( volumeSlider, 3, 16, 1, 2 );
}
static bool b_my_volume;
-void ControlsWidget::updateVolume( int sliderVolume )
+void ControlsWidget::updateVolume( int i_sliderVolume )
{
if( !b_my_volume )
{
- int i_res = sliderVolume * AOUT_VOLUME_MAX /
- ( 2*volumeSlider->maximum() );
+ int i_res = i_sliderVolume * (AOUT_VOLUME_MAX / 2) / VOLUME_MAX;
aout_VolumeSet( p_intf, i_res );
}
+ if( i_sliderVolume == 0 )
+ volMuteLabel->setPixmap( QPixmap(":/pixmaps/volume-muted.png" ) );
+ else if( i_sliderVolume < VOLUME_MAX / 2 )
+ volMuteLabel->setPixmap( QPixmap( ":/pixmaps/volume-low.png" ) );
+ else volMuteLabel->setPixmap( QPixmap( ":/pixmaps/volume-high.png" ) );
}
void ControlsWidget::updateOnTimer()
/* Audio part */
audio_volume_t i_volume;
aout_VolumeGet( p_intf, &i_volume );
- i_volume = ( i_volume * 200 )/ AOUT_VOLUME_MAX ;
+ i_volume = ( i_volume * VOLUME_MAX )/ (AOUT_VOLUME_MAX/2) ;
int i_gauge = volumeSlider->value();
b_my_volume = false;
if( i_volume - i_gauge > 1 || i_gauge - i_volume > 1 )
volumeSlider->setValue( i_volume );
b_my_volume = false;
}
-
+
/* Activate the interface buttons according to the presence of the input */
enableInput( THEMIM->getIM()->hasInput() );
- enableVideo( true );
//enableVideo( THEMIM->getIM()->hasVideo() );
+ enableVideo( true );
}
void ControlsWidget::setStatus( int status )
*/
void ControlsWidget::fullscreen()
{
- vlc_object_t *p_vout = (vlc_object_t *)vlc_object_find( p_intf,
- VLC_OBJECT_VOUT, FIND_CHILD );
+ vout_thread_t *p_vout = (vout_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_VOUT, FIND_ANYWHERE );
if( p_vout)
{
- var_Get( p_vout, "fullscreen", &val );
- val.b_bool = !val.b_bool;
- var_Set( p_vout, "fullscreen", val );
+ var_SetBool( p_vout, "fullscreen", !var_GetBool( p_vout, "fullscreen" ) );
+ vlc_object_release( p_vout );
}
}