mirror of
https://bitbucket.org/smil3y/kdelibs.git
synced 2025-02-23 18:32:49 +00:00
kdecore: remove KLocale getters related to text codec
see the comment in KLocalePrivate::initEncoding() Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
484f96e12e
commit
894a2d52bb
8 changed files with 5 additions and 225 deletions
|
@ -941,22 +941,7 @@ QString KUrl::toMimeDataString() const // don't fold this into populateMimeData,
|
|||
{
|
||||
if ( isLocalFile() )
|
||||
{
|
||||
#if 1
|
||||
return url();
|
||||
#else
|
||||
// According to the XDND spec, file:/ URLs for DND must have
|
||||
// the hostname part. But in really it just breaks many apps,
|
||||
// so it's disabled for now.
|
||||
const QString s = url( 0, KGlobal::locale()->fileEncodingMib() );
|
||||
if( !s.startsWith( QLatin1String ( "file://" ) ))
|
||||
{
|
||||
QString hostname = QHostInfo::localHostName();
|
||||
if ( !hostname.isEmpty() )
|
||||
{
|
||||
return QString( "file://" ) + hostname + s.mid( 5 );
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
if (hasPass()) {
|
||||
|
|
|
@ -165,7 +165,6 @@ KLocale *KGlobal::locale()
|
|||
d->locale = 0;
|
||||
d->locale = new KLocale(mainComponent().catalogName());
|
||||
d->localeIsFromFakeComponent = !d->mainComponent.isValid();
|
||||
QTextCodec::setCodecForLocale(d->locale->codecForEncoding());
|
||||
mainComponent().aboutData()->translateInternalProgramName();
|
||||
QCoreApplication* coreApp = QCoreApplication::instance();
|
||||
if (coreApp) { // testcase: kwrite --help: no qcore app
|
||||
|
|
|
@ -345,7 +345,7 @@ QTextCodec *KCharsets::codecForNameOrNull( const QByteArray& n ) const
|
|||
// No name, assume locale (KDE's, not Qt's)
|
||||
if ( d->codecForNameDict.contains( kSystemEncoding ) )
|
||||
return d->codecForNameDict.value( kSystemEncoding );
|
||||
QTextCodec* codec = KGlobal::locale()->codecForEncoding();
|
||||
QTextCodec* codec = QTextCodec::codecForLocale();
|
||||
d->codecForNameDict.insert(kSystemEncoding, codec);
|
||||
return codec;
|
||||
}
|
||||
|
|
|
@ -478,31 +478,6 @@ QString KLocale::defaultCountry()
|
|||
return KLocalePrivate::defaultCountry();
|
||||
}
|
||||
|
||||
const QByteArray KLocale::encoding() const
|
||||
{
|
||||
return d->encoding();
|
||||
}
|
||||
|
||||
int KLocale::encodingMib() const
|
||||
{
|
||||
return d->encodingMib();
|
||||
}
|
||||
|
||||
int KLocale::fileEncodingMib() const
|
||||
{
|
||||
return d->fileEncodingMib();
|
||||
}
|
||||
|
||||
QTextCodec *KLocale::codecForEncoding() const
|
||||
{
|
||||
return d->codecForEncoding();
|
||||
}
|
||||
|
||||
bool KLocale::setEncoding(int mibEnum)
|
||||
{
|
||||
return d->setEncoding(mibEnum);
|
||||
}
|
||||
|
||||
QStringList KLocale::allLanguagesList() const
|
||||
{
|
||||
return d->allLanguagesList();
|
||||
|
|
|
@ -1238,46 +1238,6 @@ public:
|
|||
*/
|
||||
QStringList languageList() const;
|
||||
|
||||
/**
|
||||
* Returns the user's preferred encoding.
|
||||
*
|
||||
* @return The name of the preferred encoding
|
||||
*
|
||||
* @see codecForEncoding
|
||||
* @see encodingMib
|
||||
*/
|
||||
const QByteArray encoding() const;
|
||||
|
||||
/**
|
||||
* Returns the user's preferred encoding.
|
||||
*
|
||||
* @return The Mib of the preferred encoding
|
||||
*
|
||||
* @see encoding
|
||||
* @see codecForEncoding
|
||||
*/
|
||||
int encodingMib() const;
|
||||
|
||||
/**
|
||||
* Returns the user's preferred encoding. Should never be NULL.
|
||||
*
|
||||
* @return The codec for the preferred encoding
|
||||
*
|
||||
* @see encoding
|
||||
* @see encodingMib
|
||||
*/
|
||||
QTextCodec * codecForEncoding() const;
|
||||
|
||||
/**
|
||||
* Returns the file encoding.
|
||||
*
|
||||
* @return The Mib of the file encoding
|
||||
*
|
||||
* @see QFile::encodeName
|
||||
* @see QFile::decodeName
|
||||
*/
|
||||
int fileEncodingMib() const;
|
||||
|
||||
/**
|
||||
* Changes the current date format.
|
||||
*
|
||||
|
|
|
@ -99,8 +99,7 @@ KLocalePrivate::KLocalePrivate(KLocale *q_ptr, const QString &catalogName, KShar
|
|||
m_language(QString()),
|
||||
m_languages(0),
|
||||
m_catalogName(QString()),
|
||||
m_calendar(0),
|
||||
m_codecForEncoding(0)
|
||||
m_calendar(0)
|
||||
{
|
||||
init(catalogName, QString(), QString(), config, 0);
|
||||
}
|
||||
|
@ -113,8 +112,7 @@ KLocalePrivate::KLocalePrivate(KLocale *q_ptr, const QString& catalogName,
|
|||
m_language(QString()),
|
||||
m_languages(0),
|
||||
m_catalogName(QString()),
|
||||
m_calendar(0),
|
||||
m_codecForEncoding(0)
|
||||
m_calendar(0)
|
||||
{
|
||||
init(catalogName, language, country, KSharedConfig::Ptr(), config);
|
||||
}
|
||||
|
@ -196,11 +194,6 @@ void KLocalePrivate::copy(const KLocalePrivate &rhs)
|
|||
m_byteSizeFmt = rhs.m_byteSizeFmt;
|
||||
m_pageSize = rhs.m_pageSize;
|
||||
m_measureSystem = rhs.m_measureSystem;
|
||||
|
||||
// Encoding settings
|
||||
m_encoding = rhs.m_encoding;
|
||||
m_codecForEncoding = rhs.m_codecForEncoding;
|
||||
m_utf8FileEncoding = rhs.m_utf8FileEncoding;
|
||||
}
|
||||
|
||||
KLocalePrivate::~KLocalePrivate()
|
||||
|
@ -240,8 +233,6 @@ void KLocalePrivate::init(const QString& catalogName, const QString &language, c
|
|||
useEnvironmentVariables = false;
|
||||
}
|
||||
|
||||
initEncoding();
|
||||
initFileNameEncoding();
|
||||
initCountry(country, cg.readEntry(QLatin1String("Country")));
|
||||
initLanguageList(language, cg.readEntry(QLatin1String("Language")), useEnvironmentVariables);
|
||||
// Now that we have a language, we can set up the config which uses it to setLocale()
|
||||
|
@ -2237,49 +2228,6 @@ bool KLocalePrivate::useDefaultLanguage() const
|
|||
return language() == KLocale::defaultLanguage();
|
||||
}
|
||||
|
||||
void KLocalePrivate::initEncoding()
|
||||
{
|
||||
m_codecForEncoding = 0;
|
||||
|
||||
// This all made more sense when we still had the EncodingEnum config key.
|
||||
setEncoding(QTextCodec::codecForLocale()->mibEnum());
|
||||
|
||||
if (!m_codecForEncoding) {
|
||||
kWarning() << "Cannot resolve system encoding, defaulting to ISO 8859-1.";
|
||||
const int mibDefault = 4; // ISO 8859-1
|
||||
setEncoding(mibDefault);
|
||||
}
|
||||
|
||||
Q_ASSERT(m_codecForEncoding);
|
||||
}
|
||||
|
||||
void KLocalePrivate::initFileNameEncoding()
|
||||
{
|
||||
// If the following environment variable is set, assume all filenames
|
||||
// are in UTF-8 regardless of the current C locale.
|
||||
m_utf8FileEncoding = !qgetenv("KDE_UTF8_FILENAMES").isEmpty();
|
||||
if (!m_utf8FileEncoding) {
|
||||
const QByteArray ctype = setlocale(LC_CTYPE, 0);
|
||||
if (ctype.endsWith("UTF-8")) {
|
||||
m_utf8FileEncoding = true;
|
||||
return;
|
||||
}
|
||||
QByteArray lang = qgetenv("LC_ALL");
|
||||
if (lang.isEmpty()) {
|
||||
lang = qgetenv("LC_CTYPE");
|
||||
}
|
||||
if (lang.isEmpty()) {
|
||||
lang = qgetenv("LANG");
|
||||
}
|
||||
if (lang.endsWith("UTF-8")) {
|
||||
m_utf8FileEncoding = true;
|
||||
return;
|
||||
}
|
||||
}
|
||||
// Otherwise, stay with QFile's default filename encoding functions
|
||||
// which, on Unix platforms, use the locale's codec.
|
||||
}
|
||||
|
||||
void KLocalePrivate::setDateFormat(const QString &format)
|
||||
{
|
||||
m_dateFormat = format.trimmed();
|
||||
|
@ -2406,39 +2354,6 @@ QString KLocalePrivate::defaultCountry()
|
|||
return QString::fromLatin1("C");
|
||||
}
|
||||
|
||||
const QByteArray KLocalePrivate::encoding() const
|
||||
{
|
||||
return codecForEncoding()->name();
|
||||
}
|
||||
|
||||
int KLocalePrivate::encodingMib() const
|
||||
{
|
||||
return codecForEncoding()->mibEnum();
|
||||
}
|
||||
|
||||
int KLocalePrivate::fileEncodingMib() const
|
||||
{
|
||||
if (m_utf8FileEncoding) {
|
||||
return 106;
|
||||
}
|
||||
return codecForEncoding()->mibEnum();
|
||||
}
|
||||
|
||||
QTextCodec *KLocalePrivate::codecForEncoding() const
|
||||
{
|
||||
return m_codecForEncoding;
|
||||
}
|
||||
|
||||
bool KLocalePrivate::setEncoding(int mibEnum)
|
||||
{
|
||||
QTextCodec * codec = QTextCodec::codecForMib(mibEnum);
|
||||
if (codec) {
|
||||
m_codecForEncoding = codec;
|
||||
}
|
||||
|
||||
return codec != 0;
|
||||
}
|
||||
|
||||
QStringList KLocalePrivate::allLanguagesList()
|
||||
{
|
||||
if (!m_languages) {
|
||||
|
|
|
@ -845,55 +845,6 @@ public:
|
|||
*/
|
||||
KLocale::MeasureSystem measureSystem() const;
|
||||
|
||||
/***************************
|
||||
** Encoding settings **
|
||||
***************************/
|
||||
|
||||
protected:
|
||||
|
||||
/**
|
||||
* @internal Figures out which encoding the user prefers.
|
||||
*/
|
||||
void initEncoding();
|
||||
|
||||
/**
|
||||
* @internal Figures out which encoding the user prefers for filenames
|
||||
* and sets up the appropriate QFile encoding and decoding functions.
|
||||
*/
|
||||
void initFileNameEncoding();
|
||||
|
||||
public:
|
||||
|
||||
/**
|
||||
* @internal Sets the current encoding
|
||||
* The worker of the same-name KLocale API function.
|
||||
*/
|
||||
bool setEncoding(int mibEnum);
|
||||
|
||||
/**
|
||||
* @internal Returns the user's preferred encoding.
|
||||
* The worker of the same-name KLocale API function.
|
||||
*/
|
||||
const QByteArray encoding() const;
|
||||
|
||||
/**
|
||||
* @internal Returns the user's preferred encoding.
|
||||
* The worker of the same-name KLocale API function.
|
||||
*/
|
||||
int encodingMib() const;
|
||||
|
||||
/**
|
||||
* @internal Returns the file encoding.
|
||||
* The worker of the same-name KLocale API function.
|
||||
*/
|
||||
int fileEncodingMib() const;
|
||||
|
||||
/**
|
||||
* @internal Returns the user's preferred encoding.
|
||||
* The worker of the same-name KLocale API function.
|
||||
*/
|
||||
QTextCodec *codecForEncoding() const;
|
||||
|
||||
/***************************
|
||||
** Utilities **
|
||||
***************************/
|
||||
|
@ -992,11 +943,6 @@ private:
|
|||
QList<QString> m_byteSizeFmt;
|
||||
int m_pageSize;
|
||||
KLocale::MeasureSystem m_measureSystem;
|
||||
|
||||
// Encoding settings
|
||||
QString m_encoding;
|
||||
QTextCodec *m_codecForEncoding;
|
||||
bool m_utf8FileEncoding;
|
||||
};
|
||||
|
||||
#endif /* KLOCALE_P_H */
|
||||
|
|
|
@ -50,8 +50,8 @@ KEncodingFileDialog::KEncodingFileDialog(const QString& startDir, const QString&
|
|||
|
||||
d->encoding->clear ();
|
||||
QString sEncoding = encoding;
|
||||
QString systemEncoding = QLatin1String(KGlobal::locale()->encoding());
|
||||
if (sEncoding.isEmpty() || sEncoding == "System")
|
||||
QByteArray systemEncoding = QTextCodec::codecForLocale()->name();
|
||||
if (sEncoding.isEmpty() || sEncoding == QLatin1String("System"))
|
||||
sEncoding = systemEncoding;
|
||||
|
||||
const QStringList encodings (KGlobal::charsets()->availableEncodingNames());
|
||||
|
|
Loading…
Add table
Reference in a new issue