From cc97609e60be4d4afeb28d7d4cacce9b4ea3478f Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Thu, 16 Feb 2017 11:07:27 +0200 Subject: ProjectTree: Remove "external file" warning when node is found If a new file is added, it is connected to the updateExternalFileWarning slot before the project tree is refreshed, and is not disconnected until closing and re-opening it. Task-number: QTCREATORBUG-17743 Change-Id: Icc7e3fe547a698d6f63116ca148cf1f4f8b60777 Reviewed-by: Tobias Hunger --- src/plugins/projectexplorer/projecttree.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/plugins/projectexplorer/projecttree.cpp b/src/plugins/projectexplorer/projecttree.cpp index 3e89539aac..c87d19c5ff 100644 --- a/src/plugins/projectexplorer/projecttree.cpp +++ b/src/plugins/projectexplorer/projecttree.cpp @@ -225,10 +225,16 @@ void ProjectTree::update(Node *node, Project *project) } } - if (!node && Core::EditorManager::currentDocument()) { - connect(Core::EditorManager::currentDocument(), &Core::IDocument::changed, - this, &ProjectTree::updateExternalFileWarning, - Qt::UniqueConnection); + if (Core::IDocument *document = Core::EditorManager::currentDocument()) { + if (node) { + disconnect(document, &Core::IDocument::changed, + this, &ProjectTree::updateExternalFileWarning); + document->infoBar()->removeInfo(EXTERNAL_FILE_WARNING); + } else { + connect(document, &Core::IDocument::changed, + this, &ProjectTree::updateExternalFileWarning, + Qt::UniqueConnection); + } } if (changedNode) { -- cgit v1.2.3