forked from qt-creator/qt-creator
Project: Do not save filenames in derived classes
Change-Id: I23960c61676e96c429b59ad8f8247e1b88606b1a Reviewed-by: Niels Weber <niels.weber@theqtcompany.com> Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
This commit is contained in:
@@ -72,18 +72,17 @@ using namespace AutotoolsProjectManager::Internal;
|
|||||||
using namespace ProjectExplorer;
|
using namespace ProjectExplorer;
|
||||||
|
|
||||||
AutotoolsProject::AutotoolsProject(AutotoolsManager *manager, const QString &fileName) :
|
AutotoolsProject::AutotoolsProject(AutotoolsManager *manager, const QString &fileName) :
|
||||||
m_fileName(fileName),
|
|
||||||
m_fileWatcher(new Utils::FileSystemWatcher(this)),
|
m_fileWatcher(new Utils::FileSystemWatcher(this)),
|
||||||
m_makefileParserThread(0)
|
m_makefileParserThread(0)
|
||||||
{
|
{
|
||||||
setId(Constants::AUTOTOOLS_PROJECT_ID);
|
setId(Constants::AUTOTOOLS_PROJECT_ID);
|
||||||
setProjectManager(manager);
|
setProjectManager(manager);
|
||||||
setDocument(new AutotoolsProjectFile(m_fileName));
|
setDocument(new AutotoolsProjectFile(fileName));
|
||||||
m_rootNode = new AutotoolsProjectNode(projectFilePath());
|
m_rootNode = new AutotoolsProjectNode(projectFilePath());
|
||||||
setProjectContext(Core::Context(Constants::PROJECT_CONTEXT));
|
setProjectContext(Core::Context(Constants::PROJECT_CONTEXT));
|
||||||
setProjectLanguages(Core::Context(ProjectExplorer::Constants::LANG_CXX));
|
setProjectLanguages(Core::Context(ProjectExplorer::Constants::LANG_CXX));
|
||||||
|
|
||||||
const QFileInfo fileInfo(m_fileName);
|
const QFileInfo fileInfo = projectFilePath().toFileInfo();
|
||||||
m_projectName = fileInfo.absoluteDir().dirName();
|
m_projectName = fileInfo.absoluteDir().dirName();
|
||||||
m_rootNode->setDisplayName(fileInfo.absoluteDir().dirName());
|
m_rootNode->setDisplayName(fileInfo.absoluteDir().dirName());
|
||||||
}
|
}
|
||||||
@@ -161,7 +160,7 @@ void AutotoolsProject::loadProjectTree()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Parse the makefile asynchronously in a thread
|
// Parse the makefile asynchronously in a thread
|
||||||
m_makefileParserThread = new MakefileParserThread(m_fileName);
|
m_makefileParserThread = new MakefileParserThread(projectFilePath().toString());
|
||||||
|
|
||||||
connect(m_makefileParserThread, &MakefileParserThread::started,
|
connect(m_makefileParserThread, &MakefileParserThread::started,
|
||||||
this, &AutotoolsProject::makefileParsingStarted);
|
this, &AutotoolsProject::makefileParsingStarted);
|
||||||
@@ -207,7 +206,7 @@ void AutotoolsProject::makefileParsingFinished()
|
|||||||
m_watchedFiles.clear();
|
m_watchedFiles.clear();
|
||||||
|
|
||||||
// Apply sources to m_files, which are returned at AutotoolsProject::files()
|
// Apply sources to m_files, which are returned at AutotoolsProject::files()
|
||||||
const QFileInfo fileInfo(m_fileName);
|
const QFileInfo fileInfo = projectFilePath().toFileInfo();
|
||||||
const QDir dir = fileInfo.absoluteDir();
|
const QDir dir = fileInfo.absoluteDir();
|
||||||
QStringList files = m_makefileParserThread->sources();
|
QStringList files = m_makefileParserThread->sources();
|
||||||
foreach (const QString& file, files)
|
foreach (const QString& file, files)
|
||||||
|
@@ -135,8 +135,6 @@ private:
|
|||||||
void updateCppCodeModel();
|
void updateCppCodeModel();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/// File name of the makefile that has been passed in the constructor
|
|
||||||
QString m_fileName;
|
|
||||||
QString m_projectName;
|
QString m_projectName;
|
||||||
|
|
||||||
/// Return value for AutotoolsProject::files()
|
/// Return value for AutotoolsProject::files()
|
||||||
|
@@ -88,7 +88,6 @@ using namespace Utils;
|
|||||||
\class CMakeProject
|
\class CMakeProject
|
||||||
*/
|
*/
|
||||||
CMakeProject::CMakeProject(CMakeManager *manager, const FileName &fileName) :
|
CMakeProject::CMakeProject(CMakeManager *manager, const FileName &fileName) :
|
||||||
m_fileName(fileName),
|
|
||||||
m_rootNode(new CMakeProjectNode(fileName)),
|
m_rootNode(new CMakeProjectNode(fileName)),
|
||||||
m_watcher(new QFileSystemWatcher(this))
|
m_watcher(new QFileSystemWatcher(this))
|
||||||
{
|
{
|
||||||
@@ -545,7 +544,7 @@ Project::RestoreResult CMakeProject::fromMap(const QVariantMap &map, QString *er
|
|||||||
CMakeOpenProjectWizard::Mode mode = CMakeOpenProjectWizard::Nothing;
|
CMakeOpenProjectWizard::Mode mode = CMakeOpenProjectWizard::Nothing;
|
||||||
if (!cbpFileFi.exists())
|
if (!cbpFileFi.exists())
|
||||||
mode = CMakeOpenProjectWizard::NeedToCreate;
|
mode = CMakeOpenProjectWizard::NeedToCreate;
|
||||||
else if (cbpFileFi.lastModified() < m_fileName.toFileInfo().lastModified())
|
else if (cbpFileFi.lastModified() < projectFilePath().toFileInfo().lastModified())
|
||||||
mode = CMakeOpenProjectWizard::NeedToUpdate;
|
mode = CMakeOpenProjectWizard::NeedToUpdate;
|
||||||
|
|
||||||
if (mode != CMakeOpenProjectWizard::Nothing) {
|
if (mode != CMakeOpenProjectWizard::Nothing) {
|
||||||
|
@@ -147,7 +147,6 @@ private:
|
|||||||
QStringList getCXXFlagsFor(const CMakeBuildTarget &buildTarget, QByteArray *cachedBuildNinja);
|
QStringList getCXXFlagsFor(const CMakeBuildTarget &buildTarget, QByteArray *cachedBuildNinja);
|
||||||
|
|
||||||
ProjectExplorer::Target *m_activeTarget = 0;
|
ProjectExplorer::Target *m_activeTarget = 0;
|
||||||
Utils::FileName m_fileName;
|
|
||||||
|
|
||||||
// TODO probably need a CMake specific node structure
|
// TODO probably need a CMake specific node structure
|
||||||
Internal::CMakeProjectNode *m_rootNode;
|
Internal::CMakeProjectNode *m_rootNode;
|
||||||
|
@@ -42,8 +42,7 @@ Q_DECLARE_METATYPE(QSet<QString>)
|
|||||||
using namespace CppTools::Internal;
|
using namespace CppTools::Internal;
|
||||||
using namespace CppTools::Tests;
|
using namespace CppTools::Tests;
|
||||||
|
|
||||||
TestProject::TestProject(const QString &name, QObject *parent)
|
TestProject::TestProject(const QString &name, QObject *parent) : m_name (name)
|
||||||
: m_name (name)
|
|
||||||
{
|
{
|
||||||
setParent(parent);
|
setParent(parent);
|
||||||
setId(Core::Id::fromString(name));
|
setId(Core::Id::fromString(name));
|
||||||
|
@@ -67,15 +67,15 @@ namespace Internal {
|
|||||||
//
|
//
|
||||||
////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
GenericProject::GenericProject(Manager *manager, const QString &fileName) : m_fileName(fileName)
|
GenericProject::GenericProject(Manager *manager, const QString &fileName)
|
||||||
{
|
{
|
||||||
setId(Constants::GENERICPROJECT_ID);
|
setId(Constants::GENERICPROJECT_ID);
|
||||||
setProjectManager(manager);
|
setProjectManager(manager);
|
||||||
setDocument(new GenericProjectFile(this, m_fileName, GenericProject::Everything));
|
setDocument(new GenericProjectFile(this, fileName, GenericProject::Everything));
|
||||||
setProjectContext(Context(GenericProjectManager::Constants::PROJECTCONTEXT));
|
setProjectContext(Context(GenericProjectManager::Constants::PROJECTCONTEXT));
|
||||||
setProjectLanguages(Context(ProjectExplorer::Constants::LANG_CXX));
|
setProjectLanguages(Context(ProjectExplorer::Constants::LANG_CXX));
|
||||||
|
|
||||||
QFileInfo fileInfo(m_fileName);
|
QFileInfo fileInfo = projectFilePath().toFileInfo();
|
||||||
QDir dir = fileInfo.dir();
|
QDir dir = fileInfo.dir();
|
||||||
|
|
||||||
m_projectName = fileInfo.completeBaseName();
|
m_projectName = fileInfo.completeBaseName();
|
||||||
@@ -184,7 +184,7 @@ bool GenericProject::addFiles(const QStringList &filePaths)
|
|||||||
{
|
{
|
||||||
QStringList newList = m_rawFileList;
|
QStringList newList = m_rawFileList;
|
||||||
|
|
||||||
QDir baseDir(QFileInfo(m_fileName).dir());
|
QDir baseDir(projectDirectory().toString());
|
||||||
foreach (const QString &filePath, filePaths)
|
foreach (const QString &filePath, filePaths)
|
||||||
newList.append(baseDir.relativeFilePath(filePath));
|
newList.append(baseDir.relativeFilePath(filePath));
|
||||||
|
|
||||||
@@ -229,7 +229,7 @@ bool GenericProject::removeFiles(const QStringList &filePaths)
|
|||||||
bool GenericProject::setFiles(const QStringList &filePaths)
|
bool GenericProject::setFiles(const QStringList &filePaths)
|
||||||
{
|
{
|
||||||
QStringList newList;
|
QStringList newList;
|
||||||
QDir baseDir(QFileInfo(m_fileName).dir());
|
QDir baseDir(projectDirectory().toString());
|
||||||
foreach (const QString &filePath, filePaths)
|
foreach (const QString &filePath, filePaths)
|
||||||
newList.append(baseDir.relativeFilePath(filePath));
|
newList.append(baseDir.relativeFilePath(filePath));
|
||||||
|
|
||||||
@@ -244,7 +244,7 @@ bool GenericProject::renameFile(const QString &filePath, const QString &newFileP
|
|||||||
if (i != m_rawListEntries.end()) {
|
if (i != m_rawListEntries.end()) {
|
||||||
int index = newList.indexOf(i.value());
|
int index = newList.indexOf(i.value());
|
||||||
if (index != -1) {
|
if (index != -1) {
|
||||||
QDir baseDir(QFileInfo(m_fileName).dir());
|
QDir baseDir(projectDirectory().toString());
|
||||||
newList.replace(index, baseDir.relativeFilePath(newFilePath));
|
newList.replace(index, baseDir.relativeFilePath(newFilePath));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -316,7 +316,7 @@ QStringList GenericProject::processEntries(const QStringList &paths,
|
|||||||
QHash<QString, QString> *map) const
|
QHash<QString, QString> *map) const
|
||||||
{
|
{
|
||||||
const QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
const QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
||||||
const QDir projectDir(QFileInfo(m_fileName).dir());
|
const QDir projectDir(projectDirectory().toString());
|
||||||
|
|
||||||
QFileInfo fileInfo;
|
QFileInfo fileInfo;
|
||||||
QStringList absolutePaths;
|
QStringList absolutePaths;
|
||||||
|
@@ -96,7 +96,6 @@ private:
|
|||||||
|
|
||||||
void refreshCppCodeModel();
|
void refreshCppCodeModel();
|
||||||
|
|
||||||
QString m_fileName;
|
|
||||||
QString m_filesFileName;
|
QString m_filesFileName;
|
||||||
QString m_includesFileName;
|
QString m_includesFileName;
|
||||||
QString m_configFileName;
|
QString m_configFileName;
|
||||||
|
@@ -270,7 +270,6 @@ private:
|
|||||||
QStringList processEntries(const QStringList &paths,
|
QStringList processEntries(const QStringList &paths,
|
||||||
QHash<QString, QString> *map = 0) const;
|
QHash<QString, QString> *map = 0) const;
|
||||||
|
|
||||||
QString m_projectFileName;
|
|
||||||
QString m_projectName;
|
QString m_projectName;
|
||||||
QStringList m_rawFileList;
|
QStringList m_rawFileList;
|
||||||
QStringList m_files;
|
QStringList m_files;
|
||||||
@@ -615,19 +614,17 @@ private:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
PythonProject::PythonProject(PythonProjectManager *manager, const QString &fileName)
|
||||||
PythonProject::PythonProject(PythonProjectManager *manager, const QString &fileName) :
|
|
||||||
m_projectFileName(fileName)
|
|
||||||
{
|
{
|
||||||
setId(PythonProjectId);
|
setId(PythonProjectId);
|
||||||
setProjectManager(manager);
|
setProjectManager(manager);
|
||||||
setDocument(new PythonProjectFile(this, m_projectFileName));
|
setDocument(new PythonProjectFile(this, fileName));
|
||||||
DocumentManager::addDocument(document());
|
DocumentManager::addDocument(document());
|
||||||
|
|
||||||
setProjectContext(Context(PythonProjectContext));
|
setProjectContext(Context(PythonProjectContext));
|
||||||
setProjectLanguages(Context(ProjectExplorer::Constants::LANG_CXX));
|
setProjectLanguages(Context(ProjectExplorer::Constants::LANG_CXX));
|
||||||
|
|
||||||
QFileInfo fileInfo(m_projectFileName);
|
QFileInfo fileInfo = projectFilePath().toFileInfo();
|
||||||
|
|
||||||
m_projectName = fileInfo.completeBaseName();
|
m_projectName = fileInfo.completeBaseName();
|
||||||
m_rootNode = new PythonProjectNode(this);
|
m_rootNode = new PythonProjectNode(this);
|
||||||
@@ -669,7 +666,7 @@ static QStringList readLines(const QString &absoluteFileName)
|
|||||||
|
|
||||||
bool PythonProject::saveRawFileList(const QStringList &rawFileList)
|
bool PythonProject::saveRawFileList(const QStringList &rawFileList)
|
||||||
{
|
{
|
||||||
bool result = saveRawList(rawFileList, m_projectFileName);
|
bool result = saveRawList(rawFileList, projectFilePath().toString());
|
||||||
// refresh(PythonProject::Files);
|
// refresh(PythonProject::Files);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@@ -694,7 +691,7 @@ bool PythonProject::addFiles(const QStringList &filePaths)
|
|||||||
{
|
{
|
||||||
QStringList newList = m_rawFileList;
|
QStringList newList = m_rawFileList;
|
||||||
|
|
||||||
QDir baseDir(QFileInfo(m_projectFileName).dir());
|
QDir baseDir(projectDirectory().toString());
|
||||||
foreach (const QString &filePath, filePaths)
|
foreach (const QString &filePath, filePaths)
|
||||||
newList.append(baseDir.relativeFilePath(filePath));
|
newList.append(baseDir.relativeFilePath(filePath));
|
||||||
|
|
||||||
@@ -706,7 +703,7 @@ bool PythonProject::addFiles(const QStringList &filePaths)
|
|||||||
toAdd << directory;
|
toAdd << directory;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool result = saveRawList(newList, m_projectFileName);
|
bool result = saveRawList(newList, projectFilePath().toString());
|
||||||
refresh();
|
refresh();
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
@@ -728,7 +725,7 @@ bool PythonProject::removeFiles(const QStringList &filePaths)
|
|||||||
bool PythonProject::setFiles(const QStringList &filePaths)
|
bool PythonProject::setFiles(const QStringList &filePaths)
|
||||||
{
|
{
|
||||||
QStringList newList;
|
QStringList newList;
|
||||||
QDir baseDir(QFileInfo(m_projectFileName).dir());
|
QDir baseDir(projectFilePath().toString());
|
||||||
foreach (const QString &filePath, filePaths)
|
foreach (const QString &filePath, filePaths)
|
||||||
newList.append(baseDir.relativeFilePath(filePath));
|
newList.append(baseDir.relativeFilePath(filePath));
|
||||||
|
|
||||||
@@ -743,7 +740,7 @@ bool PythonProject::renameFile(const QString &filePath, const QString &newFilePa
|
|||||||
if (i != m_rawListEntries.end()) {
|
if (i != m_rawListEntries.end()) {
|
||||||
int index = newList.indexOf(i.value());
|
int index = newList.indexOf(i.value());
|
||||||
if (index != -1) {
|
if (index != -1) {
|
||||||
QDir baseDir(QFileInfo(m_projectFileName).dir());
|
QDir baseDir(projectFilePath().toString());
|
||||||
newList.replace(index, baseDir.relativeFilePath(newFilePath));
|
newList.replace(index, baseDir.relativeFilePath(newFilePath));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -754,8 +751,8 @@ bool PythonProject::renameFile(const QString &filePath, const QString &newFilePa
|
|||||||
void PythonProject::parseProject()
|
void PythonProject::parseProject()
|
||||||
{
|
{
|
||||||
m_rawListEntries.clear();
|
m_rawListEntries.clear();
|
||||||
m_rawFileList = readLines(m_projectFileName);
|
m_rawFileList = readLines(projectFilePath().toString());
|
||||||
m_rawFileList << FileName::fromString(m_projectFileName).fileName();
|
m_rawFileList << projectFilePath().fileName();
|
||||||
m_files = processEntries(m_rawFileList, &m_rawListEntries);
|
m_files = processEntries(m_rawFileList, &m_rawListEntries);
|
||||||
emit fileListChanged();
|
emit fileListChanged();
|
||||||
}
|
}
|
||||||
@@ -781,7 +778,7 @@ void PythonProject::refresh()
|
|||||||
m_rootNode->removeFileNodes(m_rootNode->fileNodes());
|
m_rootNode->removeFileNodes(m_rootNode->fileNodes());
|
||||||
parseProject();
|
parseProject();
|
||||||
|
|
||||||
QDir baseDir = FileName::fromString(m_projectFileName).toFileInfo().absoluteDir();
|
QDir baseDir(projectDirectory().toString());
|
||||||
|
|
||||||
QList<FileNode *> fileNodes;
|
QList<FileNode *> fileNodes;
|
||||||
foreach (const QString &file, m_files) {
|
foreach (const QString &file, m_files) {
|
||||||
@@ -822,7 +819,7 @@ QStringList PythonProject::processEntries(const QStringList &paths,
|
|||||||
QHash<QString, QString> *map) const
|
QHash<QString, QString> *map) const
|
||||||
{
|
{
|
||||||
const QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
const QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
||||||
const QDir projectDir(QFileInfo(m_projectFileName).dir());
|
const QDir projectDir(projectDirectory().toString());
|
||||||
|
|
||||||
QFileInfo fileInfo;
|
QFileInfo fileInfo;
|
||||||
QStringList absolutePaths;
|
QStringList absolutePaths;
|
||||||
|
@@ -101,7 +101,6 @@ static const char CONFIG_PRECOMPILEDHEADER[] = "precompiledHeader";
|
|||||||
|
|
||||||
QbsProject::QbsProject(QbsManager *manager, const QString &fileName) :
|
QbsProject::QbsProject(QbsManager *manager, const QString &fileName) :
|
||||||
m_projectName(QFileInfo(fileName).completeBaseName()),
|
m_projectName(QFileInfo(fileName).completeBaseName()),
|
||||||
m_fileName(fileName),
|
|
||||||
m_rootProjectNode(0),
|
m_rootProjectNode(0),
|
||||||
m_qbsProjectParser(0),
|
m_qbsProjectParser(0),
|
||||||
m_qbsUpdateFutureInterface(0),
|
m_qbsUpdateFutureInterface(0),
|
||||||
@@ -114,7 +113,7 @@ QbsProject::QbsProject(QbsManager *manager, const QString &fileName) :
|
|||||||
setId(Constants::PROJECT_ID);
|
setId(Constants::PROJECT_ID);
|
||||||
setProjectManager(manager);
|
setProjectManager(manager);
|
||||||
|
|
||||||
setDocument(new QbsProjectFile(this, m_fileName));
|
setDocument(new QbsProjectFile(this, fileName));
|
||||||
DocumentManager::addDocument(document());
|
DocumentManager::addDocument(document());
|
||||||
|
|
||||||
setProjectContext(Context(Constants::PROJECT_ID));
|
setProjectContext(Context(Constants::PROJECT_ID));
|
||||||
@@ -458,7 +457,7 @@ void QbsProject::handleQbsParsingDone(bool success)
|
|||||||
m_rootProjectNode->update();
|
m_rootProjectNode->update();
|
||||||
|
|
||||||
updateDocuments(m_qbsProject.isValid()
|
updateDocuments(m_qbsProject.isValid()
|
||||||
? m_qbsProject.buildSystemFiles() : QSet<QString>() << m_fileName);
|
? m_qbsProject.buildSystemFiles() : QSet<QString>() << projectFilePath().toString());
|
||||||
dataChanged = true;
|
dataChanged = true;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -662,7 +661,7 @@ void QbsProject::updateDocuments(const QSet<QString> &files)
|
|||||||
{
|
{
|
||||||
// Update documents:
|
// Update documents:
|
||||||
QSet<QString> newFiles = files;
|
QSet<QString> newFiles = files;
|
||||||
QTC_ASSERT(!newFiles.isEmpty(), newFiles << m_fileName);
|
QTC_ASSERT(!newFiles.isEmpty(), newFiles << projectFilePath().toString());
|
||||||
QSet<QString> oldFiles;
|
QSet<QString> oldFiles;
|
||||||
foreach (IDocument *doc, m_qbsDocuments)
|
foreach (IDocument *doc, m_qbsDocuments)
|
||||||
oldFiles.insert(doc->filePath().toString());
|
oldFiles.insert(doc->filePath().toString());
|
||||||
|
@@ -146,7 +146,6 @@ private:
|
|||||||
const qbs::GroupData &oldGroup);
|
const qbs::GroupData &oldGroup);
|
||||||
|
|
||||||
const QString m_projectName;
|
const QString m_projectName;
|
||||||
const QString m_fileName;
|
|
||||||
qbs::Project m_qbsProject;
|
qbs::Project m_qbsProject;
|
||||||
qbs::ProjectData m_projectData;
|
qbs::ProjectData m_projectData;
|
||||||
QSet<Core::IDocument *> m_qbsDocuments;
|
QSet<Core::IDocument *> m_qbsDocuments;
|
||||||
|
@@ -59,7 +59,6 @@ namespace Internal {
|
|||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
|
||||||
QmlProject::QmlProject(Internal::Manager *manager, const Utils::FileName &fileName) :
|
QmlProject::QmlProject(Internal::Manager *manager, const Utils::FileName &fileName) :
|
||||||
m_fileName(fileName),
|
|
||||||
m_defaultImport(UnknownImport)
|
m_defaultImport(UnknownImport)
|
||||||
{
|
{
|
||||||
setId("QmlProjectManager.QmlProject");
|
setId("QmlProjectManager.QmlProject");
|
||||||
@@ -70,8 +69,7 @@ QmlProject::QmlProject(Internal::Manager *manager, const Utils::FileName &fileNa
|
|||||||
setProjectContext(Context(QmlProjectManager::Constants::PROJECTCONTEXT));
|
setProjectContext(Context(QmlProjectManager::Constants::PROJECTCONTEXT));
|
||||||
setProjectLanguages(Context(ProjectExplorer::Constants::LANG_QMLJS));
|
setProjectLanguages(Context(ProjectExplorer::Constants::LANG_QMLJS));
|
||||||
|
|
||||||
QFileInfo fileInfo = m_fileName.toFileInfo();
|
m_projectName = projectFilePath().toFileInfo().completeBaseName();
|
||||||
m_projectName = fileInfo.completeBaseName();
|
|
||||||
|
|
||||||
m_rootNode = new Internal::QmlProjectNode(this);
|
m_rootNode = new Internal::QmlProjectNode(this);
|
||||||
|
|
||||||
@@ -127,7 +125,7 @@ QDir QmlProject::projectDir() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
Utils::FileName QmlProject::filesFileName() const
|
Utils::FileName QmlProject::filesFileName() const
|
||||||
{ return m_fileName; }
|
{ return projectFilePath(); }
|
||||||
|
|
||||||
static QmlProject::QmlImport detectImport(const QString &qml) {
|
static QmlProject::QmlImport detectImport(const QString &qml) {
|
||||||
static QRegExp qtQuick1RegExp(QLatin1String("import\\s+QtQuick\\s+1"));
|
static QRegExp qtQuick1RegExp(QLatin1String("import\\s+QtQuick\\s+1"));
|
||||||
@@ -148,14 +146,14 @@ void QmlProject::parseProject(RefreshOptions options)
|
|||||||
delete m_projectItem.data();
|
delete m_projectItem.data();
|
||||||
if (!m_projectItem) {
|
if (!m_projectItem) {
|
||||||
QString errorMessage;
|
QString errorMessage;
|
||||||
m_projectItem = QmlProjectFileFormat::parseProjectFile(m_fileName, &errorMessage);
|
m_projectItem = QmlProjectFileFormat::parseProjectFile(projectFilePath(), &errorMessage);
|
||||||
if (m_projectItem) {
|
if (m_projectItem) {
|
||||||
connect(m_projectItem.data(), SIGNAL(qmlFilesChanged(QSet<QString>,QSet<QString>)),
|
connect(m_projectItem.data(), SIGNAL(qmlFilesChanged(QSet<QString>,QSet<QString>)),
|
||||||
this, SLOT(refreshFiles(QSet<QString>,QSet<QString>)));
|
this, SLOT(refreshFiles(QSet<QString>,QSet<QString>)));
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
MessageManager::write(tr("Error while loading project file %1.")
|
MessageManager::write(tr("Error while loading project file %1.")
|
||||||
.arg(m_fileName.toUserOutput()),
|
.arg(projectFilePath().toUserOutput()),
|
||||||
MessageManager::NoModeSwitch);
|
MessageManager::NoModeSwitch);
|
||||||
MessageManager::write(errorMessage);
|
MessageManager::write(errorMessage);
|
||||||
}
|
}
|
||||||
@@ -172,7 +170,7 @@ void QmlProject::parseProject(RefreshOptions options)
|
|||||||
QString errorMessage;
|
QString errorMessage;
|
||||||
if (!reader.fetch(mainFilePath, &errorMessage)) {
|
if (!reader.fetch(mainFilePath, &errorMessage)) {
|
||||||
MessageManager::write(tr("Warning while loading project file %1.")
|
MessageManager::write(tr("Warning while loading project file %1.")
|
||||||
.arg(m_fileName.toUserOutput()));
|
.arg(projectFilePath().toUserOutput()));
|
||||||
MessageManager::write(errorMessage);
|
MessageManager::write(errorMessage);
|
||||||
} else {
|
} else {
|
||||||
m_defaultImport = detectImport(QString::fromUtf8(reader.data()));
|
m_defaultImport = detectImport(QString::fromUtf8(reader.data()));
|
||||||
@@ -211,7 +209,7 @@ void QmlProject::refresh(RefreshOptions options)
|
|||||||
|
|
||||||
QStringList QmlProject::convertToAbsoluteFiles(const QStringList &paths) const
|
QStringList QmlProject::convertToAbsoluteFiles(const QStringList &paths) const
|
||||||
{
|
{
|
||||||
const QDir projectDir(m_fileName.toFileInfo().dir());
|
const QDir projectDir(projectDirectory().toString());
|
||||||
QStringList absolutePaths;
|
QStringList absolutePaths;
|
||||||
foreach (const QString &file, paths) {
|
foreach (const QString &file, paths) {
|
||||||
QFileInfo fileInfo(projectDir, file);
|
QFileInfo fileInfo(projectDir, file);
|
||||||
|
@@ -110,7 +110,6 @@ private:
|
|||||||
QStringList convertToAbsoluteFiles(const QStringList &paths) const;
|
QStringList convertToAbsoluteFiles(const QStringList &paths) const;
|
||||||
QmlJS::ModelManagerInterface *modelManager() const;
|
QmlJS::ModelManagerInterface *modelManager() const;
|
||||||
|
|
||||||
Utils::FileName m_fileName;
|
|
||||||
QString m_projectName;
|
QString m_projectName;
|
||||||
QmlImport m_defaultImport;
|
QmlImport m_defaultImport;
|
||||||
ProjectExplorer::Target *m_activeTarget = 0;
|
ProjectExplorer::Target *m_activeTarget = 0;
|
||||||
|
Reference in New Issue
Block a user