Added configurable path to extra configuration file.
[openvpnui.git] / src / vpncontrol.cpp
index 3588f7b..12ca3f1 100644 (file)
@@ -15,18 +15,19 @@ VPNControl::VPNControl(QObject *parent) :
 {
     // Read in the settings
     QSettings settings;
+    settings.setValue("showAll", false);
 
+    // Read configuration settings
     server = settings.value("server", "127.0.0.1").toString();
     port = settings.value("port", 1194).toInt();
     compressed = settings.value("compressed", true).toBool();
     useTLS = settings.value("useTLS", true).toBool();
     tlsDirection = settings.value("tlsDirection", 1).toInt();
     caCertFile = settings.value("caCertFile", "").toString();
-    clientCertFile = settings.value("clientCertFile", "").toString();;
-    clientKeyFile = settings.value("clientKeyFile", "").toString();;
-    tlsKeyFile = settings.value("tlsKeyFile", "").toString();;
-
-    settings.setValue("showAll", false);
+    clientCertFile = settings.value("clientCertFile", "").toString();
+    clientKeyFile = settings.value("clientKeyFile", "").toString();
+    tlsKeyFile = settings.value("tlsKeyFile", "").toString();
+    configFile = settings.value("configFile", "").toString();
 }
 
 void VPNControl::initialise()
@@ -152,6 +153,15 @@ void VPNControl::setTlsKeyFile(const QString &value)
     }
 }
 
+void VPNControl::setConfigFile(const QString &value)
+{
+    if (value != configFile) {
+        configFile = value;
+        settingsSetValue("configFile", value);
+        emit tlsKeyFileChanged(configFile);
+    }
+}
+
 QString VPNControl::getClientCertFile () const
 {
     return clientCertFile;
@@ -167,6 +177,11 @@ QString VPNControl::getTlsKeyFile () const
     return tlsKeyFile;
 }
 
+QString VPNControl::getConfigFile () const
+{
+    return configFile;
+}
+
 QString VPNControl::getLogText() const
 {
     return logText;
@@ -214,7 +229,7 @@ void VPNControl::vpnConnect() {
 void VPNControl::collectArguments () {
     arguments.clear();
 
-    addArgumentNonempty("config", "/home/nemo/Documents/Configure/OpenVPN/config.ovpn");
+    addArgumentNonempty("config", configFile);
     addArgumentNonempty("remote", server);
     addArgumentNonempty("port", QString::number(port));
     addOption("comp-lzo", compressed);