aboutsummaryrefslogtreecommitdiffstats
path: root/examples/quickcontrols2/texteditor/documenthandler.cpp
diff options
context:
space:
mode:
authorKarsten Heimrich <karsten.heimrich@qt.io>2020-06-17 13:29:17 +0200
committerKarsten Heimrich <karsten.heimrich@qt.io>2020-06-17 15:09:27 +0200
commit602bffd346f0427e0ee3a928af5c404d806ef3b6 (patch)
tree4190817b76e5a5c4d3f39fc5fd50f82ea2ea15c0 /examples/quickcontrols2/texteditor/documenthandler.cpp
parent062ba424580366fd58b680938126dffd443b67d6 (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/quickcontrols2/texteditor/documenthandler.cpp')
-rw-r--r--examples/quickcontrols2/texteditor/documenthandler.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/examples/quickcontrols2/texteditor/documenthandler.cpp b/examples/quickcontrols2/texteditor/documenthandler.cpp
index e840d41135..090e0684e1 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();
}
}