ServiceMenu: afegida memoria per al menu principal
This commit is contained in:
@@ -109,8 +109,7 @@ namespace Options
|
|||||||
// El fichero no existe
|
// El fichero no existe
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Crea el fichero con los valores por defecto
|
saveToFile(); // Crea el fichero con los valores por defecto
|
||||||
saveToFile();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Normaliza los valores
|
// Normaliza los valores
|
||||||
|
|||||||
@@ -286,9 +286,11 @@ void ServiceMenu::adjustOption(bool adjust_up)
|
|||||||
void ServiceMenu::selectOption()
|
void ServiceMenu::selectOption()
|
||||||
{
|
{
|
||||||
if (display_options_.empty() || selected_ >= display_options_.size())
|
if (display_options_.empty() || selected_ >= display_options_.size())
|
||||||
{
|
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
|
// Si estamos en el menú principal, guarda la selección actual
|
||||||
|
if (current_settings_group_ == SettingsGroup::MAIN)
|
||||||
|
main_menu_selected_ = selected_;
|
||||||
|
|
||||||
// Carpeta
|
// Carpeta
|
||||||
if (display_options_.at(selected_)->type == ValueType::FOLDER)
|
if (display_options_.at(selected_)->type == ValueType::FOLDER)
|
||||||
@@ -338,7 +340,12 @@ void ServiceMenu::moveBack()
|
|||||||
}
|
}
|
||||||
else
|
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;
|
selected_ = 0;
|
||||||
|
|
||||||
current_settings_group_ = previous_settings_group_;
|
current_settings_group_ = previous_settings_group_;
|
||||||
updateMenu(current_settings_group_);
|
updateMenu(current_settings_group_);
|
||||||
setOptionsPosition();
|
setOptionsPosition();
|
||||||
|
|||||||
@@ -191,6 +191,7 @@ private:
|
|||||||
SettingsGroup previous_settings_group_; // Grupo de opciones anterior
|
SettingsGroup previous_settings_group_; // Grupo de opciones anterior
|
||||||
Aspect aspect_ = Aspect::ASPECT1; // Estilo visual del menú
|
Aspect aspect_ = Aspect::ASPECT1; // Estilo visual del menú
|
||||||
std::string title_; // Titulo a mostrar en el menu
|
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 ---
|
// --- Variables de aspecto ---
|
||||||
Color bg_color_ = SERV_MENU_BG_COLOR; // Color de fondo
|
Color bg_color_ = SERV_MENU_BG_COLOR; // Color de fondo
|
||||||
|
|||||||
Reference in New Issue
Block a user