Summary: | Spacebar to play/pause only works when using Elisa in English | ||
---|---|---|---|
Product: | [Applications] Elisa | Reporter: | Matej Mrenica <matejm98mthw> |
Component: | general | Assignee: | Nate Graham <nate> |
Status: | RESOLVED FIXED | ||
Severity: | major | CC: | bugseforuns, damikope, freggel.doe, matejm98mthw, nate, postix |
Priority: | HI | Keywords: | usability |
Version: | 21.12.2 | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/multimedia/elisa/commit/fd858caf0e780f74275c56f4083517ef9e8056b4 | Version Fixed In: | 22.04 |
Sentry Crash Report: |
Description
Matej Mrenica
2019-07-22 14:54:30 UTC
Works for me FWIW. I just tried this on kde neon unstable and it works correctly, so this is Arch-only bug or my-setup-only bug. Do you know what .config files might affect this (so I can delete them)? I don't think there are any config files involved at all; this is hardcoded. But you can always try deleting ~/.config/elisarc. I would recommend reporting this to the Arch packagers. Thanks! I reported this in Arch bug tracker and I was sent back here: https://bugs.archlinux.org/task/63263 It looks like the issue is caused by Spacebar not being recognised if using a different language (and thus spacebar has different name). Thanks, that's very helpful. This patch (https://phabricator.kde.org/D22718) did not fix the issue for me when I tested it, but if you have the ability to test patches, can you give it a try too? I tried the patch you made, but it didn't change anything. Just to add, space-to-play/pause works only if English is the only set language. Having more languages set as preferred even though English is the first, doesn't work. That sounds like it might be fallout from Bug 327757. Yes that sounds exactly like that. If I set my languages to: 1. en_us 2. sk_sk then Elisa uses the name of spacebar (in shortcut settings) from sk_sk language. And that might be why spacebar isn't recognised as spacebar. Although it doesn't completely explain why spacebar doesn't work with sk_sk language only. (In reply to mthw0 from comment #10) > Although it doesn't completely explain why spacebar doesn't work with sk_sk > language only. Right, and that's why this specific bug is a separate issue from Bug 327757. I have american english and portuguese languages in regional settings. Space bar works to play/pause music after I click outside of the search field even if plasma/elisa language is portuguese. elisa 19.12.2 Operating System: Arch Linux KDE Plasma Version: 5.17.90 KDE Frameworks Version: 5.67.0 Qt Version: 5.14.1 Matej, is this still reproducible for you with Elisa 19.12.0 when the search field isn't focused? Yes it is. Darn. (In reply to Matej Mrenica from comment #14) > Yes it is. I am sorry, but I have tested with 19.12.3 version and cannot reproduce if I start Elisa this way: LANG=sk_SK.UTF-8 LANGUAGE=sk_SK ./elisa The interface is correctly translated but spacebar works as long as a text entry is not focused. I am now on a new computer and I don't have this issue anymore. There must be something messed up with the old setup. Even though the issue was not resolved I won't object if you decide to close this issue. Thanks for your answer. Feel free to reopen the bug if you see this bug again. Best regards *** Bug 429932 has been marked as a duplicate of this bug. *** Apparently this is still sometimes happening; see duplicate bug 429932 which involves a user with Elisa in German. > which involves a user with Elisa in German.
This is me.
I just noticed that if I click in the "files" or "radio" section on the play button so that song/radio stream starts playing,
I can use the spacebar!
However, the song/radio stream only pauses for a fraction of a second and then continues playing.
Once I select another UI element, the spacebar does nothing anymore.
I am assuming the name for Spacebar is translated in German translation, I remember changing the translation for Slovak so it's not translated and now It works correctly. But that might be just a coincidence, since I also changed computers. (In reply to Matej Mrenica from comment #22) > I am assuming the name for Spacebar is translated in German translation, I > remember changing the translation for Slovak so it's not translated and now > It works correctly. Yes it is translated to "Leertaste". Found the issue. Fixing shortly. Git commit 904dc9fbdb007b3690dd58d77307679811256f3c by Nate Graham. Committed on 03/12/2020 at 20:47. Pushed by ngraham into branch 'release/20.12'. Don't look for translated version of "Play-Pause" shortcut Shortcuts should always use bare string literals instead of translations because this causes issues in cases where the string has not been translated in some languages, or when it gets customized before or after the translation takes place. This commit fixes the problem by always searching for the string literal. FIXED-IN: 20.12.1 M +1 -1 src/elisaapplication.cpp https://invent.kde.org/multimedia/elisa/commit/904dc9fbdb007b3690dd58d77307679811256f3c \o/ Thanks! My pleasure! I completely purged all traces of Elisa 20.08.x and reinstalled Elisa 20.12.1 and I still can reproduce the bug with a German locale. :-( I used to have this issue, but not anymore. I also changed the translation so it's not translated anymore, so I am not sure what fixed it. I can reproduce in Elisa 21.08.1 and system as below: Operating System: KDE neon 5.22 KDE Plasma Version: 5.22.5 KDE Frameworks Version: 5.85.0 Qt Version: 5.15.3 Kernel Version: 5.11.0-27-generic (64-bit) Graphics Platform: X11 Processors: 4 × Intel® Core™ i5-2520M CPU @ 2.50GHz Memory: 7.7 GiB of RAM Graphics Processor: Mesa DRI Intel® HD Graphics 3000 Problem does not appear when I start with LANG=en_US.UTF-8 LANGUAGE=en_US. I forgot, to my last comment: I use Hungarian language and locale. Can you please attach your ~/.config/elisarc file? (In reply to Nate Graham from comment #32) > Can you please attach your ~/.config/elisarc file? In my case Operating System: openSUSE Tumbleweed 20210904 KDE Plasma Version: 5.22.5 KDE Frameworks Version: 5.85.0 Qt Version: 5.15.2 Elisa 21.08.1 > cat ~/.config/elisarc [ElisaFileIndexer] RootPath[$e]=$HOME (In reply to Nate Graham from comment #32) > Can you please attach your ~/.config/elisarc file? on my system: [ElisaFileIndexer] RootPath[$e]=$HOME/Zenék [Views] InitialView=Radios Operating System: KDE neon 5.22 KDE Plasma Version: 5.22.5 KDE Frameworks Version: 5.85.0 Qt Version: 5.15.3 Kernel Version: 5.11.0-27-generic (64-bit) Elisa 21.08.1 OK, so that's not relevant, then. A possibly relevant merge request was started @ https://invent.kde.org/multimedia/elisa/-/merge_requests/336 Git commit fd858caf0e780f74275c56f4083517ef9e8056b4 by Nate Graham, on behalf of Olivier Trichet. Committed on 08/03/2022 at 23:08. Pushed by ngraham into branch 'master'. Fix shortcut not working under non English locale This change wraps calls to QAction::shortcut() done in QML files to use the portable representation of QKeySequence. The QKeySequence to QVariant operator return a string representation using the native format not the portable format. E.g., the sequence "Space", will be "Espace" under French locale. The 'shortcut' attribute of QtQuick Action is stored as QVariant. In qml file, when the QAction::shortcut() value (a QKeySequence) is affected to a QtQuick Action shortcut, the previous operator is used and the shortcut value may be bogus depending on translation. // A QAction* with the Qt::Key_Space shortcut property var playPauseAction: ElisaApplication.action("Play-Pause") Action { // - playPauseAction.shortcut returns QKeySequence(Qt::Key_Space). // - QKeySequence(Qt::Key_Space) is transform into a QVariant that // contains native text "Espace". // - this QVariant is affected to shortcut: broken. shortcut: playPauseAction.shortcut onTriggered: ElisaApplication.audioControl.playPause() } Related: bug 424890 M +6 -0 src/elisaapplication.cpp M +1 -0 src/elisaapplication.h M +6 -6 src/qml/ApplicationMenu.qml M +8 -8 src/qml/ElisaMainWindow.qml M +1 -1 src/qml/MediaPlayerControl.qml M +1 -1 src/qml/NativeMenuItemFromAction.qml M +7 -7 src/qml/NativeTrayMenu.qml https://invent.kde.org/multimedia/elisa/commit/fd858caf0e780f74275c56f4083517ef9e8056b4 |