#include "vpncontrol.h"
#include "stdio.h"
+#include <QSettings>
+
VPNControl::VPNControl(QObject *parent) :
QObject(parent),
vpnProcess(NULL),
vpnStatus(VPNSTATUS_INVALID),
server(""),
- port(1174),
+ port(1194),
compressed(true),
useTLS(true),
tlsDirection(1)
{
+ // Read in the settings
+ QSettings 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();
}
void VPNControl::initialise()
void VPNControl::setTlsDirection(int value)
{
- printf ("TLS direction set to %d\n", value);
- tlsDirection = value;
- emit tlsDirectionChanged (value);
+ if (value != tlsDirection) {
+ printf ("TLS direction set to %d\n", value);
+ tlsDirection = value;
+ settingsSetValue("tlsDirection", value);
+ emit tlsDirectionChanged (value);
+ }
}
bool VPNControl::getUseTLS() const
void VPNControl::setUseTLS(bool value)
{
- printf ("Use TLS set to %d\n", value);
- useTLS = value;
- emit useTLSChanged(useTLS);
+ if (value != useTLS) {
+ printf ("Use TLS set to %d\n", value);
+ useTLS = value;
+ settingsSetValue("useTLS", value);
+ emit useTLSChanged(useTLS);
+ }
}
bool VPNControl::getCompressed() const
void VPNControl::setCompressed(bool value)
{
- printf ("Use compression set to %d\n", value);
- compressed = value;
- emit compressedChanged(compressed);
+ if (value != compressed) {
+ printf ("Use compression set to %d\n", value);
+ compressed = value;
+ settingsSetValue("compressed", value);
+ emit compressedChanged(compressed);
+ }
}
unsigned int VPNControl::getPort() const
void VPNControl::setPort(unsigned int value)
{
- printf ("Port set to %d\n", value);
- port = value;
- emit portChanged(port);
+ if (value != port) {
+ printf ("Port set to %d\n", value);
+ port = value;
+ settingsSetValue("port", value);
+ emit portChanged(port);
+ }
}
QString VPNControl::getServer() const
void VPNControl::setServer(const QString &value)
{
- printf ("Server set to %s\n", value.toUtf8().constData());
- server = value;
- emit serverChanged(server);
+ if (value != server) {
+ printf ("Server set to %s\n", value.toUtf8().constData());
+ server = value;
+ settingsSetValue("server", value);
+ emit serverChanged(server);
+ }
+}
+
+void VPNControl::settingsSetValue (QString key, QString value) {
+ QSettings settings;
+
+ settings.setValue(key, value);
+}
+
+void VPNControl::settingsSetValue (QString key, int value) {
+ QSettings settings;
+
+ settings.setValue(key, value);
}
void VPNControl::vpnConnect() {