ProjectExplorer: Use FileName for Node::path

Change-Id: I4a41cfb629be8bb06b4b0616cd4475525e617a51
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
This commit is contained in:
Orgad Shaneh
2015-02-02 00:37:38 +02:00
committed by Orgad Shaneh
parent 033a628cdc
commit 88e7f935f4
86 changed files with 616 additions and 551 deletions

View File

@@ -68,11 +68,11 @@ void setupFileFilterItem(QmlProjectManager::FileFilterBaseItem *fileFilterItem,
namespace QmlProjectManager {
QmlProjectItem *QmlProjectFileFormat::parseProjectFile(const QString &fileName, QString *errorMessage)
QmlProjectItem *QmlProjectFileFormat::parseProjectFile(const Utils::FileName &fileName, QString *errorMessage)
{
QmlJS::SimpleReader simpleQmlJSReader;
const QmlJS::SimpleReaderNode::Ptr rootNode = simpleQmlJSReader.readFile(fileName);
const QmlJS::SimpleReaderNode::Ptr rootNode = simpleQmlJSReader.readFile(fileName.toString());
if (!simpleQmlJSReader.errors().isEmpty() || !rootNode->isValid()) {
qWarning() << "unable to parse:" << fileName;

View File

@@ -31,6 +31,8 @@
#ifndef QMLPROJECTFILEFORMAT_H
#define QMLPROJECTFILEFORMAT_H
#include <utils/fileutils.h>
#include <QCoreApplication>
#include <QString>
@@ -43,7 +45,7 @@ class QmlProjectFileFormat
Q_DECLARE_TR_FUNCTIONS(QmlProjectManager::QmlProjectFileFormat)
public:
static QmlProjectItem *parseProjectFile(const QString &fileName, QString *errorMessage = 0);
static QmlProjectItem *parseProjectFile(const Utils::FileName &fileName, QString *errorMessage = 0);
};
} // namespace QmlProjectManager

View File

@@ -58,7 +58,7 @@ namespace Internal {
} // namespace Internal
QmlProject::QmlProject(Internal::Manager *manager, const QString &fileName)
QmlProject::QmlProject(Internal::Manager *manager, const Utils::FileName &fileName)
: m_manager(manager),
m_fileName(fileName),
m_defaultImport(UnknownImport),
@@ -68,7 +68,7 @@ QmlProject::QmlProject(Internal::Manager *manager, const QString &fileName)
setProjectContext(Context(QmlProjectManager::Constants::PROJECTCONTEXT));
setProjectLanguages(Context(ProjectExplorer::Constants::LANG_QMLJS));
QFileInfo fileInfo(m_fileName);
QFileInfo fileInfo = m_fileName.toFileInfo();
m_projectName = fileInfo.completeBaseName();
m_file = new Internal::QmlProjectFile(this, fileName);
@@ -129,7 +129,7 @@ QDir QmlProject::projectDir() const
return projectFilePath().toFileInfo().dir();
}
QString QmlProject::filesFileName() const
Utils::FileName QmlProject::filesFileName() const
{ return m_fileName; }
static QmlProject::QmlImport detectImport(const QString &qml) {
@@ -157,7 +157,9 @@ void QmlProject::parseProject(RefreshOptions options)
this, SLOT(refreshFiles(QSet<QString>,QSet<QString>)));
} else {
MessageManager::write(tr("Error while loading project file %1.").arg(m_fileName), MessageManager::NoModeSwitch);
MessageManager::write(tr("Error while loading project file %1.")
.arg(m_fileName.toUserOutput()),
MessageManager::NoModeSwitch);
MessageManager::write(errorMessage);
}
}
@@ -172,7 +174,8 @@ void QmlProject::parseProject(RefreshOptions options)
Utils::FileReader reader;
QString errorMessage;
if (!reader.fetch(mainFilePath, &errorMessage)) {
MessageManager::write(tr("Warning while loading project file %1.").arg(m_fileName));
MessageManager::write(tr("Warning while loading project file %1.")
.arg(m_fileName.toUserOutput()));
MessageManager::write(errorMessage);
} else {
m_defaultImport = detectImport(QString::fromUtf8(reader.data()));
@@ -211,7 +214,7 @@ void QmlProject::refresh(RefreshOptions options)
QStringList QmlProject::convertToAbsoluteFiles(const QStringList &paths) const
{
const QDir projectDir(QFileInfo(m_fileName).dir());
const QDir projectDir(m_fileName.toFileInfo().dir());
QStringList absolutePaths;
foreach (const QString &file, paths) {
QFileInfo fileInfo(projectDir, file);

View File

@@ -56,10 +56,10 @@ class QMLPROJECTMANAGER_EXPORT QmlProject : public ProjectExplorer::Project
Q_OBJECT
public:
QmlProject(Internal::Manager *manager, const QString &filename);
QmlProject(Internal::Manager *manager, const Utils::FileName &filename);
virtual ~QmlProject();
QString filesFileName() const;
Utils::FileName filesFileName() const;
QString displayName() const;
Core::IDocument *document() const;
@@ -111,7 +111,7 @@ private:
QmlJS::ModelManagerInterface *modelManager() const;
Internal::Manager *m_manager;
QString m_fileName;
Utils::FileName m_fileName;
Internal::QmlProjectFile *m_file;
QString m_projectName;
QmlImport m_defaultImport;

View File

@@ -36,7 +36,7 @@
namespace QmlProjectManager {
namespace Internal {
QmlProjectFile::QmlProjectFile(QmlProject *parent, const QString &fileName)
QmlProjectFile::QmlProjectFile(QmlProject *parent, const Utils::FileName &fileName)
: Core::IDocument(parent),
m_project(parent)
{
@@ -44,7 +44,7 @@ QmlProjectFile::QmlProjectFile(QmlProject *parent, const QString &fileName)
QTC_CHECK(!fileName.isEmpty());
setId("Qml.ProjectFile");
setMimeType(QLatin1String(Constants::QMLPROJECT_MIMETYPE));
setFilePath(Utils::FileName::fromString(fileName));
setFilePath(fileName);
}
QmlProjectFile::~QmlProjectFile()

View File

@@ -44,7 +44,7 @@ class QmlProjectFile : public Core::IDocument
Q_OBJECT
public:
QmlProjectFile(QmlProject *parent, const QString &fileName);
QmlProjectFile(QmlProject *parent, const Utils::FileName &fileName);
virtual ~QmlProjectFile();
virtual bool save(QString *errorString, const QString &fileName, bool autoSave);

View File

@@ -57,7 +57,7 @@ ProjectExplorer::Project *Manager::openProject(const QString &fileName, QString
return 0;
}
return new QmlProject(this, fileName);
return new QmlProject(this, Utils::FileName::fromString(fileName));
}
void Manager::registerProject(QmlProject *project)
@@ -68,8 +68,9 @@ void Manager::unregisterProject(QmlProject *project)
void Manager::notifyChanged(const QString &fileName)
{
const Utils::FileName file = Utils::FileName::fromString(fileName);
foreach (QmlProject *project, m_projects) {
if (fileName == project->filesFileName())
if (file == project->filesFileName())
project->refresh(QmlProject::Files);
}
}

View File

@@ -42,7 +42,7 @@ namespace QmlProjectManager {
namespace Internal {
QmlProjectNode::QmlProjectNode(QmlProject *project, Core::IDocument *projectFile)
: ProjectExplorer::ProjectNode(projectFile->filePath().toString()),
: ProjectExplorer::ProjectNode(projectFile->filePath()),
m_project(project),
m_projectFile(projectFile)
{
@@ -80,7 +80,7 @@ void QmlProjectNode::refresh()
/* generated = */ false);
QStringList files = m_project->files();
files.removeAll(m_project->filesFileName());
files.removeAll(m_project->filesFileName().toString());
addFileNodes(QList<FileNode *>()
<< projectFilesNode);
@@ -114,7 +114,8 @@ void QmlProjectNode::refresh()
QList<FileNode *> fileNodes;
foreach (const QString &file, it.value()) {
FileType fileType = SourceType; // ### FIXME
FileNode *fileNode = new FileNode(file, fileType, /*generated = */ false);
FileNode *fileNode = new FileNode(Utils::FileName::fromString(file),
fileType, /*generated = */ false);
fileNodes.append(fileNode);
}
@@ -129,7 +130,7 @@ ProjectExplorer::FolderNode *QmlProjectNode::findOrCreateFolderByName(const QStr
if (! end)
return 0;
QString baseDir = QFileInfo(path()).path();
Utils::FileName folderPath = path().parentDir();
QString folderName;
for (int i = 0; i < end; ++i) {
@@ -145,7 +146,8 @@ ProjectExplorer::FolderNode *QmlProjectNode::findOrCreateFolderByName(const QStr
else if (FolderNode *folder = m_folderByName.value(folderName))
return folder;
FolderNode *folder = new FolderNode(baseDir + QLatin1Char('/') + folderName);
folderPath.appendPath(folderName);
FolderNode *folder = new FolderNode(folderPath);
folder->setDisplayName(component);
m_folderByName.insert(folderName, folder);