From 940fb1c4ab1b81f49842df142bcc02b5ed470b9f Mon Sep 17 00:00:00 2001 From: Christian Kamm Date: Thu, 15 Sep 2011 12:15:10 +0200 Subject: [PATCH] Qt4Project: Update code models if a folder watch changes the file list. Fixes: c861af529ec87b34f1ca45d917d367c345334859 Change-Id: I7ed8afd52ab694d053788fac7f3e994898f2dd84 Reviewed-on: http://codereview.qt-project.org/4969 Reviewed-by: Daniel Teske --- src/plugins/qt4projectmanager/qt4nodes.cpp | 1 + src/plugins/qt4projectmanager/qt4project.cpp | 4 +++- src/plugins/qt4projectmanager/qt4project.h | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/plugins/qt4projectmanager/qt4nodes.cpp b/src/plugins/qt4projectmanager/qt4nodes.cpp index a66568bf91f..4dc5b024fee 100644 --- a/src/plugins/qt4projectmanager/qt4nodes.cpp +++ b/src/plugins/qt4projectmanager/qt4nodes.cpp @@ -733,6 +733,7 @@ void Qt4PriFileNode::folderChanged(const QString &folder) contents.updateSubFolders(this, this); m_project->updateFileList(); + m_project->updateCodeModels(); // The files to be packaged are listed inside the symbian build system. // We need to regenerate that list by running qmake diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp index 7c5cdaaf273..f1d00e163d8 100644 --- a/src/plugins/qt4projectmanager/qt4project.cpp +++ b/src/plugins/qt4projectmanager/qt4project.cpp @@ -353,7 +353,6 @@ void Qt4Project::updateFileList() if (newFiles != *m_projectFiles) { *m_projectFiles = newFiles; emit fileListChanged(); - updateCodeModels(); if (debug) qDebug() << Q_FUNC_INFO << *m_projectFiles; } @@ -393,6 +392,8 @@ bool Qt4Project::fromMap(const QVariantMap &map) update(); updateFileList(); + // This might be incorrect, need a full update + updateCodeModels(); foreach (Target *t, targets()) static_cast(t)->createApplicationProFiles(); @@ -798,6 +799,7 @@ void Qt4Project::decrementPendingEvaluateFutures() foreach (Target *t, targets()) static_cast(t)->createApplicationProFiles(); updateFileList(); + updateCodeModels(); if (debug) qDebug()<<" Setting state to Base"; m_asyncUpdateState = Base; diff --git a/src/plugins/qt4projectmanager/qt4project.h b/src/plugins/qt4projectmanager/qt4project.h index ec55528ca78..51007abaac0 100644 --- a/src/plugins/qt4projectmanager/qt4project.h +++ b/src/plugins/qt4projectmanager/qt4project.h @@ -131,6 +131,7 @@ public: // For Qt4ProFileNode after a on disk change void updateFileList(); + void updateCodeModels(); void watchFolders(const QStringList &l, Qt4PriFileNode *node); void unwatchFolders(const QStringList &l, Qt4PriFileNode *node); @@ -158,7 +159,6 @@ private slots: private: void scheduleAsyncUpdate(); - void updateCodeModels(); void updateCppCodeModel(); void updateQmlJSCodeModel();