aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGravatar Fabio Bas2023-10-05 17:50:54 +0200
committerGravatar ctrlaltca2023-10-18 10:26:35 +0200
commit2d1bc24d6b6b032dc7db5a2ef7e63bcef43fd511 (patch)
tree9181ee4ba29dc99e652f0ff07d4f95642607c4f4 /src
parentMisc Qt6 port for slightly changed class names and method signatures (diff)
downloadKVIrc-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.cpp13
-rw-r--r--src/kvilib/file/KviFileUtils.cpp25
-rw-r--r--src/modules/file/libkvifile.cpp11
-rw-r--r--src/modules/help/HelpIndex.cpp10
-rw-r--r--src/modules/logview/LogFile.cpp11
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