diff options
author | Lars Knoll <lars.knoll@qt.io> | 2020-04-26 11:45:27 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2020-05-14 07:48:28 +0200 |
commit | a383d797727b64770768babffc564d07e02a90b7 (patch) | |
tree | 62e3411aac05e964b5feec5a8602b164f549a4fb /src/corelib/io/qsettings_p.h | |
parent | 1cab047d088a397b00f5adc8febeac467fc4831d (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.h | 10 |
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 §ion, const QByteArray &data, - ParsedSettingsMap *settingsMap, QTextCodec *codec); + ParsedSettingsMap *settingsMap); static bool readIniLine(const QByteArray &data, int &dataPos, int &lineStart, int &lineLen, int &equalsPos); |