mirror of
https://github.com/nextcloud/desktop.git
synced 2024-11-26 23:28:14 +03:00
Network Settings: Show a warning that proxy settings do not apply to localhost
Only show this if at least one account is detected to have an url that looks like localhost, because this could otherwise be confusing Issue #7169
This commit is contained in:
parent
392d3c257c
commit
b97c0ed8a2
3 changed files with 40 additions and 9 deletions
|
@ -55,6 +55,8 @@ NetworkSettings::NetworkSettings(QWidget *parent)
|
|||
_ui->manualSettings, &QWidget::setEnabled);
|
||||
connect(_ui->manualProxyRadioButton, &QAbstractButton::toggled,
|
||||
_ui->typeComboBox, &QWidget::setEnabled);
|
||||
connect(_ui->manualProxyRadioButton, &QAbstractButton::toggled,
|
||||
this, &NetworkSettings::checkAccountLocalhost);
|
||||
|
||||
loadProxySettings();
|
||||
loadBWLimitSettings();
|
||||
|
@ -80,6 +82,7 @@ NetworkSettings::NetworkSettings(QWidget *parent)
|
|||
// Warn about empty proxy host
|
||||
connect(_ui->hostLineEdit, &QLineEdit::textChanged, this, &NetworkSettings::checkEmptyProxyHost);
|
||||
checkEmptyProxyHost();
|
||||
checkAccountLocalhost();
|
||||
}
|
||||
|
||||
NetworkSettings::~NetworkSettings()
|
||||
|
@ -233,8 +236,27 @@ void NetworkSettings::showEvent(QShowEvent *event)
|
|||
checkEmptyProxyHost();
|
||||
saveProxySettings();
|
||||
}
|
||||
checkAccountLocalhost();
|
||||
|
||||
QWidget::showEvent(event);
|
||||
}
|
||||
|
||||
|
||||
void NetworkSettings::checkAccountLocalhost()
|
||||
{
|
||||
bool visible = false;
|
||||
if (_ui->manualProxyRadioButton->isChecked()) {
|
||||
// Check if at least one account is using localhost, because Qt proxy settings have no
|
||||
// effect for localhost (#7169)
|
||||
for (const auto &account : AccountManager::instance()->accounts()) {
|
||||
const auto host = account->account()->url().host();
|
||||
// Some typical url for localhost
|
||||
if (host == "localhost" || host.startsWith("127.") || host == "[::1]")
|
||||
visible = true;
|
||||
}
|
||||
}
|
||||
_ui->labelLocalhost->setVisible(visible);
|
||||
}
|
||||
|
||||
|
||||
} // namespace OCC
|
||||
|
|
|
@ -44,6 +44,8 @@ private slots:
|
|||
/// Red marking of host field if empty and enabled
|
||||
void checkEmptyProxyHost();
|
||||
|
||||
void checkAccountLocalhost();
|
||||
|
||||
protected:
|
||||
void showEvent(QShowEvent *event) override;
|
||||
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>516</width>
|
||||
<height>444</height>
|
||||
<width>623</width>
|
||||
<height>581</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
|
@ -23,6 +23,13 @@
|
|||
<string>Proxy Settings</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="2" column="1">
|
||||
<widget class="QComboBox" name="typeComboBox">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QRadioButton" name="noProxyRadioButton">
|
||||
<property name="text">
|
||||
|
@ -56,13 +63,6 @@
|
|||
</attribute>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QComboBox" name="typeComboBox">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0" colspan="2">
|
||||
<widget class="QWidget" name="manualSettings" native="true">
|
||||
<property name="enabled">
|
||||
|
@ -170,6 +170,13 @@
|
|||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="labelLocalhost">
|
||||
<property name="text">
|
||||
<string>Note: proxy settings have no effects for accounts on localhost</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
|
|
Loading…
Reference in a new issue