Skip to content

Commit bbcf21d

Browse files
Merge pull request #121 from Grigory-Rylov/ergonomic_keymap
alternative keymap
2 parents bc32d5a + 1b325f1 commit bbcf21d

10 files changed

Lines changed: 224 additions & 71 deletions

File tree

app/src/main/java/com/github/grishberg/profiler/common/settings/JsonSettings.kt

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ import java.io.FileReader
1313
import java.io.IOException
1414
import java.io.OutputStreamWriter
1515

16-
1716
private const val TAG = "JsonSettings"
1817

1918
const val SETTINGS_ANDROID_HOME = "androidHome"
2019
private const val SETTINGS_HISTORY = "Main.history"
20+
private const val SETTINGS_ERGONOMIC_KEYMAP = "Main.ergonomicKeymap"
2121
private const val SETTINGS_STAGES_FILE_DIALOG_DIR = "Plugins.stagesFileDialogDirectory"
2222
private const val SETTINGS_STAGES_HIDE_UNKNOWN = "Plugins.stagesHideUnknown"
2323
private const val SETTINGS_STAGES_HIERARCHICAL = "Plugins.stagesHierarchical"
@@ -54,14 +54,13 @@ private const val TIMEOUT_BEFORE_RECORDING = "$RECORDER_SETTINGS_ROOT.timeoutBef
5454
private const val DEFAULT_TIMEOUT_BEFORE_RECORDING = 10
5555

