Gaucho316 hat geschrieben:Dann hast du aber unnötigerweise zwei Separatoren in v_item von CPersonalizeGui, wenn ein Separator zugleich im normalen Menü und im Personalisierungsmenü zu sehen sein soll.
Jetzt weiss ich nicht wie Du das meinst. Ich mach nochmal ein Beispiel.
Jetzt ist es so:
Code: Alles auswählen
//games
bool show_games = g_PluginList->hasPlugin(CPlugins::P_TYPE_GAME);
personalize->addItem(&menu, new CMenuForwarder(LOCALE_MAINMENU_GAMES, show_games, NULL, new CPluginList(LOCALE_MAINMENU_GAMES,CPlugins::P_TYPE_GAME), "", CRCInput::RC_blue, NEUTRINO_ICON_BUTTON_BLUE), &g_settings.personalize_games);
//separator
if ( g_settings.personalize_tvmode == CPersonalizeGui::PERSONALIZE_MODE_NOTVISIBLE &&
g_settings.personalize_radiomode == CPersonalizeGui::PERSONALIZE_MODE_NOTVISIBLE &&
g_settings.personalize_scartmode == CPersonalizeGui::PERSONALIZE_MODE_NOTVISIBLE &&
g_settings.personalize_games == CPersonalizeGui::PERSONALIZE_MODE_NOTVISIBLE)
personalize->addSeparator(menu, NONEXISTANT_LOCALE, CPersonalizeGui::PERSONALIZE_SHOW_ONLY_IN_PERSONALIZE_MENU);
else
personalize->addSeparator(menu);
Logischer ist diese Variante, die ja möglich ist und auch funktioniert:
Code: Alles auswählen
//games
bool show_games = g_PluginList->hasPlugin(CPlugins::P_TYPE_GAME);
personalize->addItem(&menu, new CMenuForwarder(LOCALE_MAINMENU_GAMES, show_games, NULL, new CPluginList(LOCALE_MAINMENU_GAMES,CPlugins::P_TYPE_GAME), "", CRCInput::RC_blue, NEUTRINO_ICON_BUTTON_BLUE), &g_settings.personalize_games);
personalize->addSeparator(menu, NONEXISTANT_LOCALE, PersonalizeGui::PERSONALIZE_SHOW_ONLY_IN_PERSONALIZE_MENU);
//separator
if ( g_settings.personalize_tvmode == CPersonalizeGui::PERSONALIZE_MODE_NOTVISIBLE &&
g_settings.personalize_radiomode == CPersonalizeGui::PERSONALIZE_MODE_NOTVISIBLE &&
g_settings.personalize_scartmode == CPersonalizeGui::PERSONALIZE_MODE_NOTVISIBLE &&
g_settings.personalize_games == CPersonalizeGui::PERSONALIZE_MODE_NOTVISIBLE)
else
personalize->addSeparator(menu, NONEXISTANT_LOCALE, CPersonalizeGui::PERSONALIZE_SHOW_NO);
Der erste Separator ist fix im Personlisierungsmenü, da braucht nichts ein- oder ausgeblendet zu werden. Der 2. wird
durch ein if,then nur im normalen Menü ein-/ausgeblendet.
Schlussfolgernd muss ich mich nur darum kümmern wie sich der 2. verhalten soll.