summaryrefslogtreecommitdiff
path: root/quackleio/util.h
diff options
context:
space:
mode:
authorJohn Fultz <jfultz@wolfram.com>2023-07-15 21:24:54 -0500
committerJohn Fultz <jfultz@wolfram.com>2023-07-16 09:02:22 -0500
commite588b3c3a1052dfc063c9c058d361347329e7899 (patch)
treef2b4df04526b071e7cada64c9e14e66ebb07dd3b /quackleio/util.h
parent97b2ebe1b0d2bafb9d870bc9422ee721e08a6657 (diff)
Make UTF8-encoding of QTextStream work in Qt5 and 6.
QTextStream::setCodec() is no longer a thing in Qt6. Most of our call are to set the codec to UTF-8, which happens to be the default encoding in Qt6. So make a macro so this can compile in both Qt5 and Qt6.
Diffstat (limited to 'quackleio/util.h')
-rw-r--r--quackleio/util.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/quackleio/util.h b/quackleio/util.h
index 19ec469..c186cf6 100644
--- a/quackleio/util.h
+++ b/quackleio/util.h
@@ -22,6 +22,12 @@
#include <QString>
#include <QRegularExpression>
+#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
+#define SET_QTEXTSTREAM_TO_UTF8(stream) stream.setCodec(QTextCodec::codecForName("UTF-8"))
+#else // QTextStream::setEncoding is gone in Qt6, but streams are UTF8 by default
+#define SET_QTEXTSTREAM_TO_UTF8(stream) 0
+#endif
+
#include <alphabetparameters.h>
#include <datamanager.h>
#include <uv.h>