MCPcopy Create free account
hub / github.com/PolyMC/PolyMC / updateProxySettings

Method updateProxySettings

launcher/Application.cpp:1490–1549  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1488}
1489
1490void Application::updateProxySettings(QString proxyTypeStr, QString addr, int port, QString user, QString password)
1491{
1492 // Set the application proxy settings.
1493 if (proxyTypeStr == "SOCKS5")
1494 {
1495 QNetworkProxy::setApplicationProxy(
1496 QNetworkProxy(QNetworkProxy::Socks5Proxy, addr, port, user, password));
1497 }
1498 else if (proxyTypeStr == "HTTP")
1499 {
1500 QNetworkProxy::setApplicationProxy(
1501 QNetworkProxy(QNetworkProxy::HttpProxy, addr, port, user, password));
1502 }
1503 else if (proxyTypeStr == "None")
1504 {
1505 // If we have no proxy set, set no proxy and return.
1506 QNetworkProxy::setApplicationProxy(QNetworkProxy(QNetworkProxy::NoProxy));
1507 }
1508 else
1509 {
1510 // If we have "Default" selected, set Qt to use the system proxy settings.
1511 QNetworkProxyFactory::setUseSystemConfiguration(true);
1512 }
1513
1514 qDebug() << "Detecting proxy settings...";
1515 QNetworkProxy proxy = QNetworkProxy::applicationProxy();
1516 m_network->setProxy(proxy);
1517
1518 QString proxyDesc;
1519 if (proxy.type() == QNetworkProxy::NoProxy)
1520 {
1521 qDebug() << "Using no proxy is an option!";
1522 return;
1523 }
1524 switch (proxy.type())
1525 {
1526 case QNetworkProxy::DefaultProxy:
1527 proxyDesc = "Default proxy: ";
1528 break;
1529 case QNetworkProxy::Socks5Proxy:
1530 proxyDesc = "Socks5 proxy: ";
1531 break;
1532 case QNetworkProxy::HttpProxy:
1533 proxyDesc = "HTTP proxy: ";
1534 break;
1535 case QNetworkProxy::HttpCachingProxy:
1536 proxyDesc = "HTTP caching: ";
1537 break;
1538 case QNetworkProxy::FtpCachingProxy:
1539 proxyDesc = "FTP caching: ";
1540 break;
1541 default:
1542 proxyDesc = "DERP proxy: ";
1543 break;
1544 }
1545 proxyDesc += QString("%1:%2")
1546 .arg(proxy.hostName())
1547 .arg(proxy.port());

Callers 1

applySettingsMethod · 0.80

Calls 2

QStringClass · 0.85
typeMethod · 0.45

Tested by

no test coverage detected