Пример #1
0
 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);
             }
         }
     }
 }
Пример #2
0
        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);
                }

            }
        }