FancyLineEdit: Avoid using sender()

Change-Id: I90a90403ed53133905b7813b5907994f82986257
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
Jarek Kobus
2022-07-19 17:16:35 +02:00
parent 62b1d574f5
commit 24c6073196
2 changed files with 14 additions and 17 deletions

View File

@@ -195,8 +195,12 @@ FancyLineEdit::FancyLineEdit(QWidget *parent) :
ensurePolished(); ensurePolished();
updateMargins(); updateMargins();
connect(d->m_iconbutton[Left], &QAbstractButton::clicked, this, &FancyLineEdit::iconClicked); connect(d->m_iconbutton[Left], &QAbstractButton::clicked, this, [this] {
connect(d->m_iconbutton[Right], &QAbstractButton::clicked, this, &FancyLineEdit::iconClicked); iconClicked(Left);
});
connect(d->m_iconbutton[Right], &QAbstractButton::clicked, this, [this] {
iconClicked(Right);
});
connect(this, &QLineEdit::textChanged, this, &FancyLineEdit::validate); connect(this, &QLineEdit::textChanged, this, &FancyLineEdit::validate);
connect(&d->m_completionShortcut, &QShortcut::activated, this, [this] { connect(&d->m_completionShortcut, &QShortcut::activated, this, [this] {
if (!completer()) if (!completer())
@@ -238,27 +242,20 @@ bool FancyLineEdit::isButtonVisible(Side side) const
return d->m_iconEnabled[side]; return d->m_iconEnabled[side];
} }
QAbstractButton *FancyLineEdit::button(FancyLineEdit::Side side) const QAbstractButton *FancyLineEdit::button(Side side) const
{ {
return d->m_iconbutton[side]; return d->m_iconbutton[side];
} }
void FancyLineEdit::iconClicked() void FancyLineEdit::iconClicked(Side side)
{ {
auto button = qobject_cast<IconButton *>(sender()); if (d->m_menu[side]) {
int index = -1; execMenuAtWidget(d->m_menu[side], button(side));
for (int i = 0; i < 2; ++i)
if (d->m_iconbutton[i] == button)
index = i;
if (index == -1)
return;
if (d->m_menu[index]) {
execMenuAtWidget(d->m_menu[index], button);
} else { } else {
emit buttonClicked((Side)index); emit buttonClicked(side);
if (index == Left) if (side == Left)
emit leftButtonClicked(); emit leftButtonClicked();
else if (index == Right) else if (side == Right)
emit rightButtonClicked(); emit rightButtonClicked();
} }
} }

View File

@@ -156,7 +156,7 @@ protected:
virtual QString fixInputString(const QString &string); virtual QString fixInputString(const QString &string);
private: private:
void iconClicked(); void iconClicked(FancyLineEdit::Side);
static bool validateWithValidator(FancyLineEdit *edit, QString *errorMessage); static bool validateWithValidator(FancyLineEdit *edit, QString *errorMessage);
// Unimplemented, to force the user to make a decision on // Unimplemented, to force the user to make a decision on