+
+void CoreAccountSettings::setJumpKeyMap(const QHash<int, BufferId> &keyMap)
+{
+ QVariantMap variants;
+ QHash<int, BufferId>::const_iterator mapIter = keyMap.constBegin();
+ while (mapIter != keyMap.constEnd()) {
+ variants[QString::number(mapIter.key())] = qVariantFromValue(mapIter.value());
+ ++mapIter;
+ }
+ setAccountValue("JumpKeyMap", variants);
+}
+
+
+QHash<int, BufferId> CoreAccountSettings::jumpKeyMap()
+{
+ QHash<int, BufferId> keyMap;
+ QVariantMap variants = accountValue("JumpKeyMap", QVariant()).toMap();
+ QVariantMap::const_iterator mapIter = variants.constBegin();
+ while (mapIter != variants.constEnd()) {
+ keyMap[mapIter.key().toInt()] = mapIter.value().value<BufferId>();
+ ++mapIter;
+ }
+ return keyMap;
+}
+
+
+void CoreAccountSettings::setBufferViewOverlay(const QSet<int> &viewIds)
+{
+ QVariantList variants;
+ foreach(int viewId, viewIds) {
+ variants << qVariantFromValue(viewId);
+ }
+ setAccountValue("BufferViewOverlay", variants);
+}
+
+
+QSet<int> CoreAccountSettings::bufferViewOverlay()
+{
+ QSet<int> viewIds;
+ QVariantList variants = accountValue("BufferViewOverlay").toList();
+ for (QVariantList::const_iterator iter = variants.constBegin(); iter != variants.constEnd(); iter++) {
+ viewIds << iter->toInt();
+ }
+ return viewIds;
+}
+
+
+void CoreAccountSettings::removeAccount(AccountId id)
+{
+ removeLocalKey(QString("%1").arg(id.toInt()));
+}
+
+
+void CoreAccountSettings::clearAccounts()
+{
+ foreach(const QString &key, localChildGroups())
+ removeLocalKey(key);
+}
+
+
+/***********************************************************************************************/
+// CoreConnectionSettings:
+
+CoreConnectionSettings::CoreConnectionSettings() : ClientSettings("CoreConnection") {}
+
+void CoreConnectionSettings::setNetworkDetectionMode(NetworkDetectionMode mode)
+{
+ setLocalValue("NetworkDetectionMode", mode);
+}
+
+
+CoreConnectionSettings::NetworkDetectionMode CoreConnectionSettings::networkDetectionMode()
+{
+#ifdef HAVE_KDE
+ NetworkDetectionMode def = UseSolid;
+#else
+ NetworkDetectionMode def = UsePingTimeout;
+#endif
+ return (NetworkDetectionMode)localValue("NetworkDetectionMode", def).toInt();
+}
+
+
+void CoreConnectionSettings::setAutoReconnect(bool autoReconnect)
+{
+ setLocalValue("AutoReconnect", autoReconnect);
+}
+
+
+bool CoreConnectionSettings::autoReconnect()
+{
+ return localValue("AutoReconnect", true).toBool();
+}
+
+
+void CoreConnectionSettings::setPingTimeoutInterval(int interval)
+{
+ setLocalValue("PingTimeoutInterval", interval);
+}
+
+
+int CoreConnectionSettings::pingTimeoutInterval()
+{
+ return localValue("PingTimeoutInterval", 60).toInt();
+}
+
+
+void CoreConnectionSettings::setReconnectInterval(int interval)
+{
+ setLocalValue("ReconnectInterval", interval);
+}
+
+
+int CoreConnectionSettings::reconnectInterval()
+{
+ return localValue("ReconnectInterval", 60).toInt();