#include <math.h>
+#define I_PLAY_TOOLTIP "Play\nIf the playlist is empty, open a media"
+
/**********************************************************************
* Video Widget. A simple frame on which video is drawn
* This class handles resize issues
QVLCMenu::PopupMenu( p_intf, true );
}
+#if 0
/**********************************************************************
* Visualization selector panel
**********************************************************************/
layout->addWidget( prevButton );
layout->addWidget( nextButton );
- layout->addItem( new QSpacerItem( 40,20,
- QSizePolicy::Expanding, QSizePolicy::Minimum ) );
+ layout->addStretch( 10 );
layout->addWidget( new QLabel( qtr( "Current visualization" ) ) );
current = new QLabel( qtr( "None" ) );
free( psz_new );
}
}
+#endif
/**********************************************************************
* TEH controls
advLayout->setAlignment( Qt::AlignBottom );
/* A to B Button */
- ABButton = new QPushButton( "AB" );
+ ABButton = new QPushButton;
setupSmallButton( ABButton );
advLayout->addWidget( ABButton );
- BUTTON_SET_ACT( ABButton, "AB", qtr( "A to B" ), fromAtoB() );
+ BUTTON_SET_ACT_I( ABButton, "", atob_nob,
+ qtr( "Loop from point A to point B continuously.\nClick to set point A" ),
+ fromAtoB() );
timeA = timeB = 0;
CONNECT( THEMIM->getIM(), positionUpdated( float, int, int ),
this, AtoBLoop( float, int, int ) );
BUTTON_SET_ACT( frameButton, "Fr", qtr( "Frame by frame" ), frame() );
#endif
- recordButton = new QPushButton( "R" );
+ recordButton = new QPushButton;
setupSmallButton( recordButton );
advLayout->addWidget( recordButton );
- BUTTON_SET_ACT_I( recordButton, "", record_16px.png,
+ BUTTON_SET_ACT_I( recordButton, "", record,
qtr( "Record" ), record() );
/* Snapshot Button */
- snapshotButton = new QPushButton( "S" );
+ snapshotButton = new QPushButton;
setupSmallButton( snapshotButton );
advLayout->addWidget( snapshotButton );
- BUTTON_SET_ACT( snapshotButton, "S", qtr( "Take a snapshot" ), snapshot() );
+ BUTTON_SET_ACT_I( snapshotButton, "", snapshot,
+ qtr( "Take a snapshot" ), snapshot() );
}
AdvControlsWidget::~AdvControlsWidget()
if( !timeA )
{
timeA = var_GetTime( THEMIM->getInput(), "time" );
- ABButton->setText( "A->..." );
+ ABButton->setToolTip( "Click to set point B" );
+ ABButton->setIcon( QIcon( ":/atob_noa" ) );
return;
}
if( !timeB )
{
timeB = var_GetTime( THEMIM->getInput(), "time" );
var_SetTime( THEMIM->getInput(), "time" , timeA );
- ABButton->setText( "A<=>B" );
+ ABButton->setIcon( QIcon( ":/atob" ) );
+ ABButton->setToolTip( "Stop the A to B loop" );
return;
}
timeA = 0;
timeB = 0;
- ABButton->setText( "AB" );
+ ABButton->setToolTip( qtr( "Loop from point A to point B continuously\nClick to set point A" ) );
+ ABButton->setIcon( QIcon( ":/atob_nob" ) );
}
/* Function called regularly when in an AtoB loop */
bool b_fsCreation) :
QFrame( _p_mi ), p_intf( _p_i )
{
- controlLayout = new QGridLayout( );
-
- controlLayout->setSpacing( 0 );
- controlLayout->setLayoutMargins( 7, 5, 7, 3, 6 );
-
- if( !b_fsCreation )
- setLayout( controlLayout );
-
setSizePolicy( QSizePolicy::Preferred , QSizePolicy::Maximum );
/** The main Slider **/
slider = new InputSlider( Qt::Horizontal, NULL );
- controlLayout->addWidget( slider, 0, 1, 1, 16 );
/* Update the position when the IM has changed */
CONNECT( THEMIM->getIM(), positionUpdated( float, int, int ),
slider, setPosition( float, int, int ) );
slowerButton->setMaximumSize( QSize( 26, 20 ) );
BUTTON_SET_ACT( slowerButton, "-", qtr( "Slower" ), slower() );
- controlLayout->addWidget( slowerButton, 0, 0 );
fasterButton = new QToolButton;
fasterButton->setAutoRaise( true );
fasterButton->setMaximumSize( QSize( 26, 20 ) );
BUTTON_SET_ACT( fasterButton, "+", qtr( "Faster" ), faster() );
- controlLayout->addWidget( fasterButton, 0, 17 );
/* advanced Controls handling */
b_advancedVisible = b_advControls;
advControls = new AdvControlsWidget( p_intf );
- controlLayout->addWidget( advControls, 1, 3, 2, 4, Qt::AlignBottom );
if( !b_advancedVisible ) advControls->hide();
/** Disc and Menus handling */
setupSmallButton( nextSectionButton );
discLayout->addWidget( nextSectionButton );
- controlLayout->addWidget( discFrame, 1, 10, 2, 3, Qt::AlignBottom );
-
- BUTTON_SET_IMG( prevSectionButton, "", previous.png, "" );
- BUTTON_SET_IMG( nextSectionButton, "", next.png, "" );
- BUTTON_SET_IMG( menuButton, "", previous.png, qtr( "Menu" ) );
+ BUTTON_SET_IMG( prevSectionButton, "", dvd_prev, "" );
+ BUTTON_SET_IMG( nextSectionButton, "", dvd_next, "" );
+ BUTTON_SET_IMG( menuButton, "", dvd_menu, qtr( "Menu" ) );
discFrame->hide();
telexPage->setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Minimum );
telexLayout->addWidget( telexPage );
- if( !b_fsCreation )
- controlLayout->addWidget( telexFrame, 1, 10, 2, 4, Qt::AlignBottom );
telexFrame->hide(); /* default hidden */
CONNECT( telexPage, valueChanged( int ), THEMIM->getIM(),
CONNECT( THEMIM->getIM(), setNewTelexPage( int ),
telexPage, setValue( int ) );
- BUTTON_SET_IMG( telexOn, "", tv.png, qtr( "Teletext on" ) );
+ BUTTON_SET_IMG( telexOn, "", tv, qtr( "Teletext on" ) );
CONNECT( telexOn, clicked(), THEMIM->getIM(),
telexToggleButtons() );
telexTransparent->setEnabled( false );
telexPage->setEnabled( false );
- BUTTON_SET_IMG( telexTransparent, "", tvtelx.png, qtr( "Teletext" ) );
+ BUTTON_SET_IMG( telexTransparent, "", tvtelx, qtr( "Teletext" ) );
CONNECT( telexTransparent, clicked( bool ),
THEMIM->getIM(), telexSetTransparency() );
CONNECT( THEMIM->getIM(), toggleTelexTransparency(),
playButton->setMinimumSize( QSize( 36, 36 ) );
playButton->setIconSize( QSize( 30, 30 ) );
- controlLayout->addWidget( playButton, 2, 0, 2, 2 );
-
- controlLayout->setColumnMinimumWidth( 2, 20 );
- controlLayout->setColumnStretch( 2, 0 );
/** Prev + Stop + Next Block **/
controlButLayout = new QHBoxLayout;
controlButLayout->addWidget( nextButton );
/* Add this block to the main layout */
- if( !b_fsCreation )
- controlLayout->addLayout( controlButLayout, 3, 3, 1, 3 );
-
- BUTTON_SET_ACT_I( playButton, "", play.png, qtr( "Play" ), play() );
- BUTTON_SET_ACT_I( prevButton, "" , previous.png,
- qtr( "Previous" ), prev() );
- BUTTON_SET_ACT_I( nextButton, "", next.png, qtr( "Next" ), next() );
- BUTTON_SET_ACT_I( stopButton, "", stop.png, qtr( "Stop" ), stop() );
- controlLayout->setColumnMinimumWidth( 7, 20 );
- controlLayout->setColumnStretch( 7, 0 );
- controlLayout->setColumnStretch( 8, 0 );
- controlLayout->setColumnStretch( 9, 0 );
+ BUTTON_SET_ACT_I( playButton, "", play_b, qtr( I_PLAY_TOOLTIP ), play() );
+ BUTTON_SET_ACT_I( prevButton, "" , previous_b,
+ qtr( "Previous media in the playlist" ), prev() );
+ BUTTON_SET_ACT_I( nextButton, "", next_b,
+ qtr( "Next media in the playlist" ), next() );
+ BUTTON_SET_ACT_I( stopButton, "", stop_b, qtr( "Stop playback" ), stop() );
/*
* Other first Line buttons
*/
/** Fullscreen/Visualisation **/
- fullscreenButton = new QPushButton( "F" );
- BUTTON_SET_ACT( fullscreenButton, "F", qtr( "Fullscreen" ), fullscreen() );
+ fullscreenButton = new QPushButton;
+ BUTTON_SET_ACT_I( fullscreenButton, "", fullscreen,
+ qtr( "Toggle the video in fullscreen" ), fullscreen() );
setupSmallButton( fullscreenButton );
- controlLayout->addWidget( fullscreenButton, 3, 10, Qt::AlignBottom );
-
- /** Playlist Button **/
- playlistButton = new QPushButton;
- setupSmallButton( playlistButton );
- controlLayout->addWidget( playlistButton, 3, 11, Qt::AlignBottom );
- BUTTON_SET_IMG( playlistButton, "" , playlist.png, qtr( "Show playlist" ) );
- CONNECT( playlistButton, clicked(), _p_mi, togglePlaylist() );
-
- /** extended Settings **/
- extSettingsButton = new QPushButton;
- BUTTON_SET_ACT( extSettingsButton, "Ex", qtr( "Extended settings" ),
- extSettings() );
- setupSmallButton( extSettingsButton );
- controlLayout->addWidget( extSettingsButton, 3, 12, Qt::AlignBottom );
-
- controlLayout->setColumnStretch( 13, 0 );
- controlLayout->setColumnMinimumWidth( 13, 24 );
- controlLayout->setColumnStretch( 14, 5 );
+
+ if( !b_fsCreation )
+ {
+ /** Playlist Button **/
+ playlistButton = new QPushButton;
+ setupSmallButton( playlistButton );
+ BUTTON_SET_IMG( playlistButton, "" , playlist, qtr( "Show playlist" ) );
+ CONNECT( playlistButton, clicked(), _p_mi, togglePlaylist() );
+
+ /** extended Settings **/
+ extSettingsButton = new QPushButton;
+ BUTTON_SET_ACT_I( extSettingsButton, "", extended,
+ qtr( "Show extended settings" ), extSettings() );
+ setupSmallButton( extSettingsButton );
+ }
/* Volume */
hVolLabel = new VolumeClickHandler( p_intf, this );
volMuteLabel = new QLabel;
- volMuteLabel->setPixmap( QPixmap( ":/pixmaps/volume-medium.png" ) );
- volMuteLabel->setToolTip( qtr( "Mute" ) );
+ volMuteLabel->setPixmap( QPixmap( ":/volume-medium" ) );
volMuteLabel->installEventFilter( hVolLabel );
- controlLayout->addWidget( volMuteLabel, 3, 15, Qt::AlignBottom );
if( b_shiny )
{
volumeSlider->setMaximumSize( QSize( 200, 40 ) );
volumeSlider->setMinimumSize( QSize( 106, 30 ) );
volumeSlider->setFocusPolicy( Qt::NoFocus );
- controlLayout->addWidget( volumeSlider, 2, 16, 2 , 2, Qt::AlignBottom );
/* Set the volume from the config */
volumeSlider->setValue( ( config_GetInt( p_intf, "volume" ) ) *
CONNECT( volumeSlider, valueChanged( int ), this, updateVolume( int ) );
CONNECT( THEMIM, volumeChanged( void ), this, updateVolume( void ) );
+ if( !b_fsCreation )
+ {
+ controlLayout = new QGridLayout( this );
+
+ controlLayout->setSpacing( 0 );
+ controlLayout->setLayoutMargins( 7, 5, 7, 3, 6 );
+
+ controlLayout->addWidget( slider, 0, 1, 1, 16 );
+ controlLayout->addWidget( slowerButton, 0, 0 );
+ controlLayout->addWidget( fasterButton, 0, 17 );
+
+ controlLayout->addWidget( advControls, 1, 3, 2, 4, Qt::AlignBottom );
+ controlLayout->addWidget( discFrame, 1, 10, 2, 3, Qt::AlignBottom );
+ controlLayout->addWidget( telexFrame, 1, 10, 2, 4, Qt::AlignBottom );
+
+ controlLayout->addWidget( playButton, 2, 0, 2, 2 );
+ controlLayout->setColumnMinimumWidth( 2, 20 );
+ controlLayout->setColumnStretch( 2, 0 );
+
+ controlLayout->addLayout( controlButLayout, 3, 3, 1, 3 );
+ controlLayout->setColumnMinimumWidth( 7, 20 );
+ controlLayout->setColumnStretch( 7, 0 );
+ controlLayout->setColumnStretch( 8, 0 );
+ controlLayout->setColumnStretch( 9, 0 );
+
+ controlLayout->addWidget( fullscreenButton, 3, 10, Qt::AlignBottom );
+ controlLayout->addWidget( playlistButton, 3, 11, Qt::AlignBottom );
+ controlLayout->addWidget( extSettingsButton, 3, 12, Qt::AlignBottom );
+
+ controlLayout->setColumnStretch( 13, 0 );
+ controlLayout->setColumnMinimumWidth( 13, 24 );
+ controlLayout->setColumnStretch( 14, 5 );
+
+ controlLayout->addWidget( volMuteLabel, 3, 15, Qt::AlignBottom );
+ controlLayout->addWidget( volumeSlider, 2, 16, 2 , 2, Qt::AlignBottom );
+ }
+
updateInput();
}
{
if( b_telexTransparent )
{
- telexTransparent->setIcon( QIcon( ":/pixmaps/tvtelx.png" ) );
+ telexTransparent->setIcon( QIcon( ":/tvtelx" ) );
telexTransparent->setToolTip( qtr( "Teletext" ) );
b_telexTransparent = false;
}
else
{
- telexTransparent->setIcon( QIcon( ":/pixmaps/tvtelx-transparent.png" ) );
+ telexTransparent->setIcon( QIcon( ":/tvtelx-transparent" ) );
telexTransparent->setToolTip( qtr( "Transparent" ) );
b_telexTransparent = true;
}
aout_VolumeSet( p_intf, i_res );
}
if( i_sliderVolume == 0 )
- volMuteLabel->setPixmap( QPixmap(":/pixmaps/volume-muted.png" ) );
- else if( i_sliderVolume < VOLUME_MAX / 3 )
- volMuteLabel->setPixmap( QPixmap( ":/pixmaps/volume-low.png" ) );
+ {
+ volMuteLabel->setPixmap( QPixmap(":/volume-muted" ) );
+ volMuteLabel->setToolTip( qtr( "Unmute" ) );
+ return;
+ }
+
+ if( i_sliderVolume < VOLUME_MAX / 3 )
+ volMuteLabel->setPixmap( QPixmap( ":/volume-low" ) );
else if( i_sliderVolume > (VOLUME_MAX * 2 / 3 ) )
- volMuteLabel->setPixmap( QPixmap( ":/pixmaps/volume-high.png" ) );
- else volMuteLabel->setPixmap( QPixmap( ":/pixmaps/volume-medium.png" ) );
+ volMuteLabel->setPixmap( QPixmap( ":/volume-high" ) );
+ else volMuteLabel->setPixmap( QPixmap( ":/volume-medium" ) );
+ volMuteLabel->setToolTip( qtr( "Mute" ) );
}
void ControlsWidget::updateVolume()
{
if( status == PLAYING_S ) /* Playing */
{
- playButton->setIcon( QIcon( ":/pixmaps/pause.png" ) );
- playButton->setToolTip( qtr( "Pause" ) );
+ playButton->setIcon( QIcon( ":/pause_b" ) );
+ playButton->setToolTip( qtr( "Pause the playback" ) );
}
else
{
- playButton->setIcon( QIcon( ":/pixmaps/play.png" ) );
- playButton->setToolTip( qtr( "Play" ) );
+ playButton->setIcon( QIcon( ":/play_b" ) );
+ playButton->setToolTip( qtr( I_PLAY_TOOLTIP ) );
}
}
{
slowerButton->setEnabled( enable );
slider->setEnabled( enable );
+ slider->setSliderPosition ( 0 );
fasterButton->setEnabled( enable );
/* Advanced Buttons too */
setSizePolicy( QSizePolicy::Minimum, QSizePolicy::Minimum );
QGridLayout *fsLayout = new QGridLayout( this );
- controlLayout->setSpacing( 0 );
- controlLayout->setLayoutMargins( 5, 1, 5, 1, 5 );
+ fsLayout->setLayoutMargins( 5, 1, 5, 1, 5 );
- fsLayout->addWidget( slowerButton, 0, 0 );
+ /* First line */
slider->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Minimum);
+ fsLayout->addWidget( slowerButton, 0, 0 );
fsLayout->addWidget( slider, 0, 1, 1, 6 );
fsLayout->addWidget( fasterButton, 0, 7 );
- fsLayout->addWidget( volMuteLabel, 1, 0);
- fsLayout->addWidget( volumeSlider, 1, 1 );
-
- fsLayout->addLayout( controlButLayout, 1, 2 );
-
- fsLayout->addWidget( playButton, 1, 3 );
-
- fsLayout->addWidget( discFrame, 1, 4 );
-
- fsLayout->addWidget( telexFrame, 1, 5 );
+ fsLayout->addWidget( playButton, 1, 0 );
+ fsLayout->addLayout( controlButLayout, 1, 1 );
- fsLayout->addWidget( advControls, 1, 6, Qt::AlignVCenter );
+ fsLayout->addWidget( discFrame, 1, 2 );
+ fsLayout->addWidget( telexFrame, 1, 3 );
+ fsLayout->addWidget( advControls, 1, 4, Qt::AlignVCenter );
+ fsLayout->addWidget( fullscreenButton, 1, 5 );
- fsLayout->addWidget( fullscreenButton, 1, 7 );
+ fsLayout->addWidget( volMuteLabel, 1, 6);
+ fsLayout->addWidget( volumeSlider, 1, 7 );
/* hiding timer */
p_hideTimer = new QTimer( this );