Commit 3775ef19 authored by Elvis Angelaccio's avatar Elvis Angelaccio

Properly check Shift toggling in DolphinRemoveAction

Documentation of QGuiApplication::keyboardModifiers() says that "It should
be noted this may not reflect the actual keys held on the input device at
the time of calling but rather the modifiers as last reported in one of
the above events".

Since this method is called in DolphinContextMenu's keyPressEvent()
and keyReleaseEvent(), the first time that keyboardModifiers() is
called it doesn't report that shift has been pressed.

Replacing this method with queryKeyboardModifiers() does the job
because the latter doesn't care about the event queue.

BUG: 354301
FIXED-IN: 16.08.2
REVIEW: 128972
parent e93e6d4c
......@@ -45,7 +45,7 @@ void DolphinRemoveAction::update()
// Using setText(action->text()) does not apply the &-shortcut.
// This is only done until the original action has been shown at least once. To
// bypass this issue, the text and &-shortcut is applied manually.
if (qApp->keyboardModifiers() & Qt::ShiftModifier) {
if (qApp->queryKeyboardModifiers() & Qt::ShiftModifier) {
m_action = m_collection ? m_collection->action(QStringLiteral("delete")) : 0;
setText(i18nc("@action:inmenu", "&Delete"));
} else {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment