public void UnregisterShortcut(IRegisteredShortcut registeredShortcut) { if (OnUnregisterShortcut == null) { var shortcut = registeredShortcut.Shortcut; var key = shortcut.Key; var keyModifier = shortcut.KeyModifier; var name = key.Name; if (RegisteredShortcuts.ContainsKey(name)) { var registeredShortcutsForName = RegisteredShortcuts[name]; if (registeredShortcutsForName.ContainsKey(keyModifier)) { if (registeredShortcutsForName[keyModifier] == registeredShortcut) { registeredShortcutsForName.Remove(keyModifier); } if (registeredShortcutsForName.Count == 0) { RegisteredShortcuts.Remove(name); } } } } else { OnUnregisterShortcut(registeredShortcut); } }
public void UnregisterShortcut(IRegisteredShortcut iRegisteredShortcut) { if (iRegisteredShortcut is RegisteredShortcut <E> registeredShortcut) { var id = registeredShortcut.Id; if (RegisteredShortcuts.ContainsKey(id)) { RegisteredShortcuts.Remove(id); } UnregisterHotKey(registeredShortcut.Shortcut, id); this.LogLine("UnregisterHotKey/{1}({0})", id, GetType().Name); } }