forked from qt-creator/qt-creator
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:
committed by
Orgad Shaneh
parent
033a628cdc
commit
88e7f935f4
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user