Index: kioslave/media/mediamanager/halbackend.cpp =================================================================== --- kioslave/media/mediamanager/halbackend.cpp (revision 864098) +++ kioslave/media/mediamanager/halbackend.cpp (working copy) @@ -851,13 +851,6 @@ result << tmp; } - if ( valids.contains("locale") ) - { - value = config.readBoolEntry( "locale", true ); - tmp = QString( "locale=%1" ).arg( value ? "true" : "false" ); - result << tmp; - } - if (valids.contains("utf8")) { value = config.readBoolEntry("utf8", true); @@ -878,6 +871,15 @@ result << "shortname=lower"; } + + if (valids.contains("locale") && fstype == "ntfs-3g") + { + char *cType; + if ( (cType = getenv("LC_ALL")) || (cType = getenv("LC_CTYPE")) || (cType = getenv("LANG")) ) { + result << QString("locale=%1").arg(cType); + } + } + if (valids.contains("sync")) { value = config.readBoolEntry("sync", ( valids.contains("flush") && !fstype.endsWith("fat") ) && removable); @@ -931,7 +933,7 @@ QMap valids = MediaManagerUtils::splitOptions(options); - const char *names[] = { "ro", "quiet", "atime", "uid", "utf8", "flush", "sync", "locale", 0 }; + const char *names[] = { "ro", "quiet", "atime", "uid", "utf8", "flush", "sync", 0 }; for (int index = 0; names[index]; ++index) if (valids.contains(names[index])) config.writeEntry(names[index], valids[names[index]] == "true"); @@ -951,10 +953,6 @@ config.writeEntry("automount", valids["automount"]); } - if (valids.contains("locale") ) { - config.writeEntry("locale", valids["locale"]); - } - return true; } @@ -1153,11 +1151,6 @@ soptions << QString("uid=%1").arg(getuid()); } - if (valids["locale"] == "true") - { - soptions << QString("locale=%1").arg( KGlobal::locale()->language() ); - } - if (valids["ro"] == "true") soptions << "ro"; @@ -1182,6 +1175,11 @@ soptions << QString("shortname=%1").arg(valids["shortname"]); } + if (valids.contains("locale")) + { + soptions << QString("locale=%1").arg(valids["locale"]); + } + if (valids.contains("journaling")) { QString option = valids["journaling"];