diff options
author | Orgad Shaneh <orgad.shaneh@audiocodes.com> | 2017-02-16 11:07:27 +0200 |
---|---|---|
committer | Orgad Shaneh <orgads@gmail.com> | 2017-02-16 10:21:23 +0000 |
commit | cc97609e60be4d4afeb28d7d4cacce9b4ea3478f (patch) | |
tree | 28ec95d81ad7a66bb001f4eb58b06bd3b7052ba9 | |
parent | 0115cc3103fec00fc3b4f1490b7bce19d1d16ec2 (diff) | |
download | qt-creator-cc97609e60be4d4afeb28d7d4cacce9b4ea3478f.tar.gz |
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 <tobias.hunger@qt.io>
-rw-r--r-- | src/plugins/projectexplorer/projecttree.cpp | 14 |
1 files 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) { |