]> git.sesse.net Git - vlc/commitdiff
Qt: trigger epg on program doubleclick
authorFrancois Cartegnie <fcvlcdev@free.fr>
Wed, 15 Feb 2012 16:27:38 +0000 (17:27 +0100)
committerFrancois Cartegnie <fcvlcdev@free.fr>
Wed, 15 Feb 2012 16:42:14 +0000 (17:42 +0100)
modules/gui/qt4/components/interface_widgets.cpp
modules/gui/qt4/components/interface_widgets.hpp
modules/gui/qt4/main_interface.cpp

index 419b5e6ed07dfc201aee9999d4621897a8076307..6833cc66e8df4c53a16e90ee667092001c81e20d 100644 (file)
@@ -550,7 +550,7 @@ void CoverArtLabel::askForUpdate()
 }
 
 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;
index cd952761bfc4365b2ff0775f80ec0ea21c953b58..6251d46bbf5cc9982d00838b729ec6caa2c5e46b 100644 (file)
@@ -118,7 +118,20 @@ private slots:
 };
 #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:
@@ -142,7 +155,7 @@ protected:
         if( displayType != TimeLabel::Both ) return;
         event->accept();
         toggleTimeDisplay();
-        emit timeLabelDoubleClicked();
+        ClickableQLabel::mouseDoubleClickEvent( event );
     }
 private:
     intf_thread_t *p_intf;
@@ -159,8 +172,6 @@ private:
     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 );
index afc9456a509424cdd14b17a954a05cf523442fe6..091a99bfaf1cc7d1aea0c7eb45924a0a858b2743 100644 (file)
@@ -459,7 +459,7 @@ inline void MainInterface::createStatusBar()
     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 );
@@ -480,11 +480,12 @@ inline void MainInterface::createStatusBar()
     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 ) );