From 38c18492b27efa34f36bc011c8a4647772a1f087 Mon Sep 17 00:00:00 2001 From: Joao Carreira Date: Mon, 16 Jun 2014 22:59:14 +0100 Subject: [PATCH] keep same frame num when reloading --- source/app/SubWindowHandle.cpp | 7 +++++++ source/app/SubWindowHandle.h | 1 + source/app/plaYUVerApp.cpp | 4 ++-- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/source/app/SubWindowHandle.cpp b/source/app/SubWindowHandle.cpp index d65b706..def455a 100644 --- a/source/app/SubWindowHandle.cpp +++ b/source/app/SubWindowHandle.cpp @@ -73,6 +73,13 @@ SubWindowHandle::~SubWindowHandle() delete m_pCurrStream; } +Void SubWindowHandle::reloadFile() +{ + Int currFrameNum = m_pCurrStream->getCurrFrameNum(); + loadFile( m_cCurrFileName, false ); + seekAbsoluteEvent( currFrameNum ); +} + Bool SubWindowHandle::loadFile( const QString &rcFilename, Bool bForceDialog ) { UInt Width = 0, Height = 0, FrameRate = 30; diff --git a/source/app/SubWindowHandle.h b/source/app/SubWindowHandle.h index 8a78ed8..d9c8c10 100644 --- a/source/app/SubWindowHandle.h +++ b/source/app/SubWindowHandle.h @@ -67,6 +67,7 @@ public: Bool mayClose(); Bool loadFile( const QString &rcFilename, Bool bForceDialog = false ); + Void reloadFile(); Bool save(); Void play(); diff --git a/source/app/plaYUVerApp.cpp b/source/app/plaYUVerApp.cpp index 074abe8..09d9e99 100644 --- a/source/app/plaYUVerApp.cpp +++ b/source/app/plaYUVerApp.cpp @@ -223,7 +223,7 @@ Void plaYUVerApp::format() Void plaYUVerApp::reload() { if( m_pcCurrentSubWindow ) - m_pcCurrentSubWindow->loadFile( m_pcCurrentSubWindow->currentFile(), false ); + m_pcCurrentSubWindow->reloadFile(); } Void plaYUVerApp::reloadAll() @@ -232,7 +232,7 @@ Void plaYUVerApp::reloadAll() for( Int i = 0; i < mdiArea->subWindowList().size(); i++ ) { subWindow = qobject_cast( mdiArea->subWindowList().at( i ) ); - subWindow->loadFile( m_pcCurrentSubWindow->currentFile(), false ); + subWindow->reloadFile(); } }