diff --git a/vpn/openvpn/CMakeLists.txt b/vpn/openvpn/CMakeLists.txt --- a/vpn/openvpn/CMakeLists.txt +++ b/vpn/openvpn/CMakeLists.txt @@ -23,7 +23,6 @@ KF5::I18n KF5::WidgetsAddons KF5::CoreAddons - KF5::KDELibs4Support # KStandardDirs ) install(TARGETS plasmanetworkmanagement_openvpnui DESTINATION ${KDE_INSTALL_PLUGINDIR}) diff --git a/vpn/openvpn/openvpn.cpp b/vpn/openvpn/openvpn.cpp --- a/vpn/openvpn/openvpn.cpp +++ b/vpn/openvpn/openvpn.cpp @@ -25,10 +25,11 @@ #include #include +#include + #include #include #include -#include #include #include @@ -86,6 +87,12 @@ #define PROC_TYPE_TAG "Proc-Type: 4,ENCRYPTED" #define PKCS8_TAG "-----BEGIN ENCRYPTED PRIVATE KEY-----" +QString localCertPath() +{ + return QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + + QLatin1String("/networkmanagement/certificates/"); +} + QString unQuote(QString &certVal, const QString &fileName) { /* Unquote according to openvpn rules @@ -187,7 +194,7 @@ bool copyCertificates; KMessageBox::ButtonCode buttonCode; if (KMessageBox::shouldBeShownYesNo(QLatin1String("copyCertificatesDialog"), buttonCode)) { - copyCertificates = KMessageBox::questionYesNo(nullptr, i18n("Do you want to copy your certificates to %1?", KStandardDirs::locateLocal("data", "networkmanagement/certificates/")), + copyCertificates = KMessageBox::questionYesNo(nullptr, i18n("Do you want to copy your certificates to %1?", localCertPath()), i18n("Copy certificates"), KStandardGuiItem::yes(), KStandardGuiItem::no(), QLatin1String("copyCertificatesDialog")) == KMessageBox::Yes; } else { copyCertificates = buttonCode == KMessageBox::Yes; @@ -660,7 +667,7 @@ QString OpenVpnUiPlugin::saveFile(QTextStream &in, const QString &endTag, const QString &connectionName, const QString &fileName) { - const QString certificatesDirectory = KStandardDirs::locateLocal("data", "networkmanagement/certificates/" + connectionName); + const QString certificatesDirectory = localCertPath() + connectionName; const QString absoluteFilePath = certificatesDirectory + '/' + fileName; QFile outFile(absoluteFilePath); @@ -687,7 +694,7 @@ QString OpenVpnUiPlugin::tryToCopyToCertificatesDirectory(const QString &connectionName, const QString &sourceFilePath) { - const QString certificatesDirectory = KStandardDirs::locateLocal("data", "networkmanagement/certificates/"); + const QString certificatesDirectory = localCertPath(); const QString absoluteFilePath = certificatesDirectory + connectionName + '_' + QFileInfo(sourceFilePath).fileName(); QFile sourceFile(sourceFilePath);