Index: sources/device/DeviceView.cpp =================================================================== diff -u -r46c55a9eeb75ac84fbcd6160a2318c459672936a -r6e18f1d24b8cc3d84d26f46f36f73deb34e54371 --- sources/device/DeviceView.cpp (.../DeviceView.cpp) (revision 46c55a9eeb75ac84fbcd6160a2318c459672936a) +++ sources/device/DeviceView.cpp (.../DeviceView.cpp) (revision 6e18f1d24b8cc3d84d26f46f36f73deb34e54371) @@ -15,6 +15,7 @@ #include "DeviceView.h" // Qt +#include // Project #include "ApplicationController.h" @@ -626,5 +627,50 @@ ipAddress(vData); } +// ================================================= Date/Time +void VDevice::doInitDateTime() { + // Nothing for now. +} +void VDevice::dateTimeRequest( const QString &) { + // Nothing for now. +} +void VDevice::doDateTime(const QString &vYear, const QString &vMonth, const QString &vDay, + const QString &vHour, const QString &vMinute, bool vNTP) { + + const QDateTime currentDateTimeLocal ( QDate( vYear .toInt() , + vMonth .toInt() , + vDay .toInt()) , + QTime( vHour .toInt() , + vMinute .toInt())); + const QString dateTimeLocalStr = currentDateTimeLocal.toString(_Settings.getUpdateFormat()); // sudo date -s requires this format + + DeviceDateTimeRequestData data; + data.mDateTime = dateTimeLocalStr; + data.mNTP = vNTP; + + LOG_DEBUG(tr("SetDateTime %1").arg(dateTimeLocalStr)); + + emit didAttributeRequest(data); +} + +void VDevice::onAttributeResponse(const DeviceDateTimeResponseData &vData) { + + if ( vData.mCompleted ) { + if ( vData.mAccepted ) { + emit dateTimeChanged(""); + status(""); + } + else { + status(vData.mMessage); + } + } + + accepted(vData.mAccepted); + reason (vData.mReason ); + + // has to be the last one + response(true); +} +