void _loadRecorder_Popup(object sender, EventArgs e) { MenuItem menuItem = (MenuItem)sender; menuItem.MenuItems.Clear(); string[] files = Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "*.mrm"); Array.Sort <string>(files); foreach (string macro in files) { TaggedMenuItem macroMenuItem = new TaggedMenuItem(); macroMenuItem.Text = Path.GetFileNameWithoutExtension(macro); macroMenuItem.Tag = macro; macroMenuItem.Click += new EventHandler(macroMenuItem_Click); menuItem.MenuItems.Add(macroMenuItem); } if (menuItem.MenuItems.Count == 0) { MenuItem nullMenuItem = new MenuItem(); nullMenuItem.Text = "--No Saved Recordings--"; menuItem.MenuItems.Add(nullMenuItem); } }
private void LoadLayout(string layout) { _currentLayout = layout; using (FileStream fs = File.OpenRead(Path.Combine(Path.Combine(Utils.GetWorkingDirectory(), "KeyboardLayouts"), layout))) { using (XmlTextReader writer = new XmlTextReader(fs)) { KeyButtonCollection xx = new KeyButtonCollection(null); xx.ReadXml(writer); _keys = xx.Keys; } } _keyButtonHash = new Dictionary<Point, KeyButton>(); int x = 0, y = 0; for (int i = 0; i < _keys.Length; ++i) { if (null != _keys[i]) { for (int j = 0; j < _keys[i].Length; ++j) { for (int k = 0; k < _keys[i][j].KeyWidth; ++k) { if (k == 0) { _keys[i][j].Col = x; /* if (0 != (_keys[i][j].Type & KeyButtonType.Tap) && _keys[i][j].Key.Length > 0 && !_charToButton.ContainsKey(_keys[i][j].Key[0])) { _charToButton.Add(_keys[i][j].Key[0], _keys[i][j]); } else if (0 != (_keys[i][j].Type & KeyButtonType.Hold) && !_charToButton.ContainsKey((uint)_keys[i][j].ScanCode)) { _charToButton.Add((uint)_keys[i][j].ScanCode, _keys[i][j]); } else if (!_scanToButton.ContainsKey((uint)_keys[i][j].ScanCode)) { _scanToButton.Add((uint)_keys[i][j].ScanCode, _keys[i][j]); } else { // } if (0 != (_keys[i][j].Type & KeyButtonType.Tap) && _keys[i][j].ShiftKey.Length > 0 && !_charToButton.ContainsKey(_keys[i][j].ShiftKey[0])) { _charToButton.Add(_keys[i][j].ShiftKey[0], _keys[i][j]); } */ if (!_keys[i][j].IsHidden)// && !_keys[i][j].OnKeyboard) { bool addMenu = false; TaggedMenuItem menuItem = new TaggedMenuItem(); if (_keys[i][j].Name.Length > 1) { menuItem.Text = char.ToUpper(_keys[i][j].Name[0]) + _keys[i][j].Name.Substring(1); addMenu = true; } else if (0 != (_keys[i][j].Type & KeyButtonType.Hold)) { menuItem.Text = _keys[i][j].Type.ToString(); addMenu = true; } if (addMenu) { menuItem.Tag = _keys[i][j]; menuItem.Click += new EventHandler(menuItem_Click); _menuItems.Add(menuItem); } } } if (!_keys[i][j].IsHidden) { Point p = new Point(x, y); _keyButtonHash.Add(p, _keys[i][j]); x++; } } } } x = 0; y++; } }
void _loadRecorder_Popup(object sender, EventArgs e) { MenuItem menuItem = (MenuItem)sender; menuItem.MenuItems.Clear(); string[] files = Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "*.mrm"); Array.Sort<string>(files); foreach (string macro in files) { TaggedMenuItem macroMenuItem = new TaggedMenuItem(); macroMenuItem.Text = Path.GetFileNameWithoutExtension(macro); macroMenuItem.Tag = macro; macroMenuItem.Click += new EventHandler(macroMenuItem_Click); menuItem.MenuItems.Add(macroMenuItem); } if (menuItem.MenuItems.Count == 0) { MenuItem nullMenuItem = new MenuItem(); nullMenuItem.Text = "--No Saved Recordings--"; menuItem.MenuItems.Add(nullMenuItem); } }
void macroMenuItem_Click(object sender, EventArgs e) { TaggedMenuItem macroMenuItem = (TaggedMenuItem)sender; ExecuteMacro(macroMenuItem.Tag as string); }