5656
class JsonSettings(
57-
private val filesDirName: String,
58-
private val log: AppLogger
57+
private val filesDirName: String, private val log: AppLogger
5958
) : SettingsFacade {
59+
6060
private val gson = GsonBuilder().enableComplexMapKeySerialization().setPrettyPrinting().create()
6161

6262
private val settingsMap = mutableMapOf<String, Any>()
63-
private val settingsFile =
64-
File(filesDirName + File.separator + ".android-methods-profiler-settings.json")
63+
private val settingsFile = File(filesDirName + File.separator + ".android-methods-profiler-settings.json")
6564

6665
init {
6766
createHomeDirIfNeeded()
@@ -272,8 +271,7 @@ class JsonSettings(
272271

273272
override var samplingRecordModeEnabled: Boolean
274273
get() = getBoolValueOrDefault(
275-
RECORD_MODE_SAMPLE_SETTINGS,
276-
true
274+
RECORD_MODE_SAMPLE_SETTINGS, true
277275
)
278276
set(value) {
279277
setBoolValue(RECORD_MODE_SAMPLE_SETTINGS, value)
@@ -293,8 +291,7 @@ class JsonSettings(
293291

294292
override var waitForResultTimeout: Int
295293
get() = getIntValueOrDefault(
296-
WAIT_FOR_RESULT_TIMEOUT_SETTINGS,
297-
DEFAULT_WAIT_FOR_RESULT_TIMEOUT
294+
WAIT_FOR_RESULT_TIMEOUT_SETTINGS, DEFAULT_WAIT_FOR_RESULT_TIMEOUT
298295
)
299296
set(value) {
300297
setIntValue(WAIT_FOR_RESULT_TIMEOUT_SETTINGS, value)
@@ -326,8 +323,7 @@ class JsonSettings(
326323

327324
override var debugPort: Int
328325
get() = getIntValueOrDefault(
329-
DEBUG_PORT_SETTINGS,
330-
DEFAULT_DEBUG_PORT
326+
DEBUG_PORT_SETTINGS, DEFAULT_DEBUG_PORT
331327
)
332328
set(value) {
333329
setIntValue(DEBUG_PORT_SETTINGS, value)
@@ -339,6 +335,12 @@ class JsonSettings(
339335
setIntValue(TIMEOUT_BEFORE_RECORDING, value.toInt())
340336
}
341337

338+
override var isErgonomicKeymapEnabled: Boolean
339+
get() = getBoolValueOrDefault(SETTINGS_ERGONOMIC_KEYMAP, false)
340+
set(value) {
341+
setBoolValue(SETTINGS_ERGONOMIC_KEYMAP, value)
342+
}
343+
342344
override fun filesDir() = filesDirName
343345

344346
override var shouldShowToolbar: Boolean = false

core/src/main/java/com/github/grishberg/profiler/common/settings/SettingsFacade.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,5 @@ interface SettingsFacade {
3232
var debugPort: Int
3333
var shouldShowToolbar: Boolean
3434
var caseSensitive: Boolean
35+
var isErgonomicKeymapEnabled: Boolean
3536
}

core/src/main/java/com/github/grishberg/profiler/ui/Main.java

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@
4949
import com.github.grishberg.profiler.ui.dialogs.info.FocusElementDelegate;
5050
import com.github.grishberg.profiler.ui.dialogs.recorder.JavaMethodsRecorderDialogView;
5151
import com.github.grishberg.profiler.ui.dialogs.recorder.JavaMethodsRecorderLogicKt;
52+
import com.github.grishberg.profiler.ui.keymap.DefaultKeymapConfig;
53+
import com.github.grishberg.profiler.ui.keymap.ErgonomicKeymapConfig;
54+
import com.github.grishberg.profiler.ui.keymap.KeyBinder;
55+
import com.github.grishberg.profiler.ui.keymap.KeymapConfig;
5256
import com.github.grishberg.profiler.ui.theme.ThemeController;
5357
import com.github.grishberg.tracerecorder.SystraceRecordResult;
5458
import java.awt.*;
@@ -347,12 +351,16 @@ public void focusProfileElement(@NotNull ProfileData selectedElement) {
347351
focusElementDelegate, settings, log,
348352
coroutineScope, coroutinesDispatchers
349353
);
354+
KeymapConfig keymapConfig = settings.isErgonomicKeymapEnabled()
355+
? new ErgonomicKeymapConfig()
356+
: new DefaultKeymapConfig();
350357
KeyBinder keyBinder = new KeyBinder(chart,
351358
selectedClassNameLabel,
352359
findClassText,
353360
this,
354361
newBookmarkDialog,
355-
hoverInfoPanel, this
362+
hoverInfoPanel, this,
363+
keymapConfig
356364
);
357365
keyBinder.setUpKeyBindings();
358366

@@ -571,7 +579,8 @@ private void deleteCurrentFile() {
571579
if (currentOpenedFile == null) {
572580
return;
573581
}
574-
boolean shouldDelete = JOptionPane.showConfirmDialog(frame,
582+
boolean shouldDelete = JOptionPane.showConfirmDialog(
583+
frame,
575584
"Are you wanted to delete: \n\"" + currentOpenedFile.getName() +
576585
"\" ?",
577586
"Delete current file",
@@ -701,6 +710,15 @@ private JMenu createViewMenu() {
701710
viewMenu.add(showHighlightingList);
702711
showHighlightingList.addActionListener(a -> showHighlightingDialog());
703712

713+
714+
JCheckBoxMenuItem ergonomicKeymap = new JCheckBoxMenuItem("Ergonomic keymap");
715+
viewMenu.add(ergonomicKeymap);
716+
ergonomicKeymap.setState(settings.isErgonomicKeymapEnabled());
717+
ergonomicKeymap.addActionListener(arg0 -> {
718+
boolean newState = ergonomicKeymap.getState();
719+
settings.setErgonomicKeymapEnabled(newState);
720+
});
721+
704722
return viewMenu;
705723
}
706724

@@ -1424,12 +1442,12 @@ private static class WorkerResult {
14241442
@Nullable final TraceContainer traceContainer;
14251443
@Nullable final Throwable throwable;
14261444

1427-
public WorkerResult(Throwable throwable) {
1445+
public WorkerResult(@Nullable Throwable throwable) {
14281446
this.traceContainer = null;
14291447
this.throwable = throwable;
14301448
}
14311449

1432-
public WorkerResult(TraceContainer traceContainer) {
1450+
public WorkerResult(@Nullable TraceContainer traceContainer) {
14331451
this.traceContainer = traceContainer;
14341452
this.throwable = null;
14351453
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package com.github.grishberg.profiler.ui.keymap
2+
3+
import java.awt.event.KeyEvent
4+
5+
class DefaultKeymapConfig : KeymapConfig {
6+
7+
override val zoomOutKeyCode: Int = KeyEvent.VK_W
8+
override val zoomInActionKeyCode: Int = KeyEvent.VK_S
9+
override val panLeftActionKeyCode: Int = KeyEvent.VK_A
10+
override val panRightActionKeyCode: Int = KeyEvent.VK_D
11+
override val upActionKeyCode: Int = KeyEvent.VK_UP
12+
override val downActionKeyCode: Int = KeyEvent.VK_DOWN
13+
override val focusNextFoundItemActionKeyCode: Int = KeyEvent.VK_E
14+
override val focusPrevFoundItemActionKeyCode: Int = KeyEvent.VK_Q
15+
override val removeSelectionActionKeyCode: Int = KeyEvent.VK_ESCAPE
16+
override val theadTimeModeActionKeyCode: Int = KeyEvent.VK_T
17+
override val globalTimeModeActionKeyCode: Int = KeyEvent.VK_G
18+
override val toggleBookmarkModeActionKeyCode: Int = KeyEvent.VK_B
19+
override val goToFindActionKeyCode: Int = KeyEvent.VK_F
20+
override val copyStackTraceActionKeyCode: Int = KeyEvent.VK_S
21+
override val openFileDialogActionKeyCode: Int = KeyEvent.VK_O
22+
override val newTraceActionKeyCode: Int = KeyEvent.VK_N
23+
override val openFileDialogNewWindowActionKeyCode: Int = KeyEvent.VK_O
24+
override val newTraceNewWindowActionKeyCode: Int = KeyEvent.VK_N
25+
override val foundToMarkerKeyCode: Int = KeyEvent.VK_M
26+
override val showThreadSwitcherKeyCode: Int = KeyEvent.VK_T
27+
override val switchToMainThreadKeyCode: Int = KeyEvent.VK_0
28+
override val findAllChildrenKeyCode: Int = KeyEvent.VK_I
29+
override val addBookmarkActionKeyCode: Int = KeyEvent.VK_M
30+
override val copySelectedFullClassNameActionKeyCode: Int = KeyEvent.VK_C
31+
override val removeCurrentBookmarkActionKeyCode: Int = KeyEvent.VK_R
32+
override val centerSelectedElementActionKeyCode: Int = KeyEvent.VK_C
33+
override val resetZoomActionKeyCode: Int = KeyEvent.VK_Z
34+
override val fitSelectedElementActionKeyCode: Int = KeyEvent.VK_F
35+
override val nextBookmarkActionKeyCode: Int = KeyEvent.VK_E
36+
override val prevBookmarkActionKeyCode: Int = KeyEvent.VK_Q
37+
override val clearAllBookmarksActionKeyCode: Int = KeyEvent.VK_BACK_SPACE
38+
override val generateReportsActionKeyCode: Int = KeyEvent.VK_P
39+
override val changeFontSizeActionTrueKeyCode: Int = KeyEvent.VK_PLUS
40+
override val changeFontSizeActionFalseKeyCode: Int = KeyEvent.VK_MINUS
41+
override val copySelectedShortClassNameActionKeyCode: Int = KeyEvent.VK_C
42+
override val exportTraceWithBookmarksActionKeyCode: Int = KeyEvent.VK_E
43+
override val copySelectedShortClassNameWithoutMethodActionKeyCode: Int = KeyEvent.VK_C
44+
override val openRangeDialogKeyCode: Int = KeyEvent.VK_R
45+
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package com.github.grishberg.profiler.ui.keymap
2+
3+
import java.awt.event.KeyEvent
4+
5+
class ErgonomicKeymapConfig : KeymapConfig {
6+
7+
override val zoomOutKeyCode: Int = KeyEvent.VK_E
8+
override val zoomInActionKeyCode: Int = KeyEvent.VK_D
9+
override val panLeftActionKeyCode: Int = KeyEvent.VK_S
10+
override val panRightActionKeyCode: Int = KeyEvent.VK_F
11+
override val upActionKeyCode: Int = KeyEvent.VK_I
12+
override val downActionKeyCode: Int = KeyEvent.VK_K
13+
override val focusNextFoundItemActionKeyCode: Int = KeyEvent.VK_R
14+
override val focusPrevFoundItemActionKeyCode: Int = KeyEvent.VK_W
15+
override val removeSelectionActionKeyCode: Int = KeyEvent.VK_ESCAPE
16+
override val theadTimeModeActionKeyCode: Int = KeyEvent.VK_T
17+
override val globalTimeModeActionKeyCode: Int = KeyEvent.VK_G
18+
override val toggleBookmarkModeActionKeyCode: Int = KeyEvent.VK_B
19+
override val goToFindActionKeyCode: Int = KeyEvent.VK_F
20+
override val copyStackTraceActionKeyCode: Int = KeyEvent.VK_S
21+
override val openFileDialogActionKeyCode: Int = KeyEvent.VK_O
22+
override val newTraceActionKeyCode: Int = KeyEvent.VK_N
23+
override val openFileDialogNewWindowActionKeyCode: Int = KeyEvent.VK_N
24+
override val newTraceNewWindowActionKeyCode: Int = KeyEvent.VK_M
25+
override val foundToMarkerKeyCode: Int = KeyEvent.VK_M
26+
override val showThreadSwitcherKeyCode: Int = KeyEvent.VK_T
27+
override val switchToMainThreadKeyCode: Int = KeyEvent.VK_0
28+
override val findAllChildrenKeyCode: Int = KeyEvent.VK_I
29+
override val addBookmarkActionKeyCode: Int = KeyEvent.VK_M
30+
override val copySelectedFullClassNameActionKeyCode: Int = KeyEvent.VK_C
31+
override val removeCurrentBookmarkActionKeyCode: Int = KeyEvent.VK_R
32+
override val centerSelectedElementActionKeyCode: Int = KeyEvent.VK_C
33+
override val resetZoomActionKeyCode: Int = KeyEvent.VK_Z
34+
override val fitSelectedElementActionKeyCode: Int = KeyEvent.VK_X
35+
override val nextBookmarkActionKeyCode: Int = KeyEvent.VK_R
36+
override val prevBookmarkActionKeyCode: Int = KeyEvent.VK_W
37+
override val clearAllBookmarksActionKeyCode: Int = KeyEvent.VK_BACK_SPACE
38+
override val generateReportsActionKeyCode: Int = KeyEvent.VK_P
39+
override val changeFontSizeActionTrueKeyCode: Int = KeyEvent.VK_PLUS
40+
override val changeFontSizeActionFalseKeyCode: Int = KeyEvent.VK_MINUS
41+
override val copySelectedShortClassNameActionKeyCode: Int = KeyEvent.VK_C
42+
override val exportTraceWithBookmarksActionKeyCode: Int = KeyEvent.VK_E
43+
override val copySelectedShortClassNameWithoutMethodActionKeyCode: Int = KeyEvent.VK_C
44+
override val openRangeDialogKeyCode: Int = KeyEvent.VK_R
45+
}

core/src/main/java/com/github/grishberg/profiler/ui/KeyBinder.kt renamed to core/src/main/java/com/github/grishberg/profiler/ui/keymap/KeyBinder.kt

Lines changed: 51 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
1-
package com.github.grishberg.profiler.ui
1+
package com.github.grishberg.profiler.ui.keymap
22

33
import 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
48
import com.github.grishberg.profiler.ui.dialogs.NewBookmarkDialog
59
import java.awt.KeyboardFocusManager
610
import java.awt.Toolkit
711
import java.awt.datatransfer.StringSelection
812
import java.awt.event.ActionEvent
9-
import java.awt.event.InputEvent
1013
import java.awt.event.KeyEvent
1114
import javax.swing.AbstractAction
1215
import 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

Comments
 (0)