Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/owncloud/client.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Kamm <mail@ckamm.de>2017-11-05 21:50:09 +0300
committerChristian Kamm <mail@ckamm.de>2018-01-04 16:30:24 +0300
commitab9d6285c6b2aa118c39006d8d1b5c091b848a1a (patch)
tree04273e8cf137a2a17053e0f60a01ab4f4f868542 /src/gui/networksettings.cpp
parent6e445033c7dba3642bc190f6f26da48b7462beb3 (diff)
Proxy: Hostname validation and reconnection on setting change
Where 'validation' currently just means "check whether it's empty". Code adapted from wiggiBe's original PR #6140
Diffstat (limited to 'src/gui/networksettings.cpp')
-rw-r--r--src/gui/networksettings.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/gui/networksettings.cpp b/src/gui/networksettings.cpp
index a981d80c5..018384f1a 100644
--- a/src/gui/networksettings.cpp
+++ b/src/gui/networksettings.cpp
@@ -20,8 +20,11 @@
#include "application.h"
#include "configfile.h"
#include "folderman.h"
+#include "accountmanager.h"
#include <QNetworkProxy>
+#include <QString>
+#include <QList>
namespace OCC {
@@ -73,6 +76,10 @@ NetworkSettings::NetworkSettings(QWidget *parent)
connect(_ui->autoDownloadLimitRadioButton, &QAbstractButton::clicked, this, &NetworkSettings::saveBWLimitSettings);
connect(_ui->downloadSpinBox, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), this, &NetworkSettings::saveBWLimitSettings);
connect(_ui->uploadSpinBox, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), this, &NetworkSettings::saveBWLimitSettings);
+
+ // Warn about empty proxy host
+ connect(_ui->hostLineEdit, &QLineEdit::textChanged, this, &NetworkSettings::checkEmptyProxyHost);
+ checkEmptyProxyHost();
}
NetworkSettings::~NetworkSettings()
@@ -150,6 +157,7 @@ void NetworkSettings::saveProxySettings()
{
ConfigFile cfgFile;
+ checkEmptyProxyHost();
if (_ui->noProxyRadioButton->isChecked()) {
cfgFile.setProxyType(QNetworkProxy::NoProxy);
} else if (_ui->systemProxyRadioButton->isChecked()) {
@@ -170,6 +178,10 @@ void NetworkSettings::saveProxySettings()
// ...and set the folders dirty, they refresh their proxy next time they
// start the sync.
FolderMan::instance()->setDirtyProxy(true);
+
+ for (auto account : AccountManager::instance()->accounts()) {
+ account->freshConnectionAttempt();
+ }
}
void NetworkSettings::saveBWLimitSettings()
@@ -196,4 +208,13 @@ void NetworkSettings::saveBWLimitSettings()
FolderMan::instance()->setDirtyNetworkLimits();
}
+void NetworkSettings::checkEmptyProxyHost()
+{
+ if (_ui->hostLineEdit->isEnabled() && _ui->hostLineEdit->text().isEmpty()) {
+ _ui->hostLineEdit->setStyleSheet("border: 1px solid red");
+ } else {
+ _ui->hostLineEdit->setStyleSheet(QString());
+ }
+}
+
} // namespace OCC