1- package com.github.grishberg.profiler.ui
1+ package com.github.grishberg.profiler.ui.keymap
22
33import com.github.grishberg.profiler.chart.CallTracePanel
4+ import com.github.grishberg.profiler.ui.InfoPanel
5+ import com.github.grishberg.profiler.ui.Main
6+ import com.github.grishberg.profiler.ui.ShowDialogDelegate
7+ import com.github.grishberg.profiler.ui.TextUtils
48import com.github.grishberg.profiler.ui.dialogs.NewBookmarkDialog
59import java.awt.KeyboardFocusManager
610import java.awt.Toolkit
711import java.awt.datatransfer.StringSelection
812import java.awt.event.ActionEvent
9- import java.awt.event.InputEvent
1013import java.awt.event.KeyEvent
1114import javax.swing.AbstractAction
1215import javax.swing.JComponent
@@ -20,7 +23,8 @@ class KeyBinder(
2023 private val dialogDelegate : ShowDialogDelegate ,
2124 private val newBookmarkDialog : NewBookmarkDialog ,
2225 private val hoverInfoPanel : InfoPanel ,
23- private val main : Main
26+ private val main : Main ,
27+ private val keymapConfig : KeymapConfig ,
2428) {
2529 val condition = JComponent .WHEN_IN_FOCUSED_WINDOW
2630 val inputMap = profilerView.getInputMap(condition)
@@ -32,58 +36,51 @@ class KeyBinder(
3236 val panLeftAction = PanLeftAction ()
3337 val panRightAction = PanRightAction ()
3438
35- addKeyMap(KeyEvent . VK_W , WAction ())
36- addKeyMap(KeyEvent . VK_S , SAction ())
37- addKeyMap(KeyEvent . VK_A , panLeftAction)
38- addKeyMap(KeyEvent . VK_LEFT , panLeftAction)
39- addKeyMap(KeyEvent . VK_D , panRightAction)
40- addKeyMap(KeyEvent . VK_RIGHT , panRightAction)
41- addKeyMap(KeyEvent . VK_UP , UpAction ())
42- addKeyMap(KeyEvent . VK_DOWN , DownAction ())
39+ addKeyMap(keymapConfig.zoomOutKeyCode, ZoomOutAction ())
40+ addKeyMap(keymapConfig.zoomInActionKeyCode, ZoomInAction ())
41+ addKeyMap(keymapConfig.panLeftActionKeyCode , panLeftAction)
42+ addKeyMap(keymapConfig.panLeftActionKeyCode , panLeftAction)
43+ addKeyMap(keymapConfig.panRightActionKeyCode , panRightAction)
44+ addKeyMap(keymapConfig.panRightActionKeyCode , panRightAction)
45+ addKeyMap(keymapConfig.upActionKeyCode , UpAction ())
46+ addKeyMap(keymapConfig.downActionKeyCode , DownAction ())
4347
4448 val focusNextAction = FocusNextAction ()
45- addKeyMap(KeyEvent .VK_E , focusNextAction)
4649 addKeyMap(KeyEvent .VK_ENTER , focusNextAction)
4750 addKeyMap(KeyEvent .VK_F3 , focusNextAction)
48- addKeyMap(KeyEvent .VK_Q , QAction ())
49- addKeyMap(KeyEvent .VK_ESCAPE , RemoveSelectionAction ())
50-
51- addKeyMap(KeyEvent .VK_T , TheadTimeModeAction ())
52- addKeyMap(KeyEvent .VK_G , GlobalTimeModeAction ())
53- addKeyMap(KeyEvent .VK_B , ToggleBookmarkModeAction ())
54-
55- addKeyMapWithCtrl(KeyEvent .VK_F , GoToFindAction ())
56- addKeyMapWithCtrl(KeyEvent .VK_S , CopyStackTraceAction ())
57- addKeyMapWithCtrl(KeyEvent .VK_O , OpenFileDialogAction ())
58- addKeyMapWithCtrl(KeyEvent .VK_N , NewTraceAction ())
59- addKeyMapWithCtrlShift(KeyEvent .VK_O , OpenFileDialogNewWindowAction ())
60- addKeyMapWithCtrlShift(KeyEvent .VK_N , NewTraceNewWindowAction ())
61-
62- addKeyMapWithCtrl(KeyEvent .VK_M , FoundToMarker ())
63- addKeyMapWithCtrl(KeyEvent .VK_T , ShowThreadSwitcher ())
64- addKeyMapWithCtrl(KeyEvent .VK_0 , SwitchToMainThread ())
65- addKeyMapWithCtrl(KeyEvent .VK_I , FindAllChildren ())
66- addKeyMap(KeyEvent .VK_M , AddBookmarkAction ())
67- addKeyMapWithCtrl(KeyEvent .VK_C , CopySelectedFullClassNameAction ())
68- addKeyMapWithCtrl(KeyEvent .VK_R , RemoveCurrentBookmarkAction ())
69- addKeyMap(KeyEvent .VK_C , CenterSelectedElementAction ())
70- addKeyMap(KeyEvent .VK_Z , ResetZoomAction ())
71- addKeyMap(KeyEvent .VK_F , FitSelectedElementAction ())
72-
73- addKeyMap(KeyEvent .VK_E , InputEvent .SHIFT_MASK , NextBookmarkAction ())
74- addKeyMap(KeyEvent .VK_Q , InputEvent .SHIFT_MASK , PrevBookmarkAction ())
75- addKeyMapWithCtrl(KeyEvent .VK_BACK_SPACE , ClearAllBookmarksAction ())
76-
77- addKeyMapWithCtrl(KeyEvent .VK_P , GenerateReportsAction ())
78- addKeyMapWithCtrl(KeyEvent .VK_PLUS , ChangeFontSizeAction (true ))
79- addKeyMapWithCtrl(KeyEvent .VK_EQUALS , ChangeFontSizeAction (true ))
80- addKeyMapWithCtrl(KeyEvent .VK_MINUS , ChangeFontSizeAction (false ))
81-
82- addKeyMapWithCtrlShift(KeyEvent .VK_C , CopySelectedShortClassNameAction ())
83- addKeyMapWithCtrlShift(KeyEvent .VK_E , ExportTraceWithBookmarksAction ())
84- addKeyMapWithCtrlAlt(KeyEvent .VK_C , CopySelectedShortClassNameWithoutMethodAction ())
85-
86- addKeyMapWithShift(KeyEvent .VK_R , OpenRangeDialog ())
51+ addKeyMap(keymapConfig.focusNextFoundItemActionKeyCode, focusNextAction)
52+ addKeyMap(keymapConfig.focusPrevFoundItemActionKeyCode, FocusPrevFoundItemAction ())
53+ addKeyMap(keymapConfig.removeSelectionActionKeyCode, RemoveSelectionAction ())
54+ addKeyMap(keymapConfig.theadTimeModeActionKeyCode, TheadTimeModeAction ())
55+ addKeyMap(keymapConfig.globalTimeModeActionKeyCode, GlobalTimeModeAction ())
56+ addKeyMap(keymapConfig.toggleBookmarkModeActionKeyCode, ToggleBookmarkModeAction ())
57+ addKeyMapWithCtrl(keymapConfig.goToFindActionKeyCode, GoToFindAction ())
58+ addKeyMapWithCtrl(keymapConfig.copyStackTraceActionKeyCode, CopyStackTraceAction ())
59+ addKeyMapWithCtrl(keymapConfig.openFileDialogActionKeyCode, OpenFileDialogAction ())
60+ addKeyMapWithCtrl(keymapConfig.newTraceActionKeyCode, NewTraceAction ())
61+ addKeyMapWithCtrlShift(keymapConfig.openFileDialogNewWindowActionKeyCode, OpenFileDialogNewWindowAction ())
62+ addKeyMapWithCtrlShift(keymapConfig.newTraceNewWindowActionKeyCode, NewTraceNewWindowAction ())
63+ addKeyMapWithCtrl(keymapConfig.foundToMarkerKeyCode, FoundToMarker ())
64+ addKeyMapWithCtrl(keymapConfig.showThreadSwitcherKeyCode, ShowThreadSwitcher ())
65+ addKeyMapWithCtrl(keymapConfig.switchToMainThreadKeyCode, SwitchToMainThread ())
66+ addKeyMapWithCtrl(keymapConfig.findAllChildrenKeyCode, FindAllChildren ())
67+ addKeyMap(keymapConfig.addBookmarkActionKeyCode, AddBookmarkAction ())
68+ addKeyMapWithCtrl(keymapConfig.copySelectedFullClassNameActionKeyCode, CopySelectedFullClassNameAction ())
69+ addKeyMapWithCtrl(keymapConfig.removeCurrentBookmarkActionKeyCode, RemoveCurrentBookmarkAction ())
70+ addKeyMap(keymapConfig.centerSelectedElementActionKeyCode, CenterSelectedElementAction ())
71+ addKeyMap(keymapConfig.resetZoomActionKeyCode, ResetZoomAction ())
72+ addKeyMap(keymapConfig.fitSelectedElementActionKeyCode, FitSelectedElementAction ())
73+ addKeyMap(keymapConfig.nextBookmarkActionKeyCode, NextBookmarkAction ())
74+ addKeyMap(keymapConfig.prevBookmarkActionKeyCode, PrevBookmarkAction ())
75+ addKeyMapWithCtrl(keymapConfig.clearAllBookmarksActionKeyCode, ClearAllBookmarksAction ())
76+ addKeyMapWithCtrl(keymapConfig.generateReportsActionKeyCode, GenerateReportsAction ())
77+ addKeyMapWithCtrl(keymapConfig.changeFontSizeActionTrueKeyCode, ChangeFontSizeAction (true ))
78+ addKeyMapWithCtrl(keymapConfig.changeFontSizeActionTrueKeyCode, ChangeFontSizeAction (true ))
79+ addKeyMapWithCtrl(keymapConfig.changeFontSizeActionFalseKeyCode, ChangeFontSizeAction (false ))
80+ addKeyMapWithCtrlShift(keymapConfig.copySelectedShortClassNameActionKeyCode, CopySelectedShortClassNameAction ())
81+ addKeyMapWithCtrlShift(keymapConfig.exportTraceWithBookmarksActionKeyCode, ExportTraceWithBookmarksAction ())
82+ addKeyMapWithCtrlAlt(keymapConfig.copySelectedShortClassNameWithoutMethodActionKeyCode, CopySelectedShortClassNameWithoutMethodAction ())
83+ addKeyMapWithShift(keymapConfig.openRangeDialogKeyCode, OpenRangeDialog ())
8784 }
8885
8986 private fun addKeyMap (keyCode : Int , action : AbstractAction ) {
@@ -115,14 +112,14 @@ class KeyBinder(
115112 }
116113
117114
118- private inner class WAction : SmartAction () {
115+ private inner class ZoomOutAction : SmartAction () {
119116 override fun actionPerformed () {
120117 profilerView.zoomOut()
121118 hoverInfoPanel.hidePanel()
122119 }
123120 }
124121
125- private inner class SAction : SmartAction () {
122+ private inner class ZoomInAction : SmartAction () {
126123 override fun actionPerformed () {
127124 profilerView.zoomIn()
128125 hoverInfoPanel.hidePanel()
@@ -205,7 +202,7 @@ class KeyBinder(
205202 }
206203 }
207204
208- private inner class QAction : SmartAction () {
205+ private inner class FocusPrevFoundItemAction : SmartAction () {
209206 override fun actionPerformed () {
210207 profilerView.focusPrevFoundItem()
211208 hoverInfoPanel.hidePanel()
0 commit comments