Configuration::Configuration() :
iConnectionSettings( 0 ),
iStartupSettings( 0 ),
- iDisplaySettings( 0 )
+ iDisplaySettings( 0 ),
+ iDateTimeSettings( 0 )
{
}
delete iConnectionSettings;
delete iStartupSettings;
delete iDisplaySettings;
+ delete iDateTimeSettings;
while ( !iRooms.isEmpty() )
{
delete iRooms.takeFirst();
return iDisplaySettings;
}
+DateTimeSettings * Configuration::dateTimeSettings()
+{
+ return iDateTimeSettings;
+}
+
Room* Configuration::defaultRoom()
{
// default room is stored as the first element of the list
{
saveDisplaySettings( node );
}
+ else if (tagName == QString( "datetime" ) )
+ {
+ saveDateTimeSettings( node );
+ }
}
//! Empty the file from previous content and write again with new one
}
}
+void Configuration::saveDateTimeSettings( const QDomNode &aXML )
+{
+ for ( QDomNode node = aXML.firstChild(); !node.isNull(); node = node.nextSibling() )
+ {
+ QDomElement e = node.toElement();
+ QString tagName = e.tagName().toLower();
+
+ if ( tagName == QString( "dayofweek" ) )
+ {
+ QDomText t = node.ownerDocument().createTextNode( iDateTimeSettings->iDayOfWeek);
+ e.replaceChild( t, e.firstChild() );
+ }
+ else if( tagName == QString( "StandardTimeChangeMoment" ) )
+ {
+ QDomText t = node.ownerDocument().createTextNode( iDateTimeSettings->iStandardTimeChangeMoment.toString("dd.MM.yyyy hh:mm:ss"));
+ e.replaceChild( t, e.firstChild() );
+ }
+ else if( tagName == QString( "DaylightSaveTimeChangeMoment" ) )
+ {
+ QDomText t = node.ownerDocument().createTextNode( iDateTimeSettings->iDaylightSaveTimeChangeMoment.toString("dd.MM.yyyy hh:mm:ss"));
+ e.replaceChild( t, e.firstChild() );
+ }
+ }
+}
+
void Configuration::saveAdminPassword( const QDomNode &aXML )
{
QDomElement e = aXML.toElement();
{
conf->iDisplaySettings = Configuration::readDisplaySettings( node );
}
+ else if ( tagName == QString( "datetime" ) )
+ {
+ conf->iDateTimeSettings = Configuration::readDateTimeSettings(node);
+ }
}
return conf;
return new DisplaySettings( dateformat, timeformat, daysInSchedule, dayStartsAt, dayEndsAt, screensaver );
}
+DateTimeSettings * Configuration::readDateTimeSettings( const QDomNode &aXML )
+{
+ QDateTime standardTimeChangeMoment;
+ QDateTime daylightSaveTimeChangeMoment;
+ QString dayOfWeek;
+
+ for ( QDomNode node = aXML.firstChild(); !node.isNull(); node = node.nextSibling() )
+ {
+ QDomElement e = node.toElement();
+ QString tagName = e.tagName().toLower();
+
+ if ( tagName == QString( "dayofweek" ) )
+ {
+ dayOfWeek = e.text();
+ }
+ else if( tagName == QString( "StandardTimeChangeMoment" ) )
+ {
+ standardTimeChangeMoment.fromString(e.text(), "dd.MM.yyyy hh:mm:ss");
+ }
+ else if( tagName == QString( "DaylightSaveTimeChangeMoment" ) )
+ {
+ daylightSaveTimeChangeMoment.fromString(e.text(), "dd.MM.yyyy hh:mm:ss");
+ }
+ }
+
+ return new DateTimeSettings(standardTimeChangeMoment, daylightSaveTimeChangeMoment, dayOfWeek);
+}
+
QByteArray Configuration::readAdminPassword( const QDomNode &aXML )
{
QDomElement e = aXML.toElement();