Summary: | Keyboard shortcut list is incomplete when opening Krita | ||
---|---|---|---|
Product: | [Applications] krita | Reporter: | RN <rafanavega> |
Component: | Shortcuts and Canvas Input Settings | Assignee: | Krita Bugs <krita-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | halla |
Priority: | NOR | ||
Version: | 3.0.1.1 | ||
Target Milestone: | --- | ||
Platform: | Microsoft Windows | ||
OS: | Microsoft Windows | ||
Latest Commit: | https://commits.kde.org/krita/aeced4a1c199c4fb73d1beaa82315a088c410d72 | Version Fixed In: |
Description
RN
2016-10-14 02:21:32 UTC
Hi, Thanks for your report. I can confirm the issue. This was supposed to be fixed in 3.0, but I guess we either have a regression, or missed something. Git commit e7652741ecf2928fb20ccb1fc81bf56bcab853a1 by Dmitry Kazakov. Committed on 09/12/2016 at 10:04. Pushed by dkazakov into branch 'krita/3.1'. All shortcuts should be configurable when no document is open The problem happens because some actions are created/added-to-collection only after a document is created. Now we workaround it by faking the absent actions and deleting them together with KisActionsSnapshot. Another problem is that some of the actions, e.g. "show_color_history", is created long before it is added to the global action collection. It is _created_ right at the start of Krita, but _added_ only when a new document is constructed. If we change the shortcut between these two events, then the changed value will be lost. Now we workaround this problem by connecting to the action collection, listening to 'inserted()' signal and updating shortcuts when an action is added to the collection. M +4 -0 krita/data/actions/ConnectionTool.action M +3 -52 krita/krita.action M +2 -0 krita/kritamenu.action M +4 -3 libs/ui/KisViewManager.cpp M +23 -7 libs/ui/kis_action_manager.cpp M +6 -3 libs/ui/kis_action_manager.h M +1 -1 libs/ui/kis_zoom_manager.cc M +2 -16 libs/widgets/KoZoomController.cpp M +0 -18 libs/widgets/KoZoomController.h M +1 -2 libs/widgets/KoZoomController_p.h M +31 -2 libs/widgetutils/KisActionsSnapshot.cpp M +1 -1 libs/widgetutils/KisActionsSnapshot.h M +5 -0 libs/widgetutils/kis_action_registry.cpp M +3 -0 libs/widgetutils/kis_action_registry.h https://commits.kde.org/krita/e7652741ecf2928fb20ccb1fc81bf56bcab853a1 Git commit aeced4a1c199c4fb73d1beaa82315a088c410d72 by Dmitry Kazakov. Committed on 09/12/2016 at 10:05. Pushed by dkazakov into branch 'rempt/impex-refactoring'. All shortcuts should be configurable when no document is open The problem happens because some actions are created/added-to-collection only after a document is created. Now we workaround it by faking the absent actions and deleting them together with KisActionsSnapshot. Another problem is that some of the actions, e.g. "show_color_history", is created long before it is added to the global action collection. It is _created_ right at the start of Krita, but _added_ only when a new document is constructed. If we change the shortcut between these two events, then the changed value will be lost. Now we workaround this problem by connecting to the action collection, listening to 'inserted()' signal and updating shortcuts when an action is added to the collection. M +4 -0 krita/data/actions/ConnectionTool.action M +3 -52 krita/krita.action M +2 -0 krita/kritamenu.action M +4 -3 libs/ui/KisViewManager.cpp M +23 -7 libs/ui/kis_action_manager.cpp M +6 -3 libs/ui/kis_action_manager.h M +1 -1 libs/ui/kis_zoom_manager.cc M +2 -16 libs/widgets/KoZoomController.cpp M +0 -18 libs/widgets/KoZoomController.h M +1 -2 libs/widgets/KoZoomController_p.h M +31 -2 libs/widgetutils/KisActionsSnapshot.cpp M +1 -1 libs/widgetutils/KisActionsSnapshot.h M +5 -0 libs/widgetutils/kis_action_registry.cpp M +3 -0 libs/widgetutils/kis_action_registry.h https://commits.kde.org/krita/aeced4a1c199c4fb73d1beaa82315a088c410d72 |