added import of configs in .ovpn format

- on the "OpenVPN Settings" page, such a config will be displayed as raw text
This commit is contained in:
vladimir.kuznetsov 2022-11-01 23:12:42 +03:00
parent b62d0697be
commit 53d7a92a0d
15 changed files with 430 additions and 322 deletions

View file

@ -35,7 +35,7 @@ OpenVpnLogic::OpenVpnLogic(UiLogic *logic, QObject *parent):
}
void OpenVpnLogic::updateProtocolPage(const QJsonObject &openvpnConfig, DockerContainer container, bool haveAuthData)
void OpenVpnLogic::updateProtocolPage(const QJsonObject &openvpnConfig, DockerContainer container, bool haveAuthData, bool isThirdPartyConfig)
{
qDebug() << "OpenVpnLogic::updateProtocolPage";
set_pageEnabled(haveAuthData);
@ -87,6 +87,16 @@ void OpenVpnLogic::updateProtocolPage(const QJsonObject &openvpnConfig, DockerCo
toString(protocols::openvpn::defaultPort));
set_lineEditPortEnabled(container == DockerContainer::OpenVpn);
auto lastConfig = openvpnConfig.value(config_key::last_config).toString();
auto lastConfigJson = QJsonDocument::fromJson(lastConfig.toUtf8()).object();
QStringList lines = lastConfigJson.value(config_key::config).toString().replace("\r", "").split("\n");
for (const QString &l: lines) {
m_openVpnLastConfigText.append(l + "\n");
}
emit openVpnLastConfigTextChanged(m_openVpnLastConfigText);
set_isThirdPartyConfig(isThirdPartyConfig);
}
void OpenVpnLogic::onPushButtonProtoOpenVpnSaveClicked()