Merge with master
This commit is contained in:
commit
a515b56527
12 files changed
+541
-457
No files matched your search
+53
-25
@@ -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.
|
||||
|
||||
Reference in new issue
Block a user