aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/haskell/haskellproject.cpp
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2019-10-23 12:59:45 +0200
committerEike Ziller <eike.ziller@qt.io>2019-10-23 11:12:58 +0000
commit126fe0fa0b58e3d70ca1109336f784d5659c846f (patch)
treee3e709a002e17af626191858e5ceeb628f2f1749 /plugins/haskell/haskellproject.cpp
parent160059525a52aa43e6ef694dec8a65691d35bd75 (diff)
Adapt to changes in Qt Creator 4.11
Change-Id: Ife586f245ffb60626372701e649b8f1df9e5aea5 Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'plugins/haskell/haskellproject.cpp')
-rw-r--r--plugins/haskell/haskellproject.cpp8
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 = {};
});
}