Proper fix to use an INI file instead of the registry on Windows

This commit is contained in:
Christophe Dumez
2010-07-16 15:03:18 +00:00
parent d354d7133e
commit b9241ad5ad
27 changed files with 311 additions and 313 deletions

View File

@@ -48,13 +48,15 @@ public:
#ifdef Q_WS_WIN
QVariant value(const QString & key, const QVariant &defaultValue = QVariant()) const {
QVariant ret = QSettings::value(key);
if(format() == QSettings::NativeFormat && ret.isNull()) {
// Fallback on Windows, use \ in key instead of /
if(key.contains("/")) {
ret = QSettings::value(key.replace("/", "\\"));
} else {
if(key.contains("\\")) {
ret = QSettings::value(key.replace("\\", "/"));
if(format() == QSettings::NativeFormat) {
if(ret.isNull()) {
// Fallback on Windows, use \ in key instead of /
if(key.contains("/")) {
ret = QSettings::value(key.replace("/", "\\"));
} else {
if(key.contains("\\")) {
ret = QSettings::value(key.replace("\\", "/"));
}
}
}
}