#include "ConnectionSettings.h"
#include "StartupSettings.h"
#include "DisplaySettings.h"
+#include "DateTimeSettings.h"
#include "Room.h"
#include <QDomDocument>
#include <QDomElement>
{
saveDisplaySettings( node );
}
- else if (tagName == QString( "datetime" ) )
+ else if (tagName == QString( "daylight_saving_time" ) )
{
saveDateTimeSettings( node );
}
if ( tagName == QString( "serverurl" ) )
{
QDomText t = node.ownerDocument().createTextNode( iConnectionSettings->serverUrl().toString() );
- e.replaceChild( t, e.firstChild() );
+ if ( e.hasChildNodes() )
+ {
+ e.replaceChild( t, e.firstChild() );
+ }
+ else
+ {
+ e.appendChild( e.firstChild() );
+ }
}
else if ( tagName == QString( "username" ) )
{
QDomText t = node.ownerDocument().createTextNode( iConnectionSettings->username() );
- e.replaceChild( t, e.firstChild() );
+ if ( e.hasChildNodes() )
+ {
+ e.replaceChild( t, e.firstChild() );
+ }
+ else
+ {
+ e.appendChild( e.firstChild() );
+ }
}
else if ( tagName == QString( "password" ) )
{
QDomText t = node.ownerDocument().createTextNode( iConnectionSettings->password() );
- e.replaceChild( t, e.firstChild() );
+ if ( e.hasChildNodes() )
+ {
+ e.replaceChild( t, e.firstChild() );
+ }
+ else
+ {
+ e.appendChild( e.firstChild() );
+ }
}
else if ( tagName == QString( "refreshinterval" ) )
{
node = next;
}
+ node = aXML;
QList<Room*>::iterator i;
for ( i = iRooms.begin(); i != iRooms.end(); ++i )
{
if ( tagName == QString( "dayofweek" ) )
{
- QDomText t = node.ownerDocument().createTextNode( iDateTimeSettings->iDayOfWeek);
+ QDomText t = node.ownerDocument().createTextNode( iDateTimeSettings->switchDay() );
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->STDDateTime().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->DSTDateTime().toString("ddMMyyyyhhmmss"));
e.replaceChild( t, e.firstChild() );
}
}
{
conf->iDisplaySettings = Configuration::readDisplaySettings( node );
}
- else if ( tagName == QString( "datetime" ) )
+ else if ( tagName == QString( "daylight_saving_time" ) )
{
conf->iDateTimeSettings = Configuration::readDateTimeSettings(node);
}
DateTimeSettings * Configuration::readDateTimeSettings( const QDomNode &aXML )
{
- QDateTime standardTimeChangeMoment;
- QDateTime daylightSaveTimeChangeMoment;
- QString dayOfWeek;
+ // Set defaults..
+ QDateTime standardTimeChangeMoment = QDateTime::fromString("05.10.2009 04:00:00", "dd'.'MM'.'yyyy' 'hh:mm:ss");
+ QDateTime daylightSaveTimeChangeMoment = QDateTime::fromString("01.04.2010 03:00:00", "dd'.'MM'.'yyyy' 'hh:mm:ss");
+ DateTimeSettings::weekDay dayOfWeek = DateTimeSettings::Sunday;
for ( QDomNode node = aXML.firstChild(); !node.isNull(); node = node.nextSibling() )
{
if ( tagName == QString( "dayofweek" ) )
{
- dayOfWeek = e.text();
+ qDebug() << "Configuration::readDateTimeSettings: " +e.text();
+
+ bool success = false;
+ unsigned int weekDayTmp = e.text().toUInt( &success );
+ if( success && weekDayTmp < 7 )
+ {
+ dayOfWeek = (DateTimeSettings::weekDay)weekDayTmp;
+ }
}
- 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(), "dd'.'MM'.'yyyy' 'hh:mm:ss");
+ qDebug() << "Configuration::readDateTimeSettings: " +standardTimeChangeMoment.toString("dd.MM.yyyy hh:mm:ss");
}
- 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(), "dd'.'MM'.'yyyy' 'hh:mm:ss");
+ qDebug() << "Configuration::readDateTimeSettings: " +daylightSaveTimeChangeMoment.toString("dd.MM.yyyy hh:mm:ss");
}
}