+QSet<int> CoreAccountSettings::bufferViewOverlay() const
+{
+ 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() const
+{
+ auto mode = localValue("NetworkDetectionMode", UseQNetworkConfigurationManager).toInt();
+ if (mode == 0)
+ mode = UseQNetworkConfigurationManager; // UseSolid is gone, map that to the new default
+ return static_cast<NetworkDetectionMode>(mode);
+}
+
+void CoreConnectionSettings::setAutoReconnect(bool autoReconnect)
+{
+ setLocalValue("AutoReconnect", autoReconnect);
+}
+
+bool CoreConnectionSettings::autoReconnect() const
+{
+ return localValue("AutoReconnect", true).toBool();
+}
+
+void CoreConnectionSettings::setPingTimeoutInterval(int interval)
+{
+ setLocalValue("PingTimeoutInterval", interval);
+}
+
+int CoreConnectionSettings::pingTimeoutInterval() const
+{
+ return localValue("PingTimeoutInterval", 60).toInt();
+}
+
+void CoreConnectionSettings::setReconnectInterval(int interval)
+{
+ setLocalValue("ReconnectInterval", interval);
+}
+
+int CoreConnectionSettings::reconnectInterval() const
+{
+ return localValue("ReconnectInterval", 60).toInt();
+}