diff options
| author | 2023-10-05 17:50:54 +0200 | |
|---|---|---|
| committer | 2023-10-18 10:26:35 +0200 | |
| commit | 2d1bc24d6b6b032dc7db5a2ef7e63bcef43fd511 (patch) | |
| tree | 9181ee4ba29dc99e652f0ff07d4f95642607c4f4 /src/kvilib | |
| 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/kvilib')
| -rw-r--r-- | src/kvilib/ext/KviStringConversion.cpp | 13 | ||||
| -rw-r--r-- | src/kvilib/file/KviFileUtils.cpp | 25 |
2 files changed, 31 insertions, 7 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(); |
