ServiceMenu: afegida memoria per al menu principal
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user