From ea648466de6ecd7b2a806163b9ce337a5bbd620f Mon Sep 17 00:00:00 2001 From: Yaroslav Gurov <31506978+ygurov@users.noreply.github.com> Date: Thu, 26 Feb 2026 10:55:08 +0100 Subject: [PATCH] chore: remove redundant VpnConnection usage from SitesController (#2278) --- client/core/controllers/coreController.cpp | 2 +- client/ui/controllers/sitesController.cpp | 31 +++++----------------- client/ui/controllers/sitesController.h | 7 ++--- 3 files changed, 9 insertions(+), 31 deletions(-) diff --git a/client/core/controllers/coreController.cpp b/client/core/controllers/coreController.cpp index 26267219a..47880ee91 100644 --- a/client/core/controllers/coreController.cpp +++ b/client/core/controllers/coreController.cpp @@ -135,7 +135,7 @@ void CoreController::initControllers() new SettingsController(m_serversModel, m_containersModel, m_languageModel, m_sitesModel, m_appSplitTunnelingModel, m_settings)); m_engine->rootContext()->setContextProperty("SettingsController", m_settingsController.get()); - m_sitesController.reset(new SitesController(m_settings, m_vpnConnection, m_sitesModel)); + m_sitesController.reset(new SitesController(m_settings, m_sitesModel)); m_engine->rootContext()->setContextProperty("SitesController", m_sitesController.get()); m_allowedDnsController.reset(new AllowedDnsController(m_settings, m_allowedDnsModel)); diff --git a/client/ui/controllers/sitesController.cpp b/client/ui/controllers/sitesController.cpp index 08c74a934..985ed5673 100644 --- a/client/ui/controllers/sitesController.cpp +++ b/client/ui/controllers/sitesController.cpp @@ -7,10 +7,8 @@ #include "systemController.h" #include "core/networkUtilities.h" -SitesController::SitesController(const std::shared_ptr &settings, - const QSharedPointer &vpnConnection, - const QSharedPointer &sitesModel, QObject *parent) - : QObject(parent), m_settings(settings), m_vpnConnection(vpnConnection), m_sitesModel(sitesModel) +SitesController::SitesController(const std::shared_ptr &settings, const QSharedPointer &sitesModel, QObject *parent) + : QObject(parent), m_settings(settings), m_sitesModel(sitesModel) { } @@ -34,32 +32,20 @@ void SitesController::addSite(QString hostname) hostname = hostname.split("/", Qt::SkipEmptyParts).first(); } - const auto &processSite = [this](const QString &hostname, const QString &ip) { - m_sitesModel->addSite(hostname, ip); - - if (!ip.isEmpty()) { - QMetaObject::invokeMethod(m_vpnConnection.get(), "addRoutes", Qt::QueuedConnection, - Q_ARG(QStringList, QStringList() << ip)); - } else if (NetworkUtilities::ipAddressWithSubnetRegExp().exactMatch(hostname)) { - QMetaObject::invokeMethod(m_vpnConnection.get(), "addRoutes", Qt::QueuedConnection, - Q_ARG(QStringList, QStringList() << hostname)); - } - }; - - const auto &resolveCallback = [this, processSite](const QHostInfo &hostInfo) { + const auto &resolveCallback = [this](const QHostInfo &hostInfo) { const QList &addresses = hostInfo.addresses(); for (const QHostAddress &addr : hostInfo.addresses()) { if (addr.protocol() == QAbstractSocket::NetworkLayerProtocol::IPv4Protocol) { - processSite(hostInfo.hostName(), addr.toString()); + m_sitesModel->addSite(hostInfo.hostName(), addr.toString()); break; } } }; if (NetworkUtilities::ipAddressWithSubnetRegExp().exactMatch(hostname)) { - processSite(hostname, ""); + m_sitesModel->addSite(hostname, ""); } else { - processSite(hostname, ""); + m_sitesModel->addSite(hostname, ""); QHostInfo::lookupHost(hostname, this, resolveCallback); } @@ -72,9 +58,6 @@ void SitesController::removeSite(int index) auto hostname = m_sitesModel->data(modelIndex, SitesModel::Roles::UrlRole).toString(); m_sitesModel->removeSite(modelIndex); - QMetaObject::invokeMethod(m_vpnConnection.get(), "deleteRoutes", Qt::QueuedConnection, - Q_ARG(QStringList, QStringList() << hostname)); - emit finished(tr("Site removed: %1").arg(hostname)); } @@ -128,8 +111,6 @@ void SitesController::importSites(const QString &fileName, bool replaceExisting) m_sitesModel->addSites(sites, replaceExisting); - QMetaObject::invokeMethod(m_vpnConnection.get(), "addRoutes", Qt::QueuedConnection, Q_ARG(QStringList, ips)); - emit finished(tr("Import completed")); } diff --git a/client/ui/controllers/sitesController.h b/client/ui/controllers/sitesController.h index 8cfe3b397..fbbe383cd 100644 --- a/client/ui/controllers/sitesController.h +++ b/client/ui/controllers/sitesController.h @@ -11,9 +11,8 @@ class SitesController : public QObject { Q_OBJECT public: - explicit SitesController(const std::shared_ptr &settings, - const QSharedPointer &vpnConnection, - const QSharedPointer &sitesModel, QObject *parent = nullptr); + explicit SitesController(const std::shared_ptr &settings, const QSharedPointer &sitesModel, + QObject *parent = nullptr); public slots: void addSite(QString hostname); @@ -31,8 +30,6 @@ signals: private: std::shared_ptr m_settings; - - QSharedPointer m_vpnConnection; QSharedPointer m_sitesModel; };