30 , m_settingsFile(settingsPath +
QL1S(
"/networkicon.ini"))
31 , m_currentProxy(nullptr)
45 QSettings settings(m_settingsFile, QSettings::IniFormat);
47 const auto groups = settings.childGroups();
48 for (
const QString &group : groups) {
49 if (group.isEmpty()) {
55 settings.beginGroup(group);
59 m_proxies[group] = proxy;
62 const QString currentName = settings.value(
QSL(
"CurrentProxy"), QString()).toString();
63 m_currentProxy = m_proxies.contains(currentName) ? m_proxies.value(currentName) :
nullptr;
70 return m_proxies.key(m_currentProxy);
75 return m_currentProxy;
80 QSettings settings(m_settingsFile, QSettings::IniFormat);
81 settings.setValue(
QSL(
"CurrentProxy"), name);
83 m_currentProxy = m_proxies.contains(name) ? m_proxies.value(name) :
nullptr;
93 QSettings settings(m_settingsFile, QSettings::IniFormat);
94 settings.beginGroup(name);
98 m_proxies[name] = proxy;
103 if (name.isEmpty()) {
107 QSettings settings(m_settingsFile, QSettings::IniFormat);
108 settings.beginGroup(name);
109 settings.remove(QString());
112 m_proxies.remove(name);
120void SBI_NetworkManager::applyCurrentProxy()
122 if (!m_currentProxy) {
129void SBI_NetworkManager::deleteProxies()
131 qDeleteAll(m_proxies);
void saveProxy(const QString &name, SBI_NetworkProxy *proxy)
SBI_NetworkProxy * currentProxy() const
SBI_NetworkManager(const QString &settingsPath, QObject *parent=nullptr)
void setCurrentProxy(const QString &name)
static SBI_NetworkManager * instance()
QString currentProxyName() const
void removeProxy(const QString &name)
QHash< QString, SBI_NetworkProxy * > proxies() const
void saveToSettings(QSettings &settings) const
void loadFromSettings(const QSettings &settings)