From 75060d4f249c94dd3d14349016243e70aa1222d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20=C3=81ngel=20San=20Mart=C3=ADn?= Date: Sun, 3 Oct 2021 12:36:57 +0200 Subject: [PATCH] Do not use QTextCodec in Qt6 --- YACReader/shortcuts_dialog.cpp | 9 +++++++++ custom_widgets/help_about_dialog.cpp | 9 ++++++++- third_party/QsLog/QsLogDestFile.cpp | 17 +++++++++++++++-- 3 files changed, 32 insertions(+), 3 deletions(-) diff --git a/YACReader/shortcuts_dialog.cpp b/YACReader/shortcuts_dialog.cpp index af960c92..3994656d 100644 --- a/YACReader/shortcuts_dialog.cpp +++ b/YACReader/shortcuts_dialog.cpp @@ -6,7 +6,10 @@ #include #include #include + +#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) #include +#endif ShortcutsDialog::ShortcutsDialog(QWidget *parent) : QDialog(parent) //,Qt::FramelessWindowHint) @@ -44,7 +47,13 @@ ShortcutsDialog::ShortcutsDialog(QWidget *parent) QFile f(":/files/shortcuts.html"); f.open(QIODevice::ReadOnly); QTextStream txtS(&f); + +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + txtS.setEncoding(QStringConverter::Utf8); +#else txtS.setCodec(QTextCodec::codecForName("UTF-8")); +#endif + QString content = txtS.readAll(); f.close(); diff --git a/custom_widgets/help_about_dialog.cpp b/custom_widgets/help_about_dialog.cpp index c2e8db47..d2ff2286 100644 --- a/custom_widgets/help_about_dialog.cpp +++ b/custom_widgets/help_about_dialog.cpp @@ -6,9 +6,12 @@ #include #include #include -#include #include +#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) +#include +#endif + #include "yacreader_global.h" HelpAboutDialog::HelpAboutDialog(QWidget *parent) @@ -80,7 +83,11 @@ QString HelpAboutDialog::fileToString(const QString &path) f.open(QIODevice::ReadOnly); QTextStream txtS(&f); +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + txtS.setEncoding(QStringConverter::Utf8); +#else txtS.setCodec(QTextCodec::codecForName("UTF-8")); +#endif QString content = txtS.readAll(); f.close(); diff --git a/third_party/QsLog/QsLogDestFile.cpp b/third_party/QsLog/QsLogDestFile.cpp index 3986cd49..331d0a09 100644 --- a/third_party/QsLog/QsLogDestFile.cpp +++ b/third_party/QsLog/QsLogDestFile.cpp @@ -24,12 +24,15 @@ // OF THE POSSIBILITY OF SUCH DAMAGE. #include "QsLogDestFile.h" -#include #include #include #include #include +#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) +#include +#endif + const int QsLogging::SizeRotationStrategy::MaxBackupCount = 10; QsLogging::RotationStrategy::~RotationStrategy() noexcept = default; @@ -148,8 +151,14 @@ QsLogging::FileDestination::FileDestination(const QString& filePath, RotationStr if (!mFile.open(QFile::WriteOnly | QFile::Text | mRotationStrategy->recommendedOpenModeFlag())) { std::cerr << "QsLog: could not open log file " << qPrintable(filePath); } + mOutputStream.setDevice(&mFile); + +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + mOutputStream.setEncoding(QStringConverter::Utf8); +#else mOutputStream.setCodec(QTextCodec::codecForName("UTF-8")); +#endif mRotationStrategy->setInitialInfo(mFile); } @@ -167,10 +176,14 @@ void QsLogging::FileDestination::write(const LogMessage& message) } mRotationStrategy->setInitialInfo(mFile); mOutputStream.setDevice(&mFile); +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + mOutputStream.setEncoding(QStringConverter::Utf8); +#else mOutputStream.setCodec(QTextCodec::codecForName("UTF-8")); +#endif } - mOutputStream << utf8Message << endl; + mOutputStream << utf8Message << Qt::endl; mOutputStream.flush(); }