BUGFIX: Proxy settings are now saved even if disabled

This commit is contained in:
Christophe Dumez 2009-01-05 11:42:37 +00:00
parent e3ae03c8a8
commit 3f1081b621
2 changed files with 26 additions and 25 deletions

View file

@ -26,6 +26,7 @@
- BUGFIX: Catch SIGTERM to exit cleanly (e.g. computer shutdown) - BUGFIX: Catch SIGTERM to exit cleanly (e.g. computer shutdown)
- BUGFIX: Improved proxy support code - BUGFIX: Improved proxy support code
- BUGFIX: Fixed systray icon tooltip on Windows - BUGFIX: Fixed systray icon tooltip on Windows
- BUGFIX: Proxy settings are now saved even if disabled
* Sun Nov 9 2008 - Christophe Dumez <chris@qbittorrent.org> - v1.2.1 * Sun Nov 9 2008 - Christophe Dumez <chris@qbittorrent.org> - v1.2.1
- BUGFIX: Fixed possible crash when deleting a torrent permanently - BUGFIX: Fixed possible crash when deleting a torrent permanently

View file

@ -315,38 +315,38 @@ void options_imp::saveOptions(){
settings.setValue(QString::fromUtf8("GlobalDLLimit"), getGlobalBandwidthLimits().first); settings.setValue(QString::fromUtf8("GlobalDLLimit"), getGlobalBandwidthLimits().first);
settings.setValue(QString::fromUtf8("GlobalUPLimit"), getGlobalBandwidthLimits().second); settings.setValue(QString::fromUtf8("GlobalUPLimit"), getGlobalBandwidthLimits().second);
settings.setValue(QString::fromUtf8("ProxyType"), getProxyType()); settings.setValue(QString::fromUtf8("ProxyType"), getProxyType());
if(isProxyEnabled()) { //if(isProxyEnabled()) {
settings.beginGroup("Proxy"); settings.beginGroup("Proxy");
// Proxy is enabled, save settings // Proxy is enabled, save settings
settings.setValue(QString::fromUtf8("IP"), getProxyIp()); settings.setValue(QString::fromUtf8("IP"), getProxyIp());
settings.setValue(QString::fromUtf8("Port"), getProxyPort()); settings.setValue(QString::fromUtf8("Port"), getProxyPort());
settings.setValue(QString::fromUtf8("Authentication"), isProxyAuthEnabled()); settings.setValue(QString::fromUtf8("Authentication"), isProxyAuthEnabled());
if(isProxyAuthEnabled()) { //if(isProxyAuthEnabled()) {
// Credentials // Credentials
settings.setValue(QString::fromUtf8("Username"), getProxyUsername()); settings.setValue(QString::fromUtf8("Username"), getProxyUsername());
settings.setValue(QString::fromUtf8("Password"), getProxyPassword()); settings.setValue(QString::fromUtf8("Password"), getProxyPassword());
} //}
// Affected connections // Affected connections
settings.setValue(QString::fromUtf8("AffectTrackers"), useProxyForTrackers()); settings.setValue(QString::fromUtf8("AffectTrackers"), useProxyForTrackers());
settings.setValue(QString::fromUtf8("AffectPeers"), useProxyForPeers()); settings.setValue(QString::fromUtf8("AffectPeers"), useProxyForPeers());
settings.setValue(QString::fromUtf8("AffectWebSeeds"), useProxyForWebseeds()); settings.setValue(QString::fromUtf8("AffectWebSeeds"), useProxyForWebseeds());
settings.setValue(QString::fromUtf8("AffectDHT"), useProxyForDHT()); settings.setValue(QString::fromUtf8("AffectDHT"), useProxyForDHT());
settings.endGroup(); // End Proxy settings.endGroup(); // End Proxy
} //}
settings.setValue(QString::fromUtf8("HTTPProxyType"), getHTTPProxyType()); settings.setValue(QString::fromUtf8("HTTPProxyType"), getHTTPProxyType());
if(isHTTPProxyEnabled()) { //if(isHTTPProxyEnabled()) {
settings.beginGroup("HTTPProxy"); settings.beginGroup("HTTPProxy");
// Proxy is enabled, save settings // Proxy is enabled, save settings
settings.setValue(QString::fromUtf8("IP"), getHTTPProxyIp()); settings.setValue(QString::fromUtf8("IP"), getHTTPProxyIp());
settings.setValue(QString::fromUtf8("Port"), getHTTPProxyPort()); settings.setValue(QString::fromUtf8("Port"), getHTTPProxyPort());
settings.setValue(QString::fromUtf8("Authentication"), isHTTPProxyAuthEnabled()); settings.setValue(QString::fromUtf8("Authentication"), isHTTPProxyAuthEnabled());
if(isHTTPProxyAuthEnabled()) { //if(isHTTPProxyAuthEnabled()) {
// Credentials // Credentials
settings.setValue(QString::fromUtf8("Username"), getHTTPProxyUsername()); settings.setValue(QString::fromUtf8("Username"), getHTTPProxyUsername());
settings.setValue(QString::fromUtf8("Password"), getHTTPProxyPassword()); settings.setValue(QString::fromUtf8("Password"), getHTTPProxyPassword());
} //}
settings.endGroup(); // End HTTPProxy settings.endGroup(); // End HTTPProxy
} //}
// End Connection preferences // End Connection preferences
settings.endGroup(); settings.endGroup();
// Bittorrent preferences // Bittorrent preferences
@ -563,17 +563,17 @@ void options_imp::loadOptions(){
} }
comboProxyType->setCurrentIndex(intValue); comboProxyType->setCurrentIndex(intValue);
enableProxy(intValue); enableProxy(intValue);
if(isProxyEnabled()) { //if(isProxyEnabled()) {
settings.beginGroup("Proxy"); settings.beginGroup("Proxy");
// Proxy is enabled, save settings // Proxy is enabled, save settings
textProxyIP->setText(settings.value(QString::fromUtf8("IP"), "0.0.0.0").toString()); textProxyIP->setText(settings.value(QString::fromUtf8("IP"), "0.0.0.0").toString());
spinProxyPort->setValue(settings.value(QString::fromUtf8("Port"), 8080).toInt()); spinProxyPort->setValue(settings.value(QString::fromUtf8("Port"), 8080).toInt());
checkProxyAuth->setChecked(settings.value(QString::fromUtf8("Authentication"), false).toBool()); checkProxyAuth->setChecked(settings.value(QString::fromUtf8("Authentication"), false).toBool());
textProxyUsername->setText(settings.value(QString::fromUtf8("Username"), QString()).toString());
textProxyPassword->setText(settings.value(QString::fromUtf8("Password"), QString()).toString());
if(isProxyAuthEnabled()) { if(isProxyAuthEnabled()) {
enableProxyAuth(2); // Enable enableProxyAuth(2); // Enable
// Credentials // Credentials
textProxyUsername->setText(settings.value(QString::fromUtf8("Username"), QString()).toString());
textProxyPassword->setText(settings.value(QString::fromUtf8("Password"), QString()).toString());
} else { } else {
enableProxyAuth(0); // Disable enableProxyAuth(0); // Disable
} }
@ -583,7 +583,7 @@ void options_imp::loadOptions(){
checkProxyWebseeds->setChecked(settings.value(QString::fromUtf8("AffectWebSeeds"), true).toBool()); checkProxyWebseeds->setChecked(settings.value(QString::fromUtf8("AffectWebSeeds"), true).toBool());
checkProxyDHT->setChecked(settings.value(QString::fromUtf8("AffectDHT"), true).toBool()); checkProxyDHT->setChecked(settings.value(QString::fromUtf8("AffectDHT"), true).toBool());
settings.endGroup(); // End Proxy settings.endGroup(); // End Proxy
} //}
intValue = settings.value(QString::fromUtf8("HTTPProxyType"), 0).toInt(); intValue = settings.value(QString::fromUtf8("HTTPProxyType"), 0).toInt();
if(intValue <= 0) { if(intValue <= 0) {
intValue = 0; intValue = 0;
@ -592,22 +592,22 @@ void options_imp::loadOptions(){
} }
comboProxyType_http->setCurrentIndex(intValue); comboProxyType_http->setCurrentIndex(intValue);
enableProxyHTTP(intValue); enableProxyHTTP(intValue);
if(isHTTPProxyEnabled()) {
settings.beginGroup("HTTPProxy"); settings.beginGroup("HTTPProxy");
// Proxy is enabled, save settings textProxyUsername_http->setText(settings.value(QString::fromUtf8("Username"), QString()).toString());
textProxyPassword_http->setText(settings.value(QString::fromUtf8("Password"), QString()).toString());
textProxyIP_http->setText(settings.value(QString::fromUtf8("IP"), "0.0.0.0").toString()); textProxyIP_http->setText(settings.value(QString::fromUtf8("IP"), "0.0.0.0").toString());
spinProxyPort_http->setValue(settings.value(QString::fromUtf8("Port"), 8080).toInt()); spinProxyPort_http->setValue(settings.value(QString::fromUtf8("Port"), 8080).toInt());
checkProxyAuth_http->setChecked(settings.value(QString::fromUtf8("Authentication"), false).toBool()); checkProxyAuth_http->setChecked(settings.value(QString::fromUtf8("Authentication"), false).toBool());
if(isHTTPProxyEnabled()) {
if(isHTTPProxyAuthEnabled()) { if(isHTTPProxyAuthEnabled()) {
enableProxyAuthHTTP(2); // Enable enableProxyAuthHTTP(2); // Enable
// Credentials } else {
textProxyUsername_http->setText(settings.value(QString::fromUtf8("Username"), QString()).toString()); enableProxyAuthHTTP(0); // Disable
textProxyPassword_http->setText(settings.value(QString::fromUtf8("Password"), QString()).toString()); }
} else { } else {
enableProxyAuthHTTP(0); // Disable enableProxyAuthHTTP(0); // Disable
} }
settings.endGroup(); // End HTTPProxy settings.endGroup(); // End HTTPProxy
}
// End Connection preferences // End Connection preferences
settings.endGroup(); settings.endGroup();
// Bittorrent preferences // Bittorrent preferences
@ -1063,7 +1063,7 @@ void options_imp::enableProxy(int index){
textProxyIP->setEnabled(false); textProxyIP->setEnabled(false);
lblProxyPort->setEnabled(false); lblProxyPort->setEnabled(false);
spinProxyPort->setEnabled(false); spinProxyPort->setEnabled(false);
checkProxyAuth->setChecked(false); checkProxyAuth->setEnabled(false);
checkProxyAuth->setEnabled(false); checkProxyAuth->setEnabled(false);
ProxyConnecsBox->setEnabled(false); ProxyConnecsBox->setEnabled(false);
} }
@ -1083,7 +1083,7 @@ void options_imp::enableProxyHTTP(int index){
textProxyIP_http->setEnabled(false); textProxyIP_http->setEnabled(false);
lblProxyPort_http->setEnabled(false); lblProxyPort_http->setEnabled(false);
spinProxyPort_http->setEnabled(false); spinProxyPort_http->setEnabled(false);
checkProxyAuth_http->setChecked(false); checkProxyAuth_http->setEnabled(false);
checkProxyAuth_http->setEnabled(false); checkProxyAuth_http->setEnabled(false);
} }
} }
@ -1154,11 +1154,11 @@ bool options_imp::isHTTPProxyEnabled() const {
} }
bool options_imp::isProxyAuthEnabled() const{ bool options_imp::isProxyAuthEnabled() const{
return checkProxyAuth->isChecked(); return checkProxyAuth->isEnabled() && checkProxyAuth->isChecked();
} }
bool options_imp::isHTTPProxyAuthEnabled() const{ bool options_imp::isHTTPProxyAuthEnabled() const{
return checkProxyAuth_http->isChecked(); return checkProxyAuth_http->isEnabled() && checkProxyAuth_http->isChecked();
} }
QString options_imp::getProxyIp() const{ QString options_imp::getProxyIp() const{