Validates Xml files opened with the main menu

This commit is contained in:
Dave French
2015-02-26 20:07:45 +00:00
parent ad9dfd853d
commit 318260a7e2
3 changed files with 9 additions and 10 deletions

View File

@@ -165,25 +165,24 @@ DataFile::~DataFile()
bool DataFile::validate( QString extension )
{
bool result = false;
switch( m_type )
{
case Type::SongProject:
if( extension == "mmp" || extension == "mmpz" )
{
result = true;
return true;
}
break;
case Type::SongProjectTemplate:
if( extension == "mpt" )
{
result = true;
return true;
}
break;
case Type::InstrumentTrackSettings:
if ( extension == "xpf" || extension == "xml" )
{
result = true;
return true;
}
break;
case Type::UnknownType:
@@ -194,18 +193,18 @@ bool DataFile::validate( QString extension )
extension == "flp" || extension == "dll"
) )
{
result = true;
return true;
}
if( extension == "wav" || extension == "ogg" ||
extension == "ds" )
{
result = true;
return true;
}
break;
default:
return true;
}
return result;
return false;
}

View File

@@ -942,7 +942,7 @@ void Song::loadProject( const QString & fileName )
DataFile dataFile( m_fileName );
// if file could not be opened, head-node is null and we create
// new project
if( dataFile.head().isNull() )
if( !dataFile.validate( _file_name.right(_file_name.lastIndexOf(".") ) ) )
{
return;
}

View File

@@ -465,8 +465,8 @@ void FileBrowserTreeWidget::mousePressEvent(QMouseEvent * me )
DataFile dataFile( f->fullName() );
if( !dataFile.validate( f->extension() ) )
{
QMessageBox::warning( 0, "Corrupt File",
"File : " + f->fullName() + " contains invalid data",
QMessageBox::warning( 0, tr ( "Error" ),
f->fullName() + " " + tr( "does not appear to be a valid") + " " + f->extension(),
QMessageBox::Ok, QMessageBox::NoButton );
m_pphMutex.unlock();
return;