qt: Improve capslock detection on non-us keyboards (issue #1855)

On non-us keyboards you can obtain lower case characters even pressing
the SHIFT, this caused false positives.
This commit is contained in:
Wladimir J. van der Laan 2013-03-29 10:52:24 +01:00
parent a6d32c94ab
commit 09dfa86baf

View file

@ -235,7 +235,7 @@ bool AskPassphraseDialog::eventFilter(QObject *object, QEvent *event)
if (str.length() != 0) {
const QChar *psz = str.unicode();
bool fShift = (ke->modifiers() & Qt::ShiftModifier) != 0;
if ((fShift && psz->isLower()) || (!fShift && psz->isUpper())) {
if ((fShift && *psz >= 'a' && *psz <= 'z') || (!fShift && *psz >= 'A' && *psz <= 'Z')) {
fCapsLock = true;
ui->capsLabel->setText(tr("Warning: The Caps Lock key is on!"));
} else if (psz->isLetter()) {