ServiceMenu: afegida memoria per al menu principal

This commit is contained in:
2025-06-14 18:21:03 +02:00
parent c8999bff68
commit 01017cd0fe
3 changed files with 19 additions and 12 deletions

View File

@@ -286,9 +286,11 @@ void ServiceMenu::adjustOption(bool adjust_up)
void ServiceMenu::selectOption()
{
if (display_options_.empty() || selected_ >= display_options_.size())
{
return;
}
// Si estamos en el menú principal, guarda la selección actual
if (current_settings_group_ == SettingsGroup::MAIN)
main_menu_selected_ = selected_;
// Carpeta
if (display_options_.at(selected_)->type == ValueType::FOLDER)
@@ -338,7 +340,12 @@ void ServiceMenu::moveBack()
}
else
{
selected_ = 0;
// Si vamos a volver al menú principal, restaura la selección guardada
if (previous_settings_group_ == SettingsGroup::MAIN)
selected_ = main_menu_selected_;
else
selected_ = 0;
current_settings_group_ = previous_settings_group_;
updateMenu(current_settings_group_);
setOptionsPosition();
@@ -587,16 +594,16 @@ std::string ServiceMenu::settingsGroupToString(SettingsGroup group) const
switch (group)
{
case SettingsGroup::MAIN:
return Lang::getText("[SERVICE_MENU] TITLE");
return Lang::getText("[SERVICE_MENU] TITLE");
case SettingsGroup::VIDEO:
return Lang::getText("[SERVICE_MENU] VIDEO");
return Lang::getText("[SERVICE_MENU] VIDEO");
case SettingsGroup::AUDIO:
return Lang::getText("[SERVICE_MENU] AUDIO");
return Lang::getText("[SERVICE_MENU] AUDIO");
case SettingsGroup::SETTINGS:
return Lang::getText("[SERVICE_MENU] SETTINGS");
return Lang::getText("[SERVICE_MENU] SETTINGS");
case SettingsGroup::SYSTEM:
return Lang::getText("[SERVICE_MENU] SYSTEM");
return Lang::getText("[SERVICE_MENU] SYSTEM");
default:
return Lang::getText("[SERVICE_MENU] TITLE");
return Lang::getText("[SERVICE_MENU] TITLE");
}
}