mirror of
https://bitbucket.org/smil3y/kde-workspace.git
synced 2025-02-24 02:42:50 +00:00
kcontrol: make use of KSystemTimeZones::zoneinfoDir() in dateandtime helper
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
4ebf0c5a3d
commit
dc331742e4
1 changed files with 5 additions and 24 deletions
|
@ -38,6 +38,7 @@
|
||||||
#include <kconfig.h>
|
#include <kconfig.h>
|
||||||
#include <kconfiggroup.h>
|
#include <kconfiggroup.h>
|
||||||
#include <kstandarddirs.h>
|
#include <kstandarddirs.h>
|
||||||
|
#include <ksystemtimezone.h>
|
||||||
#include <QProcess>
|
#include <QProcess>
|
||||||
#include <QFile>
|
#include <QFile>
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
|
@ -112,28 +113,8 @@ ClockHelper::CH_Error ClockHelper::tz( const QString& selectedzone )
|
||||||
return TimezoneError;
|
return TimezoneError;
|
||||||
}
|
}
|
||||||
|
|
||||||
// NOTE: keep in sync with ktimezoned/ktimezoned.cpp
|
const QString tzdir = KSystemTimeZones::zoneinfoDir();
|
||||||
static const QStringList zoneDirs = QStringList()
|
const QString tz = QDir::cleanPath(tzdir + QDir::separator() + selectedzone);
|
||||||
<< QLatin1String("/share/zoneinfo/")
|
|
||||||
<< QLatin1String("/lib/zoneinfo/")
|
|
||||||
<< QLatin1String("/usr/share/zoneinfo/")
|
|
||||||
<< QLatin1String("/usr/lib/zoneinfo/")
|
|
||||||
<< QLatin1String("/usr/local/share/zoneinfo/")
|
|
||||||
<< QLatin1String("/usr/local/lib/zoneinfo/")
|
|
||||||
<< (KStandardDirs::installPath("kdedir") + QLatin1String("/share/zoneinfo/"))
|
|
||||||
<< (KStandardDirs::installPath("kdedir") + QLatin1String("/lib/zoneinfo/"));
|
|
||||||
|
|
||||||
// /usr is kind of standard
|
|
||||||
QString ZONE_INFO_DIR = "/usr/share/zoneinfo/";
|
|
||||||
|
|
||||||
foreach (const QString &zonedir, zoneDirs) {
|
|
||||||
if (QDir(zonedir).exists()) {
|
|
||||||
ZONE_INFO_DIR = zonedir;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
QString tz = ZONE_INFO_DIR + selectedzone;
|
|
||||||
|
|
||||||
unlink( "/etc/localtime" );
|
unlink( "/etc/localtime" );
|
||||||
|
|
||||||
|
@ -141,9 +122,9 @@ ClockHelper::CH_Error ClockHelper::tz( const QString& selectedzone )
|
||||||
return TimezoneError;
|
return TimezoneError;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString val = ':' + tz;
|
QByteArray val = ':' + tz.toAscii();
|
||||||
|
|
||||||
setenv("TZ", val.toAscii(), 1);
|
setenv("TZ", val.constData(), 1);
|
||||||
tzset();
|
tzset();
|
||||||
|
|
||||||
return NoError;
|
return NoError;
|
||||||
|
|
Loading…
Add table
Reference in a new issue