Merge branch 'dev' of github.com:amnezia-vpn/amnezia-client into feature/new-gui

This commit is contained in:
vladimir.kuznetsov 2023-08-28 14:44:47 +03:00
commit 36a2482165
32 changed files with 948 additions and 3192 deletions

View file

@ -10,6 +10,10 @@
#include <QStandardPaths>
#include <utilities.h>
#ifdef Q_OS_IOS
#include <CoreFoundation/CoreFoundation.h>
#endif
using namespace amnezia;
using namespace PageEnumNS;
@ -89,6 +93,18 @@ void AppSettingsLogic::onPushButtonRestoreAppConfigClicked()
if (fileName.isEmpty()) return;
QFile file(fileName);
#ifdef Q_OS_IOS
CFURLRef url = CFURLCreateWithFileSystemPath(
kCFAllocatorDefault, CFStringCreateWithCharacters(0, reinterpret_cast<const UniChar *>(fileName.unicode()),
fileName.length()),
kCFURLPOSIXPathStyle, 0);
if (!CFURLStartAccessingSecurityScopedResource(url)) {
qDebug() << "Could not access path " << QUrl::fromLocalFile(fileName).toString();
}
#endif
file.open(QIODevice::ReadOnly);
QByteArray data = file.readAll();

View file

@ -18,7 +18,18 @@
#include <QJniObject>
#endif
namespace
#ifdef Q_OS_IOS
#include <CoreFoundation/CoreFoundation.h>
#endif
namespace {
enum class ConfigTypes {
Amnezia,
OpenVpn,
WireGuard
};
ConfigTypes checkConfigFormat(const QString &config)
{
enum class ConfigTypes {
Amnezia,
@ -189,6 +200,18 @@ void StartPageLogic::onPushButtonImportOpenFile()
return;
QFile file(fileName);
#ifdef Q_OS_IOS
CFURLRef url = CFURLCreateWithFileSystemPath(
kCFAllocatorDefault, CFStringCreateWithCharacters(0, reinterpret_cast<const UniChar *>(fileName.unicode()),
fileName.length()),
kCFURLPOSIXPathStyle, 0);
if (!CFURLStartAccessingSecurityScopedResource(url)) {
qDebug() << "Could not access path " << QUrl::fromLocalFile(fileName).toString();
}
#endif
file.open(QIODevice::ReadOnly);
QByteArray data = file.readAll();

View file

@ -175,7 +175,7 @@ void UiLogic::showOnStartup()
void UiLogic::onUpdateAllPages()
{
for (auto logic : m_logicMap) {
if (dynamic_cast<ClientInfoLogic *>(logic) || dynamic_cast<ClientManagementLogic *>(logic)) {
if (dynamic_cast<ClientInfoLogic*>(logic) || dynamic_cast<ClientManagementLogic*>(logic) || dynamic_cast<QrDecoderLogic*>(logic)) {
continue;
}
logic->onUpdatePage();