NetworkSettings::NetworkSettings(QWidget *parent) : QWidget(parent), _ui(new Ui::NetworkSettings) { _ui->setupUi(this); _ui->hostLineEdit->setPlaceholderText(tr("Hostname of proxy server")); _ui->userLineEdit->setPlaceholderText(tr("Username for proxy server")); _ui->passwordLineEdit->setPlaceholderText(tr("Password for proxy server")); _ui->typeComboBox->addItem(tr("HTTP(S) proxy"), QNetworkProxy::HttpProxy); _ui->typeComboBox->addItem(tr("SOCKS5 proxy"), QNetworkProxy::Socks5Proxy); _ui->authRequiredcheckBox->setEnabled(true); connect(_ui->manualProxyRadioButton, SIGNAL(toggled(bool)), _ui->manualSettings, SLOT(setEnabled(bool))); connect(_ui->manualProxyRadioButton, SIGNAL(toggled(bool)), _ui->typeComboBox, SLOT(setEnabled(bool))); connect(_ui->authRequiredcheckBox, SIGNAL(toggled(bool)), _ui->authWidgets, SLOT(setEnabled(bool))); loadProxySettings(); loadBWLimitSettings(); // proxy connect(_ui->typeComboBox, SIGNAL(currentIndexChanged(int)), SLOT(saveProxySettings())); connect(_ui->proxyButtonGroup, SIGNAL(buttonClicked(int)), SLOT(saveProxySettings())); connect(_ui->hostLineEdit, SIGNAL(editingFinished()), SLOT(saveProxySettings())); connect(_ui->userLineEdit, SIGNAL(editingFinished()), SLOT(saveProxySettings())); connect(_ui->passwordLineEdit, SIGNAL(editingFinished()), SLOT(saveProxySettings())); connect(_ui->portSpinBox, SIGNAL(editingFinished()), SLOT(saveProxySettings())); connect(_ui->uploadLimitRadioButton, SIGNAL(clicked()), SLOT(saveBWLimitSettings())); connect(_ui->noUploadLimitRadioButton, SIGNAL(clicked()), SLOT(saveBWLimitSettings())); connect(_ui->autoUploadLimitRadioButton, SIGNAL(clicked()), SLOT(saveBWLimitSettings())); connect(_ui->downloadLimitRadioButton, SIGNAL(clicked()), SLOT(saveBWLimitSettings())); connect(_ui->noDownloadLimitRadioButton, SIGNAL(clicked()), SLOT(saveBWLimitSettings())); connect(_ui->downloadSpinBox, SIGNAL(valueChanged(int)), SLOT(saveBWLimitSettings())); connect(_ui->uploadSpinBox, SIGNAL(valueChanged(int)), SLOT(saveBWLimitSettings())); }
void NetworkSettings::loadBWLimitSettings() { ConfigFile cfgFile; #if QT_VERSION < QT_VERSION_CHECK(5,3,3) // QNAM bandwidth limiting only works with versions of Qt greater or equal to 5.3.3 // (It needs Qt commits 097b641 and b99fa32) const char *v = qVersion(); // "x.y.z"; if (QLatin1String(v) < QLatin1String("5.3.3")) { QString tooltip = tr("Qt >= 5.4 is required in order to use the bandwidth limit"); _ui->downloadBox->setEnabled(false); _ui->uploadBox->setEnabled(false); _ui->downloadBox->setToolTip(tooltip); _ui->uploadBox->setToolTip(tooltip); _ui->noDownloadLimitRadioButton->setChecked(true); _ui->noUploadLimitRadioButton->setChecked(true); if (cfgFile.useUploadLimit() != 0 || cfgFile.useDownloadLimit() != 0) { // Update from old mirall that was using neon propagator jobs. saveBWLimitSettings(); } return; } #endif int useDownloadLimit = cfgFile.useDownloadLimit(); if ( useDownloadLimit >= 1 ) { _ui->downloadLimitRadioButton->setChecked(true); } else if (useDownloadLimit == 0){ _ui->noDownloadLimitRadioButton->setChecked(true); } else { _ui->autoDownloadLimitRadioButton->setChecked(true); } _ui->downloadSpinBox->setValue(cfgFile.downloadLimit()); int useUploadLimit = cfgFile.useUploadLimit(); if ( useUploadLimit >= 1 ) { _ui->uploadLimitRadioButton->setChecked(true); } else if (useUploadLimit == 0){ _ui->noUploadLimitRadioButton->setChecked(true); } else { _ui->autoUploadLimitRadioButton->setChecked(true); } _ui->uploadSpinBox->setValue(cfgFile.uploadLimit()); }