Ejemplo n.º 1
0
        public PluginMenuItem(
            PluginInfo pi,
            PluginInfo.Function func,
            string langCode,
            bool darkMode
            )
        {
            this.pi       = pi;
            this.func     = func;
            this.darkMode = darkMode;
            this.langCode = langCode;

            Text    = func.title.Get(langCode);
            dllPath = Path.Combine(PluginMan.pluginsFolder, pi.name, pi.name + ".dll");

            if (func.hotkey.ctrl)
            {
                if (func.hotkey.shift)
                {
                    if (func.hotkey.alt)
                    {
                        ShortcutKeys = Keys.Control | Keys.Shift | Keys.Alt | (Keys)func.hotkey.key;
                    }
                    else
                    {
                        ShortcutKeys = Keys.Control | Keys.Shift | (Keys)func.hotkey.key;
                    }
                }
                else
                {
                    if (func.hotkey.alt)
                    {
                        ShortcutKeys = Keys.Control | Keys.Alt | (Keys)func.hotkey.key;
                    }
                    else
                    {
                        ShortcutKeys = Keys.Control | (Keys)func.hotkey.key;
                    }
                }
            }
            else if (func.hotkey.shift)
            {
                if (func.hotkey.alt)
                {
                    ShortcutKeys = Keys.Shift | Keys.Alt | (Keys)func.hotkey.key;
                }
                else
                {
                    ShortcutKeys = Keys.Shift | (Keys)func.hotkey.key;
                }
            }
            else if (func.hotkey.alt)
            {
                ShortcutKeys = Keys.Alt | (Keys)func.hotkey.key;
            }
            else
            {
                ShortcutKeys = (Keys)func.hotkey.key;
            }

            if (func.dialog)
            {
                Text += " ...";
            }

            Image = PluginMan.GetPluginIcon(pi.name, func.name, darkMode);
        }