Changing the secondary shortcut for an action which has two results in the primary shortcut being cleared.
Steps to Reproduce:
1. Open the Configure Shortcuts dialog in an affected application (I've reproduced this in Kate and Konsole).
2. Find an action which by default has two key bindings (for example, Kate's Cut action has ctrl-X and shift-delete).
3. Change or remove the secondary binding.
4. Restart the application and open the Configure Shortcuts dialog again.
The primary shortcut is cleared (set to Custom, with the custom binding set to None). The secondary shortcut is reset to its default.
The key bindings I set are saved and restored the next time I run the application.
By experimenting with strace I've found that this is (as far as I can tell) stored in ~/.local/share/kxmlgui5/katepart/katepart5ui.rc. The following is added to that file after making the change:
<Action shortcut="Ctrl+X; " name="edit_cut"/>
However, Kate's UI still displays "Custom: None" and "Default: Shift+Del".
I'm seeing this too, on Kubuntu 15.04. (KDE 5.9.0)
I hadn't figured out yet that it was only multiple keybindings that were causing problems, so that's a help to be able to at least pick one.
Confirmed on git master. Believe this bug is the cause behind the Konsole bugs:
I build kxmlgui with the patch from https://git.reviewboard.kde.org/r/123508/ and it works fine. Thanks Lindsay to track this down.
Git commit c7b1b1b89e388779356a5dcde291d6e6eac7705b by Lindsay Roberts.
Committed on 02/05/2015 at 08:57.
Pushed by roberts into branch 'master'.
Fix shortcuts when secondary shortcut set.
If a user defined secondary ("alternate") shortcut is set, an issue in
KXMLGUIFactory causes reloading of both primary and secondary from the
RC file's DOM to fail, resulting in no effective shortcuts available for
the action. Fix by checking for the correct type in the shortcut
property for QActions.
M +36 -0 autotests/kxmlgui_unittest.cpp
M +1 -0 autotests/kxmlgui_unittest.h
M +3 -2 src/kxmlguifactory.cpp
*** Bug 339243 has been marked as a duplicate of this bug. ***
*** Bug 340803 has been marked as a duplicate of this bug. ***
*** Bug 346950 has been marked as a duplicate of this bug. ***