<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
-<!-- Written by QtCreator 2.8.1, 2014-03-09T01:58:15. -->
+<!-- Written by QtCreator 2.8.1, 2014-03-17T10:17:25. -->
<qtcreator>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
case 4:
tlsKeyFilename.value = engine.selectedFilename
break;
+ case 5:
+ configFilename.value = engine.selectedFilename
+ break;
}
_fileDialogue = 0;
}
ValueButtonAlignRight {
id: clientCertFilename
- value: ((VpnControl.clientCertFile === "") ? "Select" : VpnControl.clientCertFile)
label: "Client cert"
+ value: VpnControl.clientCertFile
+ placeholderText: "Select"
width: parent.width
onClicked: {
_fileDialogue = 2;
ValueButtonAlignRight {
id: clientKeyFilename
- value: ((VpnControl.clientKeyFile === "") ? "Select" : VpnControl.clientKeyFile)
label: "Client key"
+ value: VpnControl.clientKeyFile
+ placeholderText: "Select"
width: parent.width
onClicked: {
_fileDialogue = 3;
ValueButtonAlignRight {
id: tlsKeyFilename
- value: ((VpnControl.tlsKeyFile === "") ? "Select" : VpnControl.tlsKeyFile)
label: "TLS key"
+ value: VpnControl.tlsKeyFile
+ placeholderText: "Select"
width: parent.width
enabled: configureTLS.checked
onClicked: {
Functions.goToInitial(Functions.folderFromFile(value), "key")
}
}
+
+ ValueButtonAlignRight {
+ id: configFilename
+ label: "Extra options"
+ value: VpnControl.configFile
+ placeholderText: "Select"
+ width: parent.width
+ onClicked: {
+ _fileDialogue = 5;
+ Functions.goToInitial(Functions.folderFromFile(value), "ovpn")
+ }
+ }
}
}
VpnControl.setClientCertFile(clientCertFilename.value)
VpnControl.setClientKeyFile(clientKeyFilename.value)
VpnControl.setTlsKeyFile(tlsKeyFilename.value)
+ VpnControl.setConfigFile(configFilename.value)
}
}
id: logOutput
textFormat: Text.PlainText
width: parent.width - 2 * Theme.paddingSmall
+ height: parent.height - 2 * Theme.paddingSmall
wrapMode: Text.WrapAnywhere
font.pixelSize: Theme.fontSizeTiny * 0.6
font.family: "Monospace"
Source0: %{name}-%{version}.tar.bz2
Source100: OpenVPNUI.yaml
Requires: sailfishsilica-qt5 >= 0.10.9
-BuildRequires: pkgconfig(sailfishapp) >= 0.0.10
-BuildRequires: pkgconfig(Qt5Core)
-BuildRequires: pkgconfig(Qt5Qml)
BuildRequires: pkgconfig(Qt5Quick)
+BuildRequires: pkgconfig(Qt5Qml)
+BuildRequires: pkgconfig(Qt5Core)
+BuildRequires: pkgconfig(sailfishapp) >= 0.0.10
BuildRequires: desktop-file-utils
%description
%files
%defattr(-,root,root,-)
-/usr/share/icons/hicolor/86x86/apps
-/usr/share/applications
-/usr/share/OpenVPNUI
-/usr/bin
-%{_datadir}/icons/hicolor/86x86/apps/%{name}.png
-%{_datadir}/applications/%{name}.desktop
-%{_datadir}/%{name}/qml
%{_bindir}
+%{_datadir}/%{name}/qml
+%{_datadir}/applications/%{name}.desktop
+%{_datadir}/icons/hicolor/86x86/apps/%{name}.png
+/usr/bin
+/usr/share/OpenVPNUI
+/usr/share/applications
+/usr/share/icons/hicolor/86x86/apps
# >> files
# << files
Configure: none
Builder: qtc5
PkgConfigBR:
-- sailfishapp >= 0.0.10
-- Qt5Core
-- Qt5Qml
- Qt5Quick
+- Qt5Qml
+- Qt5Core
+- sailfishapp >= 0.0.10
Requires:
- sailfishsilica-qt5 >= 0.10.9
Files:
-- /usr/share/icons/hicolor/86x86/apps
-- /usr/share/applications
-- /usr/share/OpenVPNUI
-- /usr/bin
-- '%{_datadir}/icons/hicolor/86x86/apps/%{name}.png'
-- '%{_datadir}/applications/%{name}.desktop'
-- '%{_datadir}/%{name}/qml'
- '%{_bindir}'
+- '%{_datadir}/%{name}/qml'
+- '%{_datadir}/applications/%{name}.desktop'
+- '%{_datadir}/icons/hicolor/86x86/apps/%{name}.png'
+- /usr/bin
+- /usr/share/OpenVPNUI
+- /usr/share/applications
+- /usr/share/icons/hicolor/86x86/apps
PkgBR: []
{
// 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()
}
}
+void VPNControl::setConfigFile(const QString &value)
+{
+ if (value != configFile) {
+ configFile = value;
+ settingsSetValue("configFile", value);
+ emit tlsKeyFileChanged(configFile);
+ }
+}
+
QString VPNControl::getClientCertFile () const
{
return clientCertFile;
return tlsKeyFile;
}
+QString VPNControl::getConfigFile () const
+{
+ return configFile;
+}
+
QString VPNControl::getLogText() const
{
return logText;
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);
{
Q_OBJECT
+ // General properties
+ Q_PROPERTY (QString logText READ getLogText WRITE setLogText NOTIFY logTextChanged)
+
+ // Configuration properties
Q_PROPERTY (QString server READ getServer WRITE setServer NOTIFY serverChanged)
Q_PROPERTY (unsigned int port READ getPort WRITE setPort NOTIFY portChanged)
Q_PROPERTY (bool compressed READ getCompressed WRITE setCompressed NOTIFY compressedChanged)
Q_PROPERTY (QString clientCertFile READ getClientCertFile WRITE setClientCertFile NOTIFY clientCertFileChanged)
Q_PROPERTY (QString clientKeyFile READ getClientKeyFile WRITE setClientKeyFile NOTIFY clientKeyFileChanged)
Q_PROPERTY (QString tlsKeyFile READ getTlsKeyFile WRITE setTlsKeyFile NOTIFY tlsKeyFileChanged)
-
- Q_PROPERTY (QString logText READ getLogText WRITE setLogText NOTIFY logTextChanged)
+ Q_PROPERTY (QString configFile READ getConfigFile WRITE setConfigFile NOTIFY configFileChanged)
private:
+ // General variables
QProcess * vpnProcess;
VPNSTATUS vpnStatus;
QStringList arguments;
QString clientCertFile;
QString clientKeyFile;
QString tlsKeyFile;
+ QString configFile;
+ // Internal methods
void collectArguments ();
void setStatus (VPNSTATUS newStatus);
void addArgument (QString key, QString value);
void settingsSetValue (QString key, int value);
public:
+ // General methods
explicit VPNControl(QObject *parent = 0);
void initialise();
+ QString getLogText() const;
+
+ // Configuration retreival methods
QString getServer() const;
unsigned int getPort() const;
bool getCompressed() const;
QString getClientCertFile () const;
QString getClientKeyFile () const;
QString getTlsKeyFile () const;
-
- QString getLogText() const;
+ QString getConfigFile () const;
signals:
+ // General signals
void statusChanged(int status);
+ void logTextChanged (QString &logText);
+
+ // Configuration change signals
void serverChanged(QString &server);
void portChanged(unsigned int port);
void compressedChanged(bool compressed);
void clientCertFileChanged(QString &clientCertFile);
void clientKeyFileChanged(QString &clientKeyFile);
void tlsKeyFileChanged(QString &tlsKeyFile);
-
- void logTextChanged (QString &logText);
+ void configFileChanged(QString &configFile);
public slots:
+ // General methods
void vpnConnect ();
void vpnDisconnect ();
void readData ();
void finished (int code);
void readError (QProcess::ProcessError error);
void updateConfiguration ();
+ void setLogText(const QString &value);
+ void logAppend(const QString &text);
+
+ // Configuration setting
void setServer(const QString &value);
void setPort(unsigned int value);
void setCompressed(bool value);
void setClientCertFile(const QString &value);
void setClientKeyFile(const QString &value);
void setTlsKeyFile(const QString &value);
-
- void setLogText(const QString &value);
- void logAppend(const QString &text);
+ void setConfigFile(const QString &value);
};
#endif // VPNCONTROL_H