mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 10:04:49 +00:00
- Implement dummy device settings pages.
- Hide the cursor at startup. svn path=/trunk/; revision=9503
This commit is contained in:
parent
ac9cb4c5a6
commit
43836af86c
3 changed files with 316 additions and 9 deletions
|
@ -821,6 +821,42 @@ SetStatusText(char* fmt, ...)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
VOID
|
||||||
|
InvertTextXY(SHORT x, SHORT y, SHORT col, SHORT row)
|
||||||
|
{
|
||||||
|
COORD coPos;
|
||||||
|
ULONG Written;
|
||||||
|
|
||||||
|
for (coPos.Y = y; coPos.Y < y + row; coPos.Y++)
|
||||||
|
{
|
||||||
|
coPos.X = x;
|
||||||
|
|
||||||
|
FillConsoleOutputAttribute(0x71,
|
||||||
|
col,
|
||||||
|
coPos,
|
||||||
|
&Written);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
VOID
|
||||||
|
NormalTextXY(SHORT x, SHORT y, SHORT col, SHORT row)
|
||||||
|
{
|
||||||
|
COORD coPos;
|
||||||
|
ULONG Written;
|
||||||
|
|
||||||
|
for (coPos.Y = y; coPos.Y < y + row; coPos.Y++)
|
||||||
|
{
|
||||||
|
coPos.X = x;
|
||||||
|
|
||||||
|
FillConsoleOutputAttribute(0x17,
|
||||||
|
col,
|
||||||
|
coPos,
|
||||||
|
&Written);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
SetTextXY(SHORT x, SHORT y, PCHAR Text)
|
SetTextXY(SHORT x, SHORT y, PCHAR Text)
|
||||||
{
|
{
|
||||||
|
|
|
@ -115,6 +115,12 @@ ClearScreen(VOID);
|
||||||
VOID
|
VOID
|
||||||
SetStatusText(char* fmt, ...);
|
SetStatusText(char* fmt, ...);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
InvertTextXY(SHORT x, SHORT y, SHORT col, SHORT row);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
NormalTextXY(SHORT x, SHORT y, SHORT col, SHORT row);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
SetTextXY(SHORT x, SHORT y, PCHAR Text);
|
SetTextXY(SHORT x, SHORT y, PCHAR Text);
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,13 @@ typedef enum _PAGE_NUMBER
|
||||||
INTRO_PAGE,
|
INTRO_PAGE,
|
||||||
INSTALL_INTRO_PAGE,
|
INSTALL_INTRO_PAGE,
|
||||||
|
|
||||||
|
DEVICE_SETTINGS_PAGE,
|
||||||
|
COMPUTER_SETTINGS_PAGE,
|
||||||
|
DISPLAY_SETTINGS_PAGE,
|
||||||
|
KEYBOARD_SETTINGS_PAGE,
|
||||||
|
LAYOUT_SETTINGS_PAGE,
|
||||||
|
POINTER_SETTINGS_PAGE,
|
||||||
|
|
||||||
SELECT_PARTITION_PAGE,
|
SELECT_PARTITION_PAGE,
|
||||||
CREATE_PARTITION_PAGE,
|
CREATE_PARTITION_PAGE,
|
||||||
DELETE_PARTITION_PAGE,
|
DELETE_PARTITION_PAGE,
|
||||||
|
@ -391,12 +398,12 @@ ConfirmQuit(PINPUT_RECORD Ir)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return(Result);
|
return Result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
CheckUnattendedSetup()
|
CheckUnattendedSetup(VOID)
|
||||||
{
|
{
|
||||||
WCHAR UnattendInfPath[MAX_PATH];
|
WCHAR UnattendInfPath[MAX_PATH];
|
||||||
UNICODE_STRING FileName;
|
UNICODE_STRING FileName;
|
||||||
|
@ -700,7 +707,7 @@ IntroPage(PINPUT_RECORD Ir)
|
||||||
return INSTALL_INTRO_PAGE;
|
return INSTALL_INTRO_PAGE;
|
||||||
}
|
}
|
||||||
|
|
||||||
while(TRUE)
|
while (TRUE)
|
||||||
{
|
{
|
||||||
ConInKey(Ir);
|
ConInKey(Ir);
|
||||||
|
|
||||||
|
@ -831,16 +838,252 @@ InstallIntroPage(PINPUT_RECORD Ir)
|
||||||
(Ir->Event.KeyEvent.wVirtualKeyCode == VK_F3)) /* F3 */
|
(Ir->Event.KeyEvent.wVirtualKeyCode == VK_F3)) /* F3 */
|
||||||
{
|
{
|
||||||
if (ConfirmQuit(Ir) == TRUE)
|
if (ConfirmQuit(Ir) == TRUE)
|
||||||
return(QUIT_PAGE);
|
return QUIT_PAGE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
|
else if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
|
||||||
{
|
{
|
||||||
return(SELECT_PARTITION_PAGE);
|
return DEVICE_SETTINGS_PAGE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return(INSTALL_INTRO_PAGE);
|
return INSTALL_INTRO_PAGE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static PAGE_NUMBER
|
||||||
|
DeviceSettingsPage(PINPUT_RECORD Ir)
|
||||||
|
{
|
||||||
|
static ULONG Line = 17;
|
||||||
|
|
||||||
|
SetTextXY(6, 8, "The list below shows the current device settings.");
|
||||||
|
|
||||||
|
SetTextXY(8, 11, " Computer:");
|
||||||
|
SetTextXY(8, 12, " Display:");
|
||||||
|
SetTextXY(8, 13, " Keyboard:");
|
||||||
|
SetTextXY(8, 14, "Keyboard layout:");
|
||||||
|
SetTextXY(8, 15, " Pointer device:");
|
||||||
|
|
||||||
|
SetTextXY(8, 17, " Accept:");
|
||||||
|
|
||||||
|
|
||||||
|
SetTextXY(25, 11, "Standard-PC");
|
||||||
|
SetTextXY(25, 12, "Automatic detection");
|
||||||
|
SetTextXY(25, 13, "XT-, AT- or extended keyboard (83-105 keys)");
|
||||||
|
SetTextXY(25, 14, "English (USA)");
|
||||||
|
SetTextXY(25, 15, "PS/2 (Mouse port) mouse");
|
||||||
|
|
||||||
|
SetTextXY(25, 17, "Accept these device setings");
|
||||||
|
InvertTextXY (24, Line, 48, 1);
|
||||||
|
|
||||||
|
|
||||||
|
SetTextXY(6, 20, "You can change the hardware settings by pressing the UP or DOWN keys");
|
||||||
|
SetTextXY(6, 21, "to select an entry. Then press the ENTER key to select alternative");
|
||||||
|
SetTextXY(6, 22, "settings.");
|
||||||
|
|
||||||
|
SetTextXY(6, 24, "When all settings are correct, select \"Accept these device setings\"");
|
||||||
|
SetTextXY(6, 25, "and press ENTER.");
|
||||||
|
|
||||||
|
SetStatusText(" ENTER = Continue F3 = Quit");
|
||||||
|
|
||||||
|
while(TRUE)
|
||||||
|
{
|
||||||
|
ConInKey(Ir);
|
||||||
|
|
||||||
|
if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) &&
|
||||||
|
(Ir->Event.KeyEvent.wVirtualKeyCode == VK_DOWN)) /* DOWN */
|
||||||
|
{
|
||||||
|
NormalTextXY (24, Line, 48, 1);
|
||||||
|
if (Line == 15)
|
||||||
|
Line = 17;
|
||||||
|
else if (Line == 17)
|
||||||
|
Line = 11;
|
||||||
|
else
|
||||||
|
Line++;
|
||||||
|
InvertTextXY (24, Line, 48, 1);
|
||||||
|
}
|
||||||
|
if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) &&
|
||||||
|
(Ir->Event.KeyEvent.wVirtualKeyCode == VK_UP)) /* UP */
|
||||||
|
{
|
||||||
|
NormalTextXY (24, Line, 48, 1);
|
||||||
|
if (Line == 11)
|
||||||
|
Line = 17;
|
||||||
|
else if (Line == 17)
|
||||||
|
Line = 15;
|
||||||
|
else
|
||||||
|
Line--;
|
||||||
|
InvertTextXY (24, Line, 48, 1);
|
||||||
|
}
|
||||||
|
else if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) &&
|
||||||
|
(Ir->Event.KeyEvent.wVirtualKeyCode == VK_F3)) /* F3 */
|
||||||
|
{
|
||||||
|
if (ConfirmQuit(Ir) == TRUE)
|
||||||
|
return QUIT_PAGE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
|
||||||
|
{
|
||||||
|
if (Line == 11)
|
||||||
|
return COMPUTER_SETTINGS_PAGE;
|
||||||
|
else if (Line == 12)
|
||||||
|
return DISPLAY_SETTINGS_PAGE;
|
||||||
|
else if (Line == 13)
|
||||||
|
return KEYBOARD_SETTINGS_PAGE;
|
||||||
|
else if (Line == 14)
|
||||||
|
return LAYOUT_SETTINGS_PAGE;
|
||||||
|
else if (Line == 15)
|
||||||
|
return POINTER_SETTINGS_PAGE;
|
||||||
|
else if (Line == 17)
|
||||||
|
return SELECT_PARTITION_PAGE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return DEVICE_SETTINGS_PAGE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static PAGE_NUMBER
|
||||||
|
ComputerSettingsPage(PINPUT_RECORD Ir)
|
||||||
|
{
|
||||||
|
SetTextXY(6, 8, "Computer settings are not implemented yet.");
|
||||||
|
|
||||||
|
|
||||||
|
SetStatusText(" ENTER = Continue F3 = Quit");
|
||||||
|
|
||||||
|
while(TRUE)
|
||||||
|
{
|
||||||
|
ConInKey(Ir);
|
||||||
|
|
||||||
|
if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) &&
|
||||||
|
(Ir->Event.KeyEvent.wVirtualKeyCode == VK_F3)) /* F3 */
|
||||||
|
{
|
||||||
|
if (ConfirmQuit(Ir) == TRUE)
|
||||||
|
return QUIT_PAGE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
|
||||||
|
{
|
||||||
|
return DEVICE_SETTINGS_PAGE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return COMPUTER_SETTINGS_PAGE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static PAGE_NUMBER
|
||||||
|
DisplaySettingsPage(PINPUT_RECORD Ir)
|
||||||
|
{
|
||||||
|
SetTextXY(6, 8, "Display settings are not implemented yet.");
|
||||||
|
|
||||||
|
|
||||||
|
SetStatusText(" ENTER = Continue F3 = Quit");
|
||||||
|
|
||||||
|
while(TRUE)
|
||||||
|
{
|
||||||
|
ConInKey(Ir);
|
||||||
|
|
||||||
|
if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) &&
|
||||||
|
(Ir->Event.KeyEvent.wVirtualKeyCode == VK_F3)) /* F3 */
|
||||||
|
{
|
||||||
|
if (ConfirmQuit(Ir) == TRUE)
|
||||||
|
return QUIT_PAGE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
|
||||||
|
{
|
||||||
|
return DEVICE_SETTINGS_PAGE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return DISPLAY_SETTINGS_PAGE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static PAGE_NUMBER
|
||||||
|
KeyboardSettingsPage(PINPUT_RECORD Ir)
|
||||||
|
{
|
||||||
|
SetTextXY(6, 8, "Keyboard settings are not implemented yet.");
|
||||||
|
|
||||||
|
|
||||||
|
SetStatusText(" ENTER = Continue F3 = Quit");
|
||||||
|
|
||||||
|
while(TRUE)
|
||||||
|
{
|
||||||
|
ConInKey(Ir);
|
||||||
|
|
||||||
|
if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) &&
|
||||||
|
(Ir->Event.KeyEvent.wVirtualKeyCode == VK_F3)) /* F3 */
|
||||||
|
{
|
||||||
|
if (ConfirmQuit(Ir) == TRUE)
|
||||||
|
return QUIT_PAGE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
|
||||||
|
{
|
||||||
|
return DEVICE_SETTINGS_PAGE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return DISPLAY_SETTINGS_PAGE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static PAGE_NUMBER
|
||||||
|
LayoutSettingsPage(PINPUT_RECORD Ir)
|
||||||
|
{
|
||||||
|
SetTextXY(6, 8, "Keyboard layout settings are not implemented yet.");
|
||||||
|
|
||||||
|
|
||||||
|
SetStatusText(" ENTER = Continue F3 = Quit");
|
||||||
|
|
||||||
|
while(TRUE)
|
||||||
|
{
|
||||||
|
ConInKey(Ir);
|
||||||
|
|
||||||
|
if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) &&
|
||||||
|
(Ir->Event.KeyEvent.wVirtualKeyCode == VK_F3)) /* F3 */
|
||||||
|
{
|
||||||
|
if (ConfirmQuit(Ir) == TRUE)
|
||||||
|
return QUIT_PAGE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
|
||||||
|
{
|
||||||
|
return DEVICE_SETTINGS_PAGE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return DISPLAY_SETTINGS_PAGE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static PAGE_NUMBER
|
||||||
|
PointerSettingsPage(PINPUT_RECORD Ir)
|
||||||
|
{
|
||||||
|
SetTextXY(6, 8, "Pointer settings are not implemented yet.");
|
||||||
|
|
||||||
|
|
||||||
|
SetStatusText(" ENTER = Continue F3 = Quit");
|
||||||
|
|
||||||
|
while(TRUE)
|
||||||
|
{
|
||||||
|
ConInKey(Ir);
|
||||||
|
|
||||||
|
if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) &&
|
||||||
|
(Ir->Event.KeyEvent.wVirtualKeyCode == VK_F3)) /* F3 */
|
||||||
|
{
|
||||||
|
if (ConfirmQuit(Ir) == TRUE)
|
||||||
|
return QUIT_PAGE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
|
||||||
|
{
|
||||||
|
return DEVICE_SETTINGS_PAGE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return DISPLAY_SETTINGS_PAGE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -871,7 +1114,7 @@ SelectPartitionPage(PINPUT_RECORD Ir)
|
||||||
if (PartitionList == NULL)
|
if (PartitionList == NULL)
|
||||||
{
|
{
|
||||||
/* FIXME: show an error dialog */
|
/* FIXME: show an error dialog */
|
||||||
return(QUIT_PAGE);
|
return QUIT_PAGE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3445,6 +3688,8 @@ NtProcessStartup(PPEB Peb)
|
||||||
RtlInitUnicodeString(&DestinationRootPath, NULL);
|
RtlInitUnicodeString(&DestinationRootPath, NULL);
|
||||||
RtlInitUnicodeString(&SystemRootPath, NULL);
|
RtlInitUnicodeString(&SystemRootPath, NULL);
|
||||||
|
|
||||||
|
/* Hide the cursor */
|
||||||
|
SetCursorType(TRUE, FALSE);
|
||||||
|
|
||||||
Page = START_PAGE;
|
Page = START_PAGE;
|
||||||
while (Page != REBOOT_PAGE)
|
while (Page != REBOOT_PAGE)
|
||||||
|
@ -3476,9 +3721,29 @@ NtProcessStartup(PPEB Peb)
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if 0
|
|
||||||
case DEVICE_SETTINGS_PAGE:
|
case DEVICE_SETTINGS_PAGE:
|
||||||
#endif
|
Page = DeviceSettingsPage(&Ir);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case COMPUTER_SETTINGS_PAGE:
|
||||||
|
Page = ComputerSettingsPage(&Ir);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case DISPLAY_SETTINGS_PAGE:
|
||||||
|
Page = DisplaySettingsPage(&Ir);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case KEYBOARD_SETTINGS_PAGE:
|
||||||
|
Page = KeyboardSettingsPage(&Ir);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case LAYOUT_SETTINGS_PAGE:
|
||||||
|
Page = LayoutSettingsPage(&Ir);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case POINTER_SETTINGS_PAGE:
|
||||||
|
Page = PointerSettingsPage(&Ir);
|
||||||
|
break;
|
||||||
|
|
||||||
case SELECT_PARTITION_PAGE:
|
case SELECT_PARTITION_PAGE:
|
||||||
Page = SelectPartitionPage(&Ir);
|
Page = SelectPartitionPage(&Ir);
|
||||||
|
|
Loading…
Reference in a new issue