diff options
author | Kai Koehne <kai.koehne@nokia.com> | 2010-02-17 13:37:00 +0100 |
---|---|---|
committer | Kai Koehne <kai.koehne@nokia.com> | 2010-02-17 16:32:41 +0100 |
commit | fb8357136efff51c9874c1a17a3889a650a3dada (patch) | |
tree | 738729d706cad2ab1ace8a1aa240981937b0df9b /src | |
parent | 20ec30223c95c49b7512de13add5edb77453352c (diff) | |
download | qt-creator-fb8357136efff51c9874c1a17a3889a650a3dada.tar.gz |
Remove support for old .qmlproject file format
We used to fail back to the old format if the .qmlproject file
was invalid. Anyhow, this lead to weird effects ... better disable
it explicitly.
That no warning is shown right now when loading an invalid qmlproject
file is a bug in coreplugin.
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/qmlprojectmanager/qmlproject.cpp | 39 | ||||
-rw-r--r-- | src/plugins/qmlprojectmanager/qmlproject.h | 2 | ||||
-rw-r--r-- | src/plugins/qmlprojectmanager/qmlprojectmanager.cpp | 8 |
3 files changed, 16 insertions, 33 deletions
diff --git a/src/plugins/qmlprojectmanager/qmlproject.cpp b/src/plugins/qmlprojectmanager/qmlproject.cpp index c738c6c2ce..975c5a623c 100644 --- a/src/plugins/qmlprojectmanager/qmlproject.cpp +++ b/src/plugins/qmlprojectmanager/qmlproject.cpp @@ -31,6 +31,9 @@ #include "qmlprojectfile.h" #include "qmlprojectmanagerconstants.h" #include "fileformat/qmlprojectitem.h" + +#include <coreplugin/icore.h> +#include <coreplugin/messagemanager.h> #include <extensionsystem/pluginmanager.h> #include <projectexplorer/filewatcher.h> #include <qmljseditor/qmljsmodelmanagerinterface.h> @@ -77,30 +80,6 @@ QDir QmlProject::projectDir() const QString QmlProject::filesFileName() const { return m_fileName; } -static QStringList readLines(const QString &absoluteFileName) -{ - QStringList lines; - - QFile file(absoluteFileName); - if (file.open(QFile::ReadOnly)) { - QTextStream stream(&file); - - forever { - QString line = stream.readLine(); - if (line.isNull()) - break; - - line = line.trimmed(); - if (line.isEmpty()) - continue; - - lines.append(line); - } - } - - return lines; -} - void QmlProject::parseProject(RefreshOptions options) { if (options & Files) { @@ -116,10 +95,9 @@ void QmlProject::parseProject(RefreshOptions options) m_projectItem = qobject_cast<QmlProjectItem*>(component->create()); connect(m_projectItem.data(), SIGNAL(qmlFilesChanged()), this, SLOT(refreshFiles())); } else { - qWarning() << m_fileName << "is not valid qml file, falling back to old format ..."; - m_files = convertToAbsoluteFiles(readLines(filesFileName())); - m_files.removeDuplicates(); - m_modelManager->updateSourceFiles(m_files); + Core::MessageManager *messageManager = Core::ICore::instance()->messageManager(); + messageManager->printToOutputPane(tr("Error while loading project file!")); + messageManager->printToOutputPane(component->errorsString(), true); } } } @@ -173,6 +151,11 @@ QStringList QmlProject::files() const return files; } +bool QmlProject::validProjectFile() const +{ + return !m_projectItem.isNull(); +} + QStringList QmlProject::libraryPaths() const { QStringList libraryPaths; diff --git a/src/plugins/qmlprojectmanager/qmlproject.h b/src/plugins/qmlprojectmanager/qmlproject.h index 994d75acb4..3e209e53fa 100644 --- a/src/plugins/qmlprojectmanager/qmlproject.h +++ b/src/plugins/qmlprojectmanager/qmlproject.h @@ -85,6 +85,8 @@ public: Internal::QmlProjectNode *rootProjectNode() const; QStringList files(FilesMode fileMode) const; + bool validProjectFile() const; + enum RefreshOption { ProjectFile = 0x01, Files = 0x02, diff --git a/src/plugins/qmlprojectmanager/qmlprojectmanager.cpp b/src/plugins/qmlprojectmanager/qmlprojectmanager.cpp index 3d352876b9..2fc768f195 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectmanager.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectmanager.cpp @@ -73,16 +73,14 @@ ProjectExplorer::Project *Manager::openProject(const QString &fileName) foreach (ProjectExplorer::Project *pi, projectExplorer->session()->projects()) { if (fileName == pi->file()->fileName()) { - messageManager->printToOutputPane(tr("Failed opening project '%1': Project already open").arg(QDir::toNativeSeparators(fileName))); - messageManager->displayStatusBarMessage(tr("Failed opening project"), 5000); + messageManager->printToOutputPanePopup(tr("Failed opening project '%1': Project already open") + .arg(QDir::toNativeSeparators(fileName))); return 0; } } if (fileInfo.isFile()) { - QmlProject *project = new QmlProject(this, fileName); - messageManager->displayStatusBarMessage(tr("Done opening project"), 5000); - return project; + return new QmlProject(this, fileName); } return 0; |