From 21588f8a3e74cb8ff264a97ecb4a6b0055d944a9 Mon Sep 17 00:00:00 2001 From: Simo Puonti Date: Wed, 27 May 2009 10:26:12 +0300 Subject: [PATCH] Work done for the date/time.. --- QtMeetings.pro | 2 ++ src/Domain/Configuration/Configuration.cpp | 23 +++++++++---- src/Domain/Configuration/DateTimeSettings.cpp | 44 ++++++++++++++++++++++--- src/IO/Communication/MessagingUtils.cpp | 20 ++++++----- 4 files changed, 68 insertions(+), 21 deletions(-) diff --git a/QtMeetings.pro b/QtMeetings.pro index c57d210..5aa48d3 100644 --- a/QtMeetings.pro +++ b/QtMeetings.pro @@ -20,6 +20,7 @@ HEADERS += src/IO/DeviceControl/OperationModeToggler.h \ src/Domain/Configuration/ConnectionSettings.h \ src/Domain/Configuration/StartupSettings.h \ src/Domain/Configuration/DisplaySettings.h \ + src/Domain/Configuration/DateTimeSettings.h \ src/Domain/Configuration/Configuration.h \ src/IO/Communication/MessagingUtils.h \ src/IO/Communication/Communication.h \ @@ -52,6 +53,7 @@ SOURCES += src/IO/DeviceControl/OperationModeToggler.cpp \ src/Domain/Configuration/ConnectionSettings.cpp \ src/Domain/Configuration/StartupSettings.cpp \ src/Domain/Configuration/DisplaySettings.cpp \ + src/Domain/Configuration/DateTimeSettings.cpp \ src/Domain/Configuration/Configuration.cpp \ src/IO/Communication/MessagingUtils.cpp \ src/IO/Communication/Communication.cpp \ diff --git a/src/Domain/Configuration/Configuration.cpp b/src/Domain/Configuration/Configuration.cpp index 40184fb..f3c24d7 100644 --- a/src/Domain/Configuration/Configuration.cpp +++ b/src/Domain/Configuration/Configuration.cpp @@ -2,6 +2,7 @@ #include "ConnectionSettings.h" #include "StartupSettings.h" #include "DisplaySettings.h" +#include "DateTimeSettings.h" #include "Room.h" #include #include @@ -301,17 +302,17 @@ void Configuration::saveDateTimeSettings( const QDomNode &aXML ) if ( tagName == QString( "dayofweek" ) ) { - QDomText t = node.ownerDocument().createTextNode( iDateTimeSettings->iDayOfWeek); + QDomText t = node.ownerDocument().createTextNode( iDateTimeSettings->dayOfWeek()); e.replaceChild( t, e.firstChild() ); } else if( tagName == QString( "StandardTimeChangeMoment" ) ) { - QDomText t = node.ownerDocument().createTextNode( iDateTimeSettings->iStandardTimeChangeMoment.toString("dd.MM.yyyy hh:mm:ss")); + QDomText t = node.ownerDocument().createTextNode( iDateTimeSettings->standardTimeChange().toString("ddMMyyyyhhmmss")); e.replaceChild( t, e.firstChild() ); } else if( tagName == QString( "DaylightSaveTimeChangeMoment" ) ) { - QDomText t = node.ownerDocument().createTextNode( iDateTimeSettings->iDaylightSaveTimeChangeMoment.toString("dd.MM.yyyy hh:mm:ss")); + QDomText t = node.ownerDocument().createTextNode( iDateTimeSettings->daylightSaveTimeChange().toString("ddMMyyyyhhmmss")); e.replaceChild( t, e.firstChild() ); } } @@ -606,6 +607,11 @@ DateTimeSettings * Configuration::readDateTimeSettings( const QDomNode &aXML ) QDateTime daylightSaveTimeChangeMoment; QString dayOfWeek; + // Defaults + //standardTimeChangeMoment.fromString("05102009040000", "ddMMyyyyhhmmss"); + //daylightSaveTimeChangeMoment.fromString("01042010030000", "ddMMyyyyhhmmss"); + //dayOfWeek.append("sunday"); + for ( QDomNode node = aXML.firstChild(); !node.isNull(); node = node.nextSibling() ) { QDomElement e = node.toElement(); @@ -614,14 +620,17 @@ DateTimeSettings * Configuration::readDateTimeSettings( const QDomNode &aXML ) if ( tagName == QString( "dayofweek" ) ) { dayOfWeek = e.text(); + qDebug() << "Configuration::readDateTimeSettings: " +e.text(); } - else if( tagName == QString( "StandardTimeChangeMoment" ) ) + else if( tagName == QString( "standardtimechangemoment" ) ) { - standardTimeChangeMoment.fromString(e.text(), "dd.MM.yyyy hh:mm:ss"); + standardTimeChangeMoment = QDateTime::fromString(e.text(), "ddMMyyyyhhmmss"); + qDebug() << "Configuration::readDateTimeSettings: " +standardTimeChangeMoment.toString("ddMMyyyyhhmmss"); } - else if( tagName == QString( "DaylightSaveTimeChangeMoment" ) ) + else if( tagName == QString( "daylightsavetimechangemoment" ) ) { - daylightSaveTimeChangeMoment.fromString(e.text(), "dd.MM.yyyy hh:mm:ss"); + daylightSaveTimeChangeMoment = QDateTime::fromString(e.text(), "ddMMyyyyhhmmss"); + qDebug() << "Configuration::readDateTimeSettings: " +daylightSaveTimeChangeMoment.toString("ddMMyyyyhhmmss"); } } diff --git a/src/Domain/Configuration/DateTimeSettings.cpp b/src/Domain/Configuration/DateTimeSettings.cpp index 21c3c6e..6cf5f1c 100644 --- a/src/Domain/Configuration/DateTimeSettings.cpp +++ b/src/Domain/Configuration/DateTimeSettings.cpp @@ -1,4 +1,5 @@ #include "DateTimeSettings.h" +#include DateTimeSettings::DateTimeSettings(const QDateTime &aStandardTimeChange, const QDateTime &aDaylightTimeChange, const QString aDayOfWeek) { @@ -32,55 +33,88 @@ QDateTime DateTimeSettings::daylightSaveTimeChange() QString DateTimeSettings::standardTimeChange_Time() { QTime time = this->iStandardTimeChangeMoment.time(); + + qDebug() << "DateTimeSettings::standardTimeChange_Time: " + +time.toString("hh:mm:ss"); + return (time.toString("hh:mm:ss")); } QString DateTimeSettings::standardTimeChange_Month() { QDate date = this->iStandardTimeChangeMoment.date(); - return (date.toString("MM")); + + qDebug() << "DateTimeSettings::standardTimeChange_Month: " + +date.toString("MM"); + + return (date.toString("M")); } QString DateTimeSettings::standardTimeChange_Day() { QDate date = this->iStandardTimeChangeMoment.date(); - return (date.toString("dd")); + + qDebug() << "DateTimeSettings::standardTimeChange_Day: " + +date.toString("dd"); + + return (date.toString("d")); } QString DateTimeSettings::daylightSaveTimeChange_Time() { QTime time = this->iDaylightSaveTimeChangeMoment.time(); + + qDebug() << "DateTimeSettings::daylightSaveTimeChange_Time: " + +time.toString("hh:mm:ss"); + return (time.toString("hh:mm:ss")); } QString DateTimeSettings::daylightSaveTimeChange_Month() { QDate date = this->iDaylightSaveTimeChangeMoment.date(); - return (date.toString("MM")); + + qDebug() << "DateTimeSettings::daylightSaveTimeChange_Month: " + +date.toString("MM"); + + return (date.toString("M")); } QString DateTimeSettings::daylightSaveTimeChange_Day() { QDate date = this->iDaylightSaveTimeChangeMoment.date(); - return (date.toString("dd")); + + qDebug() << "DateTimeSettings::daylightSaveTimeChange_Day: " + +date.toString("dd"); + + return (date.toString("d")); } void DateTimeSettings::setDaylightSaveTimeChange(const QDateTime &aDaylightSaveTimeChange) { this->iDaylightSaveTimeChangeMoment = aDaylightSaveTimeChange; + qDebug() << "DateTimeSettings::setDaylightSaveTimeChange: " + +this->iDaylightSaveTimeChangeMoment.toString("ddMMyyyyhhmmss"); } void DateTimeSettings::setStandardTimeChange(const QDateTime &aStandardTimeChange) { this->iStandardTimeChangeMoment = aStandardTimeChange; + qDebug() << "DateTimeSettings::setStandardTimeChange: " + +this->iStandardTimeChangeMoment.toString("ddMMyyyyhhmmss"); } void DateTimeSettings::setDayOfWeek(const QString aDay) { this->iDayOfWeek = aDay; + qDebug() << "DateTimeSettings::setDayOfWeek: " + +this->iDayOfWeek; } QString DateTimeSettings::dayOfWeek() { - return(this->iDayOfWeek); + + qDebug() << "DateTimeSettings::dayOfWeek: " +this->iDayOfWeek; + + return (this->iDayOfWeek); } diff --git a/src/IO/Communication/MessagingUtils.cpp b/src/IO/Communication/MessagingUtils.cpp index d12b73a..4387685 100644 --- a/src/IO/Communication/MessagingUtils.cpp +++ b/src/IO/Communication/MessagingUtils.cpp @@ -4,6 +4,7 @@ #include "MessagingUtils.h" #include "Meeting.h" #include "Configuration.h" +#include "DateTimeSettings.h" /* * BaseMessage class functions @@ -887,18 +888,19 @@ int ReqMsgGetUserAvailability::setTimeZone() qDebug( "ReqMsgGetUserAvailability::setTimeZone - offset in minutes=%d", offsetMinutes ); #endif - //TODO: timezone and daylight times to application configuration + DateTimeSettings *dateTimeSettings = Configuration::instance()->dateTimeSettings(); + setNodeValue( QString( "Bias" ), QString::number( -offsetMinutes ), QDomNode::ElementNode, QString( "TimeZone" ) ); setNodeValue( QString( "Bias" ), QString::number( 0 ), QDomNode::ElementNode, QString( "StandardTime" ) ); - setNodeValue( QString( "Time" ), QString( "03:00:00" ), QDomNode::ElementNode, QString( "StandardTime" ) ); - setNodeValue( QString( "DayOrder" ), QString::number( 5 ), QDomNode::ElementNode, QString( "StandardTime" ) ); - setNodeValue( QString( "Month" ), QString::number( 10 ), QDomNode::ElementNode, QString( "StandardTime" ) ); - setNodeValue( QString( "DayOfWeek" ), QString( "Sunday" ), QDomNode::ElementNode, QString( "StandardTime" ) ); + setNodeValue( QString( "Time" ), dateTimeSettings->standardTimeChange_Time(), QDomNode::ElementNode, QString( "StandardTime" ) ); + setNodeValue( QString( "DayOrder" ), dateTimeSettings->standardTimeChange_Day(), QDomNode::ElementNode, QString( "StandardTime" ) ); + setNodeValue( QString( "Month" ), dateTimeSettings->standardTimeChange_Month(), QDomNode::ElementNode, QString( "StandardTime" ) ); + setNodeValue( QString( "DayOfWeek" ), dateTimeSettings->dayOfWeek(), QDomNode::ElementNode, QString( "StandardTime" ) ); setNodeValue( QString( "Bias" ), QString::number( -60 ), QDomNode::ElementNode, QString( "DaylightTime" ) ); - setNodeValue( QString( "Time" ), QString( "03:00:00" ), QDomNode::ElementNode, QString( "DaylightTime" ) ); - setNodeValue( QString( "DayOrder" ), QString::number( 1 ), QDomNode::ElementNode, QString( "DaylightTime" ) ); - setNodeValue( QString( "Month" ), QString::number( 4 ), QDomNode::ElementNode, QString( "DaylightTime" ) ); - setNodeValue( QString( "DayOfWeek" ), QString( "Sunday" ), QDomNode::ElementNode, QString( "DaylightTime" ) ); + setNodeValue( QString( "Time" ), dateTimeSettings->daylightSaveTimeChange_Time(), QDomNode::ElementNode, QString( "DaylightTime" ) ); + setNodeValue( QString( "DayOrder" ), dateTimeSettings->daylightSaveTimeChange_Day(), QDomNode::ElementNode, QString( "DaylightTime" ) ); + setNodeValue( QString( "Month" ), dateTimeSettings->daylightSaveTimeChange_Month(), QDomNode::ElementNode, QString( "DaylightTime" ) ); + setNodeValue( QString( "DayOfWeek" ), dateTimeSettings->dayOfWeek(), QDomNode::ElementNode, QString( "DaylightTime" ) ); #ifdef MU_DEBUG qDebug( "ReqMsgGetUserAvailability::setTimeZone end : err=%d", err ); -- 1.7.9.5