Connect play to button. Add preliminar suppot for pause and stop functions.

This commit is contained in:
Luis Lucas
2014-02-02 17:04:25 +00:00
parent b93038904b
commit 645e0154e4
4 changed files with 66 additions and 51 deletions
+1 -1
View File
@@ -129,7 +129,7 @@ bool SubWindowHandle::save()
return true;
}
bool SubWindowHandle::nextVideoFrame()
bool SubWindowHandle::playEvent()
{
m_currStream.readFrame();
if( m_currStream.checkErrors( READING ) )
+1 -1
View File
@@ -62,7 +62,7 @@ public:
bool loadFile( const QString &fileName );
bool save();
bool nextVideoFrame();
bool playEvent();
/**
* Show the image at its original size
+53 -40
View File
@@ -64,7 +64,8 @@ plaYUVerApp::plaYUVerApp()
playingTimer = new QTimer( this );
playingTimer->start( 1000 );
connect( playingTimer, SIGNAL( timeout() ), this, SLOT( playEvent() ) );
}
Void plaYUVerApp::closeEvent( QCloseEvent *event )
@@ -119,7 +120,6 @@ void plaYUVerApp::open()
interfaceChild->close();
}
}
play();
}
void plaYUVerApp::save()
@@ -133,15 +133,26 @@ void plaYUVerApp::save()
void plaYUVerApp::play()
{
connect( playingTimer, SIGNAL( timeout() ), this, SLOT( playEvent() ) );
playingTimer->start( 200 );
}
void plaYUVerApp::pause()
{
playingTimer->stop();
}
void plaYUVerApp::stop()
{
playingTimer->stop();
//disconnect( playingTimer, SIGNAL( timeout() ), 0, 0 );
}
void plaYUVerApp::playEvent()
{
if( activeImageInterface() )
{
if( !activeImageInterface()->nextVideoFrame() )
if( !activeImageInterface()->playEvent() )
{
playingTimer->stop();
}
@@ -318,6 +329,33 @@ Void plaYUVerApp::createActions()
// ------------ Playing ------------
actionVideoPlay = new QAction( "VideoPlay" , this );
actionVideoPause = new QAction( "VideoPause", this );
actionVideoStop = new QAction( "VideoStop" , this );
actionVideoBackward = new QAction( "VideoBackward" , this );
actionVideoForward = new QAction( "VideoForward" , this );
actionVideoLoop = new QAction( "VideoLoop" , this );
actionVideoLock = new QAction( "VideoLock" , this );
actionVideoInterlace = new QAction( "VideoInterlace" , this );
actionVideoCenter = new QAction( "VideoCenter" , this );
actionVideoPlay ->setIcon( QIcon( style()->standardIcon(QStyle::SP_MediaPlay ) ) );
actionVideoPause ->setIcon( QIcon( style()->standardIcon(QStyle::SP_MediaPause ) ) );
actionVideoStop ->setIcon( QIcon( style()->standardIcon(QStyle::SP_MediaStop ) ) );
actionVideoBackward ->setIcon( QIcon( style()->standardIcon(QStyle::SP_MediaSeekBackward ) ) );
actionVideoForward ->setIcon( QIcon( style()->standardIcon(QStyle::SP_MediaSeekForward ) ) );
/*
actionVideoLoop ->setIcon( QIcon( ":/images/videoloop.png" ) );
actionVideoLock ->setIcon( QIcon( ":/images/lock.png" ) );
actionVideoInterlace->setIcon( QIcon( ":/images/interlace.png" ) );
actionVideoCenter ->setIcon( QIcon( ":/images/center.png" ) );
*/
connect( actionVideoPlay , SIGNAL( triggered() ), this , SLOT ( play() ) );
connect( actionVideoPause , SIGNAL( triggered() ), this , SLOT ( pause() ) );
connect( actionVideoStop , SIGNAL( triggered() ), this , SLOT ( stop() ) );
// ------------ Window ------------
tileAct = new QAction( tr( "&Tile" ), this );
@@ -342,31 +380,6 @@ Void plaYUVerApp::createActions()
separatorAct->setSeparator( true );
// ------------- Video actions --------------
acVideoPlay = new QAction( "AC VideoPlay" , this );
acVideoPause = new QAction( "AC VideoPause", this );
acVideoStop = new QAction( "AC VideoStop" , this );
acVideoBackward = new QAction( "AC VideoBackward" , this );
acVideoForward = new QAction( "AC VideoForward" , this );
acVideoLoop = new QAction( "AC VideoLoop" , this );
acVideoLock = new QAction( "AC VideoLock" , this );
acVideoInterlace = new QAction( "AC VideoInterlace" , this );
acVideoCenter = new QAction( "AC VideoCenter" , this );
/*
acVideoPlay ->setIcon( QIcon( ":/images/videoplay.png" ) );
acVideoPause ->setIcon( QIcon( ":/images/videopause.png" ) );
acVideoStop ->setIcon( QIcon( ":/images/videostop.png" ) );
acVideoBackward ->setIcon( QIcon( ":/images/videobak.png" ) );
acVideoForward ->setIcon( QIcon( ":/images/videofwd.png" ) );
acVideoLoop ->setIcon( QIcon( ":/images/videoloop.png" ) );
acVideoLock ->setIcon( QIcon( ":/images/lock.png" ) );
acVideoInterlace->setIcon( QIcon( ":/images/interlace.png" ) );
acVideoCenter ->setIcon( QIcon( ":/images/center.png" ) );
*/
// ------------ About ------------
aboutAct = new QAction( tr( "&About" ), this );
@@ -420,15 +433,15 @@ Void plaYUVerApp::createToolBars()
viewToolBar->addAction( zoomToFitAct );
videoToolBar = addToolBar( tr( "Video" ) );
videoToolBar->addAction( acVideoPlay );
videoToolBar->addAction( acVideoPause );
videoToolBar->addAction( acVideoStop );
videoToolBar->addAction( acVideoBackward );
videoToolBar->addAction( acVideoForward );
videoToolBar->addAction( acVideoLoop );
videoToolBar->addAction( acVideoLock );
videoToolBar->addAction( acVideoInterlace );
videoToolBar->addAction( acVideoCenter );
videoToolBar->addAction( actionVideoPlay );
videoToolBar->addAction( actionVideoPause );
videoToolBar->addAction( actionVideoStop );
videoToolBar->addAction( actionVideoBackward );
videoToolBar->addAction( actionVideoForward );
videoToolBar->addAction( actionVideoLoop );
videoToolBar->addAction( actionVideoLock );
videoToolBar->addAction( actionVideoInterlace );
videoToolBar->addAction( actionVideoCenter );
}
@@ -467,8 +480,8 @@ QMdiSubWindow *plaYUVerApp::findImageInterface( const QString &fileName )
foreach( QMdiSubWindow * window, mdiArea->subWindowList() ){
SubWindowHandle *mdiChild = qobject_cast<SubWindowHandle *>( window);
if( mdiChild->currentFile() == canonicalFilePath )
return window;
}
return window;
}
return 0;
}
+11 -9
View File
@@ -58,6 +58,8 @@ private slots:
//! Playing functions
void play();
void pause();
void stop();
void playEvent();
//! View functions
@@ -125,15 +127,15 @@ private:
QAction *separatorAct;
// Video actions.
QAction *acVideoPlay;
QAction *acVideoPause;
QAction *acVideoStop;
QAction *acVideoBackward;
QAction *acVideoForward;
QAction *acVideoLoop;
QAction *acVideoLock;
QAction *acVideoInterlace;
QAction *acVideoCenter;
QAction *actionVideoPlay;
QAction *actionVideoPause;
QAction *actionVideoStop;
QAction *actionVideoBackward;
QAction *actionVideoForward;
QAction *actionVideoLoop;
QAction *actionVideoLock;
QAction *actionVideoInterlace;
QAction *actionVideoCenter;
QAction *aboutAct;
QAction *aboutQtAct;