diff options
| author | Elvis Angelaccio <[email protected]> | 2017-08-24 18:33:27 +0200 |
|---|---|---|
| committer | Elvis Angelaccio <[email protected]> | 2017-09-07 21:31:42 +0200 |
| commit | 2fd85facf85b39f84eeada10bcf80060bb72ab51 (patch) | |
| tree | f72067d82a5f6f15486cbb6ae4f7aa806c4ff5a2 /src/dolphinpart.cpp | |
| parent | 735b171451a05cdda77f711ff1ef23408e9389ed (diff) | |
Fix DolphinRemoveAction Shift toggling on Wayland
QGuiApplication::queryKeyboardModifiers() does not work on Wayland [1].
We don't need it in the first place, since we already know (thanks to
the key events) whether Shift has been pressed or released.
So we can just pass this information to DolphinRemoveAction::update().
BUG: 354301
[1]: https://bugreports.qt.io/browse/QTBUG-62786
Differential Revision: https://phabricator.kde.org/D7519
Diffstat (limited to 'src/dolphinpart.cpp')
| -rw-r--r-- | src/dolphinpart.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/dolphinpart.cpp b/src/dolphinpart.cpp index c38625096..b3b47304e 100644 --- a/src/dolphinpart.cpp +++ b/src/dolphinpart.cpp @@ -597,6 +597,7 @@ void DolphinPart::setFilesToSelect(const QList<QUrl>& files) bool DolphinPart::eventFilter(QObject* obj, QEvent* event) { + using ShiftState = DolphinRemoveAction::ShiftState; const int type = event->type(); if ((type == QEvent::KeyPress || type == QEvent::KeyRelease) && m_removeAction) { @@ -604,7 +605,7 @@ bool DolphinPart::eventFilter(QObject* obj, QEvent* event) if (menu && menu->parent() == m_view) { QKeyEvent* ev = static_cast<QKeyEvent*>(event); if (ev->key() == Qt::Key_Shift) { - m_removeAction->update(); + m_removeAction->update(type == QEvent::KeyPress ? ShiftState::Pressed : ShiftState::Released); } } } |
