forked from qt-creator/qt-creator
Emit extra signals to have the task manager show issues on project-load.
This commit is contained in:
@@ -714,7 +714,7 @@ void QmlJSTextEditor::updateDocumentNow()
|
||||
|
||||
const QString fileName = file()->fileName();
|
||||
|
||||
m_modelManager->updateSourceFiles(QStringList() << fileName);
|
||||
m_modelManager->updateSourceFiles(QStringList() << fileName, false);
|
||||
}
|
||||
|
||||
static void appendExtraSelectionsForMessages(
|
||||
|
@@ -97,12 +97,14 @@ Snapshot ModelManager::snapshot() const
|
||||
return _snapshot;
|
||||
}
|
||||
|
||||
void ModelManager::updateSourceFiles(const QStringList &files)
|
||||
void ModelManager::updateSourceFiles(const QStringList &files,
|
||||
bool emitDocumentOnDiskChanged)
|
||||
{
|
||||
refreshSourceFiles(files);
|
||||
refreshSourceFiles(files, emitDocumentOnDiskChanged);
|
||||
}
|
||||
|
||||
QFuture<void> ModelManager::refreshSourceFiles(const QStringList &sourceFiles)
|
||||
QFuture<void> ModelManager::refreshSourceFiles(const QStringList &sourceFiles,
|
||||
bool emitDocumentOnDiskChanged)
|
||||
{
|
||||
if (sourceFiles.isEmpty()) {
|
||||
return QFuture<void>();
|
||||
@@ -112,7 +114,8 @@ QFuture<void> ModelManager::refreshSourceFiles(const QStringList &sourceFiles)
|
||||
|
||||
QFuture<void> result = QtConcurrent::run(&ModelManager::parse,
|
||||
workingCopy, sourceFiles,
|
||||
this, false);
|
||||
this,
|
||||
emitDocumentOnDiskChanged);
|
||||
|
||||
if (m_synchronizer.futures().size() > 10) {
|
||||
QList<QFuture<void> > futures = m_synchronizer.futures();
|
||||
@@ -393,7 +396,7 @@ void ModelManager::setProjectImportPaths(const QStringList &importPaths)
|
||||
foreach (const Document::Ptr &doc, snapshot)
|
||||
findNewLibraryImports(doc, snapshot, this, &importedFiles, &scannedPaths);
|
||||
|
||||
updateSourceFiles(importedFiles);
|
||||
updateSourceFiles(importedFiles, true);
|
||||
}
|
||||
|
||||
QStringList ModelManager::importPaths() const
|
||||
|
@@ -54,7 +54,8 @@ public:
|
||||
ModelManager(QObject *parent = 0);
|
||||
|
||||
virtual QmlJS::Snapshot snapshot() const;
|
||||
virtual void updateSourceFiles(const QStringList &files);
|
||||
virtual void updateSourceFiles(const QStringList &files,
|
||||
bool emitDocumentOnDiskChanged);
|
||||
virtual void fileChangedOnDisk(const QString &path);
|
||||
|
||||
void emitDocumentUpdated(QmlJS::Document::Ptr doc);
|
||||
@@ -82,7 +83,8 @@ protected:
|
||||
QString contents;
|
||||
};
|
||||
|
||||
QFuture<void> refreshSourceFiles(const QStringList &sourceFiles);
|
||||
QFuture<void> refreshSourceFiles(const QStringList &sourceFiles,
|
||||
bool emitDocumentOnDiskChanged);
|
||||
QMap<QString, WorkingCopy> buildWorkingCopyList();
|
||||
|
||||
static void parse(QFutureInterface<void> &future,
|
||||
|
@@ -53,7 +53,8 @@ public:
|
||||
virtual ~ModelManagerInterface();
|
||||
|
||||
virtual QmlJS::Snapshot snapshot() const = 0;
|
||||
virtual void updateSourceFiles(const QStringList &files) = 0;
|
||||
virtual void updateSourceFiles(const QStringList &files,
|
||||
bool emitDocumentOnDiskChanged) = 0;
|
||||
virtual void fileChangedOnDisk(const QString &path) = 0;
|
||||
|
||||
virtual void setProjectImportPaths(const QStringList &importPaths) = 0;
|
||||
|
@@ -106,7 +106,7 @@ void QmlProject::parseProject(RefreshOptions options)
|
||||
}
|
||||
if (m_projectItem) {
|
||||
m_projectItem.data()->setSourceDirectory(projectDir().path());
|
||||
m_modelManager->updateSourceFiles(m_projectItem.data()->files());
|
||||
m_modelManager->updateSourceFiles(m_projectItem.data()->files(), true);
|
||||
}
|
||||
m_rootNode->refresh();
|
||||
}
|
||||
|
Reference in New Issue
Block a user