diff options
| author | Eike Ziller <eike.ziller@qt.io> | 2019-10-24 14:31:50 +0200 |
|---|---|---|
| committer | Eike Ziller <eike.ziller@qt.io> | 2019-10-24 14:31:50 +0200 |
| commit | b7fd81f7ad7d4b5df8f3934708ab6bc0b3acb14e (patch) | |
| tree | 5a36f4ba921cac301751d05d91d7b0eefaa66340 /plugins/haskell/haskellproject.cpp | |
| parent | 160059525a52aa43e6ef694dec8a65691d35bd75 (diff) | |
| parent | d59eb32ce6271f8f7069b4d526ba767ae59c8aed (diff) | |
Merge remote-tracking branch 'origin/4.11'
Change-Id: I9a88c1f0dbde55bb2e843efdeb992e4961f4eaba
Diffstat (limited to 'plugins/haskell/haskellproject.cpp')
| -rw-r--r-- | plugins/haskell/haskellproject.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/plugins/haskell/haskellproject.cpp b/plugins/haskell/haskellproject.cpp index 92b30e6..fdea603 100644 --- a/plugins/haskell/haskellproject.cpp +++ b/plugins/haskell/haskellproject.cpp @@ -70,12 +70,13 @@ HaskellProjectNode::HaskellProjectNode(const FilePath &projectFilePath) {} HaskellProject::HaskellProject(const Utils::FilePath &fileName) - : Project(Constants::C_HASKELL_PROJECT_MIMETYPE, fileName, [this] { refresh(); }) + : Project(Constants::C_HASKELL_PROJECT_MIMETYPE, fileName) { setId(Constants::C_HASKELL_PROJECT_ID); setDisplayName(fileName.toFileInfo().completeBaseName()); updateFiles(); connect(this, &Project::activeTargetChanged, this, &HaskellProject::updateApplicationTargets); + connect(this, &Project::projectFileIsDirty, this, &HaskellProject::refresh); } bool HaskellProject::isHaskellProject(Project *project) @@ -85,7 +86,7 @@ bool HaskellProject::isHaskellProject(Project *project) void HaskellProject::updateFiles() { - emitParsingStarted(); + m_parseGuard = guardParsingRun(); FilePath projectDir = projectDirectory(); QFuture<QList<FileNode *>> future = Utils::runAsync([this, projectDir] { return FileNode::scanForFiles(projectDir, [this](const FilePath &fn) -> FileNode * { @@ -104,7 +105,8 @@ void HaskellProject::updateFiles() }); root->addNestedNodes(std::move(nodePtrs)); setRootProjectNode(std::unique_ptr<ProjectNode>(root)); - emitParsingFinished(true); + m_parseGuard.markAsSuccess(); + m_parseGuard = {}; }); } |
