-void SessionSettings::cleanup() {
- QStringList sessions = localChildGroups();
- QString str;
- SessionSettings s(sessionId());
- foreach(str, sessions) {
- // load session and check age
- s.setSessionId(str);
- if(s.sessionAge() > 3) {
- s.removeSession();
+void SessionSettings::setSessionId(QString sessionId)
+{
+ _sessionId = std::move(sessionId);
+}
+
+int SessionSettings::sessionAge()
+{
+ QVariant val = localValue(QString("%1/_sessionAge").arg(_sessionId), 0);
+ bool b = false;
+ int i = val.toInt(&b);
+ if (b) {
+ return i;
+ }
+ else {
+ // no int saved, delete session
+ // qDebug() << QString("deleting invalid session %1 (invalid session age found)").arg(_sessionId);
+ removeSession();
+ }
+ return 10;
+}
+
+void SessionSettings::removeSession()
+{
+ QStringList keys = localChildKeys(sessionId());
+ foreach (QString k, keys) {
+ removeKey(k);