diff --git a/src/gui/user_menue.cpp b/src/gui/user_menue.cpp index 8fd85a647..c817bf5cf 100644 --- a/src/gui/user_menue.cpp +++ b/src/gui/user_menue.cpp @@ -427,12 +427,14 @@ bool CUserMenu::showUserMenu(neutrino_msg_t msg) int number_of_plugins = g_PluginList->getNumberOfPlugins(); if (!number_of_plugins) continue; + char id[5]; int count = 0; for(; count < number_of_plugins; count++) { const char *pname = g_PluginList->getFileName(count); - if (pname && (std::string(pname) == *it)) { + if (pname && (std::string(pname) == *it) && !g_PluginList->isHidden(count)) { + sprintf(id, "%d", count); keyhelper.get(&key,&icon); - menu_item = new CMenuForwarder(g_PluginList->getName(count), true, NULL, this, pname, key, icon); + menu_item = new CMenuForwarder(g_PluginList->getName(count), true, NULL, &plugins, id, key, icon); menu_item->setHint(g_PluginList->getHintIcon(count), g_PluginList->getDescription(count)); break; } @@ -580,11 +582,3 @@ bool CUserMenu::changeNotify(const neutrino_locale_t OptionName, void * Data) return false; } - -int CUserMenu::exec(CMenuTarget* /*parent*/, const std::string & actionKey) -{ - if (actionKey == "") - return menu_return::RETURN_NONE; - g_PluginList->startPlugin(actionKey.c_str()); - return menu_return::RETURN_EXIT; -} diff --git a/src/gui/user_menue.h b/src/gui/user_menue.h index 878aa8a5f..44c2f96ab 100644 --- a/src/gui/user_menue.h +++ b/src/gui/user_menue.h @@ -66,12 +66,11 @@ static user_menu_data_t user_menu[COL_BUTTONMAX] = // const neutrino_msg_t col_key_helper_msg_def[COL_BUTTONMAX]={CRCInput::RC_red,CRCInput::RC_green,CRCInput::RC_yellow,CRCInput::RC_blue}; // const char * col_key_helper_icon_def[COL_BUTTONMAX]={NEUTRINO_ICON_BUTTON_RED,NEUTRINO_ICON_BUTTON_GREEN,NEUTRINO_ICON_BUTTON_YELLOW,NEUTRINO_ICON_BUTTON_BLUE}; -class CUserMenu : public CChangeObserver, CMenuTarget +class CUserMenu : public CChangeObserver { private: int width; bool changeNotify(const neutrino_locale_t OptionName, void *); - int exec(CMenuTarget* parent, const std::string & actionKey); public: CUserMenu(); diff --git a/src/system/setting_helpers.cpp b/src/system/setting_helpers.cpp index 1c296f264..6347baaea 100644 --- a/src/system/setting_helpers.cpp +++ b/src/system/setting_helpers.cpp @@ -369,6 +369,9 @@ int CNVODChangeExec::exec(CMenuTarget* parent, const std::string & actionKey) int CPluginsExec::exec(CMenuTarget* parent, const std::string & actionKey) { + if (actionKey.empty()) + return menu_return::RETURN_NONE; + //printf("CPluginsExec exec: %s\n", actionKey.c_str()); int sel= atoi(actionKey.c_str());