Mercurial > hg > svapp
diff framework/MainWindowBase.cpp @ 152:6f1e64670451
* Fix crash in SimpleSPARQLQuery
* Fix failure to add images from local files
author | Chris Cannam |
---|---|
date | Thu, 15 Jan 2009 18:20:40 +0000 |
parents | 6e8bce502be3 |
children | 6a24c797c157 |
line wrap: on
line diff
--- a/framework/MainWindowBase.cpp Fri Dec 12 17:06:33 2008 +0000 +++ b/framework/MainWindowBase.cpp Thu Jan 15 18:20:40 2009 +0000 @@ -53,6 +53,7 @@ #include "data/fileio/MIDIFileWriter.h" #include "data/fileio/BZipFileDevice.h" #include "data/fileio/FileSource.h" +#include "data/fileio/AudioFileReaderFactory.h" #include "rdf/RDFImporter.h" #include "data/fft/FFTDataServer.h" @@ -859,9 +860,12 @@ m_paneStack != 0 && m_paneStack->getCurrentPane() != 0); - bool rdf = (source.getExtension() == "rdf" || - source.getExtension() == "n3" || - source.getExtension() == "ttl"); + bool rdf = (source.getExtension().toLower() == "rdf" || + source.getExtension().toLower() == "n3" || + source.getExtension().toLower() == "ttl"); + + bool audio = AudioFileReaderFactory::getKnownExtensions().contains + (source.getExtension().toLower()); bool rdfSession = false; if (rdf) { @@ -900,7 +904,7 @@ } } - if ((status = openAudio(source, mode)) != FileOpenFailed) { + if (audio && (status = openAudio(source, mode)) != FileOpenFailed) { return status; } else if ((status = openSession(source)) != FileOpenFailed) { return status; @@ -1118,7 +1122,7 @@ std::set<QString> extensions; PlaylistFileReader::getSupportedExtensions(extensions); - QString extension = source.getExtension(); + QString extension = source.getExtension().toLower(); if (extensions.find(extension) == extensions.end()) return FileOpenFailed; if (!source.isAvailable()) return FileOpenFailed; @@ -1185,8 +1189,8 @@ return openLayersFromRDF(source); - } else if (source.getExtension() == "svl" || - (source.getExtension() == "xml" && + } else if (source.getExtension().toLower() == "svl" || + (source.getExtension().toLower() == "xml" && (SVFileReader::identifyXmlFile(source.getLocalFilename()) == SVFileReader::SVLayerFile))) { @@ -1347,7 +1351,7 @@ if (!source.isAvailable()) return FileOpenFailed; source.waitForData(); - if (source.getExtension() != "sv") { + if (source.getExtension().toLower() != "sv") { RDFImporter::RDFDocumentType rdfType = RDFImporter::identifyDocumentType @@ -1362,7 +1366,7 @@ return FileOpenFailed; } - if (source.getExtension() == "xml") { + if (source.getExtension().toLower() == "xml") { if (SVFileReader::identifyXmlFile(source.getLocalFilename()) == SVFileReader::SVSessionFile) { std::cerr << "This XML file looks like a session file, attempting to open it as a session" << std::endl; @@ -1378,7 +1382,7 @@ BZipFileDevice *bzFile = 0; QFile *rawFile = 0; - if (source.getExtension() == "sv") { + if (source.getExtension().toLower() == "sv") { bzFile = new BZipFileDevice(source.getLocalFilename()); if (!bzFile->open(QIODevice::ReadOnly)) { delete bzFile;