Introduce CoreConnectionSettings and a settingspage for configuring it
[quassel.git] / src / client / clientsettings.h
index 5d16f27..3ae5ae4 100644 (file)
@@ -107,6 +107,33 @@ public:
   bool nicksCaseSensitive();
 };
 
+// ========================================
+// CoreConnectionSettings
+// ========================================
+
+class CoreConnectionSettings : public ClientSettings {
+public:
+  enum NetworkDetectionMode {
+    UseSolid,
+    UsePingTimeout,
+    NoActiveDetection
+  };
+
+  CoreConnectionSettings();
+
+  void setNetworkDetectionMode(NetworkDetectionMode mode);
+  NetworkDetectionMode networkDetectionMode();
+
+  void setAutoReconnect(bool autoReconnect);
+  bool autoReconnect();
+
+  void setPingTimeoutInterval(int interval);
+  int pingTimeoutInterval();
+
+  void setReconnectInterval(int interval);
+  int reconnectInterval();
+};
+
 // ========================================
 // TabCompletionSettings
 // ========================================