rosalina: Further fix for ReturnToHomeMenu

This commit is contained in:
fangrong 2026-01-20 11:05:47 +08:00 committed by TuxSH
parent 7f1dd962af
commit 21f0d64ee8
2 changed files with 12 additions and 11 deletions

View File

@ -36,7 +36,7 @@ void RosalinaMenu_TakeScreenshot(void);
void RosalinaMenu_ShowCredits(void); void RosalinaMenu_ShowCredits(void);
void RosalinaMenu_ProcessList(void); void RosalinaMenu_ProcessList(void);
void RosalinaMenu_SaveSettings(void); void RosalinaMenu_SaveSettings(void);
void RosalinaMenu_HomeMenu(void); void RosalinaMenu_ReturnToHomeMenu(void);
void RosalinaMenu_Cheats(void); void RosalinaMenu_Cheats(void);
void RosalinaMenu_PowerOffOrReboot(void); void RosalinaMenu_PowerOffOrReboot(void);

View File

@ -55,7 +55,7 @@ Menu rosalinaMenu = {
{ "System configuration...", MENU, .menu = &sysconfigMenu }, { "System configuration...", MENU, .menu = &sysconfigMenu },
{ "Miscellaneous options...", MENU, .menu = &miscellaneousMenu }, { "Miscellaneous options...", MENU, .menu = &miscellaneousMenu },
{ "Save settings", METHOD, .method = &RosalinaMenu_SaveSettings }, { "Save settings", METHOD, .method = &RosalinaMenu_SaveSettings },
{ "Return To Home Menu", METHOD, .method = &RosalinaMenu_HomeMenu }, { "Return To Home Menu", METHOD, .method = &RosalinaMenu_ReturnToHomeMenu },
{ "Power off / reboot", METHOD, .method = &RosalinaMenu_PowerOffOrReboot }, { "Power off / reboot", METHOD, .method = &RosalinaMenu_PowerOffOrReboot },
{ "System info", METHOD, .method = &RosalinaMenu_ShowSystemInfo }, { "System info", METHOD, .method = &RosalinaMenu_ShowSystemInfo },
{ "Credits", METHOD, .method = &RosalinaMenu_ShowCredits }, { "Credits", METHOD, .method = &RosalinaMenu_ShowCredits },
@ -302,28 +302,29 @@ static Result RosalinaMenu_WriteScreenshot(IFile *file, u32 width, bool top, boo
return res; return res;
} }
void RosalinaMenu_HomeMenu(void) { void RosalinaMenu_ReturnToHomeMenu(void)
{
Draw_Lock(); Draw_Lock();
Draw_ClearFramebuffer(); Draw_ClearFramebuffer();
Draw_FlushFramebuffer(); Draw_FlushFramebuffer();
Draw_Unlock(); Draw_Unlock();
do { do
Draw_DrawString(10, 10, COLOR_TITLE, "Rosalina -- Return to Home"); {
srvPublishToSubscriber(0x204, 0);
Draw_Lock(); Draw_Lock();
Draw_ClearFramebuffer(); Draw_DrawString(10, 10, COLOR_TITLE, "Return to Home Menu");
Draw_DrawString(10, 30, COLOR_WHITE, "Exit Rosalina to get back to the Home Menu."); Draw_DrawString(10, 30, COLOR_WHITE, "Press A to confirm.\nPress B to go back.");
Draw_DrawString(10, 40, COLOR_WHITE, "Press A to confirm");
Draw_FlushFramebuffer(); Draw_FlushFramebuffer();
Draw_Unlock(); Draw_Unlock();
u32 pressed = waitInputWithTimeout(1000); u32 pressed = waitInputWithTimeout(1000);
if(pressed & KEY_A) if(pressed & KEY_A)
{
menuLeave();
srvPublishToSubscriber(0x204, 0);
return; return;
}
else if(pressed & KEY_B) else if(pressed & KEY_B)
return; return;
} }