Esempio n. 1
0
        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("_", "") + "   ";
                }
            }
        }
Esempio n. 2
0
        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("_", "") + "   ";
                }
            }
        }
Esempio n. 3
0
        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 + "    ";
                }
            }
        }