private void AddNewKey() { var inputKeyName = new InputKeyName(); inputKeyName.ShowDialog(this); if (inputKeyName.DialogResult == DialogResult.OK && !string.IsNullOrEmpty(inputKeyName.KeyName.Text)) { if (KeyManager.Keys.Exists(k => k.Name.Equals(inputKeyName.KeyName.Text, StringComparison.CurrentCultureIgnoreCase))) { MessageBox.Show(Texts.KeyNameAlreadyExists); } else { var configureKeyDialog = new MapKey(); var newKey = configureKeyDialog.ShowDialog(this, inputKeyName.KeyName.Text, true); newKey.InfoWindowsKeys = inputKeyName.WindowsKeysDescription.Text; if (newKey != null) { KeyManager.Keys.Add(newKey); AddKeyNode(newKey); } } } }
private void RenameSelectedKey() { if (treeKeys.SelectedNode == null || treeKeys.SelectedNode.Level != 0) { EnableKeyButtons(); return; } var currentKey = KeyManager.Keys.Single(k => k.Name.Equals(treeKeys.SelectedNode.Name)); var inputKeyName = new InputKeyName { KeyName = { Text = currentKey.Name }, WindowsKeysDescription = { Text = currentKey.InfoWindowsKeys } }; inputKeyName.ShowDialog(this); string newKeyName = inputKeyName.KeyName.Text; string newWindowsKeysDescription = inputKeyName.WindowsKeysDescription.Text; if (inputKeyName.DialogResult == DialogResult.OK && !string.IsNullOrEmpty(newKeyName) && (newKeyName != currentKey.Name || newWindowsKeysDescription != currentKey.InfoWindowsKeys)) { if (KeyManager.Keys.Exists(k => !k.Equals(currentKey) && k.Name.Equals(newKeyName, StringComparison.InvariantCultureIgnoreCase))) { MessageBox.Show(string.Format("A key with a name '{0}' already exists.", newKeyName)); } else { var oldKeyName = currentKey.Name; currentKey.Name = newKeyName; currentKey.InfoWindowsKeys = newWindowsKeysDescription; UpdateKeyNode(currentKey, oldKeyName); } } }