Fix EditColorBox.

Regression was introduced in bfc748cd31.

Fixes #4803.
This commit is contained in:
John Preston 2018-06-06 13:04:37 +03:00
parent 87c07a13a1
commit 5ed15cd0b3
3 changed files with 14 additions and 32 deletions

View File

@ -632,14 +632,17 @@ EditColorBox::EditColorBox(QWidget*, const QString &title, QColor current) : Box
void EditColorBox::prepare() {
setTitle([=] { return _title; });
const auto changed = [=] { fieldChanged(); };
connect(_hueField, &Ui::MaskedInputField::changed, changed);
connect(_saturationField, &Ui::MaskedInputField::changed, changed);
connect(_brightnessField, &Ui::MaskedInputField::changed, changed);
connect(_redField, &Ui::MaskedInputField::changed, changed);
connect(_greenField, &Ui::MaskedInputField::changed, changed);
connect(_blueField, &Ui::MaskedInputField::changed, changed);
connect(_result, &Ui::MaskedInputField::changed, changed);
const auto hsvChanged = [=] { updateFromHSVFields(); };
const auto rgbChanged = [=] { updateFromRGBFields(); };
connect(_hueField, &Ui::MaskedInputField::changed, hsvChanged);
connect(_saturationField, &Ui::MaskedInputField::changed, hsvChanged);
connect(_brightnessField, &Ui::MaskedInputField::changed, hsvChanged);
connect(_redField, &Ui::MaskedInputField::changed, rgbChanged);
connect(_greenField, &Ui::MaskedInputField::changed, rgbChanged);
connect(_blueField, &Ui::MaskedInputField::changed, rgbChanged);
connect(_result, &Ui::MaskedInputField::changed, [=] {
updateFromResultField();
});
const auto submitted = [=] { fieldSubmitted(); };
connect(_hueField, &Ui::MaskedInputField::submitted, submitted);
@ -674,29 +677,6 @@ void EditColorBox::setInnerFocus() {
_result->selectAll();
}
void EditColorBox::fieldChanged() {
auto emitter = sender();
auto checkHSVSender = [this, emitter](QObject *field) {
if (emitter == field) {
updateFromHSVFields();
}
};
auto checkRGBSender = [this, emitter](QObject *field) {
if (emitter == field) {
updateFromRGBFields();
}
};
checkHSVSender(_hueField);
checkHSVSender(_saturationField);
checkHSVSender(_brightnessField);
checkRGBSender(_redField);
checkRGBSender(_greenField);
checkRGBSender(_blueField);
if (emitter == _result) {
updateFromResultField();
}
}
void EditColorBox::fieldSubmitted() {
Ui::MaskedInputField *fields[] = {
_hueField,

View File

@ -37,7 +37,6 @@ protected:
private:
void saveColor();
void fieldChanged();
void fieldSubmitted();
void updateFromColor(QColor color);

View File

@ -1325,9 +1325,12 @@ void WebLoadManager::sendRequest(webFileLoaderPrivate *loader, const QString &re
}
QNetworkReply *r = loader->request(_manager, redirect);
// Those use QObject::sender, so don't just remove the receiver pointer!
connect(r, SIGNAL(downloadProgress(qint64, qint64)), this, SLOT(onProgress(qint64, qint64)));
connect(r, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(onFailed(QNetworkReply::NetworkError)));
connect(r, SIGNAL(metaDataChanged()), this, SLOT(onMeta()));
_replies.insert(r, loader);
}