diff options
Diffstat (limited to 'src/plugins/cpptools/cppfindreferences.cpp')
-rw-r--r-- | src/plugins/cpptools/cppfindreferences.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/plugins/cpptools/cppfindreferences.cpp b/src/plugins/cpptools/cppfindreferences.cpp index 5d5b6795a7..2fa5ed2ed7 100644 --- a/src/plugins/cpptools/cppfindreferences.cpp +++ b/src/plugins/cpptools/cppfindreferences.cpp @@ -65,6 +65,7 @@ #include <QDir> #include <QApplication> #include <utils/runextensions.h> +#include <utils/textfileformat.h> #include <functional> @@ -77,11 +78,16 @@ static QString getSource(const QString &fileName, if (workingCopy.contains(fileName)) { return workingCopy.source(fileName); } else { - Utils::FileReader reader; - if (!reader.fetch(fileName, QFile::Text)) // ### FIXME error reporting - return QString(); - - return QString::fromLocal8Bit(reader.data()); // ### FIXME encoding + QString fileContents; + Utils::TextFileFormat format; + QString error; + QTextCodec *defaultCodec = Core::EditorManager::instance()->defaultTextCodec(); + Utils::TextFileFormat::ReadResult result = Utils::TextFileFormat::readFile( + fileName, defaultCodec, &fileContents, &format, &error); + if (result != Utils::TextFileFormat::ReadSuccess) + qWarning() << "Could not read " << fileName << ". Error: " << error; + + return fileContents; } } |