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

@@ -109,8 +109,7 @@ namespace Options
// El fichero no existe
else
{
// Crea el fichero con los valores por defecto
saveToFile();
saveToFile(); // Crea el fichero con los valores por defecto
}
// Normaliza los valores

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
{
// 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();

View File

@@ -191,6 +191,7 @@ private:
SettingsGroup previous_settings_group_; // Grupo de opciones anterior
Aspect aspect_ = Aspect::ASPECT1; // Estilo visual del menú
std::string title_; // Titulo a mostrar en el menu
size_t main_menu_selected_ = 0; // Recuerda la selección del menú principal
// --- Variables de aspecto ---
Color bg_color_ = SERV_MENU_BG_COLOR; // Color de fondo