diff options
author | Karsten Heimrich <karsten.heimrich@qt.io> | 2020-06-17 13:29:17 +0200 |
---|---|---|
committer | Karsten Heimrich <karsten.heimrich@qt.io> | 2020-06-17 15:09:27 +0200 |
commit | 602bffd346f0427e0ee3a928af5c404d806ef3b6 (patch) | |
tree | 4190817b76e5a5c4d3f39fc5fd50f82ea2ea15c0 /examples | |
parent | 062ba424580366fd58b680938126dffd443b67d6 (diff) |
Port QtQuickControls2 from QTextCodec to QString{Converter|Decoder}
Task-number: QTBUG-75665
Change-Id: Ib66a260dc3bfc39e2e50c38db56ca72b8186a4ac
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'examples')
-rw-r--r-- | examples/quickcontrols2/texteditor/documenthandler.cpp | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/examples/quickcontrols2/texteditor/documenthandler.cpp b/examples/quickcontrols2/texteditor/documenthandler.cpp index e840d411..090e0684 100644 --- a/examples/quickcontrols2/texteditor/documenthandler.cpp +++ b/examples/quickcontrols2/texteditor/documenthandler.cpp @@ -57,7 +57,7 @@ #include <QQmlFileSelector> #include <QQuickTextDocument> #include <QTextCharFormat> -#include <QTextCodec> +#include <QStringDecoder> #include <QTextDocument> #include <QDebug> @@ -295,12 +295,19 @@ void DocumentHandler::load(const QUrl &fileUrl) if (QFile::exists(fileName)) { QFile file(fileName); if (file.open(QFile::ReadOnly)) { - QByteArray data = file.readAll(); - QTextCodec *codec = QTextCodec::codecForHtml(data); if (QTextDocument *doc = textDocument()) doc->setModified(false); - emit loaded(codec->toUnicode(data)); + QByteArray data = file.readAll(); + auto encoding = QStringConverter::encodingForHtml(data.constData(), data.size()); + if (encoding) { + QStringDecoder decoder(*encoding); + emit loaded(decoder(data)); + } else { + // fall back to utf8 + emit loaded(QString::fromUtf8(data)); + } + reset(); } } |