- _account.setAccountName(ui.accountName->text().trimmed());
- _account.setHostName(ui.hostName->text().trimmed());
- _account.setPort(ui.port->value());
- _account.setUser(ui.user->text().trimmed());
- _account.setPassword(ui.password->text());
- _account.setStorePassword(ui.rememberPassword->isChecked());
- _account.setUseProxy(ui.useProxy->isChecked());
- _account.setProxyHostName(ui.proxyHostName->text().trimmed());
- _account.setProxyPort(ui.proxyPort->value());
- _account.setProxyType(ui.proxyType->currentIndex() == 0 ? QNetworkProxy::Socks5Proxy : QNetworkProxy::HttpProxy);
- _account.setProxyUser(ui.proxyUser->text().trimmed());
- _account.setProxyPassword(ui.proxyPassword->text());
+ QNetworkProxy::ProxyType proxyType = QNetworkProxy::NoProxy;
+ int checkedId = ui.buttonGroupProxyType->checkedId();
+
+ switch (checkedId) {
+ case NoProxy: // QNetworkProxy::NoProxy
+ QNetworkProxyFactory::setUseSystemConfiguration(false);
+ _account.setProxyType(proxyType);
+ break;
+ case SystemProxy: // QNetworkProxy::DefaultProxy:
+ QNetworkProxyFactory::setUseSystemConfiguration(true);
+ _account.setProxyType(QNetworkProxy::DefaultProxy);
+ break;
+ case ManualProxy: // QNetworkProxy::Socks5Proxy || QNetworkProxy::HttpProxy
+ proxyType = ui.proxyType->currentIndex() == 0 ?
+ QNetworkProxy::Socks5Proxy : QNetworkProxy::HttpProxy;
+ QNetworkProxyFactory::setUseSystemConfiguration(false);
+ _account.setAccountName(ui.accountName->text().trimmed());
+ _account.setHostName(ui.hostName->text().trimmed());
+ _account.setPort(ui.port->value());
+ _account.setUser(ui.user->text().trimmed());
+ _account.setPassword(ui.password->text());
+ _account.setStorePassword(ui.rememberPassword->isChecked());
+ _account.setProxyHostName(ui.proxyHostName->text().trimmed());
+ _account.setProxyPort(ui.proxyPort->value());
+ _account.setProxyType(proxyType);
+ _account.setProxyUser(ui.proxyUser->text().trimmed());
+ _account.setProxyPassword(ui.proxyPassword->text());
+ break;
+ default:
+ break;
+ }