Merge remote-tracking branch 'origin/dev' into ios-wireguard

This commit is contained in:
Alex Kh 2022-02-23 18:51:25 +04:00
commit 8591d4e96c
31 changed files with 287 additions and 2632 deletions

View file

@ -3,6 +3,7 @@
#include "debug.h"
#include "defines.h"
#include "ui/qautostart.h"
#include "ui/uilogic.h"
#include <QDesktopServices>
#include <QFileDialog>
@ -65,22 +66,7 @@ void AppSettingsLogic::onPushButtonOpenLogsClicked()
void AppSettingsLogic::onPushButtonExportLogsClicked()
{
QString log = Debug::getLogFile();
QString ext = ".log";
QString fileName = QFileDialog::getSaveFileName(nullptr, tr("Save log"),
QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation), "*" + ext);
if (fileName.isEmpty()) return;
if (!fileName.endsWith(ext)) fileName.append(ext);
QFile save(fileName);
save.open(QIODevice::WriteOnly);
save.write(log.toUtf8());
save.close();
QFileInfo fi(fileName);
QDesktopServices::openUrl(fi.absoluteDir().absolutePath());
uiLogic()->saveTextFile(tr("Save log"), "AmneziaVPN.log", ".log", Debug::getLogFile());
}
void AppSettingsLogic::onPushButtonClearLogsClicked()

View file

@ -8,6 +8,7 @@
#include "core/errorstrings.h"
#include <core/servercontroller.h>
#include <QTimer>
ServerSettingsLogic::ServerSettingsLogic(UiLogic *logic, QObject *parent):
PageLogicBase(logic, parent),

View file

@ -206,6 +206,6 @@ void SitesLogic::onPushButtonSitesExportClicked()
for (auto s : sites.keys()) {
data += s + "\t" + sites.value(s).toString() + "\n";
}
uiLogic()->saveTextFile("Sites", ".txt", data);
uiLogic()->saveTextFile("Export Sites", "sites.txt", ".txt", data);
}

View file

@ -1,7 +1,10 @@
#include <QApplication>
#include "VpnLogic.h"
#include "core/errorstrings.h"
#include "vpnconnection.h"
#include <QTimer>
#include <functional>
#include "../uilogic.h"
#include "defines.h"
@ -19,6 +22,8 @@ VpnLogic::VpnLogic(UiLogic *logic, QObject *parent):
m_labelSpeedReceivedText{tr("0 Mbps")},
m_labelSpeedSentText{tr("0 Mbps")},
m_labelStateText{},
m_isContainerHaveAuthData{false},
m_isContainerSupportedByCurrentPlatform{false},
m_widgetVpnModeEnabled{false}
{
connect(uiLogic()->m_vpnConnection, &VpnConnection::bytesChanged, this, &VpnLogic::onBytesChanged);
@ -49,6 +54,8 @@ void VpnLogic::onUpdatePage()
selectedContainer == DockerContainer::ShadowSocks||
selectedContainer == DockerContainer::Cloak);
set_isContainerHaveAuthData(m_settings.haveAuthData(m_settings.defaultServerIndex()));
set_radioButtonVpnModeAllSitesChecked(mode == Settings::VpnAllSites || !isCustomRoutesSupported());
set_radioButtonVpnModeForwardSitesChecked(mode == Settings::VpnOnlyForwardSites && isCustomRoutesSupported());
set_radioButtonVpnModeExceptSitesChecked(mode == Settings::VpnAllExceptSites && isCustomRoutesSupported());
@ -72,8 +79,8 @@ void VpnLogic::onUpdatePage()
}
set_isContainerWorkingOnPlatform(ContainerProps::isWorkingOnPlatform(selectedContainer));
if (!isContainerWorkingOnPlatform()) {
set_isContainerSupportedByCurrentPlatform(ContainerProps::isSupportedByCurrentPlatform(selectedContainer));
if (!isContainerSupportedByCurrentPlatform()) {
set_labelErrorText(tr("AmneziaVPN not supporting selected protocol on this device. Select another protocol."));
}
else {
@ -238,6 +245,6 @@ void VpnLogic::onConnectWorker(int serverIndex, const ServerCredentials &credent
void VpnLogic::onDisconnect()
{
set_pushButtonConnectChecked(false);
onConnectionStateChanged(VpnProtocol::Disconnected);
emit disconnectFromVpn();
}

View file

@ -22,7 +22,8 @@ class VpnLogic : public PageLogicBase
AUTO_PROPERTY(bool, pushButtonConnectEnabled)
AUTO_PROPERTY(bool, pushButtonConnectVisible)
AUTO_PROPERTY(bool, widgetVpnModeEnabled)
AUTO_PROPERTY(bool, isContainerWorkingOnPlatform)
AUTO_PROPERTY(bool, isContainerSupportedByCurrentPlatform)
AUTO_PROPERTY(bool, isContainerHaveAuthData)
AUTO_PROPERTY(QString, labelErrorText)
AUTO_PROPERTY(QString, labelVersionText)