diff options
Diffstat (limited to 'src/widgets/widgets/qlineedit.cpp')
-rw-r--r-- | src/widgets/widgets/qlineedit.cpp | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/src/widgets/widgets/qlineedit.cpp b/src/widgets/widgets/qlineedit.cpp index fb2818de83..3cdd7dc0f0 100644 --- a/src/widgets/widgets/qlineedit.cpp +++ b/src/widgets/widgets/qlineedit.cpp @@ -568,16 +568,10 @@ void QLineEdit::setEchoMode(EchoMode mode) if (mode == (EchoMode)d->control->echoMode()) return; Qt::InputMethodHints imHints = inputMethodHints(); - if (mode == Password || mode == NoEcho) { - imHints |= Qt::ImhHiddenText; - } else { - imHints &= ~Qt::ImhHiddenText; - } - if (mode != Normal) { - imHints |= (Qt::ImhNoAutoUppercase | Qt::ImhNoPredictiveText | Qt::ImhSensitiveData); - } else { - imHints &= ~(Qt::ImhNoAutoUppercase | Qt::ImhNoPredictiveText | Qt::ImhSensitiveData); - } + imHints.setFlag(Qt::ImhHiddenText, mode == Password || mode == NoEcho); + imHints.setFlag(Qt::ImhNoAutoUppercase, mode != Normal); + imHints.setFlag(Qt::ImhNoPredictiveText, mode != Normal); + imHints.setFlag(Qt::ImhSensitiveData, mode != Normal); setInputMethodHints(imHints); d->control->setEchoMode(mode); update(); |