diff --git a/src/plugins/cpptools/cppfindreferences.cpp b/src/plugins/cpptools/cppfindreferences.cpp index 03397a655ad..06bc4affa87 100644 --- a/src/plugins/cpptools/cppfindreferences.cpp +++ b/src/plugins/cpptools/cppfindreferences.cpp @@ -28,7 +28,7 @@ **************************************************************************/ #include "cppfindreferences.h" -#include "cppmodelmanager.h" +#include "cppmodelmanagerinterface.h" #include "cpptoolsconstants.h" #include @@ -452,7 +452,7 @@ private: } // end of anonymous namespace -CppFindReferences::CppFindReferences(CppModelManager *modelManager) +CppFindReferences::CppFindReferences(CppTools::CppModelManagerInterface *modelManager) : _modelManager(modelManager), _resultWindow(ExtensionSystem::PluginManager::instance()->getObject()) { @@ -614,7 +614,7 @@ void CppFindReferences::findAll_helper(Symbol *symbol) _resultWindow->popup(true); const Snapshot snapshot = _modelManager->snapshot(); - const QMap wl = _modelManager->buildWorkingCopyList(); + const QMap wl = _modelManager->workingCopy(); Core::ProgressManager *progressManager = Core::ICore::instance()->progressManager(); diff --git a/src/plugins/cpptools/cppfindreferences.h b/src/plugins/cpptools/cppfindreferences.h index 4b4a5a9b04b..cbddf8fb5c3 100644 --- a/src/plugins/cpptools/cppfindreferences.h +++ b/src/plugins/cpptools/cppfindreferences.h @@ -43,16 +43,16 @@ namespace Find { } // end of namespace Find namespace CppTools { -namespace Internal { +class CppModelManagerInterface; -class CppModelManager; +namespace Internal { class CppFindReferences: public QObject { Q_OBJECT public: - CppFindReferences(CppModelManager *modelManager); + CppFindReferences(CppModelManagerInterface *modelManager); virtual ~CppFindReferences(); QList references(CPlusPlus::Symbol *symbol, @@ -76,7 +76,7 @@ private: void findAll_helper(CPlusPlus::Symbol *symbol); private: - QPointer _modelManager; + QPointer _modelManager; Find::SearchResultWindow *_resultWindow; QFutureWatcher m_watcher; }; diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp index d60cd1752ff..f0373e89bf8 100644 --- a/src/plugins/cpptools/cppmodelmanager.cpp +++ b/src/plugins/cpptools/cppmodelmanager.cpp @@ -793,6 +793,11 @@ QMap CppModelManager::buildWorkingCopyList() return workingCopy; } +QMap CppModelManager::workingCopy() const +{ + return const_cast(this)->buildWorkingCopyList(); +} + void CppModelManager::updateSourceFiles(const QStringList &sourceFiles) { (void) refreshSourceFiles(sourceFiles); } diff --git a/src/plugins/cpptools/cppmodelmanager.h b/src/plugins/cpptools/cppmodelmanager.h index 9aa3a800b2c..0e7b0271ce1 100644 --- a/src/plugins/cpptools/cppmodelmanager.h +++ b/src/plugins/cpptools/cppmodelmanager.h @@ -73,6 +73,7 @@ public: virtual ~CppModelManager(); virtual void updateSourceFiles(const QStringList &sourceFiles); + virtual QMap workingCopy() const; virtual QList projectInfos() const; virtual ProjectInfo projectInfo(ProjectExplorer::Project *project) const; @@ -92,8 +93,6 @@ public: CppEditorSupport *editorSupport(TextEditor::ITextEditor *editor) const { return m_editorSupport.value(editor); } - QMap buildWorkingCopyList(); - void emitDocumentUpdated(CPlusPlus::Document::Ptr doc); void stopEditorSelectionsUpdate() @@ -132,6 +131,8 @@ private Q_SLOTS: void updateEditorSelections(); private: + QMap buildWorkingCopyList(); + QStringList projectFiles() { ensureUpdated(); diff --git a/src/plugins/cpptools/cppmodelmanagerinterface.h b/src/plugins/cpptools/cppmodelmanagerinterface.h index 58b04d4bf57..9c6f0fb4432 100644 --- a/src/plugins/cpptools/cppmodelmanagerinterface.h +++ b/src/plugins/cpptools/cppmodelmanagerinterface.h @@ -86,6 +86,7 @@ public: virtual void GC() = 0; virtual void updateSourceFiles(const QStringList &sourceFiles) = 0; + virtual QMap workingCopy() const = 0; virtual CPlusPlus::Snapshot snapshot() const = 0; virtual QList projectInfos() const = 0;