-QList<UiStyle::FormatType> UiStyleSettings::availableFormats() {
- QList<UiStyle::FormatType> formats;
- QStringList list = localChildKeys("Format");
- foreach(QString type, list) {
- formats << (UiStyle::FormatType)type.toInt();
- }
- return formats;
+QString SessionSettings::sessionId() const
+{
+ return _sessionId;
+}
+
+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);
+ }
+}
+
+void SessionSettings::setSessionAge(int age)
+{
+ setValue(QString("_sessionAge"), age);
+}
+
+void SessionSettings::sessionAging()
+{
+ QStringList sessions = localChildGroups();
+ QString str;
+ SessionSettings s(sessionId());
+ foreach (str, sessions) {
+ // load session and check age
+ s.setSessionId(str);
+ s.setSessionAge(s.sessionAge() + 1);
+ }
+}
+
+/**************************************************************************
+ * ShortcutSettings
+ **************************************************************************/
+
+ShortcutSettings::ShortcutSettings()
+ : UiSettings("Shortcuts")
+{}
+
+void ShortcutSettings::clear()
+{
+ for (auto&& key : allLocalKeys()) {
+ removeLocalKey(key);
+ }
+}
+
+QStringList ShortcutSettings::savedShortcuts() const
+{
+ return localChildKeys();
+}
+
+QKeySequence ShortcutSettings::loadShortcut(const QString& name) const
+{
+ return localValue(name, QKeySequence()).value<QKeySequence>();
+}
+
+void ShortcutSettings::saveShortcut(const QString& name, const QKeySequence& seq)
+{
+ setLocalValue(name, seq);