diff options
| author | 2023-10-05 17:50:54 +0200 | |
|---|---|---|
| committer | 2023-10-18 10:26:35 +0200 | |
| commit | 2d1bc24d6b6b032dc7db5a2ef7e63bcef43fd511 (patch) | |
| tree | 9181ee4ba29dc99e652f0ff07d4f95642607c4f4 /src | |
| parent | Misc Qt6 port for slightly changed class names and method signatures (diff) | |
| download | KVIrc-2d1bc24d6b6b032dc7db5a2ef7e63bcef43fd511.tar.gz KVIrc-2d1bc24d6b6b032dc7db5a2ef7e63bcef43fd511.tar.bz2 KVIrc-2d1bc24d6b6b032dc7db5a2ef7e63bcef43fd511.zip | |
Changes that will need to be reworked.
QFont changed the weight scale in Qt6, in order to use them we'd need to fix all configuration files in all themes.
QStreamConverter only supports Utf8/16/32 and Latin1 before Qt6.5. Stick to qt5compat's QTextCodec by now
Diffstat (limited to 'src')
| -rw-r--r-- | src/kvilib/ext/KviStringConversion.cpp | 13 | ||||
| -rw-r--r-- | src/kvilib/file/KviFileUtils.cpp | 25 | ||||
| -rw-r--r-- | src/modules/file/libkvifile.cpp | 11 | ||||
| -rw-r--r-- | src/modules/help/HelpIndex.cpp | 10 | ||||
| -rw-r--r-- | src/modules/logview/LogFile.cpp | 11 |
5 files changed, 59 insertions, 11 deletions
diff --git a/src/kvilib/ext/KviStringConversion.cpp b/src/kvilib/ext/KviStringConversion.cpp index 8b8e557ea..b12a1ef84 100644 --- a/src/kvilib/ext/KviStringConversion.cpp +++ b/src/kvilib/ext/KviStringConversion.cpp @@ -226,7 +226,13 @@ namespace KviStringConversion void toString(const QFont & font, QString & szBuffer) { QString szFamily(font.family()); - szBuffer = QString::asprintf("%s,%d,%d,%d", szFamily.toUtf8().data(), font.pointSize(), font.styleHint(), font.weight()); + szBuffer = QString::asprintf("%s,%d,%d,%d", szFamily.toUtf8().data(), font.pointSize(), font.styleHint(), +#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) + font.weight() +#else + font.legacyWeight() +#endif + ); QString szOptions; if(font.bold()) szOptions.append('b'); @@ -266,8 +272,11 @@ namespace KviStringConversion buffer.setStyleHint((QFont::StyleHint)i); i = weight.toInt(&bOk); if(bOk && (i >= 0)) +#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) buffer.setWeight(i); - +#else + buffer.setLegacyWeight(i); +#endif buffer.setBold(str.contains("b")); buffer.setItalic(str.contains("i")); buffer.setUnderline(str.contains("u")); diff --git a/src/kvilib/file/KviFileUtils.cpp b/src/kvilib/file/KviFileUtils.cpp index 283bdc501..755557912 100644 --- a/src/kvilib/file/KviFileUtils.cpp +++ b/src/kvilib/file/KviFileUtils.cpp @@ -34,7 +34,11 @@ #include <QString> #include <QStringList> #include <QtGlobal> +#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) #include <QTextCodec> +#else +#include <QStringConverter> +#endif #include <QTextStream> namespace KviFileUtils @@ -263,7 +267,13 @@ namespace KviFileUtils KviFile f(szPath); if(!f.open(QFile::WriteOnly | (bAppend ? QFile::Append : QFile::Truncate))) return false; +#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) QByteArray szTmp = QTextCodec::codecForLocale()->fromUnicode(szData); +#else + QStringEncoder enc = QStringEncoder(QStringConverter::Latin1); + QByteArray szTmp = enc.encode(szData); +#endif + if(f.write(szTmp.data(), szTmp.length()) != ((unsigned int)(szTmp.length()))) return false; return true; @@ -326,14 +336,16 @@ namespace KviFileUtils bool readLine(QFile * pFile, QString & szBuffer, bool bUtf8) { QTextStream stream(pFile); - // By default, QTextCodec::codecForLocale() is used, and automatic unicode detection is enabled. - if(bUtf8) - stream.setCodec(QTextCodec::codecForMib(106)); +#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) /* * Name: UTF-8 * MIBenum: 106 * from: http://www.iana.org/assignments/character-sets */ + stream.setCodec(bUtf8 ? QTextCodec::codecForMib(106) : QTextCodec::codecForLocale()); +#else + stream.setEncoding(bUtf8 ? QStringConverter::Utf8 : QStringConverter::Latin1); +#endif szBuffer = stream.readLine(); return !szBuffer.isNull(); } @@ -341,9 +353,12 @@ namespace KviFileUtils bool readLines(QFile * pFile, QStringList & buffer, int iStartLine, int iCount, bool bUtf8) { QTextStream stream(pFile); +#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) //please read comments in the readLine(...) method - if(bUtf8) - stream.setCodec(QTextCodec::codecForMib(106)); + stream.setCodec(bUtf8 ? QTextCodec::codecForMib(106) : QTextCodec::codecForLocale()); +#else + stream.setEncoding(bUtf8 ? QStringConverter::Utf8 : QStringConverter::Latin1); +#endif for(int i = 0; i < iStartLine; i++) stream.readLine(); diff --git a/src/modules/file/libkvifile.cpp b/src/modules/file/libkvifile.cpp index b57cd7f26..ac527f720 100644 --- a/src/modules/file/libkvifile.cpp +++ b/src/modules/file/libkvifile.cpp @@ -35,7 +35,11 @@ #include <QFileInfo> #include <QDir> #include <QTextStream> +#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) #include <QTextCodec> +#else +#include <QStringConverter> +#endif #include <QByteArray> #include <QDateTime> @@ -1081,8 +1085,11 @@ static bool file_kvs_fnc_readLines(KviKvsModuleFunctionCall * c) QTextStream stream(&f); - if(!bLocal8Bit) - stream.setCodec(QTextCodec::codecForMib(106)); +#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) + stream.setCodec(bLocal8Bit ? QTextCodec::codecForLocale() : QTextCodec::codecForMib(106)); +#else + stream.setEncoding(bLocal8Bit ? QStringConverter::Latin1 : QStringConverter::Utf8); +#endif for(int i = 0; i < iStartLine; i++) stream.readLine(); diff --git a/src/modules/help/HelpIndex.cpp b/src/modules/help/HelpIndex.cpp index 4ce07616f..33c42781a 100644 --- a/src/modules/help/HelpIndex.cpp +++ b/src/modules/help/HelpIndex.cpp @@ -44,7 +44,11 @@ #include <QByteArray> #include <QTextStream> #include <QUrl> +#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) #include <QTextCodec> +#else +#include <QStringConverter> +#endif #include <cctype> #include <QTextDocument> #include <QTimer> @@ -200,7 +204,11 @@ void HelpIndex::parseDocument(const QString & filename, int docNum) } QTextStream s(&file); - s.setCodec(QTextCodec::codecForMib(106)); +#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) + s.setCodec(QTextCodec::codecForMib(106)); +#else + s.setEncoding(QStringConverter::Utf8); +#endif QString text = s.readAll(); if(text.isNull()) return; diff --git a/src/modules/logview/LogFile.cpp b/src/modules/logview/LogFile.cpp index 471099b73..200a2cb0c 100644 --- a/src/modules/logview/LogFile.cpp +++ b/src/modules/logview/LogFile.cpp @@ -40,6 +40,11 @@ #include <QDir> #include <QTextStream> #include <QLocale> +#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) +#include <QTextCodec> +#else +#include <QStringConverter> +#endif #ifdef COMPILE_ZLIB_SUPPORT #include <zlib.h> @@ -431,7 +436,11 @@ void LogFile::createLog(ExportType exportType, QString szLog, QString * pszFile) // Ensure we're writing in UTF-8 QTextStream output(&log); - output.setCodec("UTF-8"); +#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) + output.setCodec(QTextCodec::codecForMib(106)); +#else + output.setEncoding(QStringConverter::Utf8); +#endif output << szOutputBuffer; // Close file descriptors |
