]> git.sesse.net Git - vlc/commitdiff
Qt: make the resume panel timer cancellable
authorLudovic Fauvet <etix@videolan.org>
Mon, 24 Nov 2014 15:18:08 +0000 (16:18 +0100)
committerLudovic Fauvet <etix@videolan.org>
Mon, 24 Nov 2014 17:14:13 +0000 (18:14 +0100)
modules/gui/qt4/main_interface.cpp
modules/gui/qt4/main_interface.hpp

index ddeb695dae9a5358d48a655f238399932396cb7a..0fa217a7145bd5c122fd002b2fcc7b1a08635c67 100644 (file)
@@ -385,6 +385,12 @@ void MainInterface::createContinueDialog( QWidget *w )
     continueDialogLayout->addWidget( ok );
     continueDialogLayout->addWidget( cancel );
 
+    continueTimer = new QTimer( continueDialog );
+    continueTimer->setSingleShot( true );
+    continueTimer->setInterval( 6000 );
+
+    CONNECT( continueTimer, timeout(), this, hideContinueDialog() );
+
     CONNECT( cancel, clicked(), this, hideContinueDialog() );
     BUTTONACT(ok, continuePlayback() );
 
@@ -406,7 +412,7 @@ void MainInterface::showContinueDialog( int64_t _time ) {
     else
     {
         continueDialog->setVisible(true);
-        QTimer::singleShot(6000, this, SLOT(hideContinueDialog()));
+        continueTimer->start();
     }
 }
 
@@ -417,6 +423,7 @@ void MainInterface::hideContinueDialog()
         if( !isFullScreen() && !isMaximized() )
             resize( width(), height() - continueDialog->height() );
         continueDialog->hide();
+        continueTimer->stop();
     }
 }
 
index 7af3fdfb2a052d5ca942026176680edccd0dbffd..be7101e8e3370d55d7ca532d2adeacd7b3fdae4c 100644 (file)
@@ -54,6 +54,7 @@ class SpeedControlWidget;
 class QVBoxLayout;
 class QMenu;
 class QSize;
+class QTimer;
 class StandardPLPanel;
 struct vout_window_t;
 
@@ -150,6 +151,7 @@ private:
 
     /* continue */
     QWidget             *continueDialog;
+    QTimer              *continueTimer;
     int64_t             i_continueTime;
 
     /* Status Bar */