diff --git a/platform/platform-impl/src/com/intellij/internal/statistic/ShortcutsCollector.java b/platform/platform-impl/src/com/intellij/internal/statistic/ShortcutsCollector.java index cabfd17ed1c3..2505bbddf331 100644 --- a/platform/platform-impl/src/com/intellij/internal/statistic/ShortcutsCollector.java +++ b/platform/platform-impl/src/com/intellij/internal/statistic/ShortcutsCollector.java @@ -59,19 +59,34 @@ public class ShortcutsCollector implements PersistentStateComponent values = collector.getState().myValues; - values.put(key, ContainerUtil.getOrElse(values, key, 0) + 1); + if (isDoubleShortcut) { + key = SystemInfo.isMac ? key + key : key + "+" + key; + } + incValue(key); } } + private static void incValue(String key) { + ShortcutsCollector collector = getInstance(); + + if (collector == null) return; //no shortcuts stats for the IDE + + Map values = collector.getState().myValues; + values.put(key, ContainerUtil.getOrElse(values, key, 0) + 1); + } + private static ShortcutsCollector getInstance() { return ServiceManager.getService(ShortcutsCollector.class); diff --git a/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ModifierKeyDoubleClickHandler.java b/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ModifierKeyDoubleClickHandler.java index a70a78f118a8..756b060dca8c 100644 --- a/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ModifierKeyDoubleClickHandler.java +++ b/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ModifierKeyDoubleClickHandler.java @@ -17,6 +17,7 @@ package com.intellij.openapi.keymap.impl; import com.intellij.ide.DataManager; import com.intellij.ide.IdeEventQueue; +import com.intellij.internal.statistic.ShortcutsCollector; import com.intellij.openapi.Disposable; import com.intellij.openapi.actionSystem.*; import com.intellij.openapi.actionSystem.ex.ActionManagerEx; @@ -260,6 +261,7 @@ public class ModifierKeyDoubleClickHandler implements Disposable, ApplicationCom myActionManagerEx.fireBeforeActionPerformed(action, anActionEvent.getDataContext(), anActionEvent); action.actionPerformed(anActionEvent); myActionManagerEx.fireAfterActionPerformed(action, anActionEvent.getDataContext(), anActionEvent); + ShortcutsCollector.recordDoubleShortcut(anActionEvent); return true; } finally {