Alf Gaida a566b49f3e Cherry-picking upstream version 0.10.96~24-gd87b750.
Preparing the upcoming release, switch to experimental
Removed build dependency liboobs-1-dev (Closes: )
Added build dependency libqt5xdgiconloader-dev
Removed minimum versions for libqt5xdg-dev
Bumped Standards to 3.9.8, no changes needed
Fixed VCS-Fields, use https
Added recommends lxqt-admin-l10n
Bumped copyright years
Added hardening to rules
Added translation control to rules
Set CMAKE_BUILD_TYPE=RelWithDebInfo
Added README.md to docs
2016-07-15 00:58:06 +02:00

86 lines
2.0 KiB
C++

#include "timedatectl.h"
#include <QProcess>
#include <QDebug>
#include <QDBusInterface>
#include <QDBusConnection>
#include <QMessageBox>
TimeDateCtl::TimeDateCtl()
{
mIface = new QDBusInterface(QStringLiteral("org.freedesktop.timedate1"),
QStringLiteral("/org/freedesktop/timedate1"),
QStringLiteral("org.freedesktop.timedate1"),
QDBusConnection::systemBus());
}
TimeDateCtl::~TimeDateCtl()
{
delete mIface;
}
QString TimeDateCtl::timeZone() const
{
return mIface->property("Timezone").toString();
}
bool TimeDateCtl::setTimeZone(QString timeZone, QString& errorMessage)
{
mIface->call("SetTimezone", timeZone, true);
QDBusError err = mIface->lastError();
if(err.isValid())
{
errorMessage = err.message();
return false;
}
return true;
}
bool TimeDateCtl::setDateTime(QDateTime dateTime, QString& errorMessage)
{
// the timedatectl dbus service accepts "usec" input.
// Qt can only get "msec" => convert to usec here.
mIface->call("SetTime", dateTime.toMSecsSinceEpoch() * 1000, false, true);
QDBusError err = mIface->lastError();
if(err.isValid())
{
errorMessage = err.message();
return false;
}
return true;
}
bool TimeDateCtl::useNtp() const
{
return mIface->property("NTP").toBool();
}
bool TimeDateCtl::setUseNtp(bool value, QString& errorMessage)
{
mIface->call("SetNTP", value, true);
QDBusError err = mIface->lastError();
if(err.isValid())
{
errorMessage = err.message();
return false;
}
return true;
}
bool TimeDateCtl::localRtc() const
{
return mIface->property("LocalRTC").toBool();
}
bool TimeDateCtl::setLocalRtc(bool value, QString& errorMessage)
{
mIface->call("SetLocalRTC", value, false, true);
QDBusError err = mIface->lastError();
if(err.isValid())
{
errorMessage = err.message();
return false;
}
return true;
}