diff --git a/src/plugins/cpptools/cppfindreferences.cpp b/src/plugins/cpptools/cppfindreferences.cpp index 03397a655adc2754a25737efc5b5269a9932f4f7..06bc4affa87468dbd6d028b7025fc0423085cc56 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 <texteditor/basetexteditor.h> @@ -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<Find::SearchResultWindow>()) { @@ -614,7 +614,7 @@ void CppFindReferences::findAll_helper(Symbol *symbol) _resultWindow->popup(true); const Snapshot snapshot = _modelManager->snapshot(); - const QMap<QString, QString> wl = _modelManager->buildWorkingCopyList(); + const QMap<QString, QString> 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 4b4a5a9b04b86db4987c94edfb02c0f0f624219f..cbddf8fb5c3458d448ca13a908173be8d8e11338 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<int> references(CPlusPlus::Symbol *symbol, @@ -76,7 +76,7 @@ private: void findAll_helper(CPlusPlus::Symbol *symbol); private: - QPointer<CppModelManager> _modelManager; + QPointer<CppModelManagerInterface> _modelManager; Find::SearchResultWindow *_resultWindow; QFutureWatcher<Utils::FileSearchResult> m_watcher; }; diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp index d60cd1752ff44cc6bf34b26868a8fe7214dbec4f..f0373e89bf8f1ea216eed2cbaeb7c0d1d9b4c68c 100644 --- a/src/plugins/cpptools/cppmodelmanager.cpp +++ b/src/plugins/cpptools/cppmodelmanager.cpp @@ -793,6 +793,11 @@ QMap<QString, QString> CppModelManager::buildWorkingCopyList() return workingCopy; } +QMap<QString, QString> CppModelManager::workingCopy() const +{ + return const_cast<CppModelManager *>(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 9aa3a800b2cd9c6c2913424f677efd4c25eb36a3..0e7b0271ce156363e02e56d3bef52534c1f08232 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<QString, QString> workingCopy() const; virtual QList<ProjectInfo> 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<QString, QString> buildWorkingCopyList(); - void emitDocumentUpdated(CPlusPlus::Document::Ptr doc); void stopEditorSelectionsUpdate() @@ -132,6 +131,8 @@ private Q_SLOTS: void updateEditorSelections(); private: + QMap<QString, QString> buildWorkingCopyList(); + QStringList projectFiles() { ensureUpdated(); diff --git a/src/plugins/cpptools/cppmodelmanagerinterface.h b/src/plugins/cpptools/cppmodelmanagerinterface.h index 58b04d4bf57b38d814dbf5513225bc0b4cf28b57..9c6f0fb4432a06958c0bd1b50a4127c8e4c7cc71 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<QString, QString> workingCopy() const = 0; virtual CPlusPlus::Snapshot snapshot() const = 0; virtual QList<ProjectInfo> projectInfos() const = 0;