fixed display of sites on page split tunneling

This commit is contained in:
vladimir.kuznetsov 2023-10-15 20:41:49 +05:00
parent c7cd8e4c80
commit 7bd1340190
7 changed files with 85 additions and 48 deletions

View file

@ -3,7 +3,13 @@
SitesModel::SitesModel(std::shared_ptr<Settings> settings, QObject *parent)
: QAbstractListModel(parent), m_settings(settings)
{
m_currentRouteMode = m_settings->routeMode();
auto routeMode = m_settings->routeMode();
if (routeMode == Settings::RouteMode::VpnAllSites) {
m_isSplitTunnelingEnabled = false;
m_currentRouteMode = Settings::RouteMode::VpnOnlyForwardSites;
} else {
m_currentRouteMode = routeMode;
}
fillSites();
}
@ -93,6 +99,20 @@ void SitesModel::setRouteMode(int routeMode)
emit routeModeChanged();
}
bool SitesModel::isSplitTunnelingEnabled()
{
return m_isSplitTunnelingEnabled;
}
void SitesModel::toggleSplitTunneling(bool enabled)
{
if (enabled) {
setRouteMode(m_currentRouteMode);
} else {
m_settings->setRouteMode(Settings::RouteMode::VpnAllSites);
}
}
QVector<QPair<QString, QString> > SitesModel::getCurrentSites()
{
return m_sites;