Configuration::Configuration() :
iConnectionSettings(0), iStartupSettings(0), iDisplaySettings(0),
- iDateTimeSettings(0) {
+ iDateTimeSettings(0),
+ iShowConfidentialMeetingDetails(false)
+{
}
Configuration::~Configuration() {
saveAdminPassword(root);
+ bool confidentialMeetingDetailsElementMissing = true;
+
for (QDomNode node = root.firstChild(); !node.isNull(); node
= node.nextSibling()) {
QDomElement e = node.toElement();
saveDisplaySettings(node);
} else if (tagName == QString("daylight_saving_time")) {
saveDateTimeSettings(node);
- }
+ } else if (tagName == QString("privacy")) {
+ confidentialMeetingDetailsElementMissing = false;
+ savePrivacySettings(node);
+ }
+ }
+
+ if( confidentialMeetingDetailsElementMissing )
+ {
+ QDomElement e = root.ownerDocument().createElement("privacy");
+ savePrivacySettings(e);
+ root.appendChild(e);
}
//! Empty the file from previous content and write again with new one
QDomText t = node.ownerDocument().createTextNode(
iConnectionSettings->serverUrl().toString());
if (e.hasChildNodes()) {
-
e.replaceChild(t, e.firstChild());
} else {
e.appendChild(t);
if (tagName == QString("connection")) {
iConnectionSettings = readConnectionSettings(node);
-
} else if (tagName == QString("rooms")) {
iRooms = readRooms(node);
} else if (tagName == QString("language")) {
} else if (tagName == QString("display")) {
iDisplaySettings = readDisplaySettings(node);
} else if (tagName == QString("daylight_saving_time")) {
- iDateTimeSettings = /*Configuration::*/readDateTimeSettings(node);
+ iDateTimeSettings = readDateTimeSettings(node);
+ } else if (tagName == QString("privacy")) {
+ readPrivacySettings(node);
}
}
}
iRooms = aRooms;
}
+void Configuration::readPrivacySettings(const QDomNode &aXML) {
+ QString s = QString("show_confidential_meeting_details");
+
+ QDomElement e = aXML.firstChildElement(s);
+
+ if (e.hasAttribute("enabled") &&
+ e.attribute("enabled") == QString("true")) {
+ iShowConfidentialMeetingDetails = true;
+ }
+ else
+ {
+ iShowConfidentialMeetingDetails = false;
+ }
+}
+
+void Configuration::savePrivacySettings(QDomNode &aXML) {
+ QString s = QString("show_confidential_meeting_details");
+
+ QDomElement e = aXML.firstChildElement(s);
+
+ if (e.isNull()) {
+ e = aXML.ownerDocument().createElement(s);
+ aXML.appendChild(e);
+ }
+
+ if( showConfidentialMeetingDetails() )
+ e.setAttribute("enabled", "true");
+ else
+ e.setAttribute("enabled", "false");
+}
+
+bool Configuration::setShowConfidentialMeetingDetails(
+ bool showconfidentialmeetingdetails) {
+ iShowConfidentialMeetingDetails = showconfidentialmeetingdetails;
+}
+
+bool Configuration::showConfidentialMeetingDetails() {
+ return iShowConfidentialMeetingDetails;
+}
+
QString Configuration::hashPassword(const QString aPassword) {
QCryptographicHash *hash = new QCryptographicHash(QCryptographicHash::Md5);
hash->addData(aPassword.toUtf8());