Commit 44e31c0f authored by Jean-Baptiste Kempf's avatar Jean-Baptiste Kempf

Qt4: Really split the TimeLabel into its own class.

Code simplification and TimeLabel in the FSC.
parent cd794aec
...@@ -1027,6 +1027,7 @@ FullscreenControllerWidget::FullscreenControllerWidget( intf_thread_t *_p_i, ...@@ -1027,6 +1027,7 @@ FullscreenControllerWidget::FullscreenControllerWidget( intf_thread_t *_p_i,
fsLayout->addWidget( slider, 0, 1, 1, 9 ); fsLayout->addWidget( slider, 0, 1, 1, 9 );
fsLayout->addWidget( fasterButton, 0, 10 ); fsLayout->addWidget( fasterButton, 0, 10 );
/* Second line */
fsLayout->addWidget( playButton, 1, 0, 1, 2 ); fsLayout->addWidget( playButton, 1, 0, 1, 2 );
fsLayout->addLayout( controlButLayout, 1, 2 ); fsLayout->addLayout( controlButLayout, 1, 2 );
...@@ -1036,8 +1037,12 @@ FullscreenControllerWidget::FullscreenControllerWidget( intf_thread_t *_p_i, ...@@ -1036,8 +1037,12 @@ FullscreenControllerWidget::FullscreenControllerWidget( intf_thread_t *_p_i,
fsLayout->addWidget( advControls, 1, 6, Qt::AlignVCenter ); fsLayout->addWidget( advControls, 1, 6, Qt::AlignVCenter );
fsLayout->setColumnStretch( 7, 10 ); fsLayout->setColumnStretch( 7, 10 );
fsLayout->addWidget( volMuteLabel, 1, 8 );
fsLayout->addWidget( volumeSlider, 1, 9, 1, 2 ); TimeLabel *timeLabel = new TimeLabel( p_intf );
fsLayout->addWidget( timeLabel, 1, 8 );
fsLayout->addWidget( volMuteLabel, 1, 9 );
fsLayout->addWidget( volumeSlider, 1, 10,1, 2 );
/* hiding timer */ /* hiding timer */
p_hideTimer = new QTimer( this ); p_hideTimer = new QTimer( this );
...@@ -1068,6 +1073,7 @@ FullscreenControllerWidget::FullscreenControllerWidget( intf_thread_t *_p_i, ...@@ -1068,6 +1073,7 @@ FullscreenControllerWidget::FullscreenControllerWidget( intf_thread_t *_p_i,
fullscreenButton->setIcon( QIcon( ":/defullscreen" ) ); fullscreenButton->setIcon( QIcon( ":/defullscreen" ) );
vlc_mutex_init_recursive( &lock ); vlc_mutex_init_recursive( &lock );
setMinimumWidth( 450 );
} }
FullscreenControllerWidget::~FullscreenControllerWidget() FullscreenControllerWidget::~FullscreenControllerWidget()
...@@ -1608,3 +1614,37 @@ void CoverArtLabel::doUpdate() ...@@ -1608,3 +1614,37 @@ void CoverArtLabel::doUpdate()
} }
} }
TimeLabel::TimeLabel( intf_thread_t *_p_intf ) :QLabel(), p_intf( _p_intf )
{
b_remainingTime = false;
setText( " --:--/--:-- " );
setAlignment( Qt::AlignRight | Qt::AlignVCenter );
setToolTip( qtr( "Toggle between elapsed and remaining time" ) );
CONNECT( THEMIM->getIM(), positionUpdated( float, int, int ),
this, setDisplayPosition( float, int, int ) );
}
void TimeLabel::setDisplayPosition( float pos, int time, int length )
{
char psz_length[MSTRTIME_MAX_SIZE], psz_time[MSTRTIME_MAX_SIZE];
secstotimestr( psz_length, length );
secstotimestr( psz_time, ( b_remainingTime && length ) ? length - time
: time );
QString timestr;
timestr.sprintf( "%s/%s", psz_time,
( !length && time ) ? "--:--" : psz_length );
/* Add a minus to remaining time*/
if( b_remainingTime && length ) setText( " -"+timestr+" " );
else setText( " "+timestr+" " );
}
void TimeLabel::toggleTimeDisplay()
{
b_remainingTime = !b_remainingTime;
}
...@@ -332,16 +332,25 @@ private: ...@@ -332,16 +332,25 @@ private:
class TimeLabel : public QLabel class TimeLabel : public QLabel
{ {
Q_OBJECT Q_OBJECT
void mousePressEvent( QMouseEvent *event ) public:
TimeLabel( intf_thread_t *_p_intf );
protected:
virtual void mousePressEvent( QMouseEvent *event )
{ {
emit timeLabelClicked(); toggleTimeDisplay();
} }
void mouseDoubleClickEvent( QMouseEvent *event ) virtual void mouseDoubleClickEvent( QMouseEvent *event )
{ {
toggleTimeDisplay();
emit timeLabelDoubleClicked(); emit timeLabelDoubleClicked();
} }
private slots:
void setDisplayPosition( float pos, int time, int length );
private:
intf_thread_t *p_intf;
bool b_remainingTime;
void toggleTimeDisplay();
signals: signals:
void timeLabelClicked();
void timeLabelDoubleClicked(); void timeLabelDoubleClicked();
}; };
......
...@@ -146,8 +146,6 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf ) ...@@ -146,8 +146,6 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
/* Connect the input manager to the GUI elements it manages */ /* Connect the input manager to the GUI elements it manages */
/* It is also connected to the control->slider, see the ControlsWidget */ /* It is also connected to the control->slider, see the ControlsWidget */
CONNECT( THEMIM->getIM(), positionUpdated( float, int, int ),
this, setDisplayPosition( float, int, int ) );
/* Change the SpeedRate in the Status */ /* Change the SpeedRate in the Status */
CONNECT( THEMIM->getIM(), rateChanged( int ), this, setRate( int ) ); CONNECT( THEMIM->getIM(), rateChanged( int ), this, setRate( int ) );
...@@ -291,11 +289,7 @@ inline void MainInterface::createStatusBar() ...@@ -291,11 +289,7 @@ inline void MainInterface::createStatusBar()
* Status Bar * * Status Bar *
****************/ ****************/
/* Widgets Creation*/ /* Widgets Creation*/
b_remainingTime = false; timeLabel = new TimeLabel( p_intf );
timeLabel = new TimeLabel;
timeLabel->setText( " --:--/--:-- " );
timeLabel->setAlignment( Qt::AlignRight | Qt::AlignVCenter );
timeLabel->setToolTip( qtr( "Toggle between elapsed and remaining time" ) );
nameLabel = new QLabel; nameLabel = new QLabel;
nameLabel->setTextInteractionFlags( Qt::TextSelectableByMouse nameLabel->setTextInteractionFlags( Qt::TextSelectableByMouse
| Qt::TextSelectableByKeyboard ); | Qt::TextSelectableByKeyboard );
...@@ -318,9 +312,7 @@ inline void MainInterface::createStatusBar() ...@@ -318,9 +312,7 @@ inline void MainInterface::createStatusBar()
- double clicking opens the goto time dialog - double clicking opens the goto time dialog
- right-clicking and clicking just toggle between remaining and - right-clicking and clicking just toggle between remaining and
elapsed time.*/ elapsed time.*/
CONNECT( timeLabel, timeLabelClicked(), this, toggleTimeDisplay() );
CONNECT( timeLabel, timeLabelDoubleClicked(), THEDP, gotoTimeDialog() ); CONNECT( timeLabel, timeLabelDoubleClicked(), THEDP, gotoTimeDialog() );
CONNECT( timeLabel, timeLabelDoubleClicked(), this, toggleTimeDisplay() );
/* Speed Label behaviour: /* Speed Label behaviour:
- right click gives the vertical speed slider */ - right click gives the vertical speed slider */
...@@ -854,27 +846,6 @@ void MainInterface::visual() ...@@ -854,27 +846,6 @@ void MainInterface::visual()
/************************************************************************ /************************************************************************
* Other stuff * Other stuff
************************************************************************/ ************************************************************************/
void MainInterface::setDisplayPosition( float pos, int time, int length )
{
char psz_length[MSTRTIME_MAX_SIZE], psz_time[MSTRTIME_MAX_SIZE];
secstotimestr( psz_length, length );
secstotimestr( psz_time, ( b_remainingTime && length ) ? length - time
: time );
QString timestr;
timestr.sprintf( "%s/%s", psz_time,
( !length && time ) ? "--:--" : psz_length );
/* Add a minus to remaining time*/
if( b_remainingTime && length ) timeLabel->setText( " -"+timestr+" " );
else timeLabel->setText( " "+timestr+" " );
}
void MainInterface::toggleTimeDisplay()
{
b_remainingTime = !b_remainingTime;
}
void MainInterface::setName( QString name ) void MainInterface::setName( QString name )
{ {
input_name = name; /* store it for the QSystray use */ input_name = name; /* store it for the QSystray use */
......
...@@ -133,7 +133,6 @@ private: ...@@ -133,7 +133,6 @@ private:
bool playlistVisible; ///< Is the playlist visible ? bool playlistVisible; ///< Is the playlist visible ?
bool visualSelectorEnabled; bool visualSelectorEnabled;
bool notificationEnabled; /// Systray Notifications bool notificationEnabled; /// Systray Notifications
bool b_remainingTime; /* Show elapsed or remaining time */
bool bgWasVisible; bool bgWasVisible;
int i_visualmode; ///< Visual Mode int i_visualmode; ///< Visual Mode
pl_dock_e i_pl_dock; pl_dock_e i_pl_dock;
...@@ -171,8 +170,6 @@ private slots: ...@@ -171,8 +170,6 @@ private slots:
void setRate( int ); void setRate( int );
void setName( QString ); void setName( QString );
void setVLCWindowsTitle( QString title = "" ); void setVLCWindowsTitle( QString title = "" );
void setDisplayPosition( float, int, int );
void toggleTimeDisplay();
#if 0 #if 0
void visual(); void visual();
#endif #endif
......
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