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
86 lines
2.0 KiB
C++
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;
|
|
}
|