summaryrefslogtreecommitdiffstats
path: root/src/corelib/io/qsettings_p.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2020-04-26 11:45:27 +0200
committerLars Knoll <lars.knoll@qt.io>2020-05-14 07:48:28 +0200
commita383d797727b64770768babffc564d07e02a90b7 (patch)
tree62e3411aac05e964b5feec5a8602b164f549a4fb /src/corelib/io/qsettings_p.h
parent1cab047d088a397b00f5adc8febeac467fc4831d (diff)
Get rid of QSettings::iniCodec()
Always encodee INI files as utf-8 in Qt6. This is mostly backwards compatible, as old ini files would encode all non ascii characters. [ChangeLog][Important behavioral changes] QSettings will now always encode INI files as utf-8 (and the iniCodec/setIniCode methods are removed). This is a change from Qt 5 and earlier, where QSettings would by default escape all non ascii characters. The behavior is equivalent to what you got in Qt5 by setting a utf-8 iniCodec on the settings object. Settings files written in Qt 5 will still be readable in Qt 6 (unless an iniCodec different from utf-8 was used), but to read Qt6 based ini files in Qt 5 applications, setting the iniCodec to utf-8 is required. Change-Id: Ic7dffcca17779bd5e3dae50d42ce633170289f6c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'src/corelib/io/qsettings_p.h')
-rw-r--r--src/corelib/io/qsettings_p.h10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/corelib/io/qsettings_p.h b/src/corelib/io/qsettings_p.h
index c30f099a72..795781cf77 100644
--- a/src/corelib/io/qsettings_p.h
+++ b/src/corelib/io/qsettings_p.h
@@ -235,18 +235,16 @@ public:
static QVariant stringToVariant(const QString &s);
static void iniEscapedKey(const QString &key, QByteArray &result);
static bool iniUnescapedKey(const QByteArray &key, int from, int to, QString &result);
- static void iniEscapedString(const QString &str, QByteArray &result, QTextCodec *codec);
- static void iniEscapedStringList(const QStringList &strs, QByteArray &result, QTextCodec *codec);
+ static void iniEscapedString(const QString &str, QByteArray &result);
+ static void iniEscapedStringList(const QStringList &strs, QByteArray &result);
static bool iniUnescapedStringList(const QByteArray &str, int from, int to,
- QString &stringResult, QStringList &stringListResult,
- QTextCodec *codec);
+ QString &stringResult, QStringList &stringListResult);
static QStringList splitArgs(const QString &s, int idx);
QSettings::Format format;
QSettings::Scope scope;
QString organizationName;
QString applicationName;
- QTextCodec *iniCodec;
protected:
QStack<QSettingsGroup> groupStack;
@@ -283,7 +281,7 @@ public:
bool readIniFile(const QByteArray &data, UnparsedSettingsMap *unparsedIniSections);
static bool readIniSection(const QSettingsKey &section, const QByteArray &data,
- ParsedSettingsMap *settingsMap, QTextCodec *codec);
+ ParsedSettingsMap *settingsMap);
static bool readIniLine(const QByteArray &data, int &dataPos, int &lineStart, int &lineLen,
int &equalsPos);