Merge with master

This commit is contained in:
Luis Lucas committed 2014-02-08 17:58:57 +00:00
commit a515b56527
12 files changed
+541 -457

No files matched your search

+53 -25
View File
@@ -68,6 +68,7 @@ SubWindowHandle::SubWindowHandle( QWidget * parent ) :
connect( m_pcFrameSlider, SIGNAL( valueChanged(int) ), this, SLOT( seekSliderEvent() ) );
m_cWindowName = QString( " " );
m_bIsPlaying = true;
m_dScaleFactor = 1;
}
@@ -81,28 +82,32 @@ bool SubWindowHandle::loadFile( const QString &fileName )
{
ConfigureFormatDialog formatDialog( this );
if( m_currStream.needFormatDialog( fileName ) )
m_pCurrStream = new InputStream;
if( m_pCurrStream->needFormatDialog( fileName ) )
{
if( formatDialog.exec() == QDialog::Rejected )
{
return false;
}
m_currStream.init( fileName, formatDialog.getResolution().width(), formatDialog.getResolution().height(), formatDialog.getPixelFormat(),
m_pCurrStream->init( fileName, formatDialog.getResolution().width(), formatDialog.getResolution().height(), formatDialog.getPixelFormat(),
formatDialog.getFrameRate() );
}
else
{
m_currStream.init( fileName, 0, 0, 0, 0 );
m_pCurrStream->init( fileName, 0, 0, 0, 0 );
}
QApplication::setOverrideCursor( Qt::WaitCursor );
QApplication::restoreOverrideCursor();
if( m_currStream.getStatus() == 0 )
if( m_pCurrStream->getStatus() == 0 )
{
return false;
}
m_currStream.readFrame();
if( m_currStream.checkErrors( READING ) )
m_pCurrFrameQImage = new QImage( m_pCurrStream->getWidth(), m_pCurrStream->getHeight(), QImage::Format_RGB888 );
m_pCurrStream->readFrame();
if( m_pCurrStream->checkErrors( READING ) )
{
QMessageBox::warning( this, tr( "plaYUVer" ), tr( "Cannot read %1." ).arg( fileName ) );
return false;
@@ -110,12 +115,13 @@ bool SubWindowHandle::loadFile( const QString &fileName )
QApplication::restoreOverrideCursor();
m_cViewArea->setImage( QPixmap::fromImage( m_currStream.getFrameQImage() ) );
m_pCurrStream->getFrame( m_pCurrFrameQImage );
m_cViewArea->setImage( QPixmap::fromImage( *m_pCurrFrameQImage ) );
normalSize();
m_pcFrameSlider->setRange( 0, m_currStream.getFrameNum() );
m_cWindowName = m_currStream.getStreamInformationString();
m_cWindowName = QString( " " );
m_cWindowName = m_pCurrStream->getStreamInformationString();
m_cCurrFileName = fileName;
setWindowTitle( m_cWindowName );
@@ -141,7 +147,7 @@ bool SubWindowHandle::save()
QApplication::setOverrideCursor( Qt::WaitCursor );
if( !m_currStream.writeFrame( fileName ) )
if( !m_pCurrStream->writeFrame( fileName ) )
{
QApplication::restoreOverrideCursor();
QMessageBox::warning( this, tr( "SCode" ), tr( "Cannot save file %1" ).arg( fileName ) );
@@ -162,22 +168,44 @@ void SubWindowHandle::seekSliderEvent()
bool SubWindowHandle::playEvent()
{
m_currStream.readFrame();
if( m_currStream.checkErrors( READING ) )
bool iRet = true;
if( m_bIsPlaying )
{
QMessageBox::warning( this, tr( "plaYUVer" ), tr( "Cannot read %1." ).arg( m_cCurrFileName ) );
return false;
m_pCurrStream->readFrame();
if( m_pCurrStream->checkErrors( READING ) )
{
QMessageBox::warning( this, tr( "plaYUVer" ), tr( "Cannot read %1." ).arg( m_cCurrFileName ) );
return false;
}
else if( m_pCurrStream->checkErrors( END_OF_SEQ ) )
{
iRet = false;
}
m_pCurrStream->getFrame( m_pCurrFrameQImage );
m_cViewArea->setImage( QPixmap::fromImage( *m_pCurrFrameQImage ) );
return iRet;
}
else if( m_currStream.checkErrors( END_OF_SEQ ) )
{
m_cViewArea->setImage( QPixmap::fromImage( m_currStream.getFrameQImage() ) );
return false;
}
m_cViewArea->setImage( QPixmap::fromImage( m_currStream.getFrameQImage() ) );
m_pcFrameSlider->setSliderPosition( m_currStream.getCurrFrameNum() );
return true;
return false;
}
Void SubWindowHandle::seekEvent( UInt new_frame_num )
{
m_pCurrStream->seekInput( new_frame_num );
m_pCurrStream->readFrame();
m_pCurrStream->getFrame( m_pCurrFrameQImage );
m_cViewArea->setImage( QPixmap::fromImage( *m_pCurrFrameQImage ) );
}
Void SubWindowHandle::stopEvent()
{
m_pCurrStream->seekInput( 0 );
m_pCurrStream->readFrame();
m_pCurrStream->getFrame( m_pCurrFrameQImage );
m_cViewArea->setImage( QPixmap::fromImage( *m_pCurrFrameQImage ) );
return;
}
Void SubWindowHandle::normalSize()
{
m_dScaleFactor = 1.0;
@@ -188,7 +216,7 @@ Void SubWindowHandle::zoomToFit()
{
// Scale to a smaller size that the real to a nicer look
QSize niceFit( m_cScrollArea->viewport()->size().width() - 10, m_cScrollArea->viewport()->size().height() - 10 );
if( m_currStream.getWidth() <= niceFit.width() && m_currStream.getHeight() <= niceFit.height() )
if( m_pCurrStream->getWidth() <= niceFit.width() && m_pCurrStream->getHeight() <= niceFit.height() )
{
normalSize();
return;
@@ -211,7 +239,7 @@ Void SubWindowHandle::scaleView( Int width, Int height )
Void SubWindowHandle::scaleView( const QSize & size )
{
QSize imgViewSize( m_currStream.getWidth(), m_currStream.getHeight() );
QSize imgViewSize( m_pCurrStream->getWidth(), m_pCurrStream->getHeight() );
QSize newSize = imgViewSize;
newSize.scale( size, Qt::KeepAspectRatio );
@@ -248,7 +276,7 @@ QSize SubWindowHandle::sizeHint() const
maxSize = p->size();
}
QSize isize = QSize( m_currStream.getWidth() + 500, m_currStream.getHeight() + 500 );
QSize isize = QSize( m_pCurrStream->getWidth() + 500, m_pCurrStream->getHeight() + 500 );
// If the SubWindowHandle needs more space that the avaiable, we'll give
// to the subwindow a reasonable size preserving the image aspect ratio.