From 5d16379941c1cbe85c459fc67492d95698961ff9 Mon Sep 17 00:00:00 2001 From: thalieht Date: Thu, 16 Apr 2020 22:34:33 +0300 Subject: [PATCH] Don't uncheck Authentication checkbox when changing proxy type Closes #12525 --- src/gui/optionsdialog.cpp | 2 -- src/webui/www/private/views/preferences.html | 23 +++++++------------- 2 files changed, 8 insertions(+), 17 deletions(-) diff --git a/src/gui/optionsdialog.cpp b/src/gui/optionsdialog.cpp index f2cef9353..a771a0581 100644 --- a/src/gui/optionsdialog.cpp +++ b/src/gui/optionsdialog.cpp @@ -1457,7 +1457,6 @@ void OptionsDialog::enableProxy(const int index) } else { m_ui->checkProxyAuth->setEnabled(false); - m_ui->checkProxyAuth->setChecked(false); m_ui->isProxyOnlyForTorrents->setEnabled(false); m_ui->isProxyOnlyForTorrents->setChecked(true); } @@ -1471,7 +1470,6 @@ void OptionsDialog::enableProxy(const int index) m_ui->checkProxyPeerConnecs->setEnabled(false); m_ui->isProxyOnlyForTorrents->setEnabled(false); m_ui->checkProxyAuth->setEnabled(false); - m_ui->checkProxyAuth->setChecked(false); } } diff --git a/src/webui/www/private/views/preferences.html b/src/webui/www/private/views/preferences.html index 150590f0f..276cc5b6d 100644 --- a/src/webui/www/private/views/preferences.html +++ b/src/webui/www/private/views/preferences.html @@ -1292,26 +1292,19 @@ $('peer_proxy_host_text').setProperty('disabled', !isPeerProxyTypeSelected); $('peer_proxy_port_value').setProperty('disabled', !isPeerProxyTypeSelected); $('use_peer_proxy_checkbox').setProperty('disabled', !isPeerProxyTypeSelected); - $('proxy_only_for_torrents_checkbox').setProperty('disabled', !isPeerProxyTypeSelected); + const isPeerProxyAuthenticatable = ($('peer_proxy_type_select').getProperty('value') === "socks5" || $('peer_proxy_type_select').getProperty('value') === "http"); + $('proxy_only_for_torrents_checkbox').setProperty('disabled', !isPeerProxyAuthenticatable); - if (isPeerProxyTypeSelected) { - const isPeerProxyTypeSocks5 = $('peer_proxy_type_select').getProperty('value') == "socks5"; - $('peer_proxy_auth_checkbox').setProperty('disabled', !isPeerProxyTypeSocks5); + if ($('peer_proxy_type_select').getProperty('value') === "socks4") + $('proxy_only_for_torrents_checkbox').setProperty('checked', true); - if (!isPeerProxyTypeSocks5) { - $('peer_proxy_auth_checkbox').setProperty('checked', isPeerProxyTypeSocks5); - updatePeerProxyAuthSettings(); - } - } - else { - $('peer_proxy_auth_checkbox').setProperty('disabled', !isPeerProxyTypeSelected); - $('peer_proxy_auth_checkbox').setProperty('checked', isPeerProxyTypeSelected); - updatePeerProxyAuthSettings(); - } + $('peer_proxy_auth_checkbox').setProperty('disabled', !isPeerProxyAuthenticatable); + + updatePeerProxyAuthSettings(); }; const updatePeerProxyAuthSettings = function() { - const isPeerProxyAuthEnabled = $('peer_proxy_auth_checkbox').getProperty('checked'); + const isPeerProxyAuthEnabled = (!$('peer_proxy_auth_checkbox').getProperty('disabled') && $('peer_proxy_auth_checkbox').getProperty('checked')); $('peer_proxy_username_text').setProperty('disabled', !isPeerProxyAuthEnabled); $('peer_proxy_password_text').setProperty('disabled', !isPeerProxyAuthEnabled); };