Author: hbelusca
Date: Mon Dec 24 23:03:11 2012
New Revision: 58001
URL:
http://svn.reactos.org/svn/reactos?rev=58001&view=rev
Log:
[FREELDR]
- Menu titles --> Menu headers (see r57842).
- In the same way we introduced menu headers, introduce menu footers, therefore we add the
possibility, in mini-tui,
of showing or hiding the "For troubleshooting and advanced startup options for
ReactOS, press F8." message, only
useful for the main menu (the one which shows the list of available OSes installed on
the system).
Modified:
trunk/reactos/boot/freeldr/freeldr/arch/i386/custom.c
trunk/reactos/boot/freeldr/freeldr/bootmgr.c
trunk/reactos/boot/freeldr/freeldr/include/ui.h
trunk/reactos/boot/freeldr/freeldr/include/ui/gui.h
trunk/reactos/boot/freeldr/freeldr/include/ui/noui.h
trunk/reactos/boot/freeldr/freeldr/include/ui/tui.h
trunk/reactos/boot/freeldr/freeldr/options.c
trunk/reactos/boot/freeldr/freeldr/ui/directui.c
trunk/reactos/boot/freeldr/freeldr/ui/minitui.c
trunk/reactos/boot/freeldr/freeldr/ui/noui.c
trunk/reactos/boot/freeldr/freeldr/ui/tuimenu.c
trunk/reactos/boot/freeldr/freeldr/ui/ui.c
Modified: trunk/reactos/boot/freeldr/freeldr/arch/i386/custom.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/arch/…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/arch/i386/custom.c [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/arch/i386/custom.c [iso-8859-1] Mon Dec 24 23:03:11
2012
@@ -43,7 +43,7 @@
ULONG CustomBootMenuCount = sizeof(CustomBootMenuList) / sizeof(CustomBootMenuList[0]);
ULONG SelectedMenuItem;
- if (!UiDisplayMenu("Please choose a boot method:",
+ if (!UiDisplayMenu("Please choose a boot method:", "",
CustomBootMenuList,
CustomBootMenuCount,
0, -1,
Modified: trunk/reactos/boot/freeldr/freeldr/bootmgr.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/bootm…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/bootmgr.c [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/bootmgr.c [iso-8859-1] Mon Dec 24 23:03:11 2012
@@ -266,12 +266,13 @@
for (;;)
{
-
// Redraw the backdrop
UiDrawBackdrop();
// Show the operating system list menu
if (!UiDisplayMenu("Please select the operating system to start:",
+ "For troubleshooting and advanced startup options for "
+ "ReactOS, press F8.",
OperatingSystemDisplayNames,
OperatingSystemCount,
DefaultOperatingSystem,
Modified: trunk/reactos/boot/freeldr/freeldr/include/ui.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/inclu…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/include/ui.h [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/include/ui.h [iso-8859-1] Mon Dec 24 23:03:11 2012
@@ -87,12 +87,25 @@
//
///////////////////////////////////////////////////////////////////////////////////////
-struct tagUI_MENU_INFO;
-typedef struct tagUI_MENU_INFO UI_MENU_INFO, *PUI_MENU_INFO;
+typedef struct tagUI_MENU_INFO
+{
+ PCSTR MenuHeader;
+ PCSTR MenuFooter;
+
+ PCSTR *MenuItemList;
+ ULONG MenuItemCount;
+ LONG MenuTimeRemaining;
+ ULONG SelectedMenuItem;
+
+ ULONG Left;
+ ULONG Top;
+ ULONG Right;
+ ULONG Bottom;
+} UI_MENU_INFO, *PUI_MENU_INFO;
typedef BOOLEAN (*UiMenuKeyPressFilterCallback)(ULONG KeyPress);
-BOOLEAN UiDisplayMenu(PCSTR MenuTitle, PCSTR MenuItemList[], ULONG MenuItemCount, ULONG
DefaultMenuItem, LONG MenuTimeOut, ULONG* SelectedMenuItem, BOOLEAN CanEscape,
UiMenuKeyPressFilterCallback KeyPressFilter);
+BOOLEAN UiDisplayMenu(PCSTR MenuHeader, PCSTR MenuFooter, PCSTR MenuItemList[], ULONG
MenuItemCount, ULONG DefaultMenuItem, LONG MenuTimeOut, ULONG* SelectedMenuItem, BOOLEAN
CanEscape, UiMenuKeyPressFilterCallback KeyPressFilter);
///////////////////////////////////////////////////////////////////////////////////////
//
@@ -122,7 +135,7 @@
VOID (*FadeInBackdrop)(VOID);
VOID (*FadeOut)(VOID);
- BOOLEAN (*DisplayMenu)(PCSTR MenuTitle, PCSTR MenuItemList[], ULONG MenuItemCount, ULONG
DefaultMenuItem, LONG MenuTimeOut, ULONG* SelectedMenuItem, BOOLEAN CanEscape,
UiMenuKeyPressFilterCallback KeyPressFilter);
+ BOOLEAN (*DisplayMenu)(PCSTR MenuHeader, PCSTR MenuFooter, PCSTR MenuItemList[], ULONG
MenuItemCount, ULONG DefaultMenuItem, LONG MenuTimeOut, ULONG* SelectedMenuItem, BOOLEAN
CanEscape, UiMenuKeyPressFilterCallback KeyPressFilter);
VOID (*DrawMenu)(PUI_MENU_INFO MenuInfo);
} UIVTBL, *PUIVTBL;
Modified: trunk/reactos/boot/freeldr/freeldr/include/ui/gui.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/inclu…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/include/ui/gui.h [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/include/ui/gui.h [iso-8859-1] Mon Dec 24 23:03:11
2012
@@ -48,6 +48,6 @@
// Menu Functions
//
///////////////////////////////////////////////////////////////////////////////////////
-BOOLEAN GuiDisplayMenu(PCSTR MenuItemList[], ULONG MenuItemCount, ULONG DefaultMenuItem,
LONG MenuTimeOut, ULONG* SelectedMenuItem);
+BOOLEAN GuiDisplayMenu(PCSTR MenuHeader, PCSTR MenuFooter, PCSTR MenuItemList[], ULONG
MenuItemCount, ULONG DefaultMenuItem, LONG MenuTimeOut, ULONG* SelectedMenuItem);
extern const UIVTBL GuiVtbl;
Modified: trunk/reactos/boot/freeldr/freeldr/include/ui/noui.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/inclu…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/include/ui/noui.h [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/include/ui/noui.h [iso-8859-1] Mon Dec 24 23:03:11
2012
@@ -41,5 +41,5 @@
//
///////////////////////////////////////////////////////////////////////////////////////
-BOOLEAN NoUiDisplayMenu(PCSTR MenuTitle, PCSTR MenuItemList[], ULONG MenuItemCount, ULONG
DefaultMenuItem, LONG MenuTimeOut, ULONG* SelectedMenuItem, BOOLEAN CanEscape,
UiMenuKeyPressFilterCallback KeyPressFilter);
+BOOLEAN NoUiDisplayMenu(PCSTR MenuHeader, PCSTR MenuFooter, PCSTR MenuItemList[], ULONG
MenuItemCount, ULONG DefaultMenuItem, LONG MenuTimeOut, ULONG* SelectedMenuItem, BOOLEAN
CanEscape, UiMenuKeyPressFilterCallback KeyPressFilter);
VOID NoUiDrawMenu(PUI_MENU_INFO MenuInfo);
Modified: trunk/reactos/boot/freeldr/freeldr/include/ui/tui.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/inclu…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/include/ui/tui.h [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/include/ui/tui.h [iso-8859-1] Mon Dec 24 23:03:11
2012
@@ -58,27 +58,12 @@
//
///////////////////////////////////////////////////////////////////////////////////////
-struct tagUI_MENU_INFO
-{
- PCSTR MenuTitle;
-
- PCSTR *MenuItemList;
- ULONG MenuItemCount;
- LONG MenuTimeRemaining;
- ULONG SelectedMenuItem;
-
- ULONG Left;
- ULONG Top;
- ULONG Right;
- ULONG Bottom;
-};
-
VOID NTAPI TuiCalcMenuBoxSize(PUI_MENU_INFO MenuInfo);
VOID TuiDrawMenu(PUI_MENU_INFO MenuInfo);
VOID NTAPI TuiDrawMenuBox(PUI_MENU_INFO MenuInfo);
VOID NTAPI TuiDrawMenuItem(PUI_MENU_INFO MenuInfo, ULONG MenuItemNumber);
ULONG NTAPI TuiProcessMenuKeyboardEvent(PUI_MENU_INFO MenuInfo,
UiMenuKeyPressFilterCallback KeyPressFilter);
-BOOLEAN TuiDisplayMenu(PCSTR MenuTitle, PCSTR MenuItemList[], ULONG MenuItemCount, ULONG
DefaultMenuItem, LONG MenuTimeOut, ULONG* SelectedMenuItem, BOOLEAN CanEscape,
UiMenuKeyPressFilterCallback KeyPressFilter);
+BOOLEAN TuiDisplayMenu(PCSTR MenuHeader, PCSTR MenuFooter, PCSTR MenuItemList[], ULONG
MenuItemCount, ULONG DefaultMenuItem, LONG MenuTimeOut, ULONG* SelectedMenuItem, BOOLEAN
CanEscape, UiMenuKeyPressFilterCallback KeyPressFilter);
/* Definitions for corners, depending on HORIZ and VERT */
#define UL (0xda)
Modified: trunk/reactos/boot/freeldr/freeldr/options.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/optio…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/options.c [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/options.c [iso-8859-1] Mon Dec 24 23:03:11 2012
@@ -101,7 +101,7 @@
ULONG SelectedMenuItem;
CHAR DebugChannelString[100];
- if (!UiDisplayMenu("Select an option:",
+ if (!UiDisplayMenu("Select an option:", "",
OptionsMenuList,
OptionsMenuItemCount,
0, -1,
Modified: trunk/reactos/boot/freeldr/freeldr/ui/directui.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/ui/di…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/ui/directui.c [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/ui/directui.c [iso-8859-1] Mon Dec 24 23:03:11
2012
@@ -353,13 +353,13 @@
{
ULONG i;
- /* No GUI status bar text, just minimal text. first to tell the user to choose */
+ /* No GUI status bar text, just minimal text. Show the menu header. */
UiDrawText(0,
MenuInfo->Top - 2,
- MenuInfo->MenuTitle,
+ MenuInfo->MenuHeader,
ATTR(UiMenuFgColor, UiMenuBgColor));
- /* Now tell him how to choose */
+ /* Now tell the user how to choose */
UiDrawText(0,
MenuInfo->Bottom + 1,
"Use \x18 and \x19 to move the highlight to your choice.",
@@ -369,11 +369,10 @@
"Press ENTER to choose.",
ATTR(UiMenuFgColor, UiMenuBgColor));
- /* And offer F8 options */
+ /* And show the menu footer */
UiDrawText(0,
UiScreenHeight - 4,
- "For troubleshooting and advanced startup options for "
- "ReactOS, press F8.",
+ MenuInfo->MenuFooter,
ATTR(UiMenuFgColor, UiMenuBgColor));
/* Draw the menu box */
@@ -497,7 +496,8 @@
}
BOOLEAN
-UiDisplayMenu(IN PCSTR MenuTitle,
+UiDisplayMenu(IN PCSTR MenuHeader,
+ IN PCSTR MenuFooter,
IN PCSTR MenuItemList[],
IN ULONG MenuItemCount,
IN ULONG DefaultMenuItem,
@@ -520,7 +520,8 @@
}
/* Setup the MENU_INFO structure */
- MenuInformation.MenuTitle = MenuTitle;
+ MenuInformation.MenuHeader = MenuHeader;
+ MenuInformation.MenuFooter = MenuFooter;
MenuInformation.MenuItemList = MenuItemList;
MenuInformation.MenuItemCount = MenuItemCount;
MenuInformation.MenuTimeRemaining = MenuTimeOut;
Modified: trunk/reactos/boot/freeldr/freeldr/ui/minitui.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/ui/mi…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/ui/minitui.c [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/ui/minitui.c [iso-8859-1] Mon Dec 24 23:03:11 2012
@@ -83,16 +83,15 @@
UiDrawBackdrop();
//
- // No GUI status bar text, just minimal text. first to tell the user to
- // choose.
+ // No GUI status bar text, just minimal text. Show the menu header.
//
UiVtbl.DrawText(0,
MenuInfo->Top - 2,
- MenuInfo->MenuTitle,
+ MenuInfo->MenuHeader,
ATTR(UiMenuFgColor, UiMenuBgColor));
//
- // Now tell him how to choose
+ // Now tell the user how to choose
//
UiVtbl.DrawText(0,
MenuInfo->Bottom + 1,
@@ -104,12 +103,11 @@
ATTR(UiMenuFgColor, UiMenuBgColor));
//
- // And offer F8 options
+ // And show the menu footer
//
UiVtbl.DrawText(0,
UiScreenHeight - 4,
- "For troubleshooting and advanced startup options for "
- "ReactOS, press F8.",
+ MenuInfo->MenuFooter,
ATTR(UiMenuFgColor, UiMenuBgColor));
//
Modified: trunk/reactos/boot/freeldr/freeldr/ui/noui.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/ui/no…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/ui/noui.c [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/ui/noui.c [iso-8859-1] Mon Dec 24 23:03:11 2012
@@ -109,7 +109,7 @@
//
///////////////////////////////////////////////////////////////////////////////////////
-BOOLEAN NoUiDisplayMenu(PCSTR MenuTitle, PCSTR MenuItemList[], ULONG MenuItemCount, ULONG
DefaultMenuItem, LONG MenuTimeOut, ULONG* SelectedMenuItem, BOOLEAN CanEscape,
UiMenuKeyPressFilterCallback KeyPressFilter)
+BOOLEAN NoUiDisplayMenu(PCSTR MenuHeader, PCSTR MenuFooter, PCSTR MenuItemList[], ULONG
MenuItemCount, ULONG DefaultMenuItem, LONG MenuTimeOut, ULONG* SelectedMenuItem, BOOLEAN
CanEscape, UiMenuKeyPressFilterCallback KeyPressFilter)
{
*SelectedMenuItem = DefaultMenuItem;
return TRUE;
Modified: trunk/reactos/boot/freeldr/freeldr/ui/tuimenu.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/ui/tu…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/ui/tuimenu.c [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/ui/tuimenu.c [iso-8859-1] Mon Dec 24 23:03:11 2012
@@ -14,7 +14,8 @@
/* FUNCTIONS *****************************************************************/
BOOLEAN
-TuiDisplayMenu(PCSTR MenuTitle,
+TuiDisplayMenu(PCSTR MenuHeader,
+ PCSTR MenuFooter,
PCSTR MenuItemList[],
ULONG MenuItemCount,
ULONG DefaultMenuItem,
@@ -42,7 +43,8 @@
//
// Setup the MENU_INFO structure
//
- MenuInformation.MenuTitle = MenuTitle;
+ MenuInformation.MenuHeader = MenuHeader;
+ MenuInformation.MenuFooter = MenuFooter;
MenuInformation.MenuItemList = MenuItemList;
MenuInformation.MenuItemCount = MenuItemCount;
MenuInformation.MenuTimeRemaining = MenuTimeOut;
Modified: trunk/reactos/boot/freeldr/freeldr/ui/ui.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/ui/ui…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/ui/ui.c [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/ui/ui.c [iso-8859-1] Mon Dec 24 23:03:11 2012
@@ -442,9 +442,9 @@
}
}
-BOOLEAN UiDisplayMenu(PCSTR MenuTitle, PCSTR MenuItemList[], ULONG MenuItemCount, ULONG
DefaultMenuItem, LONG MenuTimeOut, ULONG* SelectedMenuItem, BOOLEAN CanEscape,
UiMenuKeyPressFilterCallback KeyPressFilter)
-{
- return UiVtbl.DisplayMenu(MenuTitle, MenuItemList, MenuItemCount, DefaultMenuItem,
MenuTimeOut, SelectedMenuItem, CanEscape, KeyPressFilter);
+BOOLEAN UiDisplayMenu(PCSTR MenuHeader, PCSTR MenuFooter, PCSTR MenuItemList[], ULONG
MenuItemCount, ULONG DefaultMenuItem, LONG MenuTimeOut, ULONG* SelectedMenuItem, BOOLEAN
CanEscape, UiMenuKeyPressFilterCallback KeyPressFilter)
+{
+ return UiVtbl.DisplayMenu(MenuHeader, MenuFooter, MenuItemList, MenuItemCount,
DefaultMenuItem, MenuTimeOut, SelectedMenuItem, CanEscape, KeyPressFilter);
}
VOID UiFadeInBackdrop(VOID)