Bug 373184

Summary: Assigning new shortcuts doesn't disable the original ones
Product: [Applications] krita Reporter: silva <a.minha.venda.de.garagem>
Component: Shortcuts and Canvas Input SettingsAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: major CC: halla
Priority: NOR    
Version: 3.1 Beta   
Target Milestone: ---   
Platform: macOS (DMG)   
OS: macOS   
Latest Commit: Version Fixed In:

Description silva 2016-12-02 12:36:54 UTC
When trying to assign a new shortcut, the older one doesn't disable. That way, the shortcut doesn't work or gives a message saying "The key sequence is ambiguous..."

Even when I try to manually disable the old shortcut, after I close the preferences window, it is still active.


I'm testing the version 3.0.94 on El Capitan OS X.

Thanks!
Comment 1 Halla Rempt 2016-12-07 12:43:17 UTC
Hi Silva,

Thanks for your report. We're looking into fixing the custom shortcut mess again... But I can confirm the issue on all platforms.
Comment 2 Dmitry Kazakov 2016-12-08 10:48:37 UTC
Git commit b0321ffda31b872063749a17033f557fb1362e39 by Dmitry Kazakov.
Committed on 08/12/2016 at 10:42.
Pushed by dkazakov into branch 'krita/3.1'.

Fixed multiple shortcuts bugs

1) Standard actions, like Copy/Paste are now propertized as well.
   Otherwise, their custom shortcuts were never used.

2) ActionInfoItem now has a special field showing that the action
   is explicitly reset to null. This way we will not break it
   accidentally, when refactoring empty strings in the future
   (like it happened this time).

3) Split up KisActionRegistry and KisActionsSnapshot. The former
   is a singleton and used for propertizing the actions, but the
   latter one is just a snapshot used for filling up the settings
   dialog.
Related: bug 372198

M  +0    -14   libs/ui/KisPart.cpp
M  +0    -5    libs/ui/KisPart.h
M  +23   -2    libs/ui/dialogs/kis_dlg_preferences.cc
M  +4    -0    libs/ui/dialogs/kis_dlg_preferences.h
M  +0    -12   libs/ui/kis_action.cpp
M  +0    -5    libs/ui/kis_action.h
M  +5    -5    libs/ui/kis_action_manager.cpp
M  +1    -0    libs/widgetutils/CMakeLists.txt
A  +69   -0    libs/widgetutils/KisActionsSnapshot.cpp     [License: GPL (v2+)]
A  +59   -0    libs/widgetutils/KisActionsSnapshot.h     [License: GPL (v2+)]
M  +92   -124  libs/widgetutils/kis_action_registry.cpp
M  +15   -7    libs/widgetutils/kis_action_registry.h

https://commits.kde.org/krita/b0321ffda31b872063749a17033f557fb1362e39
Comment 3 Dmitry Kazakov 2016-12-08 11:23:06 UTC
Git commit e1d0a836186bee704e8064ea0210816a76278fbc by Dmitry Kazakov.
Committed on 08/12/2016 at 11:01.
Pushed by dkazakov into branch 'rempt/impex-refactoring'.

Fixed multiple shortcuts bugs

1) Standard actions, like Copy/Paste are now propertized as well.
   Otherwise, their custom shortcuts were never used.

2) ActionInfoItem now has a special field showing that the action
   is explicitly reset to null. This way we will not break it
   accidentally, when refactoring empty strings in the future
   (like it happened this time).

3) Split up KisActionRegistry and KisActionsSnapshot. The former
   is a singleton and used for propertizing the actions, but the
   latter one is just a snapshot used for filling up the settings
   dialog.
Related: bug 372198

M  +0    -14   libs/ui/KisPart.cpp
M  +0    -5    libs/ui/KisPart.h
M  +23   -2    libs/ui/dialogs/kis_dlg_preferences.cc
M  +4    -0    libs/ui/dialogs/kis_dlg_preferences.h
M  +0    -12   libs/ui/kis_action.cpp
M  +0    -5    libs/ui/kis_action.h
M  +5    -5    libs/ui/kis_action_manager.cpp
M  +1    -0    libs/widgetutils/CMakeLists.txt
A  +69   -0    libs/widgetutils/KisActionsSnapshot.cpp     [License: GPL (v2+)]
A  +59   -0    libs/widgetutils/KisActionsSnapshot.h     [License: GPL (v2+)]
M  +92   -124  libs/widgetutils/kis_action_registry.cpp
M  +15   -7    libs/widgetutils/kis_action_registry.h

https://commits.kde.org/krita/e1d0a836186bee704e8064ea0210816a76278fbc