diff --git a/src/plugins/cpptools/cppfindreferences.cpp b/src/plugins/cpptools/cppfindreferences.cpp index 5d5b6795a7e79de4022af6f2bb1fe843cc4e67f3..2fa5ed2ed7ef4e377fff919f519cf68d0eded9d9 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; } }