_ui->manualSettings, &QWidget::setEnabled);
connect(_ui->manualProxyRadioButton, &QAbstractButton::toggled,
_ui->typeComboBox, &QWidget::setEnabled);
+ connect(_ui->manualProxyRadioButton, &QAbstractButton::toggled,
+ this, &NetworkSettings::checkAccountLocalhost);
loadProxySettings();
loadBWLimitSettings();
// Warn about empty proxy host
connect(_ui->hostLineEdit, &QLineEdit::textChanged, this, &NetworkSettings::checkEmptyProxyHost);
checkEmptyProxyHost();
+ checkAccountLocalhost();
}
NetworkSettings::~NetworkSettings()
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
<rect>
<x>0</x>
<y>0</y>
- <width>516</width>
- <height>444</height>
+ <width>623</width>
+ <height>581</height>
</rect>
</property>
<property name="windowTitle">
<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">
</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">
</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>