From c0e7cc8554593d35ec1a06d62ce0199953ad574d Mon Sep 17 00:00:00 2001
From: Eike Ziller <eike.ziller@digia.com>
Date: Tue, 16 Jul 2013 17:31:04 +0200
Subject: [PATCH] Find: Document contents should be retrieved from the
 documents directly

Instead of through an arbitrary set of editors on these documents.

Change-Id: I9de731b6e6edfc52fe5199b1f47456a3a8701d9a
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
---
 .../projectexplorer/allprojectsfind.cpp       |  2 +-
 src/plugins/texteditor/basefilefind.cpp       |  4 ++--
 src/plugins/texteditor/findincurrentfile.cpp  |  2 +-
 src/plugins/texteditor/findinopenfiles.cpp    |  2 +-
 src/plugins/texteditor/itexteditor.cpp        | 24 +++++++++----------
 src/plugins/texteditor/itexteditor.h          |  4 ++--
 6 files changed, 19 insertions(+), 19 deletions(-)

diff --git a/src/plugins/projectexplorer/allprojectsfind.cpp b/src/plugins/projectexplorer/allprojectsfind.cpp
index 2e7a7c57880..78615aa4b0d 100644
--- a/src/plugins/projectexplorer/allprojectsfind.cpp
+++ b/src/plugins/projectexplorer/allprojectsfind.cpp
@@ -85,7 +85,7 @@ Utils::FileIterator *AllProjectsFind::filesForProjects(const QStringList &nameFi
     foreach (const QString &filter, nameFilters) {
         filterRegs << QRegExp(filter, Qt::CaseInsensitive, QRegExp::Wildcard);
     }
-    QMap<QString, QTextCodec *> openEditorEncodings = TextEditor::ITextEditor::openedTextEditorsEncodings();
+    QMap<QString, QTextCodec *> openEditorEncodings = TextEditor::ITextEditor::openedTextDocumentEncodings();
     QMap<QString, QTextCodec *> encodings;
     foreach (const Project *project, projects) {
         QStringList projectFiles = project->files(Project::AllFiles);
diff --git a/src/plugins/texteditor/basefilefind.cpp b/src/plugins/texteditor/basefilefind.cpp
index 250eae2ddcc..8535baffa7a 100644
--- a/src/plugins/texteditor/basefilefind.cpp
+++ b/src/plugins/texteditor/basefilefind.cpp
@@ -173,12 +173,12 @@ void BaseFileFind::runSearch(Find::SearchResult *search)
         watcher->setFuture(Utils::findInFilesRegExp(parameters.text,
             files(parameters.nameFilters, parameters.additionalParameters),
             textDocumentFlagsForFindFlags(parameters.flags),
-            ITextEditor::openedTextEditorsContents()));
+            ITextEditor::openedTextDocumentContents()));
     } else {
         watcher->setFuture(Utils::findInFiles(parameters.text,
             files(parameters.nameFilters, parameters.additionalParameters),
             textDocumentFlagsForFindFlags(parameters.flags),
-            ITextEditor::openedTextEditorsContents()));
+            ITextEditor::openedTextDocumentContents()));
     }
     Core::FutureProgress *progress =
         Core::ICore::progressManager()->addTask(watcher->future(),
diff --git a/src/plugins/texteditor/findincurrentfile.cpp b/src/plugins/texteditor/findincurrentfile.cpp
index 4ca1267794c..a01144fd3ef 100644
--- a/src/plugins/texteditor/findincurrentfile.cpp
+++ b/src/plugins/texteditor/findincurrentfile.cpp
@@ -64,7 +64,7 @@ Utils::FileIterator *FindInCurrentFile::files(const QStringList &nameFilters,
 {
     Q_UNUSED(nameFilters)
     QString fileName = additionalParameters.toString();
-    QMap<QString, QTextCodec *> openEditorEncodings = ITextEditor::openedTextEditorsEncodings();
+    QMap<QString, QTextCodec *> openEditorEncodings = ITextEditor::openedTextDocumentEncodings();
     QTextCodec *codec = openEditorEncodings.value(fileName);
     if (!codec)
         codec = Core::EditorManager::instance()->defaultTextCodec();
diff --git a/src/plugins/texteditor/findinopenfiles.cpp b/src/plugins/texteditor/findinopenfiles.cpp
index 64f278d4726..8f3d2584653 100644
--- a/src/plugins/texteditor/findinopenfiles.cpp
+++ b/src/plugins/texteditor/findinopenfiles.cpp
@@ -64,7 +64,7 @@ Utils::FileIterator *FindInOpenFiles::files(const QStringList &nameFilters,
 {
     Q_UNUSED(nameFilters)
     Q_UNUSED(additionalParameters)
-    QMap<QString, QTextCodec *> openEditorEncodings = ITextEditor::openedTextEditorsEncodings();
+    QMap<QString, QTextCodec *> openEditorEncodings = ITextEditor::openedTextDocumentEncodings();
     QStringList fileNames;
     QList<QTextCodec *> codecs;
     foreach (Core::DocumentModel::Entry *entry,
diff --git a/src/plugins/texteditor/itexteditor.cpp b/src/plugins/texteditor/itexteditor.cpp
index 789380a10c4..ab2b80b9b28 100644
--- a/src/plugins/texteditor/itexteditor.cpp
+++ b/src/plugins/texteditor/itexteditor.cpp
@@ -38,28 +38,28 @@ ITextEditorDocument::ITextEditorDocument(QObject *parent)
 {
 }
 
-QMap<QString, QString> ITextEditor::openedTextEditorsContents()
+QMap<QString, QString> ITextEditor::openedTextDocumentContents()
 {
     QMap<QString, QString> workingCopy;
-    foreach (Core::IEditor *editor, Core::EditorManager::instance()->openedEditors()) {
-        ITextEditor *textEditor = qobject_cast<ITextEditor *>(editor);
-        if (!textEditor)
+    foreach (Core::IDocument *document, Core::EditorManager::documentModel()->openedDocuments()) {
+        ITextEditorDocument *textEditorDocument = qobject_cast<ITextEditorDocument *>(document);
+        if (!textEditorDocument)
             continue;
-        QString fileName = textEditor->document()->filePath();
-        workingCopy[fileName] = textEditor->textDocument()->contents();
+        QString fileName = textEditorDocument->filePath();
+        workingCopy[fileName] = textEditorDocument->contents();
     }
     return workingCopy;
 }
 
-QMap<QString, QTextCodec *> TextEditor::ITextEditor::openedTextEditorsEncodings()
+QMap<QString, QTextCodec *> TextEditor::ITextEditor::openedTextDocumentEncodings()
 {
     QMap<QString, QTextCodec *> workingCopy;
-    foreach (Core::IEditor *editor, Core::EditorManager::instance()->openedEditors()) {
-        ITextEditor *textEditor = qobject_cast<ITextEditor *>(editor);
-        if (!textEditor)
+    foreach (Core::IDocument *document, Core::EditorManager::documentModel()->openedDocuments()) {
+        ITextEditorDocument *textEditorDocument = qobject_cast<ITextEditorDocument *>(document);
+        if (!textEditorDocument)
             continue;
-        QString fileName = textEditor->document()->filePath();
-        workingCopy[fileName] = const_cast<QTextCodec *>(textEditor->textDocument()->codec());
+        QString fileName = textEditorDocument->filePath();
+        workingCopy[fileName] = const_cast<QTextCodec *>(textEditorDocument->codec());
     }
     return workingCopy;
 }
diff --git a/src/plugins/texteditor/itexteditor.h b/src/plugins/texteditor/itexteditor.h
index ffc5f945162..67612548196 100644
--- a/src/plugins/texteditor/itexteditor.h
+++ b/src/plugins/texteditor/itexteditor.h
@@ -111,8 +111,8 @@ public:
 
     virtual const Utils::CommentDefinition* commentDefinition() const = 0;
 
-    static QMap<QString, QString> openedTextEditorsContents();
-    static QMap<QString, QTextCodec *> openedTextEditorsEncodings();
+    static QMap<QString, QString> openedTextDocumentContents();
+    static QMap<QString, QTextCodec *> openedTextDocumentEncodings();
 
     enum MarkRequestKind {
         BreakpointRequest,
-- 
GitLab