public void BuildMenu() { if (!File.Exists(mpv.InputConfPath)) { var dirPath = Folder.AppDataRoaming + "mpv\\"; if (!Directory.Exists(dirPath)) { Directory.CreateDirectory(dirPath); } File.WriteAllText(mpv.InputConfPath, Properties.Resources.input_conf); } foreach (var i in File.ReadAllText(mpv.InputConfPath).SplitLinesNoEmpty()) { if (!i.Contains("#menu:")) { continue; } var left = i.Left("#menu:").Trim(); if (left.StartsWith("#")) { continue; } var cmd = left.Right(" ").Trim(); var menu = i.Right("#menu:").Trim(); var key = menu.Left(";").Trim(); var path = menu.Right(";").Trim(); if (path == "" || cmd == "") { continue; } var menuItem = CMS.Add(path, () => { try { mpv.CommandString(cmd, false); } catch (Exception e) { MsgException(e); } }); if (menuItem != null) { menuItem.ShortcutKeyDisplayString = key.Replace("_", "") + " "; } } }
public void BuildMenu() { foreach (var i in File.ReadAllText(mp.InputConfPath).Split("\r\n".ToCharArray(), StringSplitOptions.RemoveEmptyEntries)) { if (!i.Contains("#menu:")) { continue; } var left = i.Substring(0, i.IndexOf("#menu:")).Trim(); if (left.StartsWith("#")) { continue; } var cmd = left.Substring(left.IndexOf(" ") + 1).Trim(); var menu = i.Substring(i.IndexOf("#menu:") + "#menu:".Length).Trim(); var key = left.Substring(0, left.IndexOf(" ")); if (key == "_") { key = ""; } if (menu.Contains(";")) { key = menu.Substring(0, menu.IndexOf(";")).Trim(); } var path = menu.Substring(menu.IndexOf(";") + 1).Trim().Replace("&", "&&"); if (path == "" || cmd == "") { continue; } var menuItem = CMS.Add(path, () => { try { mp.command_string(cmd); } catch (Exception e) { MainForm.Instance.ShowMsgBox(e.ToString(), MessageBoxIcon.Error); } }); if (menuItem != null) { menuItem.ShortcutKeyDisplayString = key.Replace("_", "") + " "; } } }
public void BuildMenu() { string content = File.ReadAllText(core.InputConfPath); var items = CommandItem.GetItems(content); if (!content.Contains("#menu:")) { var defaultItems = CommandItem.GetItems(Properties.Resources.input_conf); foreach (CommandItem item in items) { foreach (CommandItem defaultItem in defaultItems) { if (item.Command == defaultItem.Command) { defaultItem.Input = item.Input; } } } items = defaultItems; } foreach (CommandItem item in items) { if (string.IsNullOrEmpty(item.Path)) { continue; } string path = item.Path.Replace("&", "&&"); MenuItem menuItem = ContextMenu.Add(path, () => { try { core.command(item.Command); } catch (Exception ex) { Msg.ShowException(ex); } }); if (menuItem != null) { menuItem.ShortcutKeyDisplayString = item.Input + " "; } } }