}
TimeLabel::TimeLabel( intf_thread_t *_p_intf, TimeLabel::Display _displayType )
- : QLabel(), p_intf( _p_intf ), bufTimer( new QTimer(this) ),
+ : ClickableQLabel(), p_intf( _p_intf ), bufTimer( new QTimer(this) ),
buffering( false ), showBuffering(false), bufVal( -1 ), displayType( _displayType )
{
b_remainingTime = false;
};
#endif
-class TimeLabel : public QLabel
+class ClickableQLabel : public QLabel
+{
+ Q_OBJECT
+public:
+ virtual void mouseDoubleClickEvent( QMouseEvent *event )
+ {
+ Q_UNUSED( event );
+ emit doubleClicked();
+ }
+signals:
+ void doubleClicked();
+};
+
+class TimeLabel : public ClickableQLabel
{
Q_OBJECT
public:
if( displayType != TimeLabel::Both ) return;
event->accept();
toggleTimeDisplay();
- emit timeLabelDoubleClicked();
+ ClickableQLabel::mouseDoubleClickEvent( event );
}
private:
intf_thread_t *p_intf;
char psz_time[MSTRTIME_MAX_SIZE];
void toggleTimeDisplay();
void paintEvent( QPaintEvent* );
-signals:
- void timeLabelDoubleClicked();
private slots:
void setDisplayPosition( float pos, int64_t time, int length );
void setDisplayPosition( float pos );
QStatusBar *statusBarr = statusBar();
TimeLabel *timeLabel = new TimeLabel( p_intf );
- nameLabel = new QLabel( this );
+ nameLabel = new ClickableQLabel();
nameLabel->setTextInteractionFlags( Qt::TextSelectableByMouse
| Qt::TextSelectableByKeyboard );
SpeedLabel *speedLabel = new SpeedLabel( p_intf, this );
statusBarr->addPermanentWidget( speedLabel, 0 );
statusBarr->addPermanentWidget( timeLabel, 0 );
+ CONNECT( nameLabel, doubleClicked(), THEDP, epgDialog() );
/* timeLabel behaviour:
- double clicking opens the goto time dialog
- right-clicking and clicking just toggle between remaining and
elapsed time.*/
- CONNECT( timeLabel, timeLabelDoubleClicked(), THEDP, gotoTimeDialog() );
+ CONNECT( timeLabel, doubleClicked(), THEDP, gotoTimeDialog() );
CONNECT( THEMIM->getIM(), encryptionChanged( bool ),
this, showCryptedLabel( bool ) );