ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
May 2017
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
17 participants
288 discussions
Start a n
N
ew thread
[hbelusca] 74554: [USETUP]: Similarly to what was done for GenLists, factor out the UI code from the partition list code. This will allow to reuse it for the 1st-stage GUI setup too, while using an...
by hbelusca@svn.reactos.org
Author: hbelusca Date: Mon May 15 19:41:18 2017 New Revision: 74554 URL:
http://svn.reactos.org/svn/reactos?rev=74554&view=rev
Log: [USETUP]: Similarly to what was done for GenLists, factor out the UI code from the partition list code. This will allow to reuse it for the 1st-stage GUI setup too, while using another UI representation. - Add also two partition iterator functions: GetNextPartition and GetPrevPartition. Modified: branches/setup_improvements/base/setup/usetup/interface/usetup.c branches/setup_improvements/base/setup/usetup/partlist.c branches/setup_improvements/base/setup/usetup/partlist.h Modified: branches/setup_improvements/base/setup/usetup/interface/usetup.c URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/interface/usetup.c [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/interface/usetup.c [iso-8859-1] Mon May 15 19:41:18 2017 @@ -789,38 +789,15 @@ static PAGE_NUMBER SetupStartPage(PINPUT_RECORD Ir) { - //SYSTEM_DEVICE_INFORMATION Sdi; NTSTATUS Status; WCHAR FileNameBuffer[MAX_PATH]; INFCONTEXT Context; PWCHAR Value; UINT ErrorLine; - //ULONG ReturnSize; PGENERIC_LIST_ENTRY ListEntry; INT IntValue; CONSOLE_SetStatusText(MUIGetString(STRING_PLEASEWAIT)); - -#if 0 - /* Check whether a harddisk is available */ - Status = NtQuerySystemInformation(SystemDeviceInformation, - &Sdi, - sizeof(SYSTEM_DEVICE_INFORMATION), - &ReturnSize); - - if (!NT_SUCCESS(Status)) - { - CONSOLE_PrintTextXY(6, 15, "NtQuerySystemInformation() failed (Status 0x%08lx)", Status); - MUIDisplayError(ERROR_DRIVE_INFORMATION, Ir, POPUP_WAIT_ENTER); - return QUIT_PAGE; - } - - if (Sdi.NumberOfDisks == 0) - { - MUIDisplayError(ERROR_NO_HDD, Ir, POPUP_WAIT_ENTER); - return QUIT_PAGE; - } -#endif /* Get the source path and source root path */ Status = GetSourcePaths(&SourcePath, @@ -895,7 +872,7 @@ RequiredPartitionDiskSpace = (ULONG)IntValue; - /* Start PnP thread */ + /* Start the PnP thread */ if (hPnpThread != INVALID_HANDLE_VALUE) { NtResumeThread(hPnpThread, NULL); @@ -906,8 +883,7 @@ if (IsUnattendedSetup) { - //TODO - //read options from inf + // TODO: Read options from inf ComputerList = CreateComputerTypeList(SetupInf); DisplayList = CreateDisplayDriverList(SetupInf); KeyboardList = CreateKeyboardDriverList(SetupInf); @@ -992,7 +968,7 @@ { return REPAIR_INTRO_PAGE; } - else if (toupper(Ir->Event.KeyEvent.uChar.AsciiChar) == 'L') /* R */ + else if (toupper(Ir->Event.KeyEvent.uChar.AsciiChar) == 'L') /* L */ { return LICENSE_PAGE; } @@ -1532,19 +1508,18 @@ static PAGE_NUMBER SelectPartitionPage(PINPUT_RECORD Ir) { + PARTLIST_UI ListUi; ULONG Error; MUIDisplayPage(SELECT_PARTITION_PAGE); if (PartitionList == NULL) { - PartitionList = CreatePartitionList(2, - 23, - xScreen - 3, - yScreen - 3); + PartitionList = CreatePartitionList(); if (PartitionList == NULL) { /* FIXME: show an error dialog */ + MUIDisplayError(ERROR_DRIVE_INFORMATION, Ir, POPUP_WAIT_ENTER); return QUIT_PAGE; } else if (IsListEmpty(&PartitionList->DiskListHead)) @@ -1554,7 +1529,12 @@ } } - DrawPartitionList(PartitionList); + InitPartitionListUi(&ListUi, PartitionList, + 2, + 23, + xScreen - 3, + yScreen - 3); + DrawPartitionList(&ListUi); if (IsUnattendedSetup) { @@ -1575,6 +1555,7 @@ TRUE); } +// FIXME?? Aren't we going to enter an infinite loop, if this test fails?? if (!IsDiskSizeValid(PartitionList->CurrentPartition)) { MUIDisplayError(ERROR_INSUFFICIENT_PARTITION_SIZE, Ir, POPUP_WAIT_ANY_KEY, @@ -1589,6 +1570,9 @@ } else { + DrawPartitionList(&ListUi); + +// FIXME?? Aren't we going to enter an infinite loop, if this test fails?? if (!IsDiskSizeValid(PartitionList->CurrentPartition)) { MUIDisplayError(ERROR_INSUFFICIENT_PARTITION_SIZE, Ir, POPUP_WAIT_ANY_KEY, @@ -1656,14 +1640,12 @@ else if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) && (Ir->Event.KeyEvent.wVirtualKeyCode == VK_DOWN)) /* DOWN */ { - if (ScrollDownPartitionList(PartitionList)) - DrawPartitionList(PartitionList); + ScrollDownPartitionList(&ListUi); } else if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) && (Ir->Event.KeyEvent.wVirtualKeyCode == VK_UP)) /* UP */ { - if (ScrollUpPartitionList(PartitionList)) - DrawPartitionList(PartitionList); + ScrollUpPartitionList(&ListUi); } else if (Ir->Event.KeyEvent.wVirtualKeyCode == VK_RETURN) /* ENTER */ { Modified: branches/setup_improvements/base/setup/usetup/partlist.c URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/partlist.c [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/partlist.c [iso-8859-1] Mon May 15 19:41:18 2017 @@ -1418,11 +1418,7 @@ PPARTLIST -CreatePartitionList( - SHORT Left, - SHORT Top, - SHORT Right, - SHORT Bottom) +CreatePartitionList(VOID) { PPARTLIST List; OBJECT_ATTRIBUTES ObjectAttributes; @@ -1441,14 +1437,6 @@ if (List == NULL) return NULL; - List->Left = Left; - List->Top = Top; - List->Right = Right; - List->Bottom = Bottom; - - List->Line = 0; - List->Offset = 0; - List->CurrentDisk = NULL; List->CurrentPartition = NULL; @@ -1465,10 +1453,11 @@ Status = NtQuerySystemInformation(SystemDeviceInformation, &Sdi, - sizeof(SYSTEM_DEVICE_INFORMATION), + sizeof(Sdi), &ReturnSize); if (!NT_SUCCESS(Status)) { + DPRINT1("NtQuerySystemInformation() failed, Status 0x%08lx", Status); RtlFreeHeap(ProcessHeap, 0, List); return NULL; } @@ -1592,23 +1581,47 @@ } +VOID +InitPartitionListUi( + IN OUT PPARTLIST_UI ListUi, + IN PPARTLIST List, + IN SHORT Left, + IN SHORT Top, + IN SHORT Right, + IN SHORT Bottom) +{ + ListUi->List = List; + // ListUi->FirstShown = NULL; + // ListUi->LastShown = NULL; + + ListUi->Left = Left; + ListUi->Top = Top; + ListUi->Right = Right; + ListUi->Bottom = Bottom; + + ListUi->Line = 0; + ListUi->Offset = 0; + + // ListUi->Redraw = TRUE; +} + static VOID PrintEmptyLine( - IN PPARTLIST List) + IN PPARTLIST_UI ListUi) { COORD coPos; ULONG Written; USHORT Width; USHORT Height; - Width = List->Right - List->Left - 1; - Height = List->Bottom - List->Top - 2; - - coPos.X = List->Left + 1; - coPos.Y = List->Top + 1 + List->Line; - - if (List->Line >= 0 && List->Line <= Height) + Width = ListUi->Right - ListUi->Left - 1; + Height = ListUi->Bottom - ListUi->Top - 2; + + coPos.X = ListUi->Left + 1; + coPos.Y = ListUi->Top + 1 + ListUi->Line; + + if (ListUi->Line >= 0 && ListUi->Line <= Height) { FillConsoleOutputAttribute(StdOutput, FOREGROUND_WHITE | BACKGROUND_BLUE, @@ -1623,17 +1636,18 @@ &Written); } - List->Line++; + ListUi->Line++; } static VOID PrintPartitionData( - IN PPARTLIST List, + IN PPARTLIST_UI ListUi, IN PDISKENTRY DiskEntry, IN PPARTENTRY PartEntry) { + PPARTLIST List = ListUi->List; CHAR LineBuffer[128]; COORD coPos; ULONG Written; @@ -1643,14 +1657,13 @@ PCHAR Unit; UCHAR Attribute; CHAR PartTypeString[32]; - PCHAR PartType; - PartType = PartTypeString; - - Width = List->Right - List->Left - 1; - Height = List->Bottom - List->Top - 2; - - coPos.X = List->Left + 1; - coPos.Y = List->Top + 1 + List->Line; + PCHAR PartType = PartTypeString; + + Width = ListUi->Right - ListUi->Left - 1; + Height = ListUi->Bottom - ListUi->Top - 2; + + coPos.X = ListUi->Left + 1; + coPos.Y = ListUi->Top + 1 + ListUi->Line; if (PartEntry->IsPartitioned == FALSE) { @@ -1750,7 +1763,7 @@ FOREGROUND_BLUE | BACKGROUND_WHITE : FOREGROUND_WHITE | BACKGROUND_BLUE; - if (List->Line >= 0 && List->Line <= Height) + if (ListUi->Line >= 0 && ListUi->Line <= Height) { FillConsoleOutputCharacterA(StdOutput, ' ', @@ -1760,7 +1773,7 @@ } coPos.X += 4; Width -= 8; - if (List->Line >= 0 && List->Line <= Height) + if (ListUi->Line >= 0 && ListUi->Line <= Height) { FillConsoleOutputAttribute(StdOutput, Attribute, @@ -1770,7 +1783,7 @@ } coPos.X++; Width -= 2; - if (List->Line >= 0 && List->Line <= Height) + if (ListUi->Line >= 0 && ListUi->Line <= Height) { WriteConsoleOutputCharacterA(StdOutput, LineBuffer, @@ -1779,16 +1792,17 @@ &Written); } - List->Line++; + ListUi->Line++; } static VOID PrintDiskData( - IN PPARTLIST List, + IN PPARTLIST_UI ListUi, IN PDISKENTRY DiskEntry) { + // PPARTLIST List = ListUi->List; PPARTENTRY PrimaryPartEntry, LogicalPartEntry; PLIST_ENTRY PrimaryEntry, LogicalEntry; CHAR LineBuffer[128]; @@ -1799,11 +1813,11 @@ ULARGE_INTEGER DiskSize; PCHAR Unit; - Width = List->Right - List->Left - 1; - Height = List->Bottom - List->Top - 2; - - coPos.X = List->Left + 1; - coPos.Y = List->Top + 1 + List->Line; + Width = ListUi->Right - ListUi->Left - 1; + Height = ListUi->Bottom - ListUi->Top - 2; + + coPos.X = ListUi->Left + 1; + coPos.Y = ListUi->Top + 1 + ListUi->Line; DiskSize.QuadPart = DiskEntry->SectorCount.QuadPart * DiskEntry->BytesPerSector; if (DiskSize.QuadPart >= 10737418240) /* 10 GB */ @@ -1843,7 +1857,7 @@ DiskEntry->Id); } - if (List->Line >= 0 && List->Line <= Height) + if (ListUi->Line >= 0 && ListUi->Line <= Height) { FillConsoleOutputAttribute(StdOutput, FOREGROUND_WHITE | BACKGROUND_BLUE, @@ -1859,7 +1873,7 @@ } coPos.X++; - if (List->Line >= 0 && List->Line <= Height) + if (ListUi->Line >= 0 && ListUi->Line <= Height) { WriteConsoleOutputCharacterA(StdOutput, LineBuffer, @@ -1868,10 +1882,10 @@ &Written); } - List->Line++; + ListUi->Line++; /* Print separator line */ - PrintEmptyLine(List); + PrintEmptyLine(ListUi); /* Print partition lines */ PrimaryEntry = DiskEntry->PrimaryPartListHead.Flink; @@ -1879,7 +1893,7 @@ { PrimaryPartEntry = CONTAINING_RECORD(PrimaryEntry, PARTENTRY, ListEntry); - PrintPartitionData(List, + PrintPartitionData(ListUi, DiskEntry, PrimaryPartEntry); @@ -1890,7 +1904,7 @@ { LogicalPartEntry = CONTAINING_RECORD(LogicalEntry, PARTENTRY, ListEntry); - PrintPartitionData(List, + PrintPartitionData(ListUi, DiskEntry, LogicalPartEntry); @@ -1902,14 +1916,15 @@ } /* Print separator line */ - PrintEmptyLine(List); + PrintEmptyLine(ListUi); } VOID DrawPartitionList( - IN PPARTLIST List) -{ + IN PPARTLIST_UI ListUi) +{ + PPARTLIST List = ListUi->List; PLIST_ENTRY Entry, Entry2; PDISKENTRY DiskEntry; PPARTENTRY PartEntry = NULL; @@ -2000,37 +2015,37 @@ } /* If it possible, make the disk name visible */ - if (CurrentPartLine < List->Offset) - { - List->Offset = CurrentPartLine; - } - else if (CurrentPartLine - List->Offset > List->Bottom - List->Top - 2) - { - List->Offset = CurrentPartLine - (List->Bottom - List->Top - 2); - } - - if (CurrentDiskLine < List->Offset && CurrentPartLine - CurrentDiskLine < List->Bottom - List->Top - 2) - { - List->Offset = CurrentDiskLine; - } - - /* draw upper left corner */ - coPos.X = List->Left; - coPos.Y = List->Top; + if (CurrentPartLine < ListUi->Offset) + { + ListUi->Offset = CurrentPartLine; + } + else if (CurrentPartLine - ListUi->Offset > ListUi->Bottom - ListUi->Top - 2) + { + ListUi->Offset = CurrentPartLine - (ListUi->Bottom - ListUi->Top - 2); + } + + if (CurrentDiskLine < ListUi->Offset && CurrentPartLine - CurrentDiskLine < ListUi->Bottom - ListUi->Top - 2) + { + ListUi->Offset = CurrentDiskLine; + } + + /* Draw upper left corner */ + coPos.X = ListUi->Left; + coPos.Y = ListUi->Top; FillConsoleOutputCharacterA(StdOutput, 0xDA, // '+', 1, coPos, &Written); - /* draw upper edge */ - coPos.X = List->Left + 1; - coPos.Y = List->Top; - if (List->Offset == 0) + /* Draw upper edge */ + coPos.X = ListUi->Left + 1; + coPos.Y = ListUi->Top; + if (ListUi->Offset == 0) { FillConsoleOutputCharacterA(StdOutput, 0xC4, // '-', - List->Right - List->Left - 1, + ListUi->Right - ListUi->Left - 1, coPos, &Written); } @@ -2038,16 +2053,16 @@ { FillConsoleOutputCharacterA(StdOutput, 0xC4, // '-', - List->Right - List->Left - 5, + ListUi->Right - ListUi->Left - 5, coPos, &Written); - coPos.X = List->Right - 5; + coPos.X = ListUi->Right - 5; WriteConsoleOutputCharacterA(StdOutput, "(\x18)", // "(up)" 3, coPos, &Written); - coPos.X = List->Right - 2; + coPos.X = ListUi->Right - 2; FillConsoleOutputCharacterA(StdOutput, 0xC4, // '-', 2, @@ -2055,19 +2070,19 @@ &Written); } - /* draw upper right corner */ - coPos.X = List->Right; - coPos.Y = List->Top; + /* Draw upper right corner */ + coPos.X = ListUi->Right; + coPos.Y = ListUi->Top; FillConsoleOutputCharacterA(StdOutput, 0xBF, // '+', 1, coPos, &Written); - /* draw left and right edge */ - for (i = List->Top + 1; i < List->Bottom; i++) - { - coPos.X = List->Left; + /* Draw left and right edge */ + for (i = ListUi->Top + 1; i < ListUi->Bottom; i++) + { + coPos.X = ListUi->Left; coPos.Y = i; FillConsoleOutputCharacterA(StdOutput, 0xB3, // '|', @@ -2075,7 +2090,7 @@ coPos, &Written); - coPos.X = List->Right; + coPos.X = ListUi->Right; FillConsoleOutputCharacterA(StdOutput, 0xB3, //'|', 1, @@ -2083,23 +2098,23 @@ &Written); } - /* draw lower left corner */ - coPos.X = List->Left; - coPos.Y = List->Bottom; + /* Draw lower left corner */ + coPos.X = ListUi->Left; + coPos.Y = ListUi->Bottom; FillConsoleOutputCharacterA(StdOutput, 0xC0, // '+', 1, coPos, &Written); - /* draw lower edge */ - coPos.X = List->Left + 1; - coPos.Y = List->Bottom; - if (LastLine - List->Offset <= List->Bottom - List->Top - 2) + /* Draw lower edge */ + coPos.X = ListUi->Left + 1; + coPos.Y = ListUi->Bottom; + if (LastLine - ListUi->Offset <= ListUi->Bottom - ListUi->Top - 2) { FillConsoleOutputCharacterA(StdOutput, 0xC4, // '-', - List->Right - List->Left - 1, + ListUi->Right - ListUi->Left - 1, coPos, &Written); } @@ -2107,16 +2122,16 @@ { FillConsoleOutputCharacterA(StdOutput, 0xC4, // '-', - List->Right - List->Left - 5, + ListUi->Right - ListUi->Left - 5, coPos, &Written); - coPos.X = List->Right - 5; + coPos.X = ListUi->Right - 5; WriteConsoleOutputCharacterA(StdOutput, "(\x19)", // "(down)" 3, coPos, &Written); - coPos.X = List->Right - 2; + coPos.X = ListUi->Right - 2; FillConsoleOutputCharacterA(StdOutput, 0xC4, // '-', 2, @@ -2124,9 +2139,9 @@ &Written); } - /* draw lower right corner */ - coPos.X = List->Right; - coPos.Y = List->Bottom; + /* Draw lower right corner */ + coPos.X = ListUi->Right; + coPos.Y = ListUi->Bottom; FillConsoleOutputCharacterA(StdOutput, 0xD9, // '+', 1, @@ -2134,7 +2149,7 @@ &Written); /* print list entries */ - List->Line = - List->Offset; + ListUi->Line = - ListUi->Offset; Entry = List->DiskListHead.Flink; while (Entry != &List->DiskListHead) @@ -2142,8 +2157,7 @@ DiskEntry = CONTAINING_RECORD(Entry, DISKENTRY, ListEntry); /* Print disk entry */ - PrintDiskData(List, - DiskEntry); + PrintDiskData(ListUi, DiskEntry); Entry = Entry->Flink; } @@ -2158,8 +2172,7 @@ { PDISKENTRY DiskEntry; PPARTENTRY PartEntry; - PLIST_ENTRY Entry1; - PLIST_ENTRY Entry2; + PLIST_ENTRY Entry1, Entry2; /* Check for empty disks */ if (IsListEmpty(&List->DiskListHead)) @@ -2180,10 +2193,9 @@ if (PartEntry->PartitionNumber == PartitionNumber) { - List->CurrentDisk = DiskEntry; - List->CurrentPartition = PartEntry; - DrawPartitionList(List); - return TRUE; + List->CurrentDisk = DiskEntry; + List->CurrentPartition = PartEntry; + return TRUE; } Entry2 = Entry2->Flink; @@ -2199,8 +2211,8 @@ } -BOOL -ScrollDownPartitionList( +PPARTENTRY +GetNextPartition( IN PPARTLIST List) { PLIST_ENTRY DiskListEntry; @@ -2210,7 +2222,7 @@ /* Fail, if no disks are available */ if (IsListEmpty(&List->DiskListHead)) - return FALSE; + return NULL; /* Check for next usable entry on current disk */ if (List->CurrentPartition != NULL) @@ -2226,7 +2238,7 @@ PartEntry = CONTAINING_RECORD(PartListEntry, PARTENTRY, ListEntry); List->CurrentPartition = PartEntry; - return TRUE; + return List->CurrentPartition; } else { @@ -2236,7 +2248,7 @@ PartEntry = CONTAINING_RECORD(PartListEntry, PARTENTRY, ListEntry); List->CurrentPartition = PartEntry; - return TRUE; + return List->CurrentPartition; } } } @@ -2254,7 +2266,7 @@ PartEntry = CONTAINING_RECORD(PartListEntry, PARTENTRY, ListEntry); List->CurrentPartition = PartEntry; - return TRUE; + return List->CurrentPartition; } } else @@ -2266,7 +2278,7 @@ PartEntry = CONTAINING_RECORD(PartListEntry, PARTENTRY, ListEntry); List->CurrentPartition = PartEntry; - return TRUE; + return List->CurrentPartition; } } } @@ -2285,18 +2297,17 @@ List->CurrentDisk = DiskEntry; List->CurrentPartition = PartEntry; - return TRUE; + return List->CurrentPartition; } DiskListEntry = DiskListEntry->Flink; } - return FALSE; -} - - -BOOL -ScrollUpPartitionList( + return NULL; +} + +PPARTENTRY +GetPrevPartition( IN PPARTLIST List) { PLIST_ENTRY DiskListEntry; @@ -2306,7 +2317,7 @@ /* Fail, if no disks are available */ if (IsListEmpty(&List->DiskListHead)) - return FALSE; + return NULL; /* Check for previous usable entry on current disk */ if (List->CurrentPartition != NULL) @@ -2322,12 +2333,12 @@ } else { - /* Extended partition*/ + /* Extended partition */ PartEntry = List->CurrentDisk->ExtendedPartition; } List->CurrentPartition = PartEntry; - return TRUE; + return List->CurrentPartition; } else { @@ -2346,9 +2357,8 @@ } List->CurrentPartition = PartEntry; - return TRUE; + return List->CurrentPartition; } - } } @@ -2373,21 +2383,39 @@ List->CurrentDisk = DiskEntry; List->CurrentPartition = PartEntry; - return TRUE; + return List->CurrentPartition; } } else { List->CurrentDisk = DiskEntry; List->CurrentPartition = PartEntry; - return TRUE; + return List->CurrentPartition; } } DiskListEntry = DiskListEntry->Blink; } - return FALSE; + return NULL; +} + + + +VOID +ScrollDownPartitionList( + IN PPARTLIST_UI ListUi) +{ + if (GetNextPartition(ListUi->List)) + DrawPartitionList(ListUi); +} + +VOID +ScrollUpPartitionList( + IN PPARTLIST_UI ListUi) +{ + if (GetPrevPartition(ListUi->List)) + DrawPartitionList(ListUi); } Modified: branches/setup_improvements/base/setup/usetup/partlist.h URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/partlist.h [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/partlist.h [iso-8859-1] Mon May 15 19:41:18 2017 @@ -152,16 +152,9 @@ typedef struct _PARTLIST { - /* UI stuff */ - SHORT Left; - SHORT Top; - SHORT Right; - SHORT Bottom; - - SHORT Line; - SHORT Offset; - /* + * Disk & Partition iterators. + * * NOTE that when CurrentPartition != NULL, then CurrentPartition->DiskEntry * must be the same as CurrentDisk. We should however keep the two members * separated as we can have a current (selected) disk without any current @@ -239,18 +232,10 @@ IN ULONG cchPartType); PPARTLIST -CreatePartitionList( - SHORT Left, - SHORT Top, - SHORT Right, - SHORT Bottom); +CreatePartitionList(VOID); VOID DestroyPartitionList( - IN PPARTLIST List); - -VOID -DrawPartitionList( IN PPARTLIST List); ULONG @@ -259,12 +244,12 @@ IN ULONG DiskNumber, IN ULONG PartitionNumber); -BOOL -ScrollDownPartitionList( - IN PPARTLIST List); - -BOOL -ScrollUpPartitionList( +PPARTENTRY +GetNextPartition( + IN PPARTLIST List); + +PPARTENTRY +GetPrevPartition( IN PPARTLIST List); VOID @@ -330,4 +315,47 @@ OUT PDISKENTRY *pDiskEntry OPTIONAL, OUT PPARTENTRY *pPartEntry); + + + + +typedef struct _PARTLIST_UI +{ + PPARTLIST List; + + // PLIST_ENTRY FirstShown; + // PLIST_ENTRY LastShown; + + SHORT Left; + SHORT Top; + SHORT Right; + SHORT Bottom; + + SHORT Line; + SHORT Offset; + + // BOOL Redraw; +} PARTLIST_UI, *PPARTLIST_UI; + +VOID +InitPartitionListUi( + IN OUT PPARTLIST_UI ListUi, + IN PPARTLIST List, + IN SHORT Left, + IN SHORT Top, + IN SHORT Right, + IN SHORT Bottom); + +VOID +ScrollDownPartitionList( + IN PPARTLIST_UI ListUi); + +VOID +ScrollUpPartitionList( + IN PPARTLIST_UI ListUi); + +VOID +DrawPartitionList( + IN PPARTLIST_UI ListUi); + /* EOF */
7 years, 7 months
1
0
0
0
[hbelusca] 74553: [USETUP]: Factor out the UI-specific code from the GenList code, and wrap it inside a GENERIC_LIST_UI structure. The aim here is to decouple the UI-specific code from code that ca...
by hbelusca@svn.reactos.org
Author: hbelusca Date: Mon May 15 16:22:18 2017 New Revision: 74553 URL:
http://svn.reactos.org/svn/reactos?rev=74553&view=rev
Log: [USETUP]: Factor out the UI-specific code from the GenList code, and wrap it inside a GENERIC_LIST_UI structure. The aim here is to decouple the UI-specific code from code that can be used by both the text-mode USETUP and a future 1st-stage GUI setup. Indeed, the GenLists can actually be used in the 1st-stage GUI; and their contents be displayed inside ListBoxes/ListViews... (this is just one example amongst others). Additionally (in usetup.c): - Make both FormatPartitionPage and CheckFileSystemPage return PAGE_NUMBERs. - Improve a couple of comments. Modified: branches/setup_improvements/base/setup/usetup/genlist.c branches/setup_improvements/base/setup/usetup/genlist.h branches/setup_improvements/base/setup/usetup/interface/usetup.c Modified: branches/setup_improvements/base/setup/usetup/genlist.c URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/genlist.c [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/genlist.c [iso-8859-1] Mon May 15 16:22:18 2017 @@ -38,7 +38,7 @@ LIST_ENTRY Entry; PGENERIC_LIST List; PVOID UserData; - CHAR Text[1]; + CHAR Text[1]; // FIXME: UI stuff } GENERIC_LIST_ENTRY; @@ -46,18 +46,11 @@ { LIST_ENTRY ListHead; ULONG NumOfEntries; - - PLIST_ENTRY FirstShown; - PLIST_ENTRY LastShown; - SHORT Left; - SHORT Top; - SHORT Right; - SHORT Bottom; - BOOL Redraw; PGENERIC_LIST_ENTRY CurrentEntry; PGENERIC_LIST_ENTRY BackupEntry; } GENERIC_LIST; + PGENERIC_LIST CreateGenericList(VOID) @@ -73,23 +66,16 @@ InitializeListHead(&List->ListHead); List->NumOfEntries = 0; - List->Left = 0; - List->Top = 0; - List->Right = 0; - List->Bottom = 0; - List->Redraw = TRUE; - List->CurrentEntry = NULL; List->BackupEntry = NULL; return List; } - VOID DestroyGenericList( - PGENERIC_LIST List, - BOOLEAN FreeUserData) + IN OUT PGENERIC_LIST List, + IN BOOLEAN FreeUserData) { PGENERIC_LIST_ENTRY ListEntry; PLIST_ENTRY Entry; @@ -112,13 +98,12 @@ RtlFreeHeap (ProcessHeap, 0, List); } - BOOLEAN AppendGenericListEntry( - PGENERIC_LIST List, - PCHAR Text, - PVOID UserData, - BOOLEAN Current) + IN OUT PGENERIC_LIST List, + IN PCHAR Text, + IN PVOID UserData, + IN BOOLEAN Current) { PGENERIC_LIST_ENTRY Entry; @@ -145,18 +130,34 @@ } +VOID +InitGenericListUi( + IN OUT PGENERIC_LIST_UI ListUi, + IN PGENERIC_LIST List) +{ + ListUi->List = List; + ListUi->FirstShown = NULL; + ListUi->LastShown = NULL; + + ListUi->Left = 0; + ListUi->Top = 0; + ListUi->Right = 0; + ListUi->Bottom = 0; + ListUi->Redraw = TRUE; +} + static VOID DrawListFrame( - PGENERIC_LIST GenericList) + IN PGENERIC_LIST_UI ListUi) { COORD coPos; DWORD Written; SHORT i; /* Draw upper left corner */ - coPos.X = GenericList->Left; - coPos.Y = GenericList->Top; + coPos.X = ListUi->Left; + coPos.Y = ListUi->Top; FillConsoleOutputCharacterA (StdOutput, 0xDA, // '+', 1, @@ -164,17 +165,17 @@ &Written); /* Draw upper edge */ - coPos.X = GenericList->Left + 1; - coPos.Y = GenericList->Top; + coPos.X = ListUi->Left + 1; + coPos.Y = ListUi->Top; FillConsoleOutputCharacterA (StdOutput, 0xC4, // '-', - GenericList->Right - GenericList->Left - 1, + ListUi->Right - ListUi->Left - 1, coPos, &Written); /* Draw upper right corner */ - coPos.X = GenericList->Right; - coPos.Y = GenericList->Top; + coPos.X = ListUi->Right; + coPos.Y = ListUi->Top; FillConsoleOutputCharacterA (StdOutput, 0xBF, // '+', 1, @@ -182,9 +183,9 @@ &Written); /* Draw left and right edge */ - for (i = GenericList->Top + 1; i < GenericList->Bottom; i++) - { - coPos.X = GenericList->Left; + for (i = ListUi->Top + 1; i < ListUi->Bottom; i++) + { + coPos.X = ListUi->Left; coPos.Y = i; FillConsoleOutputCharacterA (StdOutput, 0xB3, // '|', @@ -192,7 +193,7 @@ coPos, &Written); - coPos.X = GenericList->Right; + coPos.X = ListUi->Right; FillConsoleOutputCharacterA (StdOutput, 0xB3, //'|', 1, @@ -201,8 +202,8 @@ } /* Draw lower left corner */ - coPos.X = GenericList->Left; - coPos.Y = GenericList->Bottom; + coPos.X = ListUi->Left; + coPos.Y = ListUi->Bottom; FillConsoleOutputCharacterA (StdOutput, 0xC0, // '+', 1, @@ -210,17 +211,17 @@ &Written); /* Draw lower edge */ - coPos.X = GenericList->Left + 1; - coPos.Y = GenericList->Bottom; + coPos.X = ListUi->Left + 1; + coPos.Y = ListUi->Bottom; FillConsoleOutputCharacterA (StdOutput, 0xC4, // '-', - GenericList->Right - GenericList->Left - 1, + ListUi->Right - ListUi->Left - 1, coPos, &Written); /* Draw lower right corner */ - coPos.X = GenericList->Right; - coPos.Y = GenericList->Bottom; + coPos.X = ListUi->Right; + coPos.Y = ListUi->Bottom; FillConsoleOutputCharacterA (StdOutput, 0xD9, // '+', 1, @@ -232,29 +233,30 @@ static VOID DrawListEntries( - PGENERIC_LIST GenericList) -{ + IN PGENERIC_LIST_UI ListUi) +{ + PGENERIC_LIST List = ListUi->List; PGENERIC_LIST_ENTRY ListEntry; PLIST_ENTRY Entry; COORD coPos; DWORD Written; USHORT Width; - coPos.X = GenericList->Left + 1; - coPos.Y = GenericList->Top + 1; - Width = GenericList->Right - GenericList->Left - 1; - - Entry = GenericList->FirstShown; - while (Entry != &GenericList->ListHead) + coPos.X = ListUi->Left + 1; + coPos.Y = ListUi->Top + 1; + Width = ListUi->Right - ListUi->Left - 1; + + Entry = ListUi->FirstShown; + while (Entry != &List->ListHead) { ListEntry = CONTAINING_RECORD (Entry, GENERIC_LIST_ENTRY, Entry); - if (coPos.Y == GenericList->Bottom) + if (coPos.Y == ListUi->Bottom) break; - GenericList->LastShown = Entry; + ListUi->LastShown = Entry; FillConsoleOutputAttribute (StdOutput, - (GenericList->CurrentEntry == ListEntry) ? + (List->CurrentEntry == ListEntry) ? FOREGROUND_BLUE | BACKGROUND_WHITE : FOREGROUND_WHITE | BACKGROUND_BLUE, Width, @@ -279,7 +281,7 @@ Entry = Entry->Flink; } - while (coPos.Y < GenericList->Bottom) + while (coPos.Y < ListUi->Bottom) { FillConsoleOutputAttribute (StdOutput, FOREGROUND_WHITE | BACKGROUND_BLUE, @@ -300,15 +302,16 @@ static VOID DrawScrollBarGenericList( - PGENERIC_LIST GenericList) -{ + IN PGENERIC_LIST_UI ListUi) +{ + PGENERIC_LIST List = ListUi->List; COORD coPos; DWORD Written; - coPos.X = GenericList->Right + 1; - coPos.Y = GenericList->Top; - - if (GenericList->FirstShown != GenericList->ListHead.Flink) + coPos.X = ListUi->Right + 1; + coPos.Y = ListUi->Top; + + if (ListUi->FirstShown != List->ListHead.Flink) { FillConsoleOutputCharacterA (StdOutput, '\x18', @@ -325,8 +328,8 @@ &Written); } - coPos.Y = GenericList->Bottom; - if (GenericList->LastShown != GenericList->ListHead.Blink) + coPos.Y = ListUi->Bottom; + if (ListUi->LastShown != List->ListHead.Blink) { FillConsoleOutputCharacterA (StdOutput, '\x19', @@ -348,18 +351,22 @@ static VOID CenterCurrentListItem( - PGENERIC_LIST List) -{ + IN PGENERIC_LIST_UI ListUi) +{ + PGENERIC_LIST List = ListUi->List; PLIST_ENTRY Entry; ULONG MaxVisibleItems, ItemCount, i; - if ((List->Top == 0 && List->Bottom == 0) || + if ((ListUi->Top == 0 && ListUi->Bottom == 0) || IsListEmpty(&List->ListHead) || List->CurrentEntry == NULL) + { return; - - MaxVisibleItems = (ULONG)(List->Bottom - List->Top - 1); - + } + + MaxVisibleItems = (ULONG)(ListUi->Bottom - ListUi->Top - 1); + +/***************************************** ItemCount = 0; Entry = List->ListHead.Flink; while (Entry != &List->ListHead) @@ -367,6 +374,8 @@ ItemCount++; Entry = Entry->Flink; } +*****************************************/ + ItemCount = List->NumOfEntries; // GetNumberOfListEntries(List); if (ItemCount > MaxVisibleItems) { @@ -377,7 +386,7 @@ Entry = Entry->Blink; } - List->FirstShown = Entry; + ListUi->FirstShown = Entry; for (i = 0; i < MaxVisibleItems; i++) { @@ -385,87 +394,90 @@ Entry = Entry->Flink; } - List->LastShown = Entry; + ListUi->LastShown = Entry; } } VOID DrawGenericList( - PGENERIC_LIST List, - SHORT Left, - SHORT Top, - SHORT Right, - SHORT Bottom) -{ - List->FirstShown = List->ListHead.Flink; - List->Left = Left; - List->Top = Top; - List->Right = Right; - List->Bottom = Bottom; - - DrawListFrame(List); + IN PGENERIC_LIST_UI ListUi, + IN SHORT Left, + IN SHORT Top, + IN SHORT Right, + IN SHORT Bottom) +{ + PGENERIC_LIST List = ListUi->List; + + ListUi->FirstShown = List->ListHead.Flink; + ListUi->Left = Left; + ListUi->Top = Top; + ListUi->Right = Right; + ListUi->Bottom = Bottom; + + DrawListFrame(ListUi); if (IsListEmpty(&List->ListHead)) return; - CenterCurrentListItem(List); - - DrawListEntries(List); - DrawScrollBarGenericList(List); + CenterCurrentListItem(ListUi); + + DrawListEntries(ListUi); + DrawScrollBarGenericList(ListUi); } VOID ScrollPageDownGenericList( - PGENERIC_LIST List) + IN PGENERIC_LIST_UI ListUi) { SHORT i; /* Suspend auto-redraw */ - List->Redraw = FALSE; - - for (i = List->Top + 1; i < List->Bottom - 1; i++) - { - ScrollDownGenericList (List); + ListUi->Redraw = FALSE; + + for (i = ListUi->Top + 1; i < ListUi->Bottom - 1; i++) + { + ScrollDownGenericList(ListUi); } /* Update user interface */ - DrawListEntries(List); - DrawScrollBarGenericList(List); + DrawListEntries(ListUi); + DrawScrollBarGenericList(ListUi); /* Re enable auto-redraw */ - List->Redraw = TRUE; + ListUi->Redraw = TRUE; } VOID ScrollPageUpGenericList( - PGENERIC_LIST List) + IN PGENERIC_LIST_UI ListUi) { SHORT i; /* Suspend auto-redraw */ - List->Redraw = FALSE; - - for (i = List->Bottom - 1; i > List->Top + 1; i--) - { - ScrollUpGenericList (List); + ListUi->Redraw = FALSE; + + for (i = ListUi->Bottom - 1; i > ListUi->Top + 1; i--) + { + ScrollUpGenericList(ListUi); } /* Update user interface */ - DrawListEntries(List); - DrawScrollBarGenericList(List); + DrawListEntries(ListUi); + DrawScrollBarGenericList(ListUi); /* Re enable auto-redraw */ - List->Redraw = TRUE; + ListUi->Redraw = TRUE; } VOID ScrollDownGenericList( - PGENERIC_LIST List) -{ + IN PGENERIC_LIST_UI ListUi) +{ + PGENERIC_LIST List = ListUi->List; PLIST_ENTRY Entry; if (List->CurrentEntry == NULL) @@ -474,17 +486,17 @@ if (List->CurrentEntry->Entry.Flink != &List->ListHead) { Entry = List->CurrentEntry->Entry.Flink; - if (List->LastShown == &List->CurrentEntry->Entry) - { - List->FirstShown = List->FirstShown->Flink; - List->LastShown = List->LastShown->Flink; - } - List->CurrentEntry = CONTAINING_RECORD (Entry, GENERIC_LIST_ENTRY, Entry); - - if (List->Redraw) - { - DrawListEntries(List); - DrawScrollBarGenericList(List); + if (ListUi->LastShown == &List->CurrentEntry->Entry) + { + ListUi->FirstShown = ListUi->FirstShown->Flink; + ListUi->LastShown = ListUi->LastShown->Flink; + } + List->CurrentEntry = CONTAINING_RECORD(Entry, GENERIC_LIST_ENTRY, Entry); + + if (ListUi->Redraw) + { + DrawListEntries(ListUi); + DrawScrollBarGenericList(ListUi); } } } @@ -492,9 +504,10 @@ VOID ScrollToPositionGenericList( - PGENERIC_LIST List, - ULONG uIndex) -{ + IN PGENERIC_LIST_UI ListUi, + IN ULONG uIndex) +{ + PGENERIC_LIST List = ListUi->List; PLIST_ENTRY Entry; ULONG uCount = 0; @@ -506,29 +519,30 @@ if (List->CurrentEntry->Entry.Flink != &List->ListHead) { Entry = List->CurrentEntry->Entry.Flink; - if (List->LastShown == &List->CurrentEntry->Entry) + if (ListUi->LastShown == &List->CurrentEntry->Entry) { - List->FirstShown = List->FirstShown->Flink; - List->LastShown = List->LastShown->Flink; + ListUi->FirstShown = ListUi->FirstShown->Flink; + ListUi->LastShown = ListUi->LastShown->Flink; } - List->CurrentEntry = CONTAINING_RECORD (Entry, GENERIC_LIST_ENTRY, Entry); + List->CurrentEntry = CONTAINING_RECORD(Entry, GENERIC_LIST_ENTRY, Entry); } uCount++; } while (uIndex != uCount); - if (List->Redraw) - { - DrawListEntries(List); - DrawScrollBarGenericList(List); + if (ListUi->Redraw) + { + DrawListEntries(ListUi); + DrawScrollBarGenericList(ListUi); } } VOID ScrollUpGenericList( - PGENERIC_LIST List) -{ + IN PGENERIC_LIST_UI ListUi) +{ + PGENERIC_LIST List = ListUi->List; PLIST_ENTRY Entry; if (List->CurrentEntry == NULL) @@ -537,17 +551,17 @@ if (List->CurrentEntry->Entry.Blink != &List->ListHead) { Entry = List->CurrentEntry->Entry.Blink; - if (List->FirstShown == &List->CurrentEntry->Entry) - { - List->FirstShown = List->FirstShown->Blink; - List->LastShown = List->LastShown->Blink; - } - List->CurrentEntry = CONTAINING_RECORD (Entry, GENERIC_LIST_ENTRY, Entry); - - if (List->Redraw) - { - DrawListEntries(List); - DrawScrollBarGenericList(List); + if (ListUi->FirstShown == &List->CurrentEntry->Entry) + { + ListUi->FirstShown = ListUi->FirstShown->Blink; + ListUi->LastShown = ListUi->LastShown->Blink; + } + List->CurrentEntry = CONTAINING_RECORD(Entry, GENERIC_LIST_ENTRY, Entry); + + if (ListUi->Redraw) + { + DrawListEntries(ListUi); + DrawScrollBarGenericList(ListUi); } } } @@ -555,23 +569,24 @@ VOID RedrawGenericList( - PGENERIC_LIST List) -{ - if (List->CurrentEntry == NULL) + IN PGENERIC_LIST_UI ListUi) +{ + if (ListUi->List->CurrentEntry == NULL) return; - if (List->Redraw) - { - DrawListEntries(List); - DrawScrollBarGenericList(List); - } -} + if (ListUi->Redraw) + { + DrawListEntries(ListUi); + DrawScrollBarGenericList(ListUi); + } +} + VOID SetCurrentListEntry( - PGENERIC_LIST List, - PGENERIC_LIST_ENTRY Entry) + IN PGENERIC_LIST List, + IN PGENERIC_LIST_ENTRY Entry) { if (Entry->List != List) return; @@ -581,7 +596,7 @@ PGENERIC_LIST_ENTRY GetCurrentListEntry( - PGENERIC_LIST List) + IN PGENERIC_LIST List) { return List->CurrentEntry; } @@ -589,7 +604,7 @@ PGENERIC_LIST_ENTRY GetFirstListEntry( - PGENERIC_LIST List) + IN PGENERIC_LIST List) { PLIST_ENTRY Entry = List->ListHead.Flink; @@ -601,7 +616,7 @@ PGENERIC_LIST_ENTRY GetNextListEntry( - PGENERIC_LIST_ENTRY Entry) + IN PGENERIC_LIST_ENTRY Entry) { PLIST_ENTRY Next = Entry->Entry.Flink; @@ -613,7 +628,7 @@ PVOID GetListEntryUserData( - PGENERIC_LIST_ENTRY Entry) + IN PGENERIC_LIST_ENTRY Entry) { return Entry->UserData; } @@ -621,7 +636,7 @@ LPCSTR GetListEntryText( - PGENERIC_LIST_ENTRY Entry) + IN PGENERIC_LIST_ENTRY Entry) { return Entry->Text; } @@ -629,40 +644,42 @@ ULONG GetNumberOfListEntries( - PGENERIC_LIST List) + IN PGENERIC_LIST List) { return List->NumOfEntries; } + VOID GenericListKeyPress( - PGENERIC_LIST GenericList, - CHAR AsciiChar) -{ + IN PGENERIC_LIST_UI ListUi, + IN CHAR AsciiChar) +{ + PGENERIC_LIST List = ListUi->List; PGENERIC_LIST_ENTRY ListEntry; PGENERIC_LIST_ENTRY OldListEntry; BOOLEAN Flag = FALSE; - ListEntry = GenericList->CurrentEntry; - OldListEntry = GenericList->CurrentEntry; - - GenericList->Redraw = FALSE; + ListEntry = List->CurrentEntry; + OldListEntry = List->CurrentEntry; + + ListUi->Redraw = FALSE; if ((strlen(ListEntry->Text) > 0) && (tolower(ListEntry->Text[0]) == AsciiChar) && - (GenericList->CurrentEntry->Entry.Flink != &GenericList->ListHead)) - { - ScrollDownGenericList(GenericList); - ListEntry = GenericList->CurrentEntry; + (List->CurrentEntry->Entry.Flink != &List->ListHead)) + { + ScrollDownGenericList(ListUi); + ListEntry = List->CurrentEntry; if ((strlen(ListEntry->Text) > 0) && (tolower(ListEntry->Text[0]) == AsciiChar)) goto End; } - while (GenericList->CurrentEntry->Entry.Blink != &GenericList->ListHead) - ScrollUpGenericList(GenericList); - - ListEntry = GenericList->CurrentEntry; + while (List->CurrentEntry->Entry.Blink != &List->ListHead) + ScrollUpGenericList(ListUi); + + ListEntry = List->CurrentEntry; for (;;) { @@ -672,34 +689,35 @@ break; } - if (GenericList->CurrentEntry->Entry.Flink == &GenericList->ListHead) + if (List->CurrentEntry->Entry.Flink == &List->ListHead) break; - ScrollDownGenericList(GenericList); - ListEntry = GenericList->CurrentEntry; + ScrollDownGenericList(ListUi); + ListEntry = List->CurrentEntry; } if (!Flag) { - while (GenericList->CurrentEntry->Entry.Blink != &GenericList->ListHead) - { - if (GenericList->CurrentEntry != OldListEntry) - ScrollUpGenericList(GenericList); + while (List->CurrentEntry->Entry.Blink != &List->ListHead) + { + if (List->CurrentEntry != OldListEntry) + ScrollUpGenericList(ListUi); else break; } } + End: - DrawListEntries(GenericList); - DrawScrollBarGenericList(GenericList); - - GenericList->Redraw = TRUE; + DrawListEntries(ListUi); + DrawScrollBarGenericList(ListUi); + + ListUi->Redraw = TRUE; } VOID SaveGenericListState( - PGENERIC_LIST List) + IN PGENERIC_LIST List) { List->BackupEntry = List->CurrentEntry; } @@ -707,15 +725,15 @@ VOID RestoreGenericListState( - PGENERIC_LIST List) + IN PGENERIC_LIST List) { List->CurrentEntry = List->BackupEntry; } -BOOL +BOOLEAN GenericListHasSingleEntry( - PGENERIC_LIST List) + IN PGENERIC_LIST List) { if (!IsListEmpty(&List->ListHead) && List->ListHead.Flink == List->ListHead.Blink) return TRUE; Modified: branches/setup_improvements/base/setup/usetup/genlist.h URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/genlist.h [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/genlist.h [iso-8859-1] Mon May 15 16:22:18 2017 @@ -36,93 +36,115 @@ VOID DestroyGenericList( - PGENERIC_LIST List, - BOOLEAN FreeUserData); + IN OUT PGENERIC_LIST List, + IN BOOLEAN FreeUserData); BOOLEAN AppendGenericListEntry( - PGENERIC_LIST List, - PCHAR Text, - PVOID UserData, - BOOLEAN Current); + IN OUT PGENERIC_LIST List, + IN PCHAR Text, + IN PVOID UserData, + IN BOOLEAN Current); + +VOID +SetCurrentListEntry( + IN PGENERIC_LIST List, + IN PGENERIC_LIST_ENTRY Entry); + +PGENERIC_LIST_ENTRY +GetCurrentListEntry( + IN PGENERIC_LIST List); + +PGENERIC_LIST_ENTRY +GetFirstListEntry( + IN PGENERIC_LIST List); + +PGENERIC_LIST_ENTRY +GetNextListEntry( + IN PGENERIC_LIST_ENTRY Entry); + +PVOID +GetListEntryUserData( + IN PGENERIC_LIST_ENTRY Entry); + +LPCSTR +GetListEntryText( + IN PGENERIC_LIST_ENTRY Entry); + +ULONG +GetNumberOfListEntries( + IN PGENERIC_LIST List); + +VOID +SaveGenericListState( + IN PGENERIC_LIST List); + +VOID +RestoreGenericListState( + IN PGENERIC_LIST List); + +BOOLEAN +GenericListHasSingleEntry( + IN PGENERIC_LIST List); + + + + +typedef struct _GENERIC_LIST_UI +{ + PGENERIC_LIST List; + + PLIST_ENTRY FirstShown; + PLIST_ENTRY LastShown; + + SHORT Left; + SHORT Top; + SHORT Right; + SHORT Bottom; + BOOL Redraw; +} GENERIC_LIST_UI, *PGENERIC_LIST_UI; + +VOID +InitGenericListUi( + IN OUT PGENERIC_LIST_UI ListUi, + IN PGENERIC_LIST List); VOID DrawGenericList( - PGENERIC_LIST List, - SHORT Left, - SHORT Top, - SHORT Right, - SHORT Bottom); + IN PGENERIC_LIST_UI ListUi, + IN SHORT Left, + IN SHORT Top, + IN SHORT Right, + IN SHORT Bottom); VOID ScrollDownGenericList( - PGENERIC_LIST List); + IN PGENERIC_LIST_UI ListUi); VOID ScrollUpGenericList( - PGENERIC_LIST List); + IN PGENERIC_LIST_UI ListUi); VOID ScrollPageDownGenericList( - PGENERIC_LIST List); + IN PGENERIC_LIST_UI ListUi); VOID ScrollPageUpGenericList( - PGENERIC_LIST List); + IN PGENERIC_LIST_UI ListUi); VOID ScrollToPositionGenericList( - PGENERIC_LIST List, - ULONG uIndex); + IN PGENERIC_LIST_UI ListUi, + IN ULONG uIndex); VOID RedrawGenericList( - PGENERIC_LIST List); - -VOID -SetCurrentListEntry( - PGENERIC_LIST List, - PGENERIC_LIST_ENTRY Entry); - -PGENERIC_LIST_ENTRY -GetCurrentListEntry( - PGENERIC_LIST List); - -PGENERIC_LIST_ENTRY -GetFirstListEntry( - PGENERIC_LIST List); - -PGENERIC_LIST_ENTRY -GetNextListEntry( - PGENERIC_LIST_ENTRY Entry); - -PVOID -GetListEntryUserData( - PGENERIC_LIST_ENTRY Entry); - -LPCSTR -GetListEntryText( - PGENERIC_LIST_ENTRY Entry); - -ULONG -GetNumberOfListEntries( - PGENERIC_LIST List); - -VOID -SaveGenericListState( - PGENERIC_LIST List); - -VOID -RestoreGenericListState( - PGENERIC_LIST List); + IN PGENERIC_LIST_UI ListUi); VOID GenericListKeyPress( - PGENERIC_LIST GenericList, - CHAR AsciiChar); - -BOOL -GenericListHasSingleEntry( - PGENERIC_LIST List); + IN PGENERIC_LIST_UI ListUi, + IN CHAR AsciiChar); /* EOF */ Modified: branches/setup_improvements/base/setup/usetup/interface/usetup.c URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/interface/usetup.c [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/interface/usetup.c [iso-8859-1] Mon May 15 16:22:18 2017 @@ -639,6 +639,7 @@ static PAGE_NUMBER LanguagePage(PINPUT_RECORD Ir) { + GENERIC_LIST_UI ListUi; PWCHAR NewLanguageId; BOOL RefreshPage = FALSE; @@ -646,7 +647,6 @@ if (LanguageList == NULL) { LanguageList = CreateLanguageList(SetupInf, DefaultLanguage); - if (LanguageList == NULL) { PopupError("Setup failed to initialize available translations", NULL, NULL, POPUP_WAIT_NONE); @@ -667,13 +667,14 @@ return INTRO_PAGE; } - DrawGenericList(LanguageList, + InitGenericListUi(&ListUi, LanguageList); + DrawGenericList(&ListUi, 2, 18, xScreen - 3, yScreen - 3); - ScrollToPositionGenericList(LanguageList, GetDefaultLanguageIndex()); + ScrollToPositionGenericList(&ListUi, GetDefaultLanguageIndex()); MUIDisplayPage(LANGUAGE_PAGE); @@ -684,25 +685,25 @@ if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) && (Ir->Event.KeyEvent.wVirtualKeyCode == VK_DOWN)) /* DOWN */ { - ScrollDownGenericList(LanguageList); + ScrollDownGenericList(&ListUi); RefreshPage = TRUE; } else if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) && (Ir->Event.KeyEvent.wVirtualKeyCode == VK_UP)) /* UP */ { - ScrollUpGenericList(LanguageList); + ScrollUpGenericList(&ListUi); RefreshPage = TRUE; } if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) && (Ir->Event.KeyEvent.wVirtualKeyCode == VK_NEXT)) /* PAGE DOWN */ { - ScrollPageDownGenericList(LanguageList); + ScrollPageDownGenericList(&ListUi); RefreshPage = TRUE; } else if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) && (Ir->Event.KeyEvent.wVirtualKeyCode == VK_PRIOR)) /* PAGE UP */ { - ScrollPageUpGenericList(LanguageList); + ScrollPageUpGenericList(&ListUi); RefreshPage = TRUE; } else if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) && @@ -711,7 +712,7 @@ if (ConfirmQuit(Ir) == TRUE) return QUIT_PAGE; else - RedrawGenericList(LanguageList); + RedrawGenericList(&ListUi); } else if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */ { @@ -732,7 +733,7 @@ else if ((Ir->Event.KeyEvent.uChar.AsciiChar > 0x60) && (Ir->Event.KeyEvent.uChar.AsciiChar < 0x7b)) { /* a-z */ - GenericListKeyPress(LanguageList, Ir->Event.KeyEvent.uChar.AsciiChar); + GenericListKeyPress(&ListUi, Ir->Event.KeyEvent.uChar.AsciiChar); RefreshPage = TRUE; } @@ -914,12 +915,11 @@ LanguageList = CreateLanguageList(SetupInf, DefaultLanguage); /* new part */ - wcscpy(SelectedLanguageId,LocaleID); + wcscpy(SelectedLanguageId, LocaleID); LanguageId = (LANGID)(wcstol(SelectedLanguageId, NULL, 16) & 0xFFFF); /* first we hack LanguageList */ ListEntry = GetFirstListEntry(LanguageList); - while (ListEntry != NULL) { if (!wcsicmp(LocaleID, GetListEntryUserData(ListEntry))) @@ -934,7 +934,6 @@ /* now LayoutList */ ListEntry = GetFirstListEntry(LayoutList); - while (ListEntry != NULL) { if (!wcsicmp(LocaleID, GetListEntryUserData(ListEntry))) @@ -1318,7 +1317,7 @@ * Ir: The PINPUT_RECORD */ static PAGE_NUMBER -HandleGenericList(PGENERIC_LIST GenericList, +HandleGenericList(PGENERIC_LIST_UI ListUi, PAGE_NUMBER nextPage, PINPUT_RECORD Ir) { @@ -1329,45 +1328,45 @@ if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) && (Ir->Event.KeyEvent.wVirtualKeyCode == VK_DOWN)) /* DOWN */ { - ScrollDownGenericList(GenericList); + ScrollDownGenericList(ListUi); } else if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) && (Ir->Event.KeyEvent.wVirtualKeyCode == VK_UP)) /* UP */ { - ScrollUpGenericList(GenericList); + ScrollUpGenericList(ListUi); } else if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) && (Ir->Event.KeyEvent.wVirtualKeyCode == VK_NEXT)) /* PAGE DOWN */ { - ScrollPageDownGenericList(GenericList); + ScrollPageDownGenericList(ListUi); } else if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) && (Ir->Event.KeyEvent.wVirtualKeyCode == VK_PRIOR)) /* PAGE UP */ { - ScrollPageUpGenericList(GenericList); + ScrollPageUpGenericList(ListUi); } else if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) && (Ir->Event.KeyEvent.wVirtualKeyCode == VK_F3)) /* F3 */ { if (ConfirmQuit(Ir) == TRUE) return QUIT_PAGE; - - continue; + else + RedrawGenericList(ListUi); } else if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) && (Ir->Event.KeyEvent.wVirtualKeyCode == VK_ESCAPE)) /* ESC */ { - RestoreGenericListState(GenericList); + RestoreGenericListState(ListUi->List); + return nextPage; // Use some "prevPage;" instead? + } + else if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */ + { return nextPage; } - else if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */ - { - return nextPage; - } else if ((Ir->Event.KeyEvent.uChar.AsciiChar > 0x60) && (Ir->Event.KeyEvent.uChar.AsciiChar < 0x7b)) { /* a-z */ - GenericListKeyPress(GenericList, Ir->Event.KeyEvent.uChar.AsciiChar); + GenericListKeyPress(ListUi, Ir->Event.KeyEvent.uChar.AsciiChar); } } } @@ -1386,9 +1385,11 @@ static PAGE_NUMBER ComputerSettingsPage(PINPUT_RECORD Ir) { + GENERIC_LIST_UI ListUi; MUIDisplayPage(COMPUTER_SETTINGS_PAGE); - DrawGenericList(ComputerList, + InitGenericListUi(&ListUi, ComputerList); + DrawGenericList(&ListUi, 2, 18, xScreen - 3, @@ -1396,7 +1397,7 @@ SaveGenericListState(ComputerList); - return HandleGenericList(ComputerList, DEVICE_SETTINGS_PAGE, Ir); + return HandleGenericList(&ListUi, DEVICE_SETTINGS_PAGE, Ir); } @@ -1413,9 +1414,11 @@ static PAGE_NUMBER DisplaySettingsPage(PINPUT_RECORD Ir) { + GENERIC_LIST_UI ListUi; MUIDisplayPage(DISPLAY_SETTINGS_PAGE); - DrawGenericList(DisplayList, + InitGenericListUi(&ListUi, DisplayList); + DrawGenericList(&ListUi, 2, 18, xScreen - 3, @@ -1423,7 +1426,7 @@ SaveGenericListState(DisplayList); - return HandleGenericList(DisplayList, DEVICE_SETTINGS_PAGE, Ir); + return HandleGenericList(&ListUi, DEVICE_SETTINGS_PAGE, Ir); } @@ -1440,9 +1443,11 @@ static PAGE_NUMBER KeyboardSettingsPage(PINPUT_RECORD Ir) { + GENERIC_LIST_UI ListUi; MUIDisplayPage(KEYBOARD_SETTINGS_PAGE); - DrawGenericList(KeyboardList, + InitGenericListUi(&ListUi, KeyboardList); + DrawGenericList(&ListUi, 2, 18, xScreen - 3, @@ -1450,7 +1455,7 @@ SaveGenericListState(KeyboardList); - return HandleGenericList(KeyboardList, DEVICE_SETTINGS_PAGE, Ir); + return HandleGenericList(&ListUi, DEVICE_SETTINGS_PAGE, Ir); } @@ -1467,9 +1472,11 @@ static PAGE_NUMBER LayoutSettingsPage(PINPUT_RECORD Ir) { + GENERIC_LIST_UI ListUi; MUIDisplayPage(LAYOUT_SETTINGS_PAGE); - DrawGenericList(LayoutList, + InitGenericListUi(&ListUi, LayoutList); + DrawGenericList(&ListUi, 2, 18, xScreen - 3, @@ -1477,7 +1484,7 @@ SaveGenericListState(LayoutList); - return HandleGenericList(LayoutList, DEVICE_SETTINGS_PAGE, Ir); + return HandleGenericList(&ListUi, DEVICE_SETTINGS_PAGE, Ir); } @@ -2878,7 +2885,7 @@ * RETURNS * Number of the next page. */ -static ULONG +static PAGE_NUMBER FormatPartitionPage(PINPUT_RECORD Ir) { UNICODE_STRING PartitionRootPath; @@ -3068,7 +3075,7 @@ * RETURNS * Number of the next page. */ -static ULONG +static PAGE_NUMBER CheckFileSystemPage(PINPUT_RECORD Ir) { PFILE_SYSTEM_ITEM CurrentFileSystem; @@ -3875,8 +3882,7 @@ * RETURNS * Number of the next page. */ -static -PAGE_NUMBER +static PAGE_NUMBER FileCopyPage(PINPUT_RECORD Ir) { COPYCONTEXT CopyContext; @@ -4073,7 +4079,6 @@ } /* Set GeoID */ - if (!SetGeoID(MUIGetGeoID())) { MUIDisplayError(ERROR_UPDATE_GEOID, Ir, POPUP_WAIT_ENTER); @@ -4307,7 +4312,7 @@ MUIDisplayPage(BOOT_LOADER_FLOPPY_PAGE); -// SetStatusText(" Please wait..."); +// CONSOLE_SetStatusText(MUIGetString(STRING_PLEASEWAIT)); while (TRUE) { @@ -4471,48 +4476,49 @@ { MUIDisplayPage(QUIT_PAGE); - /* Destroy partition list */ + /* Destroy the partition list */ if (PartitionList != NULL) { DestroyPartitionList(PartitionList); PartitionList = NULL; } - /* Destroy filesystem list */ + /* Destroy the filesystem list */ if (FileSystemList != NULL) { DestroyFileSystemList(FileSystemList); FileSystemList = NULL; } - /* Destroy computer settings list */ + /* Destroy the computer settings list */ if (ComputerList != NULL) { DestroyGenericList(ComputerList, TRUE); ComputerList = NULL; } - /* Destroy display settings list */ + /* Destroy the display settings list */ if (DisplayList != NULL) { DestroyGenericList(DisplayList, TRUE); DisplayList = NULL; } - /* Destroy keyboard settings list */ + /* Destroy the keyboard settings list */ if (KeyboardList != NULL) { DestroyGenericList(KeyboardList, TRUE); KeyboardList = NULL; } - /* Destroy keyboard layout list */ + /* Destroy the keyboard layout list */ if (LayoutList != NULL) { DestroyGenericList(LayoutList, TRUE); LayoutList = NULL; } + /* Destroy the languages list */ if (LanguageList != NULL) { DestroyGenericList(LanguageList, FALSE); @@ -4602,6 +4608,7 @@ NtQuerySystemTime(&Time); + /* Create the PnP thread in suspended state */ Status = RtlCreateUserThread(NtCurrentProcess(), NULL, TRUE, @@ -4679,9 +4686,7 @@ case SCSI_CONTROLLER_PAGE: Page = ScsiControllerPage(&Ir); break; -#endif - -#if 0 + case OEM_DRIVER_PAGE: Page = OemDriverPage(&Ir); break; @@ -4736,11 +4741,11 @@ break; case FORMAT_PARTITION_PAGE: - Page = (PAGE_NUMBER) FormatPartitionPage(&Ir); + Page = FormatPartitionPage(&Ir); break; case CHECK_FILE_SYSTEM_PAGE: - Page = (PAGE_NUMBER) CheckFileSystemPage(&Ir); + Page = CheckFileSystemPage(&Ir); break; case INSTALL_DIRECTORY_PAGE:
7 years, 7 months
1
0
0
0
[gadamopoulos] 74552: [UXTHEME] -ThemeDrawCaptionText: Try to avoid a heap allocation when getting the window caption.
by gadamopoulos@svn.reactos.org
Author: gadamopoulos Date: Mon May 15 16:05:14 2017 New Revision: 74552 URL:
http://svn.reactos.org/svn/reactos?rev=74552&view=rev
Log: [UXTHEME] -ThemeDrawCaptionText: Try to avoid a heap allocation when getting the window caption. Modified: trunk/reactos/dll/win32/uxtheme/nonclient.c Modified: trunk/reactos/dll/win32/uxtheme/nonclient.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/nonclien…
============================================================================== --- trunk/reactos/dll/win32/uxtheme/nonclient.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/uxtheme/nonclient.c [iso-8859-1] Mon May 15 16:05:14 2017 @@ -100,16 +100,7 @@ return hIcon; } -WCHAR *UserGetWindowCaption(HWND hwnd) -{ - INT len = 512; - WCHAR *text; - text = (WCHAR*)HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR)); - if (text) InternalGetWindowText(hwnd, text, len); - return text; -} - -HRESULT WINAPI ThemeDrawCaptionText(PDRAW_CONTEXT pcontext, RECT* pRect, int iPartId, int iStateId, LPCWSTR pszText) +HRESULT WINAPI ThemeDrawCaptionText(PDRAW_CONTEXT pcontext, RECT* pRect, int iPartId, int iStateId) { HRESULT hr; HFONT hFont = NULL; @@ -117,6 +108,25 @@ LOGFONTW logfont; COLORREF textColor; COLORREF oldTextColor; + + WCHAR buffer[50]; + WCHAR *pszText = buffer; + INT len; + + len = InternalGetWindowText(pcontext->hWnd, NULL, 0); + if (!len) + return S_OK; + + len++; /* From now on this is the size of the buffer so include the null */ + + if (len > 50) + { + pszText = (WCHAR*)HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR)); + if (!pszText) + return E_FAIL; + } + + InternalGetWindowText(pcontext->hWnd, pszText, len); hr = GetThemeSysFont(0,TMT_CAPTIONFONT,&logfont); if(SUCCEEDED(hr)) @@ -136,16 +146,20 @@ iPartId, iStateId, pszText, - lstrlenW(pszText), + len - 1, DT_VCENTER | DT_SINGLELINE | DT_END_ELLIPSIS, 0, pRect); SetTextColor(pcontext->hDC, oldTextColor); - if(hFont) + if (hFont) { SelectObject(pcontext->hDC, oldFont); DeleteObject(hFont); + } + if (pszText != buffer) + { + HeapFree(GetProcessHeap(), 0, pszText); } return S_OK; } @@ -320,7 +334,6 @@ RECT rcPart; int iPart, iState; HICON hIcon; - WCHAR *CaptionText; // See also win32ss/user/ntuser/nonclient.c!UserDrawCaptionBar // and win32ss/user/ntuser/nonclient.c!UserDrawCaption @@ -328,8 +341,6 @@ hIcon = UserGetWindowIcon(pcontext); else hIcon = NULL; - - CaptionText = UserGetWindowCaption(pcontext->hWnd); /* Get the caption part and state id */ if (pcontext->wi.dwStyle & WS_MINIMIZE) @@ -378,11 +389,7 @@ rcPart.right -= 4; /* Draw the caption */ - if (CaptionText) - { - ThemeDrawCaptionText(pcontext, &rcPart, iPart, iState, CaptionText); - HeapFree(GetProcessHeap(), 0, CaptionText); - } + ThemeDrawCaptionText(pcontext, &rcPart, iPart, iState); } static void
7 years, 7 months
1
0
0
0
[gadamopoulos] 74551: [UXTHEME] -Simplify ThemeDrawCaptionText.
by gadamopoulos@svn.reactos.org
Author: gadamopoulos Date: Mon May 15 15:34:43 2017 New Revision: 74551 URL:
http://svn.reactos.org/svn/reactos?rev=74551&view=rev
Log: [UXTHEME] -Simplify ThemeDrawCaptionText. Modified: trunk/reactos/dll/win32/uxtheme/nonclient.c Modified: trunk/reactos/dll/win32/uxtheme/nonclient.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/nonclien…
============================================================================== --- trunk/reactos/dll/win32/uxtheme/nonclient.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/uxtheme/nonclient.c [iso-8859-1] Mon May 15 15:34:43 2017 @@ -109,9 +109,7 @@ return text; } -HRESULT WINAPI ThemeDrawCaptionText(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, - LPCWSTR pszText, int iCharCount, DWORD dwTextFlags, - DWORD dwTextFlags2, const RECT *pRect, BOOL Active) +HRESULT WINAPI ThemeDrawCaptionText(PDRAW_CONTEXT pcontext, RECT* pRect, int iPartId, int iStateId, LPCWSTR pszText) { HRESULT hr; HFONT hFont = NULL; @@ -119,33 +117,34 @@ LOGFONTW logfont; COLORREF textColor; COLORREF oldTextColor; - int oldBkMode; - RECT rt; - + hr = GetThemeSysFont(0,TMT_CAPTIONFONT,&logfont); - - if(SUCCEEDED(hr)) { + if(SUCCEEDED(hr)) hFont = CreateFontIndirectW(&logfont); - } - CopyRect(&rt, pRect); + if(hFont) - oldFont = SelectObject(hdc, hFont); + oldFont = SelectObject(pcontext->hDC, hFont); - if(dwTextFlags2 & DTT_GRAYED) - textColor = GetSysColor(COLOR_GRAYTEXT); - else if (!Active) + if (!pcontext->Active) textColor = GetSysColor(COLOR_INACTIVECAPTIONTEXT); else textColor = GetSysColor(COLOR_CAPTIONTEXT); - - oldTextColor = SetTextColor(hdc, textColor); - oldBkMode = SetBkMode(hdc, TRANSPARENT); - DrawThemeText(hTheme, hdc, iPartId, iStateId, pszText, iCharCount, dwTextFlags, dwTextFlags, pRect); - SetBkMode(hdc, oldBkMode); - SetTextColor(hdc, oldTextColor); - - if(hFont) { - SelectObject(hdc, oldFont); + + oldTextColor = SetTextColor(pcontext->hDC, textColor); + DrawThemeText(pcontext->theme, + pcontext->hDC, + iPartId, + iStateId, + pszText, + lstrlenW(pszText), + DT_VCENTER | DT_SINGLELINE | DT_END_ELLIPSIS, + 0, + pRect); + SetTextColor(pcontext->hDC, oldTextColor); + + if(hFont) + { + SelectObject(pcontext->hDC, oldFont); DeleteObject(hFont); } return S_OK; @@ -381,17 +380,7 @@ /* Draw the caption */ if (CaptionText) { - /* FIXME: Use DrawThemeTextEx */ - ThemeDrawCaptionText(pcontext->theme, - pcontext->hDC, - iPart, - iState, - CaptionText, - lstrlenW(CaptionText), - DT_VCENTER | DT_SINGLELINE | DT_END_ELLIPSIS, - 0, - &rcPart, - pcontext->Active); + ThemeDrawCaptionText(pcontext, &rcPart, iPart, iState, CaptionText); HeapFree(GetProcessHeap(), 0, CaptionText); } }
7 years, 7 months
1
0
0
0
[hbelusca] 74550: [USETUP]: Continue implementing the NT OS installation detector. What remains to be done here, besides cleaning up the code from temporary comments and DPRINTs (and fixing potenti...
by hbelusca@svn.reactos.org
Author: hbelusca Date: Mon May 15 01:59:28 2017 New Revision: 74550 URL:
http://svn.reactos.org/svn/reactos?rev=74550&view=rev
Log: [USETUP]: Continue implementing the NT OS installation detector. What remains to be done here, besides cleaning up the code from temporary comments and DPRINTs (and fixing potential bugs), is to actually parse the NTOS loader configuration files (freeldr.ini in ROS' case, or boot.ini in Win2k3's case, etc...) to retrieve the actual installation paths. So far these are currently hardcoded for testing purposes only. Note that I try to distinguish between ROS and Windows installations by checking at the company name vendor of the ntoskrnl.exe & ntdll.dll files, in order to allow the upgrade of ROS installations only. Suggestions are always welcome. Modified: branches/setup_improvements/base/setup/usetup/osdetect.c Modified: branches/setup_improvements/base/setup/usetup/osdetect.c URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/osdetect.c [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/osdetect.c [iso-8859-1] Mon May 15 01:59:28 2017 @@ -19,6 +19,9 @@ /* GLOBALS ******************************************************************/ extern PPARTLIST PartitionList; + +/* Language-independent Vendor strings */ +static const PCWSTR KnownVendors[] = { L"ReactOS", L"Microsoft" }; /* VERSION RESOURCE API ******************************************************/ @@ -361,36 +364,331 @@ #endif + +/*** +*wchar_t *wcsstr(string1, string2) - search for string2 in string1 +* (wide strings) +* +*Purpose: +* finds the first occurrence of string2 in string1 (wide strings) +* +*Entry: +* wchar_t *string1 - string to search in +* wchar_t *string2 - string to search for +* +*Exit: +* returns a pointer to the first occurrence of string2 in +* string1, or NULL if string2 does not occur in string1 +* +*Uses: +* +*Exceptions: +* +*******************************************************************************/ +PWSTR FindSubStrI(PCWSTR str, PCWSTR strSearch) +{ + PWSTR cp = (PWSTR)str; + PWSTR s1, s2; + + if (!*strSearch) + return (PWSTR)str; + + while (*cp) + { + s1 = cp; + s2 = (PWSTR)strSearch; + + while (*s1 && *s2 && (towupper(*s1) == towupper(*s2))) + ++s1, ++s2; + + if (!*s2) + return cp; + + ++cp; + } + + return NULL; +} + static BOOLEAN -IsRecognizedOS( +CheckForValidPEAndVendor( + IN HANDLE RootDirectory OPTIONAL, + IN PCWSTR PathName OPTIONAL, + IN PCWSTR FileName, // OPTIONAL + IN PCWSTR VendorName // Better would be OUT PCWSTR*, and the function returning NTSTATUS ? + ) +{ + BOOLEAN Success = FALSE; + NTSTATUS Status; + HANDLE FileHandle, SectionHandle; + // SIZE_T ViewSize; + PVOID ViewBase; + PVOID VersionBuffer = NULL; // Read-only + PVOID pvData = NULL; + UINT BufLen = 0; + + Status = OpenAndMapFile(RootDirectory, PathName, FileName, + &FileHandle, &SectionHandle, &ViewBase); + if (!NT_SUCCESS(Status)) + { + DPRINT1("Failed to open and map file %wZ, Status 0x%08lx\n", &FileName, Status); + return FALSE; // Status; + } + + /* Make sure it's a valid PE file */ + if (!RtlImageNtHeader(ViewBase)) + { + DPRINT1("File %wZ does not seem to be a valid PE, bail out\n", &FileName); + Status = STATUS_INVALID_IMAGE_FORMAT; + goto UnmapFile; + } + + /* + * Search for a valid executable version and vendor. + * NOTE: The module is loaded as a data file, it should be marked as such. + */ + Status = NtGetVersionResource((PVOID)((ULONG_PTR)ViewBase | 1), &VersionBuffer, NULL); + if (!NT_SUCCESS(Status)) + { + DPRINT1("Failed to get version resource for file %wZ, Status 0x%08lx\n", &FileName, Status); + goto UnmapFile; + } + + Status = NtVerQueryValue(VersionBuffer, L"\\VarFileInfo\\Translation", &pvData, &BufLen); + if (NT_SUCCESS(Status)) + { + USHORT wCodePage = 0, wLangID = 0; + WCHAR FileInfo[MAX_PATH]; + UNICODE_STRING Vendor; + + wCodePage = LOWORD(*(ULONG*)pvData); + wLangID = HIWORD(*(ULONG*)pvData); + + StringCchPrintfW(FileInfo, ARRAYSIZE(FileInfo), + L"StringFileInfo\\%04X%04X\\CompanyName", + wCodePage, wLangID); + + Status = NtVerQueryValue(VersionBuffer, FileInfo, &pvData, &BufLen); + if (NT_SUCCESS(Status) && pvData) + { + /* BufLen includes the NULL terminator count */ + RtlInitEmptyUnicodeString(&Vendor, pvData, BufLen * sizeof(WCHAR)); + Vendor.Length = Vendor.MaximumLength - sizeof(UNICODE_NULL); + + DPRINT1("Found version vendor: \"%wZ\" for file %wZ\n", &Vendor, &FileName); + + Success = !!FindSubStrI(pvData, VendorName); + } + else + { + DPRINT1("No version vendor found for file %wZ\n", &FileName); + } + } + +UnmapFile: + /* Finally, unmap and close the file */ + UnMapFile(SectionHandle, ViewBase); + NtClose(FileHandle); + + return Success; +} + +static BOOLEAN +IsValidNTOSInstallation( + IN HANDLE PartitionHandle, + IN PCWSTR SystemRoot) +{ + BOOLEAN Success = FALSE; + USHORT i; + WCHAR PathBuffer[MAX_PATH]; + + // DoesPathExist(PartitionHandle, SystemRoot, L"System32\\"); etc... + + /* Check for the existence of \SystemRoot\System32 */ + StringCchPrintfW(PathBuffer, ARRAYSIZE(PathBuffer), L"%s%s", SystemRoot, L"System32\\"); + if (!DoesPathExist(PartitionHandle, PathBuffer)) + { + // DPRINT1("Failed to open directory %wZ, Status 0x%08lx\n", &FileName, Status); + return FALSE; + } + + /* Check for the existence of \SystemRoot\System32\drivers */ + StringCchPrintfW(PathBuffer, ARRAYSIZE(PathBuffer), L"%s%s", SystemRoot, L"System32\\drivers\\"); + if (!DoesPathExist(PartitionHandle, PathBuffer)) + { + // DPRINT1("Failed to open directory %wZ, Status 0x%08lx\n", &FileName, Status); + return FALSE; + } + + /* Check for the existence of \SystemRoot\System32\config */ + StringCchPrintfW(PathBuffer, ARRAYSIZE(PathBuffer), L"%s%s", SystemRoot, L"System32\\config\\"); + if (!DoesPathExist(PartitionHandle, PathBuffer)) + { + // DPRINT1("Failed to open directory %wZ, Status 0x%08lx\n", &FileName, Status); + return FALSE; + } + +#if 0 + /* + * Check for the existence of SYSTEM and SOFTWARE hives in \SystemRoot\System32\config + * (but we don't check here whether they are actually valid). + */ + if (!DoesFileExist(PartitionHandle, SystemRoot, L"System32\\config\\SYSTEM")) + { + // DPRINT1("Failed to open file %wZ, Status 0x%08lx\n", &FileName, Status); + return FALSE; + } + if (!DoesFileExist(PartitionHandle, SystemRoot, L"System32\\config\\SOFTWARE")) + { + // DPRINT1("Failed to open file %wZ, Status 0x%08lx\n", &FileName, Status); + return FALSE; + } +#endif + + for (i = 0; i < ARRAYSIZE(KnownVendors); ++i) + { + /* Check for the existence of \SystemRoot\System32\ntoskrnl.exe and verify its version */ + Success = CheckForValidPEAndVendor(PartitionHandle, SystemRoot, L"System32\\ntoskrnl.exe", KnownVendors[i]); + + /* OPTIONAL: Check for the existence of \SystemRoot\System32\ntkrnlpa.exe */ + + /* Check for the existence of \SystemRoot\System32\ntdll.dll */ + Success = CheckForValidPEAndVendor(PartitionHandle, SystemRoot, L"System32\\ntdll.dll", KnownVendors[i]); + + /* We have found a correct vendor combination */ + if (Success) + break; + } + + return Success; +} + +typedef struct _NTOS_INSTALLATION +{ + LIST_ENTRY ListEntry; + ULONG DiskNumber; + ULONG PartitionNumber; +// Vendor???? + WCHAR SystemRoot[MAX_PATH]; +/**/WCHAR InstallationName[MAX_PATH];/**/ +} NTOS_INSTALLATION, *PNTOS_INSTALLATION; + +static VOID +ListNTOSInstalls( + IN PGENERIC_LIST List) +{ + PGENERIC_LIST_ENTRY Entry; + PNTOS_INSTALLATION NtOsInstall; + ULONG NtOsInstallsCount = GetNumberOfListEntries(List); + + DPRINT1("There %s %d installation%s detected:\n", + NtOsInstallsCount >= 2 ? "are" : "is", + NtOsInstallsCount, + NtOsInstallsCount >= 2 ? "s" : ""); + + Entry = GetFirstListEntry(List); + while (Entry) + { + NtOsInstall = (PNTOS_INSTALLATION)GetListEntryUserData(Entry); + Entry = GetNextListEntry(Entry); + + DPRINT1(" On disk #%d, partition #%d: Installation \"%S\" in SystemRoot %S\n", + NtOsInstall->DiskNumber, NtOsInstall->PartitionNumber, + NtOsInstall->InstallationName, NtOsInstall->SystemRoot); + } + + DPRINT1("Done.\n"); +} + +static PNTOS_INSTALLATION +FindExistingNTOSInstall( + IN PGENERIC_LIST List, + IN ULONG DiskNumber, + IN ULONG PartitionNumber, + IN PCWSTR SystemRoot) +{ + PGENERIC_LIST_ENTRY Entry; + PNTOS_INSTALLATION NtOsInstall; + + Entry = GetFirstListEntry(List); + while (Entry) + { + NtOsInstall = (PNTOS_INSTALLATION)GetListEntryUserData(Entry); + Entry = GetNextListEntry(Entry); + + if (NtOsInstall->DiskNumber == DiskNumber && + NtOsInstall->PartitionNumber == PartitionNumber && + _wcsicmp(NtOsInstall->SystemRoot, SystemRoot) == 0) + { + /* Found it! */ + return NtOsInstall; + } + } + + return NULL; +} + +static PNTOS_INSTALLATION +AddNTOSInstallation( + IN PGENERIC_LIST List, + IN ULONG DiskNumber, + IN ULONG PartitionNumber, + IN PCWSTR SystemRoot, + IN PCWSTR InstallationName) +{ + PNTOS_INSTALLATION NtOsInstall; + CHAR InstallNameA[MAX_PATH]; + + /* Is there already any installation with these settings? */ + NtOsInstall = FindExistingNTOSInstall(List, DiskNumber, PartitionNumber, SystemRoot); + if (NtOsInstall) + { + DPRINT1("An NTOS installation with name \"%S\" already exists on disk #%d, partition #%d, in SystemRoot %S\n", + NtOsInstall->InstallationName, NtOsInstall->DiskNumber, NtOsInstall->PartitionNumber, NtOsInstall->SystemRoot); + return NtOsInstall; + } + + /* None was found, so add a new one */ + NtOsInstall = RtlAllocateHeap(ProcessHeap, HEAP_ZERO_MEMORY, sizeof(*NtOsInstall)); + if (!NtOsInstall) + return NULL; + + NtOsInstall->DiskNumber = DiskNumber; + NtOsInstall->PartitionNumber = PartitionNumber; + StringCchCopyW(NtOsInstall->SystemRoot, ARRAYSIZE(NtOsInstall->SystemRoot), SystemRoot); + StringCchCopyW(NtOsInstall->InstallationName, ARRAYSIZE(NtOsInstall->InstallationName), InstallationName); + + // Having the GENERIC_LIST storing the display item string plainly sucks... + StringCchPrintfA(InstallNameA, ARRAYSIZE(InstallNameA), "%S", InstallationName); + AppendGenericListEntry(List, InstallNameA, NtOsInstall, FALSE); + + return NtOsInstall; +} + +static VOID +FindNTOSInstallations( + IN PGENERIC_LIST List, IN ULONG DiskNumber, IN ULONG PartitionNumber) { - BOOLEAN Success = FALSE; NTSTATUS Status; UINT i; HANDLE PartitionHandle, FileHandle; OBJECT_ATTRIBUTES ObjectAttributes; IO_STATUS_BLOCK IoStatusBlock; UNICODE_STRING PartitionRootPath; + HANDLE SectionHandle; + // SIZE_T ViewSize; + PVOID ViewBase; WCHAR PathBuffer[MAX_PATH]; - UNICODE_STRING FileName; - // WCHAR FullName[MAX_PATH]; - - /* Version stuff */ - HANDLE SectionHandle; - SIZE_T ViewSize; - PVOID ViewBase; - PVOID VersionBuffer = NULL; // Read-only - PVOID pvData = NULL; - UINT BufLen = 0; + WCHAR SystemRoot[MAX_PATH]; /* Set PartitionRootPath */ swprintf(PathBuffer, L"\\Device\\Harddisk%lu\\Partition%lu\\", DiskNumber, PartitionNumber); RtlInitUnicodeString(&PartitionRootPath, PathBuffer); - DPRINT1("IsRecognizedOS: PartitionRootPath: %wZ\n", &PartitionRootPath); + DPRINT1("FindNTOSInstallations: PartitionRootPath: %wZ\n", &PartitionRootPath); /* Open the partition */ InitializeObjectAttributes(&ObjectAttributes, @@ -402,51 +700,28 @@ FILE_LIST_DIRECTORY | SYNCHRONIZE, &ObjectAttributes, &IoStatusBlock, - 0, + FILE_SHARE_READ | FILE_SHARE_WRITE, FILE_SYNCHRONOUS_IO_NONALERT | FILE_DIRECTORY_FILE); if (!NT_SUCCESS(Status)) { DPRINT1("Failed to open partition %wZ, Status 0x%08lx\n", &PartitionRootPath, Status); - return FALSE; + return; } /* Try to see whether we recognize some NT boot loaders */ for (i = 0; i < ARRAYSIZE(NtosBootLoaders); ++i) { /* Check whether the loader executable exists */ - RtlInitUnicodeString(&FileName, NtosBootLoaders[i].LoaderExecutable); - InitializeObjectAttributes(&ObjectAttributes, - &FileName, - OBJ_CASE_INSENSITIVE, - PartitionHandle, - NULL); - Status = NtOpenFile(&FileHandle, - GENERIC_READ | SYNCHRONIZE, - &ObjectAttributes, - &IoStatusBlock, - 0, - FILE_SYNCHRONOUS_IO_NONALERT | FILE_NON_DIRECTORY_FILE); - if (!NT_SUCCESS(Status)) + if (!DoesFileExist(PartitionHandle, NULL, NtosBootLoaders[i].LoaderExecutable)) { /* The loader does not exist, continue with another one */ DPRINT1("Loader executable %S does not exist, continue with another one...\n", NtosBootLoaders[i].LoaderExecutable); continue; } - NtClose(FileHandle); /* Check whether the loader configuration file exists */ - RtlInitUnicodeString(&FileName, NtosBootLoaders[i].LoaderConfigurationFile); - InitializeObjectAttributes(&ObjectAttributes, - &FileName, - OBJ_CASE_INSENSITIVE, - PartitionHandle, - NULL); - Status = NtOpenFile(&FileHandle, - GENERIC_READ | SYNCHRONIZE, - &ObjectAttributes, - &IoStatusBlock, - 0, - FILE_SYNCHRONOUS_IO_NONALERT | FILE_NON_DIRECTORY_FILE); + Status = OpenAndMapFile(PartitionHandle, NULL, NtosBootLoaders[i].LoaderConfigurationFile, + &FileHandle, &SectionHandle, &ViewBase); if (!NT_SUCCESS(Status)) { /* The loader does not exist, continue with another one */ @@ -459,137 +734,37 @@ // TODO!! DPRINT1("TODO: Analyse the OS installations inside %S !\n", NtosBootLoaders[i].LoaderConfigurationFile); - /* Close the file */ + // Here we get a SystemRootPath for each installation // FIXME! + // FIXME: Do NOT hardcode the path!! But retrieve it from boot.ini etc... + StringCchCopyW(SystemRoot, ARRAYSIZE(SystemRoot), L"WINDOWS\\"); + if (IsValidNTOSInstallation(PartitionHandle, SystemRoot)) + { + DPRINT1("Found a valid NTOS installation in disk #%d, partition #%d, SystemRoot %S\n", + DiskNumber, PartitionNumber, SystemRoot); + AddNTOSInstallation(List, DiskNumber, PartitionNumber, SystemRoot, L"Install_Windows"); + } + + // Here we get a SystemRootPath for each installation // FIXME! + // FIXME: Do NOT hardcode the path!! But retrieve it from boot.ini etc... + StringCchCopyW(SystemRoot, ARRAYSIZE(SystemRoot), L"ReactOS\\"); + if (IsValidNTOSInstallation(PartitionHandle, SystemRoot)) + { + DPRINT1("Found a valid NTOS installation in disk #%d, partition #%d, SystemRoot %S\n", + DiskNumber, PartitionNumber, SystemRoot); + AddNTOSInstallation(List, DiskNumber, PartitionNumber, SystemRoot, L"Install_ReactOS"); + } + + /* Finally, unmap and close the file */ + UnMapFile(SectionHandle, ViewBase); NtClose(FileHandle); } - - - - /* Find a version string in \SystemRoot\System32\ntoskrnl.exe (standard name) */ - // FIXME: Do NOT hardcode the path!! But retrieve it from boot.ini etc... - // RtlInitUnicodeString(&FileName, L"\\SystemRoot\\System32\\ntoskrnl.exe"); - RtlInitUnicodeString(&FileName, L"WINDOWS\\system32\\ntoskrnl.exe"); - InitializeObjectAttributes(&ObjectAttributes, - &FileName, - OBJ_CASE_INSENSITIVE, - PartitionHandle, - NULL); - Status = NtOpenFile(&FileHandle, - GENERIC_READ | SYNCHRONIZE, - &ObjectAttributes, - &IoStatusBlock, - 0, - FILE_SYNCHRONOUS_IO_NONALERT | FILE_NON_DIRECTORY_FILE); - if (!NT_SUCCESS(Status)) - { - DPRINT1("Failed to open file %wZ, Status 0x%08lx\n", &FileName, Status); - goto Quit; - } - - /* Map the file in memory */ - - /* Create the section */ - Status = NtCreateSection(&SectionHandle, - SECTION_MAP_READ, - NULL, - NULL, - PAGE_READONLY, - SEC_COMMIT /* | SEC_IMAGE (_NO_EXECUTE) */, - FileHandle); - if (!NT_SUCCESS(Status)) - { - DPRINT1("Failed to create a memory section for file %wZ, Status 0x%08lx\n", &FileName, Status); - goto SkipFile; - } - - /* Map the section */ - ViewSize = 0; - ViewBase = NULL; - Status = NtMapViewOfSection(SectionHandle, - NtCurrentProcess(), - &ViewBase, - 0, 0, - NULL, - &ViewSize, - ViewShare, - 0, - PAGE_READONLY); - /* Close handle to the section */ - NtClose(SectionHandle); - if (!NT_SUCCESS(Status)) - { - DPRINT1("Failed to map a view for file %wZ, Status 0x%08lx\n", &FileName, Status); - goto SkipFile; - } - - /* Make sure it's a valid PE file */ - if (!RtlImageNtHeader(ViewBase)) - { - DPRINT1("File %wZ does not seem to be a valid PE, bail out\n", &FileName); - Status = STATUS_INVALID_IMAGE_FORMAT; - goto UnmapFile; - } - - /* - * Search for a valid executable version and vendor. - * NOTE: The module is loaded as a data file, it should be marked as such. - */ - Status = NtGetVersionResource((PVOID)((ULONG_PTR)ViewBase | 1), &VersionBuffer, NULL); - if (!NT_SUCCESS(Status)) - { - DPRINT1("Failed to get version resource for file %wZ, Status 0x%08lx\n", &FileName, Status); - goto UnmapFile; - } - - Status = NtVerQueryValue(VersionBuffer, L"\\VarFileInfo\\Translation", &pvData, &BufLen); - if (NT_SUCCESS(Status)) - { - USHORT wCodePage = 0, wLangID = 0; - WCHAR FileInfo[MAX_PATH]; - UNICODE_STRING Vendor; - - wCodePage = LOWORD(*(ULONG*)pvData); - wLangID = HIWORD(*(ULONG*)pvData); - - StringCchPrintfW(FileInfo, ARRAYSIZE(FileInfo), - L"StringFileInfo\\%04X%04X\\CompanyName", - wCodePage, wLangID); - - Status = NtVerQueryValue(VersionBuffer, FileInfo, &pvData, &BufLen); - if (NT_SUCCESS(Status) && pvData) - { - /* BufLen includes the NULL terminator count */ - RtlInitEmptyUnicodeString(&Vendor, pvData, BufLen * sizeof(WCHAR)); - Vendor.Length = Vendor.MaximumLength - sizeof(UNICODE_NULL); - - DPRINT1("Found version vendor: \"%wZ\" for file %wZ\n", &Vendor, &FileName); - - /**/ - Success = TRUE; - /**/ - } - else - { - DPRINT1("No version vendor found for file %wZ\n", &FileName); - } - } - -UnmapFile: - /* Finally, unmap the file */ - NtUnmapViewOfSection(NtCurrentProcess(), ViewBase); - -SkipFile: - /* Close the file */ - NtClose(FileHandle); - -Quit: /* Close the partition */ NtClose(PartitionHandle); - return Success; -} - -static BOOLEAN +} + +// static +FORCEINLINE BOOLEAN ShouldICheckThisPartition( IN PPARTENTRY PartEntry) { @@ -602,17 +777,23 @@ (PartEntry->FormatState == Preformatted /* || PartEntry->FormatState == Formatted */); } -VOID -DetectOperatingSystems( - IN PPARTLIST List) -{ +// EnumerateNTOSInstallations +PGENERIC_LIST +CreateNTOSInstallationsList( + IN PPARTLIST PartList) +{ + PGENERIC_LIST List; PLIST_ENTRY Entry, Entry2; PDISKENTRY DiskEntry; - PPARTENTRY PartEntry = NULL; + PPARTENTRY PartEntry; + + List = CreateGenericList(); + if (List == NULL) + return NULL; /* Loop each available disk ... */ - Entry = List->DiskListHead.Flink; - while (Entry != &List->DiskListHead) + Entry = PartList->DiskListHead.Flink; + while (Entry != &PartList->DiskListHead) { DiskEntry = CONTAINING_RECORD(Entry, DISKENTRY, ListEntry); Entry = Entry->Flink; @@ -638,12 +819,7 @@ ShouldICheckThisPartition(PartEntry) ? "YES!" : "NO!"); if (ShouldICheckThisPartition(PartEntry)) - { - BOOLEAN IsRecognized = IsRecognizedOS(DiskEntry->DiskNumber, PartEntry->PartitionNumber); - DPRINT1("%s OS in partition #%d, index %d\n", - IsRecognized ? "Recognized" : "Unrecognized", - PartEntry->PartitionNumber, PartEntry->PartitionIndex); - } + FindNTOSInstallations(List, DiskEntry->DiskNumber, PartEntry->PartitionNumber); } /* Then, the logical partitions (present in the extended partition) */ @@ -663,14 +839,14 @@ ShouldICheckThisPartition(PartEntry) ? "YES!" : "NO!"); if (ShouldICheckThisPartition(PartEntry)) - { - BOOLEAN IsRecognized = IsRecognizedOS(DiskEntry->DiskNumber, PartEntry->PartitionNumber); - DPRINT1("%s OS in partition #%d, index %d\n", - IsRecognized ? "Recognized" : "Unrecognized", - PartEntry->PartitionNumber, PartEntry->PartitionIndex); - } - } - } + FindNTOSInstallations(List, DiskEntry->DiskNumber, PartEntry->PartitionNumber); + } + } + + /**** Debugging: List all the collected installations ****/ + ListNTOSInstalls(List); + + return List; } /* EOF */
7 years, 7 months
1
0
0
0
[hbelusca] 74549: [USETUP]: Add & modify some file utility functions that are going to be used in the next commit. - ConcatPaths that concatenates paths (or a path and a file name); - OpenAndMapFil...
by hbelusca@svn.reactos.org
Author: hbelusca Date: Mon May 15 01:52:34 2017 New Revision: 74549 URL:
http://svn.reactos.org/svn/reactos?rev=74549&view=rev
Log: [USETUP]: Add & modify some file utility functions that are going to be used in the next commit. - ConcatPaths that concatenates paths (or a path and a file name); - OpenAndMapFile (resp. UnMapFile), whose purpose is to open a file and map it in memory (resp. unmap it from memory). - Add extra optional parameters to DoesPathExist and DoesFileExist: an optional "RootDirectory" handle and, for DoesFileExist only, an optional PathName. Modified: branches/setup_improvements/base/setup/usetup/filesup.c branches/setup_improvements/base/setup/usetup/filesup.h Modified: branches/setup_improvements/base/setup/usetup/filesup.c URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/filesup.c [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/filesup.c [iso-8859-1] Mon May 15 01:52:34 2017 @@ -93,59 +93,6 @@ return Status; } - -static -BOOLEAN -DoesPathExist( - PWSTR PathName) -{ - OBJECT_ATTRIBUTES ObjectAttributes; - IO_STATUS_BLOCK IoStatusBlock; - UNICODE_STRING Name; - HANDLE FileHandle; - NTSTATUS Status; - - RtlInitUnicodeString(&Name, PathName); - - InitializeObjectAttributes(&ObjectAttributes, - &Name, - OBJ_CASE_INSENSITIVE, - NULL, - NULL); - - Status = NtOpenFile(&FileHandle, - GENERIC_READ | SYNCHRONIZE, - &ObjectAttributes, - &IoStatusBlock, - 0, - FILE_SYNCHRONOUS_IO_NONALERT); - if (NT_SUCCESS(Status)) - NtClose(FileHandle); - - return NT_SUCCESS(Status); -} - - -BOOLEAN -IsValidPath( - PWCHAR InstallDir, - ULONG Length) -{ - UINT i; - - // TODO: Add check for 8.3 too. - - /* Check for whitespaces */ - for (i = 0; i < Length; i++) - { - if (isspace(InstallDir[i])) - return FALSE; - } - - return TRUE; -} - - NTSTATUS SetupCreateDirectory( PWCHAR PathName) @@ -183,7 +130,7 @@ *Ptr = 0; DPRINT("PathBuffer: %S\n", PathBuffer); - if (!DoesPathExist(PathBuffer)) + if (!DoesPathExist(NULL, PathBuffer)) { DPRINT("Create: %S\n", PathBuffer); Status = SetupCreateSingleDirectory(PathBuffer); @@ -197,7 +144,7 @@ Ptr++; } - if (!DoesPathExist(PathBuffer)) + if (!DoesPathExist(NULL, PathBuffer)) { DPRINT("Create: %S\n", PathBuffer); Status = SetupCreateSingleDirectory(PathBuffer); @@ -212,7 +159,6 @@ return Status; } - NTSTATUS SetupCopyFile( @@ -233,7 +179,6 @@ SIZE_T SourceSectionSize = 0; LARGE_INTEGER ByteOffset; -#ifdef __REACTOS__ RtlInitUnicodeString(&FileName, SourceFileName); @@ -254,20 +199,6 @@ DPRINT1("NtOpenFile failed: %x, %wZ\n", Status, &FileName); goto done; } -#else - FileHandleSource = CreateFileW(SourceFileName, - GENERIC_READ, - FILE_SHARE_READ, - NULL, - OPEN_EXISTING, - 0, - NULL); - if (FileHandleSource == INVALID_HANDLE_VALUE) - { - Status = STATUS_UNSUCCESSFUL; - goto done; - } -#endif Status = NtQueryInformationFile(FileHandleSource, &IoStatusBlock, @@ -484,44 +415,254 @@ } #endif + +BOOLEAN +IsValidPath( + IN PWCHAR InstallDir, + IN ULONG Length) +{ + UINT i; + + // TODO: Add check for 8.3 too. + + /* Check for whitespaces */ + for (i = 0; i < Length; i++) + { + if (isspace(InstallDir[i])) + return FALSE; + } + + return TRUE; +} + +HRESULT +ConcatPaths( + IN OUT PWSTR PathElem1, + IN SIZE_T cchPathSize, + IN PCWSTR PathElem2 OPTIONAL) +{ + HRESULT hr; + SIZE_T cchPathLen; + + if (!PathElem2) + return S_OK; + if (cchPathSize <= 1) + return S_OK; + + cchPathLen = min(cchPathSize, wcslen(PathElem1)); + + if (PathElem2[0] != L'\\' && cchPathLen > 0 && PathElem1[cchPathLen-1] != L'\\') + { + /* PathElem2 does not start with '\' and PathElem1 does not end with '\' */ + hr = StringCchCatW(PathElem1, cchPathSize, L"\\"); + if (FAILED(hr)) + return hr; + } + else if (PathElem2[0] == L'\\' && cchPathLen > 0 && PathElem1[cchPathLen-1] == L'\\') + { + /* PathElem2 starts with '\' and PathElem1 ends with '\' */ + while (*PathElem2 == L'\\') + ++PathElem2; // Skip any backslash + } + hr = StringCchCatW(PathElem1, cchPathSize, PathElem2); + return hr; +} + +// +// NOTE: It may be possible to merge both DoesPathExist and DoesFileExist... +// +BOOLEAN +DoesPathExist( + IN HANDLE RootDirectory OPTIONAL, + IN PCWSTR PathName) +{ + NTSTATUS Status; + HANDLE FileHandle; + OBJECT_ATTRIBUTES ObjectAttributes; + IO_STATUS_BLOCK IoStatusBlock; + UNICODE_STRING Name; + + RtlInitUnicodeString(&Name, PathName); + + InitializeObjectAttributes(&ObjectAttributes, + &Name, + OBJ_CASE_INSENSITIVE, + RootDirectory, + NULL); + + Status = NtOpenFile(&FileHandle, + FILE_LIST_DIRECTORY | SYNCHRONIZE, + &ObjectAttributes, + &IoStatusBlock, + FILE_SHARE_READ | FILE_SHARE_WRITE, + FILE_SYNCHRONOUS_IO_NONALERT | FILE_DIRECTORY_FILE); + if (NT_SUCCESS(Status)) + NtClose(FileHandle); + else + DPRINT1("Failed to open directory %wZ, Status 0x%08lx\n", &Name, Status); + + return NT_SUCCESS(Status); +} + BOOLEAN DoesFileExist( - PWSTR PathName, - PWSTR FileName) -{ + IN HANDLE RootDirectory OPTIONAL, + IN PCWSTR PathName OPTIONAL, + IN PCWSTR FileName) +{ + NTSTATUS Status; + HANDLE FileHandle; OBJECT_ATTRIBUTES ObjectAttributes; IO_STATUS_BLOCK IoStatusBlock; UNICODE_STRING Name; WCHAR FullName[MAX_PATH]; - HANDLE FileHandle; - NTSTATUS Status; - - wcscpy(FullName, PathName); - if (FileName != NULL) - { - if (FileName[0] != L'\\') - wcscat(FullName, L"\\"); - wcscat(FullName, FileName); - } + + if (PathName) + StringCchCopyW(FullName, ARRAYSIZE(FullName), PathName); + else + FullName[0] = UNICODE_NULL; + + if (FileName) + ConcatPaths(FullName, ARRAYSIZE(FullName), FileName); RtlInitUnicodeString(&Name, FullName); InitializeObjectAttributes(&ObjectAttributes, &Name, OBJ_CASE_INSENSITIVE, - NULL, + RootDirectory, NULL); Status = NtOpenFile(&FileHandle, GENERIC_READ | SYNCHRONIZE, &ObjectAttributes, &IoStatusBlock, - 0, - FILE_SYNCHRONOUS_IO_NONALERT); + FILE_SHARE_READ | FILE_SHARE_WRITE, + FILE_SYNCHRONOUS_IO_NONALERT | FILE_NON_DIRECTORY_FILE); if (NT_SUCCESS(Status)) NtClose(FileHandle); + else + DPRINT1("Failed to open file %wZ, Status 0x%08lx\n", &Name, Status); return NT_SUCCESS(Status); } +NTSTATUS +OpenAndMapFile( + IN HANDLE RootDirectory OPTIONAL, + IN PCWSTR PathName OPTIONAL, + IN PCWSTR FileName, // OPTIONAL + OUT PHANDLE FileHandle, // IN OUT PHANDLE OPTIONAL + OUT PHANDLE SectionHandle, + OUT PVOID* BaseAddress) +{ + NTSTATUS Status; + OBJECT_ATTRIBUTES ObjectAttributes; + IO_STATUS_BLOCK IoStatusBlock; + SIZE_T ViewSize; + PVOID ViewBase; + UNICODE_STRING Name; + WCHAR FullName[MAX_PATH]; + + if (PathName) + StringCchCopyW(FullName, ARRAYSIZE(FullName), PathName); + else + FullName[0] = UNICODE_NULL; + + if (FileName) + ConcatPaths(FullName, ARRAYSIZE(FullName), FileName); + + RtlInitUnicodeString(&Name, FullName); + + InitializeObjectAttributes(&ObjectAttributes, + &Name, + OBJ_CASE_INSENSITIVE, + RootDirectory, + NULL); + + *FileHandle = NULL; + *SectionHandle = NULL; + + Status = NtOpenFile(FileHandle, + GENERIC_READ | SYNCHRONIZE, + &ObjectAttributes, + &IoStatusBlock, + FILE_SHARE_READ, + FILE_SYNCHRONOUS_IO_NONALERT | FILE_NON_DIRECTORY_FILE); + if (!NT_SUCCESS(Status)) + { + DPRINT1("Failed to open file %wZ, Status 0x%08lx\n", &Name, Status); + return Status; + } + + /* Map the file in memory */ + + /* Create the section */ + Status = NtCreateSection(SectionHandle, + SECTION_MAP_READ, + NULL, + NULL, + PAGE_READONLY, + SEC_COMMIT /* | SEC_IMAGE (_NO_EXECUTE) */, + *FileHandle); + if (!NT_SUCCESS(Status)) + { + DPRINT1("Failed to create a memory section for file %wZ, Status 0x%08lx\n", &Name, Status); + NtClose(*FileHandle); + *FileHandle = NULL; + return Status; + } + + /* Map the section */ + ViewSize = 0; + ViewBase = NULL; + Status = NtMapViewOfSection(*SectionHandle, + NtCurrentProcess(), + &ViewBase, + 0, 0, + NULL, + &ViewSize, + ViewShare, + 0, + PAGE_READONLY); + if (!NT_SUCCESS(Status)) + { + DPRINT1("Failed to map a view for file %wZ, Status 0x%08lx\n", &Name, Status); + NtClose(*SectionHandle); + *SectionHandle = NULL; + NtClose(*FileHandle); + *FileHandle = NULL; + return Status; + } + + *BaseAddress = ViewBase; + return STATUS_SUCCESS; +} + +BOOLEAN +UnMapFile( + IN HANDLE SectionHandle, + IN PVOID BaseAddress) +{ + NTSTATUS Status; + BOOLEAN Success = TRUE; + + Status = NtUnmapViewOfSection(NtCurrentProcess(), BaseAddress); + if (!NT_SUCCESS(Status)) + { + DPRINT1("UnMapFile: NtUnmapViewOfSection(0x%p) failed with Status 0x%08lx\n", + BaseAddress, Status); + Success = FALSE; + } + Status = NtClose(SectionHandle); + if (!NT_SUCCESS(Status)) + { + DPRINT1("UnMapFile: NtClose(0x%p) failed with Status 0x%08lx\n", + SectionHandle, Status); + Success = FALSE; + } + + return Success; +} + /* EOF */ Modified: branches/setup_improvements/base/setup/usetup/filesup.h URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/filesup.h [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/filesup.h [iso-8859-1] Mon May 15 01:52:34 2017 @@ -41,14 +41,41 @@ PWCHAR SourceFileName, PWCHAR DestinationFileName); -BOOLEAN -DoesFileExist( - PWSTR PathName, - PWSTR FileName); BOOLEAN IsValidPath( - PWCHAR InstallDir, - ULONG Length); + IN PWCHAR InstallDir, + IN ULONG Length); + +HRESULT +ConcatPaths( + IN OUT PWSTR PathElem1, + IN SIZE_T cchPathSize, + IN PCWSTR PathElem2 OPTIONAL); + +BOOLEAN +DoesPathExist( + IN HANDLE RootDirectory OPTIONAL, + IN PCWSTR PathName); + +BOOLEAN +DoesFileExist( + IN HANDLE RootDirectory OPTIONAL, + IN PCWSTR PathName OPTIONAL, + IN PCWSTR FileName); + +NTSTATUS +OpenAndMapFile( + IN HANDLE RootDirectory OPTIONAL, + IN PCWSTR PathName OPTIONAL, + IN PCWSTR FileName, // OPTIONAL + OUT PHANDLE FileHandle, // IN OUT PHANDLE OPTIONAL + OUT PHANDLE SectionHandle, + OUT PVOID* BaseAddress); + +BOOLEAN +UnMapFile( + IN HANDLE SectionHandle, + IN PVOID BaseAddress); /* EOF */
7 years, 7 months
1
0
0
0
[hbelusca] 74548: [USETUP]: Replace the temporary "repair" installation page by an upgrade/repair page. This is work-in-progress, so the translations are all in english.
by hbelusca@svn.reactos.org
Author: hbelusca Date: Mon May 15 01:48:19 2017 New Revision: 74548 URL:
http://svn.reactos.org/svn/reactos?rev=74548&view=rev
Log: [USETUP]: Replace the temporary "repair" installation page by an upgrade/repair page. This is work-in-progress, so the translations are all in english. Modified: branches/setup_improvements/base/setup/usetup/lang/bg-BG.h branches/setup_improvements/base/setup/usetup/lang/bn-BD.h branches/setup_improvements/base/setup/usetup/lang/cs-CZ.h branches/setup_improvements/base/setup/usetup/lang/da-DK.h branches/setup_improvements/base/setup/usetup/lang/de-DE.h branches/setup_improvements/base/setup/usetup/lang/el-GR.h branches/setup_improvements/base/setup/usetup/lang/en-US.h branches/setup_improvements/base/setup/usetup/lang/es-ES.h branches/setup_improvements/base/setup/usetup/lang/et-EE.h branches/setup_improvements/base/setup/usetup/lang/fr-FR.h branches/setup_improvements/base/setup/usetup/lang/he-IL.h branches/setup_improvements/base/setup/usetup/lang/it-IT.h branches/setup_improvements/base/setup/usetup/lang/ja-JP.h branches/setup_improvements/base/setup/usetup/lang/lt-LT.h branches/setup_improvements/base/setup/usetup/lang/ms-MY.h branches/setup_improvements/base/setup/usetup/lang/nl-NL.h branches/setup_improvements/base/setup/usetup/lang/pl-PL.h branches/setup_improvements/base/setup/usetup/lang/pt-BR.h branches/setup_improvements/base/setup/usetup/lang/ro-RO.h branches/setup_improvements/base/setup/usetup/lang/ru-RU.h branches/setup_improvements/base/setup/usetup/lang/sk-SK.h branches/setup_improvements/base/setup/usetup/lang/sq-AL.h branches/setup_improvements/base/setup/usetup/lang/sv-SE.h branches/setup_improvements/base/setup/usetup/lang/tr-TR.h branches/setup_improvements/base/setup/usetup/lang/uk-UA.h branches/setup_improvements/base/setup/usetup/usetup.h Modified: branches/setup_improvements/base/setup/usetup/lang/bg-BG.h URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/lang/bg-BG.h [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/lang/bg-BG.h [iso-8859-1] Mon May 15 01:48:19 2017 @@ -90,7 +90,7 @@ { 8, 17, - "\x07 â¨á¥â¥ R § ¯®¯à ¢ª ¥ ªâ.", + "\x07 Press R to repair a ReactOS installation using the Recovery Console.", TEXT_STYLE_NORMAL }, { @@ -418,7 +418,7 @@ } }; -static MUI_ENTRY bgBGRepairPageEntries[] = +static MUI_ENTRY bgBGUpgradePageEntries[] = { { 4, @@ -429,50 +429,56 @@ { 6, 8, - " áâன¢ çêâ ¥ ªâ ¥ ¢ à á⥯¥ à §à ¡®âª . ᥠ®é¥", + "The ReactOS Setup can upgrade one of the available ReactOS installations", TEXT_STYLE_NORMAL }, { 6, 9, - "ï¬ ¢á¨çª¨ ¢ê§¬®¦®á⨠¯ê«® ¨§¯®«§¢ ¥¬® áâன¢ é® ¯à¨«®¦¥¨¥.", + "listed below, or, if a ReactOS installation is damaged, the Setup program", + TEXT_STYLE_NORMAL + }, + { + 6, + 10, + "can attempt to repair it.", TEXT_STYLE_NORMAL }, { 6, 12, - "ꧬ®¦®áââ § ¯®¯à ¢ª ®é¥ ¥ ¥ £®â®¢ .", - TEXT_STYLE_NORMAL + "The repair functions are not all implemented yet.", + TEXT_STYLE_HIGHLIGHT }, { 8, 15, - "\x07 â¨á¥â¥ U § ®¡®¢ï¢ ¥ ®¯¥à 樮 â á¨á⥬ .", + "\x07 Press UP or DOWN to select an OS installation.", TEXT_STYLE_NORMAL }, { 8, 17, - "\x07 â¨á¥â¥ R § ¢ê§áâ ®¢ï¢ é á। (ª®§®« ).", + "\x07 Press U for upgrading the selected OS installation.", TEXT_STYLE_NORMAL }, { 8, 19, - "\x07 âᨥ⥠ESC § ¢àêé ¥ ªê¬ £« ¢ â áâà ¨æ .", + "\x07 Press ESC to continue a new installation without upgrading.", TEXT_STYLE_NORMAL }, { 8, 21, - "\x07 â¨á¥â¥ ENTER § ¯à¥§ ¯ã᪠ª®¬¯îâêà .", - TEXT_STYLE_NORMAL - }, - { - 0, - 0, - " ESC = « ¢ áâà ¨æ ENTER = १ ¯ãáª", - TEXT_TYPE_STATUS + "\x07 Press F3 to quit without installing ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "U = Upgrade ESC = Do not upgrade F3 = Quit", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { 0, @@ -1623,7 +1629,7 @@ bgBGLanguagePageEntries }, { - START_PAGE, + WELCOME_PAGE, bgBGWelcomePageEntries }, { @@ -1639,8 +1645,8 @@ bgBGDevicePageEntries }, { - REPAIR_INTRO_PAGE, - bgBGRepairPageEntries + UPGRADE_REPAIR_PAGE, + bgBGUpgradePageEntries }, { COMPUTER_SETTINGS_PAGE, Modified: branches/setup_improvements/base/setup/usetup/lang/bn-BD.h URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/lang/bn-BD.h [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/lang/bn-BD.h [iso-8859-1] Mon May 15 01:48:19 2017 @@ -87,7 +87,7 @@ { 8, 17, - "\x07 Press R to repair or update ReactOS.", + "\x07 Press R to repair a ReactOS installation using the Recovery Console.", TEXT_STYLE_NORMAL }, { @@ -409,60 +409,66 @@ } }; -static MUI_ENTRY bnBDRepairPageEntries[] = -{ - { - 4, - 3, - " ReactOS " KERNEL_VERSION_STR " Setup ", - TEXT_STYLE_UNDERLINE - }, - { - 6, - 8, - "ReactOS Setup is in an early development phase. It does not yet", +static MUI_ENTRY bnBDUpgradePageEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The ReactOS Setup can upgrade one of the available ReactOS installations", TEXT_STYLE_NORMAL }, { 6, 9, - "support all the functions of a fully usable setup application.", + "listed below, or, if a ReactOS installation is damaged, the Setup program", + TEXT_STYLE_NORMAL + }, + { + 6, + 10, + "can attempt to repair it.", TEXT_STYLE_NORMAL }, { 6, 12, - "The repair functions are not implemented yet.", - TEXT_STYLE_NORMAL + "The repair functions are not all implemented yet.", + TEXT_STYLE_HIGHLIGHT }, { 8, 15, - "\x07 Press U for Updating OS.", + "\x07 Press UP or DOWN to select an OS installation.", TEXT_STYLE_NORMAL }, { 8, 17, - "\x07 Press R for the Recovery Console.", + "\x07 Press U for upgrading the selected OS installation.", TEXT_STYLE_NORMAL }, { 8, 19, - "\x07 Press ESC to return to the main page.", + "\x07 Press ESC to continue a new installation without upgrading.", TEXT_STYLE_NORMAL }, { 8, 21, - "\x07 Press ENTER to reboot your computer.", - TEXT_STYLE_NORMAL - }, - { - 0, - 0, - "ESC = Main page U = Update R = Recovery ENTER = Reboot", + "\x07 Press F3 to quit without installing ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "U = Upgrade ESC = Do not upgrade F3 = Quit", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -1610,7 +1616,7 @@ bnBDLanguagePageEntries }, { - START_PAGE, + WELCOME_PAGE, bnBDWelcomePageEntries }, { @@ -1626,8 +1632,8 @@ bnBDDevicePageEntries }, { - REPAIR_INTRO_PAGE, - bnBDRepairPageEntries + UPGRADE_REPAIR_PAGE, + bnBDUpgradePageEntries }, { COMPUTER_SETTINGS_PAGE, Modified: branches/setup_improvements/base/setup/usetup/lang/cs-CZ.h URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/lang/cs-CZ.h [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/lang/cs-CZ.h [iso-8859-1] Mon May 15 01:48:19 2017 @@ -95,7 +95,7 @@ { 8, 17, - "\x07 Stisknut¡m R zah j¡te opravu nebo aktualizaci ReactOS.", + "\x07 Press R to repair a ReactOS installation using the Recovery Console.", TEXT_STYLE_NORMAL }, { @@ -417,60 +417,66 @@ } }; -static MUI_ENTRY csCZRepairPageEntries[] = -{ - { - 4, - 3, - " Instalace ReactOS " KERNEL_VERSION_STR " ", - TEXT_STYLE_UNDERLINE - }, - { - 6, - 8, - "Instalace ReactOS je v ran vìvojov f zi. Zat¡m nejsou", +static MUI_ENTRY csCZUpgradePageEntries[] = +{ + { + 4, + 3, + " Instalace ReactOS " KERNEL_VERSION_STR " ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The ReactOS Setup can upgrade one of the available ReactOS installations", TEXT_STYLE_NORMAL }, { 6, 9, - "podporov ny vçechny funkce plnØ pou§iteln instalan¡ aplikace.", + "listed below, or, if a ReactOS installation is damaged, the Setup program", + TEXT_STYLE_NORMAL + }, + { + 6, + 10, + "can attempt to repair it.", TEXT_STYLE_NORMAL }, { 6, 12, - "Opravn funkce zat¡m nejsou implementov ny.", - TEXT_STYLE_NORMAL + "The repair functions are not all implemented yet.", + TEXT_STYLE_HIGHLIGHT }, { 8, 15, - "\x07 Stisknut¡m U zah j¡te Update systmu.", + "\x07 Press UP or DOWN to select an OS installation.", TEXT_STYLE_NORMAL }, { 8, 17, - "\x07 Stisknut¡m R spust¡te Konzoli obnoven¡.", + "\x07 Press U for upgrading the selected OS installation.", TEXT_STYLE_NORMAL }, { 8, 19, - "\x07 Stisknut¡m ESC se vr t¡te na hlavn¡ str nku.", + "\x07 Press ESC to continue a new installation without upgrading.", TEXT_STYLE_NORMAL }, { 8, 21, - "\x07 Stisknut¡m kl vesy ENTER restartujete po¡ta.", - TEXT_STYLE_NORMAL - }, - { - 0, - 0, - "ESC = Hlavn¡ str nka U = Aktualizovat R = Z chrana ENTER = Restartovat", + "\x07 Press F3 to quit without installing ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "U = Upgrade ESC = Do not upgrade F3 = Quit", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -1618,7 +1624,7 @@ csCZLanguagePageEntries }, { - START_PAGE, + WELCOME_PAGE, csCZWelcomePageEntries }, { @@ -1634,8 +1640,8 @@ csCZDevicePageEntries }, { - REPAIR_INTRO_PAGE, - csCZRepairPageEntries + UPGRADE_REPAIR_PAGE, + csCZUpgradePageEntries }, { COMPUTER_SETTINGS_PAGE, Modified: branches/setup_improvements/base/setup/usetup/lang/da-DK.h URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/lang/da-DK.h [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/lang/da-DK.h [iso-8859-1] Mon May 15 01:48:19 2017 @@ -87,7 +87,7 @@ { 8, 17, - "\x07 Tryk p R reparere eller opdatere ReactOS.", + "\x07 Press R to repair a ReactOS installation using the Recovery Console.", TEXT_STYLE_NORMAL }, { @@ -148,7 +148,7 @@ "understtter den ikke alle funtionerne i et fult brugbart", TEXT_STYLE_NORMAL }, - { + { 6, 10, "installationsprogram.", @@ -415,75 +415,76 @@ } }; -static MUI_ENTRY daDKRepairPageEntries[] = -{ - { - 4, - 3, - " ReactOS " KERNEL_VERSION_STR " installationen ", - TEXT_STYLE_UNDERLINE - }, - { - 6, - 8, - "ReactOS installationen er i en tilelig udviklingsfase. Derfor", +static MUI_ENTRY daDKUpgradePageEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " installationen ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The ReactOS Setup can upgrade one of the available ReactOS installations", TEXT_STYLE_NORMAL }, { 6, 9, - "understtter den ikke alle funtionerne i et fult brugbart", - TEXT_STYLE_NORMAL - }, - { - 6, - 10, - "installationsprogram.", + "listed below, or, if a ReactOS installation is damaged, the Setup program", + TEXT_STYLE_NORMAL + }, + { + 6, + 10, + "can attempt to repair it.", TEXT_STYLE_NORMAL }, { 6, 12, - "Funktionerne til reperation er endnu ikke blevet implementeret.", - TEXT_STYLE_NORMAL + "The repair functions are not all implemented yet.", + TEXT_STYLE_HIGHLIGHT }, { 8, 15, - "\x07 Tryk p U for opdatere OS'et.", + "\x07 Press UP or DOWN to select an OS installation.", TEXT_STYLE_NORMAL }, { 8, 17, - "\x07 Tryk p R for at starte gendannelskonsollen.", + "\x07 Press U for upgrading the selected OS installation.", TEXT_STYLE_NORMAL }, { 8, 19, - "\x07 Tryk p ESC for at vende tilbage til hovedskrmen.", + "\x07 Press ESC to continue a new installation without upgrading.", TEXT_STYLE_NORMAL }, { 8, 21, - "\x07 Tryk p ENTER for at genstart din computer.", - TEXT_STYLE_NORMAL - }, - { - 0, - 0, - "ESC = Hovedskrm U = Opdater R = Gendan ENTER = Genstart", - TEXT_TYPE_STATUS | TEXT_PADDING_BIG - }, - { - 0, - 0, - NULL, - 0 - } -}; + "\x07 Press F3 to quit without installing ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "U = Upgrade ESC = Do not upgrade F3 = Quit", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + static MUI_ENTRY daDKComputerPageEntries[] = { { @@ -930,7 +931,6 @@ 0 } }; - static MUI_ENTRY daDKFormatPartitionEntries[] = { @@ -1630,7 +1630,7 @@ daDKLanguagePageEntries }, { - START_PAGE, + WELCOME_PAGE, daDKWelcomePageEntries }, { @@ -1646,8 +1646,8 @@ daDKDevicePageEntries }, { - REPAIR_INTRO_PAGE, - daDKRepairPageEntries + UPGRADE_REPAIR_PAGE, + daDKUpgradePageEntries }, { COMPUTER_SETTINGS_PAGE, Modified: branches/setup_improvements/base/setup/usetup/lang/de-DE.h URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/lang/de-DE.h [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/lang/de-DE.h [iso-8859-1] Mon May 15 01:48:19 2017 @@ -88,7 +88,7 @@ { 8, 17, - "\x07 Drcken Sie R, um ReactOS zu reparieren oder aktualisieren.", + "\x07 Press R to repair a ReactOS installation using the Recovery Console.", TEXT_STYLE_NORMAL }, { @@ -410,66 +410,66 @@ } }; -static MUI_ENTRY deDERepairPageEntries[] = -{ - { - 4, - 3, - " ReactOS " KERNEL_VERSION_STR " Setup ", - TEXT_STYLE_UNDERLINE - }, - { - 6, - 8, - "Der Installationsassistent ist noch der Entwicklungsphase.", +static MUI_ENTRY deDEUpgradePageEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The ReactOS Setup can upgrade one of the available ReactOS installations", TEXT_STYLE_NORMAL }, { 6, 9, - "Er untersttzt noch nicht alle Funktionen eines vollstndig", + "listed below, or, if a ReactOS installation is damaged, the Setup program", + TEXT_STYLE_NORMAL + }, + { + 6, + 10, + "can attempt to repair it.", TEXT_STYLE_NORMAL }, { 6, 12, - "nutzbaren Setups.", - TEXT_STYLE_NORMAL - }, - { - 6, - 14, - "Die Reparaturfunktionen sind noch nicht implementiert.", - TEXT_STYLE_NORMAL - }, - { - 8, - 16, - "\x07 Drcken Sie U, um ReactOS zu aktualisieren.", + "The repair functions are not all implemented yet.", + TEXT_STYLE_HIGHLIGHT + }, + { + 8, + 15, + "\x07 Press UP or DOWN to select an OS installation.", + TEXT_STYLE_NORMAL + }, + { + 8, + 17, + "\x07 Press U for upgrading the selected OS installation.", TEXT_STYLE_NORMAL }, { 8, 19, - "\x07 Drcken Sie R, fr die Wiederherstellungskonsole.", - TEXT_STYLE_NORMAL - }, - { - 8, - 20, - "\x07 Drcken Sie ESC, um zur Hauptseite zurckzukehren.", - TEXT_STYLE_NORMAL - }, - { - 8, - 22, - "\x07 Drcken Sie die EINGABETASTE, um den Computer neu zu starten.", - TEXT_STYLE_NORMAL - }, - { - 0, - 0, - "ESC = Zurck U = Aktualisieren R = Wiederherst. EINGABETASTE = Neustart", + "\x07 Press ESC to continue a new installation without upgrading.", + TEXT_STYLE_NORMAL + }, + { + 8, + 21, + "\x07 Press F3 to quit without installing ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "U = Upgrade ESC = Do not upgrade F3 = Quit", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -1614,7 +1614,7 @@ deDELanguagePageEntries }, { - START_PAGE, + WELCOME_PAGE, deDEWelcomePageEntries }, { @@ -1630,8 +1630,8 @@ deDEDevicePageEntries }, { - REPAIR_INTRO_PAGE, - deDERepairPageEntries + UPGRADE_REPAIR_PAGE, + deDEUpgradePageEntries }, { COMPUTER_SETTINGS_PAGE, Modified: branches/setup_improvements/base/setup/usetup/lang/el-GR.h URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/lang/el-GR.h [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/lang/el-GR.h [iso-8859-1] Mon May 15 01:48:19 2017 @@ -88,7 +88,7 @@ { 7, 17, - "\x07 «ã©« R ¤ § ¦¨é©« «¦ ReactOS.", + "\x07 Press R to repair a ReactOS installation using the Recovery Console.", TEXT_STYLE_NORMAL }, { @@ -410,61 +410,67 @@ } }; -static MUI_ENTRY elGRRepairPageEntries[] = -{ - { - 4, - 3, - " ¡«á©«© «¦¬ ReactOS " KERNEL_VERSION_STR, - TEXT_STYLE_UNDERLINE - }, - { - 6, - 8, - " ¡«á©«© «¦¬ ReactOS ¨å©¡« © §¨é £¦ ©«á ¦ ¤á§«¬¥ª ¡ ", +static MUI_ENTRY elGRUpgradePageEntries[] = +{ + { + 4, + 3, + " ¡«á©«© «¦¬ ReactOS " KERNEL_VERSION_STR, + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The ReactOS Setup can upgrade one of the available ReactOS installations", TEXT_STYLE_NORMAL }, { 6, 9, - "¤ ¬§¦©«¨å ¡æ£ 梪 « ª ¬¤«æ««ª £ ª §¢ã¨¦¬ª ¡«á©«©ª.", + "listed below, or, if a ReactOS installation is damaged, the Setup program", + TEXT_STYLE_NORMAL + }, + { + 6, + 10, + "can attempt to repair it.", TEXT_STYLE_NORMAL }, { 6, 12, - " ¢ «¦¬¨åª § æ¨à©ª ¤ ⮦¬¤ ¬¢¦§¦ å ¡æ£.", - TEXT_STYLE_NORMAL + "The repair functions are not all implemented yet.", + TEXT_STYLE_HIGHLIGHT }, { 8, 15, - "\x07 «ã©« U ¤¤âà© «¦¬ ¢ «¨¦¬¨ ¡¦ç.", + "\x07 Press UP or DOWN to select an OS installation.", TEXT_STYLE_NORMAL }, { 8, 17, - "\x07 «ã©« R ¤ ¡«¢â©« «¤ ¡¦¤©æ¢ § æ¨à©ª.", + "\x07 Press U for upgrading the selected OS installation.", TEXT_STYLE_NORMAL }, { 8, 19, - "\x07 «ã©« ESC ¤ § ©«¨â¯« ©«¤ ¡ç¨ ©¢å.", + "\x07 Press ESC to continue a new installation without upgrading.", TEXT_STYLE_NORMAL }, { 8, 21, - "\x07 «ã©« ENTER ¤ §¤¡¡ ¤ã©« «¦¤ ¬§¦¢¦ ©«ã.", - TEXT_STYLE_NORMAL - }, - { - 0, - 0, - " ESC = ç¨ ©¢å ENTER = §¤¡¡å¤©", - TEXT_TYPE_STATUS + "\x07 Press F3 to quit without installing ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "U = Upgrade ESC = Do not upgrade F3 = Quit", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { 0, @@ -1627,7 +1633,7 @@ elGRLanguagePageEntries }, { - START_PAGE, + WELCOME_PAGE, elGRWelcomePageEntries }, { @@ -1643,8 +1649,8 @@ elGRDevicePageEntries }, { - REPAIR_INTRO_PAGE, - elGRRepairPageEntries + UPGRADE_REPAIR_PAGE, + elGRUpgradePageEntries }, { COMPUTER_SETTINGS_PAGE, Modified: branches/setup_improvements/base/setup/usetup/lang/en-US.h URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/lang/en-US.h [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/lang/en-US.h [iso-8859-1] Mon May 15 01:48:19 2017 @@ -81,13 +81,13 @@ { 8, 15, - "\x07 Press ENTER to install ReactOS.", + "\x07 Press ENTER to install or upgrade ReactOS.", TEXT_STYLE_NORMAL }, { 8, 17, - "\x07 Press R to repair or update ReactOS.", + "\x07 Press R to repair a ReactOS installation using the Recovery Console.", TEXT_STYLE_NORMAL }, { @@ -409,69 +409,76 @@ } }; -static MUI_ENTRY enUSRepairPageEntries[] = -{ - { - 4, - 3, - " ReactOS " KERNEL_VERSION_STR " Setup ", - TEXT_STYLE_UNDERLINE - }, - { - 6, - 8, - "ReactOS Setup is in an early development phase. It does not yet", +static MUI_ENTRY enUSUpgradePageEntries[] = // enUSRepairPageEntries +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The ReactOS Setup can upgrade one of the available ReactOS installations", TEXT_STYLE_NORMAL }, { 6, 9, - "support all the functions of a fully usable setup application.", + "listed below, or, if a ReactOS installation is damaged, the Setup program", + TEXT_STYLE_NORMAL + }, + { + 6, + 10, + "can attempt to repair it.", TEXT_STYLE_NORMAL }, { 6, 12, - "The repair functions are not implemented yet.", - TEXT_STYLE_NORMAL + "The repair functions are not all implemented yet.", + TEXT_STYLE_HIGHLIGHT }, { 8, 15, - "\x07 Press U for Updating OS.", + "\x07 Press UP or DOWN to select an OS installation.", TEXT_STYLE_NORMAL }, { 8, 17, - "\x07 Press R for the Recovery Console.", + "\x07 Press U for upgrading the selected OS installation.", TEXT_STYLE_NORMAL }, { 8, 19, - "\x07 Press ESC to return to the main page.", + "\x07 Press ESC to continue a new installation without upgrading.", TEXT_STYLE_NORMAL }, { 8, 21, - "\x07 Press ENTER to reboot your computer.", - TEXT_STYLE_NORMAL - }, - { - 0, - 0, - "ESC = Main page U = Update R = Recovery ENTER = Reboot", - TEXT_TYPE_STATUS | TEXT_PADDING_BIG - }, - { - 0, - 0, - NULL, - 0 - } -}; + "\x07 Press F3 to quit without installing ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "U = Upgrade ESC = Do not upgrade F3 = Quit", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + static MUI_ENTRY enUSComputerPageEntries[] = { { @@ -917,7 +924,6 @@ 0 } }; - static MUI_ENTRY enUSFormatPartitionEntries[] = { @@ -1610,7 +1616,7 @@ enUSLanguagePageEntries }, { - START_PAGE, + WELCOME_PAGE, enUSWelcomePageEntries }, { @@ -1626,8 +1632,8 @@ enUSDevicePageEntries }, { - REPAIR_INTRO_PAGE, - enUSRepairPageEntries + UPGRADE_REPAIR_PAGE, + enUSUpgradePageEntries }, { COMPUTER_SETTINGS_PAGE, Modified: branches/setup_improvements/base/setup/usetup/lang/es-ES.h URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/lang/es-ES.h [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/lang/es-ES.h [iso-8859-1] Mon May 15 01:48:19 2017 @@ -90,7 +90,7 @@ { 8, 17, - "\x07 Presione R para reparar ReactOS.", + "\x07 Press R to repair a ReactOS installation using the Recovery Console.", TEXT_STYLE_NORMAL }, { @@ -418,60 +418,66 @@ } }; -static MUI_ENTRY esESRepairPageEntries[] = -{ - { - 4, - 3, - " Instalaci¢n de ReactOS " KERNEL_VERSION_STR " ", - TEXT_STYLE_UNDERLINE - }, - { - 6, - 8, - "El instalador de ReactOS se encuentra en una etapa preliminar.", +static MUI_ENTRY esESUpgradePageEntries[] = +{ + { + 4, + 3, + " Instalaci¢n de ReactOS " KERNEL_VERSION_STR " ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The ReactOS Setup can upgrade one of the available ReactOS installations", TEXT_STYLE_NORMAL }, { 6, 9, - "A£n no posee todas las funciones de un instalador.", + "listed below, or, if a ReactOS installation is damaged, the Setup program", + TEXT_STYLE_NORMAL + }, + { + 6, + 10, + "can attempt to repair it.", TEXT_STYLE_NORMAL }, { 6, 12, - "Las funciones de reparaci¢n no han sido a£n implementadas.", - TEXT_STYLE_NORMAL + "The repair functions are not all implemented yet.", + TEXT_STYLE_HIGHLIGHT }, { 8, 15, - "\x07 Presione U para actualizar el sistema operativo.", + "\x07 Press UP or DOWN to select an OS installation.", TEXT_STYLE_NORMAL }, { 8, 17, - "\x07 Presione R para la consola de recuperaci¢n.", + "\x07 Press U for upgrading the selected OS installation.", TEXT_STYLE_NORMAL }, { 8, 19, - "\x07 Presione ESC para volver al men£ principal.", + "\x07 Press ESC to continue a new installation without upgrading.", TEXT_STYLE_NORMAL }, { 8, 21, - "\x07 Presione INTRO para reiniciar su equipo.", - TEXT_STYLE_NORMAL - }, - { - 0, - 0, - "ESC = Men£ inicial U = Actualizar R = Recuperar INTRO = Reiniciar", + "\x07 Press F3 to quit without installing ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "U = Upgrade ESC = Do not upgrade F3 = Quit", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -1620,7 +1626,7 @@ esESLanguagePageEntries }, { - START_PAGE, + WELCOME_PAGE, esESWelcomePageEntries }, { @@ -1636,8 +1642,8 @@ esESDevicePageEntries }, { - REPAIR_INTRO_PAGE, - esESRepairPageEntries + UPGRADE_REPAIR_PAGE, + esESUpgradePageEntries }, { COMPUTER_SETTINGS_PAGE, Modified: branches/setup_improvements/base/setup/usetup/lang/et-EE.h URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/lang/et-EE.h [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/lang/et-EE.h [iso-8859-1] Mon May 15 01:48:19 2017 @@ -87,7 +87,7 @@ { 8, 17, - "\x07 Vajuta R, et ReactOSi parandada.", + "\x07 Press R to repair a ReactOS installation using the Recovery Console.", TEXT_STYLE_NORMAL }, { @@ -409,60 +409,66 @@ } }; -static MUI_ENTRY etEERepairPageEntries[] = -{ - { - 4, - 3, - " ReactOS " KERNEL_VERSION_STR " paigaldamine ", - TEXT_STYLE_UNDERLINE - }, - { - 6, - 8, - "ReactOSi paigaldusprogramm on varajases arendusfaasis. Praegu ei ole", +static MUI_ENTRY etEEUpgradePageEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " paigaldamine ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The ReactOS Setup can upgrade one of the available ReactOS installations", TEXT_STYLE_NORMAL }, { 6, 9, - "veel käik korraliku paigaldusprogrammi funktsioonid toetatud.", + "listed below, or, if a ReactOS installation is damaged, the Setup program", + TEXT_STYLE_NORMAL + }, + { + 6, + 10, + "can attempt to repair it.", TEXT_STYLE_NORMAL }, { 6, 12, - "Parandamine ei ole veel toetatud.", - TEXT_STYLE_NORMAL + "The repair functions are not all implemented yet.", + TEXT_STYLE_HIGHLIGHT }, { 8, 15, - "\x07 Vajuta U, et ssteemi uuendada.", + "\x07 Press UP or DOWN to select an OS installation.", TEXT_STYLE_NORMAL }, { 8, 17, - "\x07 Vajuta R, et kasutada taastuskonsooli.", + "\x07 Press U for upgrading the selected OS installation.", TEXT_STYLE_NORMAL }, { 8, 19, - "\x07 Vajuta ESC, et minna tagasi pealehele.", + "\x07 Press ESC to continue a new installation without upgrading.", TEXT_STYLE_NORMAL }, { 8, 21, - "\x07 Vajuta ENTER, et arvuti taaskivitada.", - TEXT_STYLE_NORMAL - }, - { - 0, - 0, - "ESC = Pealeht U = Uuenda R = Taastamine ENTER = Taaskivitus", + "\x07 Press F3 to quit without installing ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "U = Upgrade ESC = Do not upgrade F3 = Quit", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -1608,7 +1614,7 @@ etEELanguagePageEntries }, { - START_PAGE, + WELCOME_PAGE, etEEWelcomePageEntries }, { @@ -1624,8 +1630,8 @@ etEEDevicePageEntries }, { - REPAIR_INTRO_PAGE, - etEERepairPageEntries + UPGRADE_REPAIR_PAGE, + etEEUpgradePageEntries }, { COMPUTER_SETTINGS_PAGE, Modified: branches/setup_improvements/base/setup/usetup/lang/fr-FR.h URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/lang/fr-FR.h [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/lang/fr-FR.h [iso-8859-1] Mon May 15 01:48:19 2017 @@ -88,7 +88,7 @@ { 8, 17, - "\x07 Appuyer sur R pour rparer ReactOS.", + "\x07 Press R to repair a ReactOS installation using the Recovery Console.", TEXT_STYLE_NORMAL }, { @@ -416,66 +416,66 @@ } }; -static MUI_ENTRY frFRRepairPageEntries[] = -{ - { - 4, - 3, - " Installation de ReactOS " KERNEL_VERSION_STR " ", - TEXT_STYLE_UNDERLINE - }, - { - 6, - 8, - "L'installation de ReactOS est en phase de dveloppement.", +static MUI_ENTRY frFRUpgradePageEntries[] = +{ + { + 4, + 3, + " Installation de ReactOS " KERNEL_VERSION_STR " ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The ReactOS Setup can upgrade one of the available ReactOS installations", TEXT_STYLE_NORMAL }, { 6, 9, - "Elle ne supporte pas encore toutes les fonctions d'une application", - TEXT_STYLE_NORMAL - }, - { - 6, - 10, - "d'installation entirement utilisable.", + "listed below, or, if a ReactOS installation is damaged, the Setup program", + TEXT_STYLE_NORMAL + }, + { + 6, + 10, + "can attempt to repair it.", TEXT_STYLE_NORMAL }, { 6, 12, - "Les fonctions de rparation ne sont pas implmentes pour l'instant.", - TEXT_STYLE_NORMAL + "The repair functions are not all implemented yet.", + TEXT_STYLE_HIGHLIGHT }, { 8, 15, - "\x07 Appuyer sur U pour mettre jour l'OS.", + "\x07 Press UP or DOWN to select an OS installation.", TEXT_STYLE_NORMAL }, { 8, 17, - "\x07 Appuyer sur R pour la Console de Rparation.", + "\x07 Press U for upgrading the selected OS installation.", TEXT_STYLE_NORMAL }, { 8, 19, - "\x07 Appuyer sur CHAP pour retourner la page principale.", + "\x07 Press ESC to continue a new installation without upgrading.", TEXT_STYLE_NORMAL }, { 8, 21, - "\x07 Appuyer sur ENTRE pour redmarrer votre ordinateur.", - TEXT_STYLE_NORMAL - }, - { - 0, - 0, - "CHAP = Page principale ENTRE = Redmarrer", + "\x07 Press F3 to quit without installing ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "U = Upgrade ESC = Do not upgrade F3 = Quit", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -1635,7 +1635,7 @@ frFRLanguagePageEntries }, { - START_PAGE, + WELCOME_PAGE, frFRWelcomePageEntries }, { @@ -1651,8 +1651,8 @@ frFRDevicePageEntries }, { - REPAIR_INTRO_PAGE, - frFRRepairPageEntries + UPGRADE_REPAIR_PAGE, + frFRUpgradePageEntries }, { COMPUTER_SETTINGS_PAGE, Modified: branches/setup_improvements/base/setup/usetup/lang/he-IL.h URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/lang/he-IL.h [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/lang/he-IL.h [iso-8859-1] Mon May 15 01:48:19 2017 @@ -88,7 +88,7 @@ { 8, 17, - "\x07 .ReactOS R ", + "\x07 Press R to repair a ReactOS installation using the Recovery Console.", TEXT_STYLE_NORMAL }, { @@ -410,7 +410,7 @@ } }; -static MUI_ENTRY heILRepairPageEntries[] = +static MUI_ENTRY heILUpgradePageEntries[] = { { 4, @@ -421,49 +421,55 @@ { 6, 8, - "ReactOS Setup is in an early development phase. It does not yet", + "The ReactOS Setup can upgrade one of the available ReactOS installations", TEXT_STYLE_NORMAL }, { 6, 9, - "support all the functions of a fully usable setup application.", + "listed below, or, if a ReactOS installation is damaged, the Setup program", + TEXT_STYLE_NORMAL + }, + { + 6, + 10, + "can attempt to repair it.", TEXT_STYLE_NORMAL }, { 6, 12, - "The repair functions are not implemented yet.", - TEXT_STYLE_NORMAL + "The repair functions are not all implemented yet.", + TEXT_STYLE_HIGHLIGHT }, { 8, 15, - "\x07 Press U for Updating OS.", + "\x07 Press UP or DOWN to select an OS installation.", TEXT_STYLE_NORMAL }, { 8, 17, - "\x07 Press R for the Recovery Console.", + "\x07 Press U for upgrading the selected OS installation.", TEXT_STYLE_NORMAL }, { 8, 19, - "\x07 Press ESC to return to the main page.", + "\x07 Press ESC to continue a new installation without upgrading.", TEXT_STYLE_NORMAL }, { 8, 21, - "\x07 Press ENTER to reboot your computer.", - TEXT_STYLE_NORMAL - }, - { - 0, - 0, - "ESC = U = R = ENTER = ", + "\x07 Press F3 to quit without installing ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "U = Upgrade ESC = Do not upgrade F3 = Quit", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -1611,7 +1617,7 @@ heILLanguagePageEntries }, { - START_PAGE, + WELCOME_PAGE, heILWelcomePageEntries }, { @@ -1627,8 +1633,8 @@ heILDevicePageEntries }, { - REPAIR_INTRO_PAGE, - heILRepairPageEntries + UPGRADE_REPAIR_PAGE, + heILUpgradePageEntries }, { COMPUTER_SETTINGS_PAGE, Modified: branches/setup_improvements/base/setup/usetup/lang/it-IT.h URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/lang/it-IT.h [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/lang/it-IT.h [iso-8859-1] Mon May 15 01:48:19 2017 @@ -88,7 +88,7 @@ { 8, 17, - "\x07 Premere R per riparare ReactOS.", + "\x07 Press R to repair a ReactOS installation using the Recovery Console.", TEXT_STYLE_NORMAL }, { @@ -416,61 +416,67 @@ } }; -static MUI_ENTRY itITRepairPageEntries[] = -{ - { - 4, - 3, - " Installazione di ReactOS " KERNEL_VERSION_STR " ", - TEXT_STYLE_UNDERLINE - }, - { - 6, - 8, - "Il setup di ReactOS ancora in una fase preliminare.", - TEXT_STYLE_NORMAL - }, - { - 6, +static MUI_ENTRY itITUpgradePageEntries[] = +{ + { + 4, + 3, + " Installazione di ReactOS " KERNEL_VERSION_STR " ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The ReactOS Setup can upgrade one of the available ReactOS installations", + TEXT_STYLE_NORMAL + }, + { + 6, 9, - "Non ha ancora tutte le funzioni di installazione.", - TEXT_STYLE_NORMAL - }, - { - 6, + "listed below, or, if a ReactOS installation is damaged, the Setup program", + TEXT_STYLE_NORMAL + }, + { + 6, + 10, + "can attempt to repair it.", + TEXT_STYLE_NORMAL + }, + { + 6, 12, - "Le funzioni di ripristino non sono state ancora implementate.", - TEXT_STYLE_NORMAL - }, - { - 8, + "The repair functions are not all implemented yet.", + TEXT_STYLE_HIGHLIGHT + }, + { + 8, 15, - "\x07 Premere U per aggiornare il SO.", - TEXT_STYLE_NORMAL - }, - { - 8, + "\x07 Press UP or DOWN to select an OS installation.", + TEXT_STYLE_NORMAL + }, + { + 8, 17, - "\x07 Premere R per la console di ripristino.", - TEXT_STYLE_NORMAL - }, - { - 8, + "\x07 Press U for upgrading the selected OS installation.", + TEXT_STYLE_NORMAL + }, + { + 8, 19, - "\x07 Premere ESC tornare al men principale.", - TEXT_STYLE_NORMAL - }, - { - 8, + "\x07 Press ESC to continue a new installation without upgrading.", + TEXT_STYLE_NORMAL + }, + { + 8, 21, - "\x07 Premere INVIO per riavviare il computer.", - TEXT_STYLE_NORMAL - }, - { - 0, - 0, - "ESC = Men iniziale INVIO = Riavvio", - TEXT_TYPE_STATUS + "\x07 Press F3 to quit without installing ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "U = Upgrade ESC = Do not upgrade F3 = Quit", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { 0, @@ -1617,7 +1623,7 @@ itITLanguagePageEntries }, { - START_PAGE, + WELCOME_PAGE, itITWelcomePageEntries }, { @@ -1633,8 +1639,8 @@ itITDevicePageEntries }, { - REPAIR_INTRO_PAGE, - itITRepairPageEntries + UPGRADE_REPAIR_PAGE, + itITUpgradePageEntries }, { COMPUTER_SETTINGS_PAGE, Modified: branches/setup_improvements/base/setup/usetup/lang/ja-JP.h URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/lang/ja-JP.h [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/lang/ja-JP.h [iso-8859-1] Mon May 15 01:48:19 2017 @@ -88,7 +88,7 @@ { 8, 17, - "\x07 ReactOS ¦ ¼³Ì¸ Ó¼¸Ê º³¼Ý ½ÙÆÊ R ·°¦ µ¼Ã ¸ÀÞ»²¡", + "\x07 Press R to repair a ReactOS installation using the Recovery Console.", TEXT_STYLE_NORMAL }, { @@ -410,60 +410,66 @@ } }; -static MUI_ENTRY jaJPRepairPageEntries[] = -{ - { - 4, - 3, - " ReactOS " KERNEL_VERSION_STR " ¾¯Ä±¯Ìß ", - TEXT_STYLE_UNDERLINE - }, - { - 6, - 8, - "ReactOS ¾¯Ä±¯ÌßÊ ¼®·¶²Ê ÀÞݶ²Æ ±ØϽ¡ ¿ÉÀÒ¤ ÏÀÞ", +static MUI_ENTRY jaJPUpgradePageEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " ¾¯Ä±¯Ìß ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The ReactOS Setup can upgrade one of the available ReactOS installations", TEXT_STYLE_NORMAL }, { 6, 9, - "¼Þ³ÌÞÝÆ ØÖ³ ÃÞ·Ù ¾¯Ä±¯Ìß ±Ìßع°¼®ÝÉ ½ÍÞÃÉ ·É³Ê »Îß°Ä »ÚϾݡ", + "listed below, or, if a ReactOS installation is damaged, the Setup program", + TEXT_STYLE_NORMAL + }, + { + 6, + 10, + "can attempt to repair it.", TEXT_STYLE_NORMAL }, { 6, 12, - "¼³Ì¸·É³Ê ÏÀÞ ¼Þ¯¿³ »Úà ²Ï¾Ý¡", - TEXT_STYLE_NORMAL + "The repair functions are not all implemented yet.", + TEXT_STYLE_HIGHLIGHT }, { 8, 15, - "\x07 OS ¦ º³¼Ý ½ÙÆÊ U ·°¦ µ¼Ã ¸ÀÞ»²¡", + "\x07 Press UP or DOWN to select an OS installation.", TEXT_STYLE_NORMAL }, { 8, 17, - "\x07 ¶²Ì¸ ºÝ¿°Ù¦ Ë׸ÆÊ R ·°¦ µ¼Ã ¸ÀÞ»²¡", + "\x07 Press U for upgrading the selected OS installation.", TEXT_STYLE_NORMAL }, { 8, 19, - "\x07 Ò²ÝÍß°¼ÞÆ ÓÄÞÙÆÊ ESC ·°¦ µ¼Ã ¸ÀÞ»²¡", + "\x07 Press ESC to continue a new installation without upgrading.", TEXT_STYLE_NORMAL }, { 8, 21, - "\x07 ºÝËß°À¦ »²·ÄÞ³ ½ÙÆÊ ENTER ·°¦ µ¼Ã ¸ÀÞ»²¡", - TEXT_STYLE_NORMAL - }, - { - 0, - 0, - "ESC = Ò²ÝÍß°¼Þ U = º³¼Ý R = ¶²Ì¸ ENTER = »²·ÄÞ³", + "\x07 Press F3 to quit without installing ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "U = Upgrade ESC = Do not upgrade F3 = Quit", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -1612,7 +1618,7 @@ jaJPLanguagePageEntries }, { - START_PAGE, + WELCOME_PAGE, jaJPWelcomePageEntries }, { @@ -1628,8 +1634,8 @@ jaJPDevicePageEntries }, { - REPAIR_INTRO_PAGE, - jaJPRepairPageEntries + UPGRADE_REPAIR_PAGE, + jaJPUpgradePageEntries }, { COMPUTER_SETTINGS_PAGE, Modified: branches/setup_improvements/base/setup/usetup/lang/lt-LT.h URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/lang/lt-LT.h [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/lang/lt-LT.h [iso-8859-1] Mon May 15 01:48:19 2017 @@ -97,7 +97,7 @@ { 8, 17, - "\x07 Spauskite R, jei norite taisyti ReactOS.", + "\x07 Press R to repair a ReactOS installation using the Recovery Console.", TEXT_STYLE_NORMAL }, { @@ -419,60 +419,66 @@ } }; -static MUI_ENTRY ltLTRepairPageEntries[] = -{ - { - 4, - 3, - " ReactOS " KERNEL_VERSION_STR " diegimo programa ", - TEXT_STYLE_UNDERLINE - }, - { - 6, - 8, - "ReactOS Setup is in an early development phase. It does not yet", +static MUI_ENTRY ltLTUpgradePageEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " diegimo programa ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The ReactOS Setup can upgrade one of the available ReactOS installations", TEXT_STYLE_NORMAL }, { 6, 9, - "support all the functions of a fully usable setup application.", + "listed below, or, if a ReactOS installation is damaged, the Setup program", + TEXT_STYLE_NORMAL + }, + { + 6, + 10, + "can attempt to repair it.", TEXT_STYLE_NORMAL }, { 6, 12, - "The repair functions are not implemented yet.", - TEXT_STYLE_NORMAL + "The repair functions are not all implemented yet.", + TEXT_STYLE_HIGHLIGHT }, { 8, 15, - "\x07 Press U for Updating OS.", + "\x07 Press UP or DOWN to select an OS installation.", TEXT_STYLE_NORMAL }, { 8, 17, - "\x07 Press R for the Recovery Console.", + "\x07 Press U for upgrading the selected OS installation.", TEXT_STYLE_NORMAL }, { 8, 19, - "\x07 Press ESC to return to the main page.", + "\x07 Press ESC to continue a new installation without upgrading.", TEXT_STYLE_NORMAL }, { 8, 21, - "\x07 Press ENTER to reboot your computer.", - TEXT_STYLE_NORMAL - }, - { - 0, - 0, - "ESC = Main page ENTER = Reboot", + "\x07 Press F3 to quit without installing ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "U = Upgrade ESC = Do not upgrade F3 = Quit", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -1620,7 +1626,7 @@ ltLTLanguagePageEntries }, { - START_PAGE, + WELCOME_PAGE, ltLTWelcomePageEntries }, { @@ -1636,8 +1642,8 @@ ltLTDevicePageEntries }, { - REPAIR_INTRO_PAGE, - ltLTRepairPageEntries + UPGRADE_REPAIR_PAGE, + ltLTUpgradePageEntries }, { COMPUTER_SETTINGS_PAGE, Modified: branches/setup_improvements/base/setup/usetup/lang/ms-MY.h URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/lang/ms-MY.h [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/lang/ms-MY.h [iso-8859-1] Mon May 15 01:48:19 2017 @@ -87,7 +87,7 @@ { 8, 17, - "\x07 Tekan R untuk memperbaiki atau mengemaskini ReactOS.", + "\x07 Press R to repair a ReactOS installation using the Recovery Console.", TEXT_STYLE_NORMAL }, { @@ -409,60 +409,66 @@ } }; -static MUI_ENTRY msMYRepairPageEntries[] = -{ - { - 4, - 3, - " ReactOS " KERNEL_VERSION_STR " Persediaan ", - TEXT_STYLE_UNDERLINE - }, - { - 6, - 8, - "ReactOS persediaan sedang untuk fasa pembangunan awal. Ia belum lagi", +static MUI_ENTRY msMYUpgradePageEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Persediaan ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The ReactOS Setup can upgrade one of the available ReactOS installations", TEXT_STYLE_NORMAL }, { 6, 9, - "menyokong semua fungsi aplikasi persediaan sepenuhnya digunakan.", + "listed below, or, if a ReactOS installation is damaged, the Setup program", + TEXT_STYLE_NORMAL + }, + { + 6, + 10, + "can attempt to repair it.", TEXT_STYLE_NORMAL }, { 6, 12, - "Fungsi pembaikan tidak dilaksanakan lagi.", - TEXT_STYLE_NORMAL + "The repair functions are not all implemented yet.", + TEXT_STYLE_HIGHLIGHT }, { 8, 15, - "\x07 Tekan U untuk mengemaskini ReactOS.", + "\x07 Press UP or DOWN to select an OS installation.", TEXT_STYLE_NORMAL }, { 8, 17, - "\x07 Tekan R bagi konsol pemulihan.", + "\x07 Press U for upgrading the selected OS installation.", TEXT_STYLE_NORMAL }, { 8, 19, - "\x07 Tekan ESC untuk kembali ke halaman utama.", + "\x07 Press ESC to continue a new installation without upgrading.", TEXT_STYLE_NORMAL }, { 8, 21, - "\x07 Tekan ENTER untuk memulakan semula sistem komputer anda.", - TEXT_STYLE_NORMAL - }, - { - 0, - 0, - "ESC = Halaman Utama U = Mengemaskini R = Pemulihan ENTER = But Semula", + "\x07 Press F3 to quit without installing ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "U = Upgrade ESC = Do not upgrade F3 = Quit", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -1503,7 +1509,7 @@ msMYLanguagePageEntries }, { - START_PAGE, + WELCOME_PAGE, msMYWelcomePageEntries }, { @@ -1519,8 +1525,8 @@ msMYDevicePageEntries }, { - REPAIR_INTRO_PAGE, - msMYRepairPageEntries + UPGRADE_REPAIR_PAGE, + msMYUpgradePageEntries }, { COMPUTER_SETTINGS_PAGE, Modified: branches/setup_improvements/base/setup/usetup/lang/nl-NL.h URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/lang/nl-NL.h [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/lang/nl-NL.h [iso-8859-1] Mon May 15 01:48:19 2017 @@ -97,7 +97,7 @@ { 8, 17, - "\x07 Druk op R om ReactOS te repareren of bij te werken.", + "\x07 Press R to repair a ReactOS installation using the Recovery Console.", TEXT_STYLE_NORMAL }, { @@ -431,66 +431,66 @@ } }; -static MUI_ENTRY nlNLRepairPageEntries[] = -{ - { - 4, - 3, - " ReactOS " KERNEL_VERSION_STR " Setup ", - TEXT_STYLE_UNDERLINE - }, - { - 6, - 8, - "ReactOS Setup is nog in een vroege ontwikkelingsfase", +static MUI_ENTRY nlNLUpgradePageEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The ReactOS Setup can upgrade one of the available ReactOS installations", TEXT_STYLE_NORMAL }, { 6, 9, - "Het ondersteunt nog niet alle functies van een volledig", - TEXT_STYLE_NORMAL - }, - { - 6, - 10, - "setup programma.", + "listed below, or, if a ReactOS installation is damaged, the Setup program", + TEXT_STYLE_NORMAL + }, + { + 6, + 10, + "can attempt to repair it.", TEXT_STYLE_NORMAL }, { 6, 12, - "De herstelfuncties zijn nog niet ge\x8Bmplementeerd.", - TEXT_STYLE_NORMAL + "The repair functions are not all implemented yet.", + TEXT_STYLE_HIGHLIGHT }, { 8, 15, - "\x07 Druk op U om ReactOS bij te werken.", + "\x07 Press UP or DOWN to select an OS installation.", TEXT_STYLE_NORMAL }, { 8, 17, - "\x07 Druk op R voor de Herstelconsole.", + "\x07 Press U for upgrading the selected OS installation.", TEXT_STYLE_NORMAL }, { 8, 19, - "\x07 Druk op ESC om terug naar het hoofdscherm te gaan.", + "\x07 Press ESC to continue a new installation without upgrading.", TEXT_STYLE_NORMAL }, { 8, 21, - "\x07 Druk op ENTER om de computer opnieuw op te starten.", - TEXT_STYLE_NORMAL - }, - { - 0, - 0, - "ESC = Hoofdscherm U = Bijwerken R = Herstelconsole ENTER = Reboot", + "\x07 Press F3 to quit without installing ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "U = Upgrade ESC = Do not upgrade F3 = Quit", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -1650,7 +1650,7 @@ nlNLLanguagePageEntries }, { - START_PAGE, + WELCOME_PAGE, nlNLWelcomePageEntries }, { @@ -1666,8 +1666,8 @@ nlNLDevicePageEntries }, { - REPAIR_INTRO_PAGE, - nlNLRepairPageEntries + UPGRADE_REPAIR_PAGE, + nlNLUpgradePageEntries }, { COMPUTER_SETTINGS_PAGE, Modified: branches/setup_improvements/base/setup/usetup/lang/pl-PL.h URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/lang/pl-PL.h [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/lang/pl-PL.h [iso-8859-1] Mon May 15 01:48:19 2017 @@ -98,7 +98,7 @@ { 8, 17, - "\x07 Nacinij R, aby naprawi zainstalowany system ReactOS.", + "\x07 Press R to repair a ReactOS installation using the Recovery Console.", TEXT_STYLE_NORMAL }, { @@ -420,60 +420,66 @@ } }; -static MUI_ENTRY plPLRepairPageEntries[] = -{ - { - 4, - 3, - " Instalator ReactOS " KERNEL_VERSION_STR " ", - TEXT_STYLE_UNDERLINE - }, - { - 6, - 8, - "Instalator ReactOS wci¥¾ jest we wczesnej fazie rozwoju. Nadal nie", +static MUI_ENTRY plPLUpgradePageEntries[] = +{ + { + 4, + 3, + " Instalator ReactOS " KERNEL_VERSION_STR " ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The ReactOS Setup can upgrade one of the available ReactOS installations", TEXT_STYLE_NORMAL }, { 6, 9, - "obsuguje wszystkich funkcji, niezb©dnych dla programu instalacyjnego.", + "listed below, or, if a ReactOS installation is damaged, the Setup program", + TEXT_STYLE_NORMAL + }, + { + 6, + 10, + "can attempt to repair it.", TEXT_STYLE_NORMAL }, { 6, 12, - "Naprawa istniej¥cej instalacji systemu nie jest jeszcze mo¾liwa.", - TEXT_STYLE_NORMAL + "The repair functions are not all implemented yet.", + TEXT_STYLE_HIGHLIGHT }, { 8, 15, - "\x07 Nacinij U ¾eby uaktualni system.", + "\x07 Press UP or DOWN to select an OS installation.", TEXT_STYLE_NORMAL }, { 8, 17, - "\x07 Nacinij R, by uruchomi Konsol© Odtwarzania.", + "\x07 Press U for upgrading the selected OS installation.", TEXT_STYLE_NORMAL }, { 8, 19, - "\x07 Nacinij ESC, by powr¢ci do g¢wnego menu.", + "\x07 Press ESC to continue a new installation without upgrading.", TEXT_STYLE_NORMAL }, { 8, 21, - "\x07 Nacinij ENTER, by zrestartowa komputer.", - TEXT_STYLE_NORMAL - }, - { - 0, - 0, - "ESC = Menu g¢wne ENTER = Restart", + "\x07 Press F3 to quit without installing ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "U = Upgrade ESC = Do not upgrade F3 = Quit", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -1621,7 +1627,7 @@ plPLLanguagePageEntries }, { - START_PAGE, + WELCOME_PAGE, plPLWelcomePageEntries }, { @@ -1637,8 +1643,8 @@ plPLDevicePageEntries }, { - REPAIR_INTRO_PAGE, - plPLRepairPageEntries + UPGRADE_REPAIR_PAGE, + plPLUpgradePageEntries }, { COMPUTER_SETTINGS_PAGE, Modified: branches/setup_improvements/base/setup/usetup/lang/pt-BR.h URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/lang/pt-BR.h [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/lang/pt-BR.h [iso-8859-1] Mon May 15 01:48:19 2017 @@ -88,7 +88,7 @@ { 8, 17, - "\x07 Para reparar uma instalaÆo do ReactOS, pressione R.", + "\x07 Press R to repair a ReactOS installation using the Recovery Console.", TEXT_STYLE_NORMAL }, { @@ -410,60 +410,66 @@ } }; -static MUI_ENTRY ptBRRepairPageEntries[] = -{ - { - 4, - 3, - " InstalaÆo do ReactOS " KERNEL_VERSION_STR " ", - TEXT_STYLE_UNDERLINE - }, - { - 6, - 8, - "O instalador do ReactOS est em fase inicial de desenvolvimento e", +static MUI_ENTRY ptBRUpgradePageEntries[] = +{ + { + 4, + 3, + " InstalaÆo do ReactOS " KERNEL_VERSION_STR " ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The ReactOS Setup can upgrade one of the available ReactOS installations", TEXT_STYLE_NORMAL }, { 6, 9, - "ainda nÆo suporta todas as funäes de instalaÆo.", + "listed below, or, if a ReactOS installation is damaged, the Setup program", + TEXT_STYLE_NORMAL + }, + { + 6, + 10, + "can attempt to repair it.", TEXT_STYLE_NORMAL }, { 6, 12, - "As funäes reparaÆo ainda nÆo foram implementadas.", - TEXT_STYLE_NORMAL + "The repair functions are not all implemented yet.", + TEXT_STYLE_HIGHLIGHT }, { 8, 15, - "\x07 Para atualizar o sistema operacional, pressione U.", + "\x07 Press UP or DOWN to select an OS installation.", TEXT_STYLE_NORMAL }, { 8, 17, - "\x07 Para abrir o console de recuperaÆo, pressione R.", + "\x07 Press U for upgrading the selected OS installation.", TEXT_STYLE_NORMAL }, { 8, 19, - "\x07 Para voltar a p gina principal, pressione ESC.", + "\x07 Press ESC to continue a new installation without upgrading.", TEXT_STYLE_NORMAL }, { 8, 21, - "\x07 Para reiniciar o computador, pressione ENTER.", - TEXT_STYLE_NORMAL - }, - { - 0, - 0, - "ESC=P gina principal U=Atualizar R=Recuperar ENTER=Reiniciar", + "\x07 Press F3 to quit without installing ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "U = Upgrade ESC = Do not upgrade F3 = Quit", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -1648,7 +1654,7 @@ ptBRLanguagePageEntries }, { - START_PAGE, + WELCOME_PAGE, ptBRWelcomePageEntries }, { @@ -1664,8 +1670,8 @@ ptBRDevicePageEntries }, { - REPAIR_INTRO_PAGE, - ptBRRepairPageEntries + UPGRADE_REPAIR_PAGE, + ptBRUpgradePageEntries }, { COMPUTER_SETTINGS_PAGE, Modified: branches/setup_improvements/base/setup/usetup/lang/ro-RO.h URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/lang/ro-RO.h [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/lang/ro-RO.h [iso-8859-1] Mon May 15 01:48:19 2017 @@ -95,15 +95,15 @@ { 8, 18, - "\x07 Tastaþi R pentru a reface un sistem deteriorat sau pentru", - TEXT_STYLE_NORMAL - }, - { - 8, - 19, - " a actualiza ReactOS.", - TEXT_STYLE_NORMAL - }, + "\x07 Press R to repair a ReactOS installation using the Recovery Console.", + TEXT_STYLE_NORMAL + }, + // { + // 8, + // 19, + // " a actualiza ReactOS.", + // TEXT_STYLE_NORMAL + // }, { 8, 21, @@ -466,60 +466,66 @@ } }; -static MUI_ENTRY roRORepairPageEntries[] = -{ - { - 4, - 3, - " Instalare ReactOS " KERNEL_VERSION_STR " ", - TEXT_STYLE_UNDERLINE - }, - { - 6, - 8, - "Programul de instalare ReactOS este încã într-o fazã incipientã de", +static MUI_ENTRY roROUpgradePageEntries[] = +{ + { + 4, + 3, + " Instalare ReactOS " KERNEL_VERSION_STR " ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The ReactOS Setup can upgrade one of the available ReactOS installations", TEXT_STYLE_NORMAL }, { 6, 9, - "dezvoltare ºi nu posedã o funcþionalitate completã.", + "listed below, or, if a ReactOS installation is damaged, the Setup program", + TEXT_STYLE_NORMAL + }, + { + 6, + 10, + "can attempt to repair it.", TEXT_STYLE_NORMAL }, { 6, 12, - "Funcþionalitatea de refacere încã nu este implementatã.", - TEXT_STYLE_NORMAL + "The repair functions are not all implemented yet.", + TEXT_STYLE_HIGHLIGHT }, { 8, 15, - "\x07 Tastaþi U pentru actualizarea sistemului.", + "\x07 Press UP or DOWN to select an OS installation.", TEXT_STYLE_NORMAL }, { 8, 17, - "\x07 Tastaþi R pentru consola de Recuperare.", + "\x07 Press U for upgrading the selected OS installation.", TEXT_STYLE_NORMAL }, { 8, 19, - "\x07 Apãsaþi ESC pentru a reveni la pagina principalã.", + "\x07 Press ESC to continue a new installation without upgrading.", TEXT_STYLE_NORMAL }, { 8, 21, - "\x07 Apãsaþi ENTER pentru a reporni calculatorul.", - TEXT_STYLE_NORMAL - }, - { - 0, - 0, - "ESC = Revenire U = Actualizare R = Recuperare ENTER = Repornire", + "\x07 Press F3 to quit without installing ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "U = Upgrade ESC = Do not upgrade F3 = Quit", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -1682,7 +1688,7 @@ roROLanguagePageEntries }, { - START_PAGE, + WELCOME_PAGE, roROWelcomePageEntries }, { @@ -1698,8 +1704,8 @@ roRODevicePageEntries }, { - REPAIR_INTRO_PAGE, - roRORepairPageEntries + UPGRADE_REPAIR_PAGE, + roROUpgradePageEntries }, { COMPUTER_SETTINGS_PAGE, Modified: branches/setup_improvements/base/setup/usetup/lang/ru-RU.h URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/lang/ru-RU.h [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/lang/ru-RU.h [iso-8859-1] Mon May 15 01:48:19 2017 @@ -88,7 +88,7 @@ { 8, 17, - "\x07 ¦¬¨â¥ R ¤«ï ¢®ááâ ®¢«¥¨ï ReactOS.", + "\x07 Press R to repair a ReactOS installation using the Recovery Console.", TEXT_STYLE_NORMAL }, { @@ -410,60 +410,66 @@ } }; -static MUI_ENTRY ruRURepairPageEntries[] = -{ - { - 4, - 3, - " áâ ®¢ª ReactOS " KERNEL_VERSION_STR, - TEXT_STYLE_UNDERLINE - }, - { - 6, - 8, - "ReactOS 室¨âáï ¢ à ¥© áâ ¤¨¨ à §à ¡®âª¨ ¨ ¥ ¯®¤¤¥à¦¨¢ ¥â ¢á¥", +static MUI_ENTRY ruRUUpgradePageEntries[] = +{ + { + 4, + 3, + " áâ ®¢ª ReactOS " KERNEL_VERSION_STR, + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The ReactOS Setup can upgrade one of the available ReactOS installations", TEXT_STYLE_NORMAL }, { 6, 9, - "äãªæ¨¨ ¤«ï ¯®«®© ᮢ¬¥á⨬®á⨠á ãáâ ¢«¨¢ ¥¬ë¬¨ ¯à¨«®¦¥¨ï¬¨.", + "listed below, or, if a ReactOS installation is damaged, the Setup program", + TEXT_STYLE_NORMAL + }, + { + 6, + 10, + "can attempt to repair it.", TEXT_STYLE_NORMAL }, { 6, 12, - "ãªæ¨ï ¢®ááâ ®¢«¥¨ï ¢ ¤ ë¬ ¬®¬¥â ®âáãâáâ¢ã¥â.", - TEXT_STYLE_NORMAL + "The repair functions are not all implemented yet.", + TEXT_STYLE_HIGHLIGHT }, { 8, 15, - "\x07 ¦¬¨â¥ U ¤«ï ®¡®¢«¥¨ï .", + "\x07 Press UP or DOWN to select an OS installation.", TEXT_STYLE_NORMAL }, { 8, 17, - "\x07 ¦¬¨â¥ R ¤«ï § ¯ã᪠ª®á®«¨ ¢®ááâ ®¢«¥¨ï.", + "\x07 Press U for upgrading the selected OS installation.", TEXT_STYLE_NORMAL }, { 8, 19, - "\x07 ¦¬¨â¥ ESC ¤«ï ¢®§¢à â £« ¢ãî áâà ¨æã.", + "\x07 Press ESC to continue a new installation without upgrading.", TEXT_STYLE_NORMAL }, { 8, 21, - "\x07 ¦¬¨â¥ ENTER ¤«ï ¯¥à¥§ £à㧪¨ ª®¬¯ìîâ¥à .", - TEXT_STYLE_NORMAL - }, - { - 0, - 0, - "ESC = £« ¢ãî U = ¡®¢«¥¨¥ R = ®ááâ ®¢«¥¨¥ ENTER = ¥à¥§ £à㧪 ", + "\x07 Press F3 to quit without installing ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "U = Upgrade ESC = Do not upgrade F3 = Quit", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -1611,7 +1617,7 @@ ruRULanguagePageEntries }, { - START_PAGE, + WELCOME_PAGE, ruRUWelcomePageEntries }, { @@ -1627,8 +1633,8 @@ ruRUDevicePageEntries }, { - REPAIR_INTRO_PAGE, - ruRURepairPageEntries + UPGRADE_REPAIR_PAGE, + ruRUUpgradePageEntries }, { COMPUTER_SETTINGS_PAGE, Modified: branches/setup_improvements/base/setup/usetup/lang/sk-SK.h URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/lang/sk-SK.h [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/lang/sk-SK.h [iso-8859-1] Mon May 15 01:48:19 2017 @@ -95,7 +95,7 @@ { 8, 17, - "\x07 Stlate R pre opravu alebo aktualiz ciu systmu ReactOS.", + "\x07 Press R to repair a ReactOS installation using the Recovery Console.", TEXT_STYLE_NORMAL }, { @@ -417,60 +417,66 @@ } }; -static MUI_ENTRY skSKRepairPageEntries[] = -{ - { - 4, - 3, - " Inçtal tor systmu ReactOS " KERNEL_VERSION_STR " ", - TEXT_STYLE_UNDERLINE - }, - { - 6, - 8, - "Inçtal tor systmu ReactOS je v zaiatonom çt diu vìvoja. Zatia", +static MUI_ENTRY skSKUpgradePageEntries[] = +{ + { + 4, + 3, + " Inçtal tor systmu ReactOS " KERNEL_VERSION_STR " ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The ReactOS Setup can upgrade one of the available ReactOS installations", TEXT_STYLE_NORMAL }, { 6, 9, - "nepodporuje vçetky funkcie plne vyu§¡vaj£ce program Inçtal tor.", + "listed below, or, if a ReactOS installation is damaged, the Setup program", + TEXT_STYLE_NORMAL + }, + { + 6, + 10, + "can attempt to repair it.", TEXT_STYLE_NORMAL }, { 6, 12, - "Funkcie na opravu systmu zatia nie s£ implementovan.", - TEXT_STYLE_NORMAL + "The repair functions are not all implemented yet.", + TEXT_STYLE_HIGHLIGHT }, { 8, 15, - "\x07 Stlate U pre aktualiz ciu OS.", + "\x07 Press UP or DOWN to select an OS installation.", TEXT_STYLE_NORMAL }, { 8, 17, - "\x07 Stlate R pre z chrann£ konzolu.", + "\x07 Press U for upgrading the selected OS installation.", TEXT_STYLE_NORMAL }, { 8, 19, - "\x07 Stlate ESC pre n vrat na hlavn£ str nku.", + "\x07 Press ESC to continue a new installation without upgrading.", TEXT_STYLE_NORMAL }, { 8, 21, - "\x07 Stlate ENTER pre reçtart po¡taa.", - TEXT_STYLE_NORMAL - }, - { - 0, - 0, - "ESC = Hlavn str nka U = Aktualizova R = Z chrana ENTER = Reçtart", + "\x07 Press F3 to quit without installing ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "U = Upgrade ESC = Do not upgrade F3 = Quit", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -1622,7 +1628,7 @@ skSKLanguagePageEntries }, { - START_PAGE, + WELCOME_PAGE, skSKWelcomePageEntries }, { @@ -1638,8 +1644,8 @@ skSKDevicePageEntries }, { - REPAIR_INTRO_PAGE, - skSKRepairPageEntries + UPGRADE_REPAIR_PAGE, + skSKUpgradePageEntries }, { COMPUTER_SETTINGS_PAGE, Modified: branches/setup_improvements/base/setup/usetup/lang/sq-AL.h URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/lang/sq-AL.h [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/lang/sq-AL.h [iso-8859-1] Mon May 15 01:48:19 2017 @@ -91,7 +91,7 @@ { 8, 17, - "\x07 Kliko R pr t riparuar ose apdejtuar ReactOS.", + "\x07 Press R to repair a ReactOS installation using the Recovery Console.", TEXT_STYLE_NORMAL }, { @@ -413,60 +413,66 @@ } }; -static MUI_ENTRY sqALRepairPageEntries[] = -{ - { - 4, - 3, - " Instalimi i ReactOS " KERNEL_VERSION_STR " ", - TEXT_STYLE_UNDERLINE - }, - { - 6, - 8, - "Instalimi i ReactOS sht n fazat e zhvillimit. Ajo ende nuk i", +static MUI_ENTRY sqALUpgradePageEntries[] = +{ + { + 4, + 3, + " Instalimi i ReactOS " KERNEL_VERSION_STR " ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The ReactOS Setup can upgrade one of the available ReactOS installations", TEXT_STYLE_NORMAL }, { 6, 9, - "mbshtet t gjitha funksionet e nj instalimi plotsisht t prdorshm.", + "listed below, or, if a ReactOS installation is damaged, the Setup program", + TEXT_STYLE_NORMAL + }, + { + 6, + 10, + "can attempt to repair it.", TEXT_STYLE_NORMAL }, { 6, 12, - "Funksionet e riparim nuk jan implemntuar ende.", - TEXT_STYLE_NORMAL + "The repair functions are not all implemented yet.", + TEXT_STYLE_HIGHLIGHT }, { 8, 15, - "\x07 Klikoni U pr t Apdejtuar OS'in.", + "\x07 Press UP or DOWN to select an OS installation.", TEXT_STYLE_NORMAL }, { 8, 17, - "\x07 Klikoni R pr modulin e riparimit.", + "\x07 Press U for upgrading the selected OS installation.", TEXT_STYLE_NORMAL }, { 8, 19, - "\x07 Kliko ESC pr ty kthyer tek menuja kryesore.", + "\x07 Press ESC to continue a new installation without upgrading.", TEXT_STYLE_NORMAL }, { 8, 21, - "\x07 Kliko ENTER t rinisni kompjuterin tuaj.", - TEXT_STYLE_NORMAL - }, - { - 0, - 0, - "ESC = Menuja Kryesore U = Apdejto R = Riparo ENTER = Rinis sistemin", + "\x07 Press F3 to quit without installing ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "U = Upgrade ESC = Do not upgrade F3 = Quit", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -1615,7 +1621,7 @@ sqALLanguagePageEntries }, { - START_PAGE, + WELCOME_PAGE, sqALWelcomePageEntries }, { @@ -1631,8 +1637,8 @@ sqALDevicePageEntries }, { - REPAIR_INTRO_PAGE, - sqALRepairPageEntries + UPGRADE_REPAIR_PAGE, + sqALUpgradePageEntries }, { COMPUTER_SETTINGS_PAGE, Modified: branches/setup_improvements/base/setup/usetup/lang/sv-SE.h URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/lang/sv-SE.h [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/lang/sv-SE.h [iso-8859-1] Mon May 15 01:48:19 2017 @@ -94,7 +94,7 @@ { 8, 17, - "\x07 Tryck p R fr att reparera ReactOS.", + "\x07 Press R to repair a ReactOS installation using the Recovery Console.", TEXT_STYLE_NORMAL }, { @@ -416,61 +416,67 @@ } }; -static MUI_ENTRY svSERepairPageEntries[] = -{ - { - 4, - 3, - " ReactOS " KERNEL_VERSION_STR " Setup ", - TEXT_STYLE_UNDERLINE - }, - { - 6, - 8, - "ReactOS Setup r i en tidig utvecklingsfas och saknar drfr ett antal", +static MUI_ENTRY svSEUpgradePageEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The ReactOS Setup can upgrade one of the available ReactOS installations", TEXT_STYLE_NORMAL }, { 6, 9, - "funktioner som kan frvntas av ett fullt anvndbart setup-program.", + "listed below, or, if a ReactOS installation is damaged, the Setup program", + TEXT_STYLE_NORMAL + }, + { + 6, + 10, + "can attempt to repair it.", TEXT_STYLE_NORMAL }, { 6, 12, - "Reparations- och uppdateringsfunktionerna fungerar ej.", - TEXT_STYLE_NORMAL + "The repair functions are not all implemented yet.", + TEXT_STYLE_HIGHLIGHT }, { 8, 15, - "\x07 Tryck p U fr att uppdatera ReactOS.", + "\x07 Press UP or DOWN to select an OS installation.", TEXT_STYLE_NORMAL }, { 8, 17, - "\x07 Tryck p R fr terstllningskonsolen.", + "\x07 Press U for upgrading the selected OS installation.", TEXT_STYLE_NORMAL }, { 8, 19, - "\x07 Tryck p ESC fr att tervnda till fregende sida.", + "\x07 Press ESC to continue a new installation without upgrading.", TEXT_STYLE_NORMAL }, { 8, 21, - "\x07 Tryck p ENTER fr att starta om datorn.", - TEXT_STYLE_NORMAL - }, - { - 0, - 0, - " ESC = G till fregende sida ENTER = Starta om datorn", - TEXT_TYPE_STATUS + "\x07 Press F3 to quit without installing ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "U = Upgrade ESC = Do not upgrade F3 = Quit", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { 0, @@ -1618,7 +1624,7 @@ svSELanguagePageEntries }, { - START_PAGE, + WELCOME_PAGE, svSEWelcomePageEntries }, { @@ -1634,8 +1640,8 @@ svSEDevicePageEntries }, { - REPAIR_INTRO_PAGE, - svSERepairPageEntries + UPGRADE_REPAIR_PAGE, + svSEUpgradePageEntries }, { COMPUTER_SETTINGS_PAGE, Modified: branches/setup_improvements/base/setup/usetup/lang/tr-TR.h URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/lang/tr-TR.h [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/lang/tr-TR.h [iso-8859-1] Mon May 15 01:48:19 2017 @@ -91,7 +91,7 @@ { 8, 17, - "\x07 ReactOS'u onarmak vey ykseltmek iin R'ye basnz.", + "\x07 Press R to repair a ReactOS installation using the Recovery Console.", TEXT_STYLE_NORMAL }, { @@ -408,60 +408,66 @@ } }; -static MUI_ENTRY trTRRepairPageEntries[] = -{ - { - 4, - 3, - " ReactOS " KERNEL_VERSION_STR " Kur ", - TEXT_STYLE_UNDERLINE - }, - { - 6, - 8, - "ReactOS Kur, bir n gelime evresindedir. Daha tmyle kullanl", +static MUI_ENTRY trTRUpgradePageEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Kur ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The ReactOS Setup can upgrade one of the available ReactOS installations", TEXT_STYLE_NORMAL }, { 6, 9, - "bir kurulum uygulamasnn tm ilevlerini desteklemez.", + "listed below, or, if a ReactOS installation is damaged, the Setup program", + TEXT_STYLE_NORMAL + }, + { + 6, + 10, + "can attempt to repair it.", TEXT_STYLE_NORMAL }, { 6, 12, - "Onarma ilevleri daha bitirilmemitir.", - TEXT_STYLE_NORMAL + "The repair functions are not all implemented yet.", + TEXT_STYLE_HIGHLIGHT }, { 8, 15, - "\x07 letim dizgesini ykseltmek iin U'ya basnz.", + "\x07 Press UP or DOWN to select an OS installation.", TEXT_STYLE_NORMAL }, { 8, 17, - "\x07 Kurtarma Konsolu iin R'ye basnz.", + "\x07 Press U for upgrading the selected OS installation.", TEXT_STYLE_NORMAL }, { 8, 19, - "\x07 Ana sayfaya geri dnmek iin k'a basnz.", + "\x07 Press ESC to continue a new installation without upgrading.", TEXT_STYLE_NORMAL }, { 8, 21, - "\x07 Bilgisayarnz yeniden balatmak iin Giri'e basnz.", - TEXT_STYLE_NORMAL - }, - { - 0, - 0, - "k = Ana Sayfa U = Ykselt R = Kurtarma Giri = Yeniden Balat", + "\x07 Press F3 to quit without installing ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "U = Upgrade ESC = Do not upgrade F3 = Quit", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -1591,7 +1597,7 @@ trTRLanguagePageEntries }, { - START_PAGE, + WELCOME_PAGE, trTRWelcomePageEntries }, { @@ -1607,8 +1613,8 @@ trTRDevicePageEntries }, { - REPAIR_INTRO_PAGE, - trTRRepairPageEntries + UPGRADE_REPAIR_PAGE, + trTRUpgradePageEntries }, { COMPUTER_SETTINGS_PAGE, Modified: branches/setup_improvements/base/setup/usetup/lang/uk-UA.h URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/lang/uk-UA.h [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/lang/uk-UA.h [iso-8859-1] Mon May 15 01:48:19 2017 @@ -93,7 +93,7 @@ { 8, 17, - "\x07 â¨áiâì R ¤«ï ®®¢«¥ï ReactOS.", + "\x07 Press R to repair a ReactOS installation using the Recovery Console.", TEXT_STYLE_NORMAL }, { @@ -415,60 +415,66 @@ } }; -static MUI_ENTRY ukUARepairPageEntries[] = -{ - { - 4, - 3, - " áâ ®¢«¥ï ReactOS " KERNEL_VERSION_STR " ", - TEXT_STYLE_UNDERLINE - }, - { - 6, - 8, - "áâ ®¢«î¢ ç ReactOS § 室¨âìáï ¢ à i© áâ ¤iõ ஧஡ª¨ i é¥ ¥", +static MUI_ENTRY ukUAUpgradePageEntries[] = +{ + { + 4, + 3, + " áâ ®¢«¥ï ReactOS " KERNEL_VERSION_STR " ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The ReactOS Setup can upgrade one of the available ReactOS installations", TEXT_STYLE_NORMAL }, { 6, 9, - "¯i¤âਬãó ¢ái äãªæiõ ¯®¢®æi®õ ¯à®£à ¬¨ ¢áâ ®¢«¥ï.", + "listed below, or, if a ReactOS installation is damaged, the Setup program", + TEXT_STYLE_NORMAL + }, + { + 6, + 10, + "can attempt to repair it.", TEXT_STYLE_NORMAL }, { 6, 12, - "ãªæiõ ¢i¤®¢«¥ï é¥ ¥ ¢¯à®¢ ¤¦¥i.", - TEXT_STYLE_NORMAL + "The repair functions are not all implemented yet.", + TEXT_STYLE_HIGHLIGHT }, { 8, 15, - "\x07 â¨áiâì U 鮡 ®®¢¨â¨ OS.", + "\x07 Press UP or DOWN to select an OS installation.", TEXT_STYLE_NORMAL }, { 8, 17, - "\x07 â¨áiâì R ¤«ï § ¯ãáªã ®á®«i i¤®¢«¥ï.", + "\x07 Press U for upgrading the selected OS installation.", TEXT_STYLE_NORMAL }, { 8, 19, - "\x07 â¨áiâì ESC ¤«ï ¯®¢¥à¥ï ¤® £®«®¢®õ áâ®àiª¨.", + "\x07 Press ESC to continue a new installation without upgrading.", TEXT_STYLE_NORMAL }, { 8, 21, - "\x07 â¨áiâì ENTER 鮡 ¯¥à¥§ ¢ â ¦¨â¨ ª®¬¯'îâ¥à.", - TEXT_STYLE_NORMAL - }, - { - 0, - 0, - "ESC = ®«®¢ â®àiª U = ®¢¨â¨ R = i¤®¢¨â¨ ENTER = ¥à¥§ ¢ â ¦¨â¨", + "\x07 Press F3 to quit without installing ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "U = Upgrade ESC = Do not upgrade F3 = Quit", TEXT_TYPE_STATUS | TEXT_PADDING_BIG }, { @@ -1618,7 +1624,7 @@ ukUALanguagePageEntries }, { - START_PAGE, + WELCOME_PAGE, ukUAWelcomePageEntries }, { @@ -1634,8 +1640,8 @@ ukUADevicePageEntries }, { - REPAIR_INTRO_PAGE, - ukUARepairPageEntries + UPGRADE_REPAIR_PAGE, + ukUAUpgradePageEntries }, { COMPUTER_SETTINGS_PAGE, Modified: branches/setup_improvements/base/setup/usetup/usetup.h URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/usetup.h [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/usetup.h [iso-8859-1] Mon May 15 01:48:19 2017 @@ -118,13 +118,16 @@ #define _PAGE_NUMBER_DEFINED typedef enum _PAGE_NUMBER { - START_PAGE, LANGUAGE_PAGE, INTRO_PAGE, + WELCOME_PAGE, LICENSE_PAGE, INSTALL_INTRO_PAGE, // SCSI_CONTROLLER_PAGE, + +// REPAIR_INTRO_PAGE, + UPGRADE_REPAIR_PAGE, DEVICE_SETTINGS_PAGE, COMPUTER_SETTINGS_PAGE, @@ -152,13 +155,11 @@ BOOT_LOADER_HARDDISK_MBR_PAGE, BOOT_LOADER_HARDDISK_VBR_PAGE, - REPAIR_INTRO_PAGE, - SUCCESS_PAGE, QUIT_PAGE, FLUSH_PAGE, - REBOOT_PAGE, /* virtual page */ - RECOVERY_PAGE, /* virtual page */ + REBOOT_PAGE, /* Virtual page */ + RECOVERY_PAGE, /* Virtual page */ } PAGE_NUMBER, *PPAGE_NUMBER; #endif
7 years, 7 months
1
0
0
0
[hbelusca] 74547: [USETUP]: GenList modifications: - Allow retrieving the number of items existing in the list; - Fix the name of some function parameters.
by hbelusca@svn.reactos.org
Author: hbelusca Date: Mon May 15 01:43:28 2017 New Revision: 74547 URL:
http://svn.reactos.org/svn/reactos?rev=74547&view=rev
Log: [USETUP]: GenList modifications: - Allow retrieving the number of items existing in the list; - Fix the name of some function parameters. Modified: branches/setup_improvements/base/setup/usetup/genlist.c branches/setup_improvements/base/setup/usetup/genlist.h Modified: branches/setup_improvements/base/setup/usetup/genlist.c URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/genlist.c [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/genlist.c [iso-8859-1] Mon May 15 01:43:28 2017 @@ -45,6 +45,7 @@ typedef struct _GENERIC_LIST { LIST_ENTRY ListHead; + ULONG NumOfEntries; PLIST_ENTRY FirstShown; PLIST_ENTRY LastShown; @@ -70,6 +71,7 @@ return NULL; InitializeListHead(&List->ListHead); + List->NumOfEntries = 0; List->Left = 0; List->Top = 0; @@ -78,6 +80,7 @@ List->Redraw = TRUE; List->CurrentEntry = NULL; + List->BackupEntry = NULL; return List; } @@ -131,6 +134,7 @@ InsertTailList(&List->ListHead, &Entry->Entry); + List->NumOfEntries++; if (Current || List->CurrentEntry == NULL) { @@ -609,17 +613,25 @@ PVOID GetListEntryUserData( - PGENERIC_LIST_ENTRY List) -{ - return List->UserData; + PGENERIC_LIST_ENTRY Entry) +{ + return Entry->UserData; } LPCSTR GetListEntryText( - PGENERIC_LIST_ENTRY List) -{ - return List->Text; + PGENERIC_LIST_ENTRY Entry) +{ + return Entry->Text; +} + + +ULONG +GetNumberOfListEntries( + PGENERIC_LIST List) +{ + return List->NumOfEntries; } Modified: branches/setup_improvements/base/setup/usetup/genlist.h URL:
http://svn.reactos.org/svn/reactos/branches/setup_improvements/base/setup/u…
============================================================================== --- branches/setup_improvements/base/setup/usetup/genlist.h [iso-8859-1] (original) +++ branches/setup_improvements/base/setup/usetup/genlist.h [iso-8859-1] Mon May 15 01:43:28 2017 @@ -98,11 +98,15 @@ PVOID GetListEntryUserData( - PGENERIC_LIST_ENTRY List); + PGENERIC_LIST_ENTRY Entry); LPCSTR GetListEntryText( - PGENERIC_LIST_ENTRY List); + PGENERIC_LIST_ENTRY Entry); + +ULONG +GetNumberOfListEntries( + PGENERIC_LIST List); VOID SaveGenericListState( @@ -114,8 +118,8 @@ VOID GenericListKeyPress( - PGENERIC_LIST List, - CHAR AsciChar); + PGENERIC_LIST GenericList, + CHAR AsciiChar); BOOL GenericListHasSingleEntry(
7 years, 7 months
1
0
0
0
[ion] 74546: BL Library now works 100% in paging, protected mode. A picture is worth a thousand commits: http://i.imgur.com/Zx2nQ6x.jpg [BOOTLIB]: Add support for protocol open/close/lookup while p...
by ion@svn.reactos.org
Author: ion Date: Mon May 15 01:38:49 2017 New Revision: 74546 URL:
http://svn.reactos.org/svn/reactos?rev=74546&view=rev
Log: BL Library now works 100% in paging, protected mode. A picture is worth a thousand commits:
http://i.imgur.com/Zx2nQ6x.jpg
[BOOTLIB]: Add support for protocol open/close/lookup while paging and protected mode is enabled. [BOOTLIB]: Implement support for dozens of UEFI functions while under protected mode. [BOOTLIB]: Fix bugs in existing UEFI functions which were switching to _protected_ mode instead of _real mode_ before making the UEFI call. [BOOTLIB]: Free dynamic descriptor in MmMdFreeDescriptor. [BOOTLIB]: Implement BlHtDelete. [BOOTLIB]: Implement re-initialize-all path in DsppInitialize. [BOOTLIB]: Fix small bug in BlDisplayInvalidateOemBitmap [BOOTLIB]: Fix bigger bug in BlDisplayGetOemBitmap :) Modified: trunk/reactos/boot/environ/app/rosload/rosload.c trunk/reactos/boot/environ/include/bl.h trunk/reactos/boot/environ/lib/firmware/efi/firmware.c trunk/reactos/boot/environ/lib/io/device.c trunk/reactos/boot/environ/lib/io/display/display.c trunk/reactos/boot/environ/lib/io/display/efi/gop.c trunk/reactos/boot/environ/lib/misc/util.c trunk/reactos/boot/environ/lib/mm/descriptor.c trunk/reactos/boot/environ/lib/platform/time.c [This mail would be too long, it was shortened to contain the URLs only.] Modified: trunk/reactos/boot/environ/app/rosload/rosload.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/app/rosload/r…
Modified: trunk/reactos/boot/environ/include/bl.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/include/bl.h?…
Modified: trunk/reactos/boot/environ/lib/firmware/efi/firmware.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/firmware/…
Modified: trunk/reactos/boot/environ/lib/io/device.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/io/device…
Modified: trunk/reactos/boot/environ/lib/io/display/display.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/io/displa…
Modified: trunk/reactos/boot/environ/lib/io/display/efi/gop.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/io/displa…
Modified: trunk/reactos/boot/environ/lib/misc/util.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/misc/util…
Modified: trunk/reactos/boot/environ/lib/mm/descriptor.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/mm/descri…
Modified: trunk/reactos/boot/environ/lib/platform/time.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/platform/…
7 years, 7 months
1
0
0
0
[ion] 74545: Virtual memory works baby! Virtual Heap at 0x80000000 fully enabled. Next up, EFI Protocols with Paging Enabled. [BOOTLIB]: Fix dumb bug in BlMmIsTranslationEnabled which would always ...
by ion@svn.reactos.org
Author: ion Date: Sun May 14 16:07:21 2017 New Revision: 74545 URL:
http://svn.reactos.org/svn/reactos?rev=74545&view=rev
Log: Virtual memory works baby! Virtual Heap at 0x80000000 fully enabled. Next up, EFI Protocols with Paging Enabled. [BOOTLIB]: Fix dumb bug in BlMmIsTranslationEnabled which would always return FALSE. [BOOTLIB]: Fix dumber bug in MmDefInitializeTranslation which was freeing the page directories and self-map pages even in the success path. Causing us to zero out paging structures... [BOOTLIB]: Cleanup and extend MmMdDbgDumpList for internal use, and add MmMdListPointerToName as another debug function. [BOOTLIB]: Add a few more checkpoints in unimplemented paths. Modified: trunk/reactos/boot/environ/include/bl.h trunk/reactos/boot/environ/lib/firmware/efi/firmware.c trunk/reactos/boot/environ/lib/mm/descriptor.c trunk/reactos/boot/environ/lib/mm/heapalloc.c trunk/reactos/boot/environ/lib/mm/i386/mmx86.c trunk/reactos/boot/environ/lib/mm/pagealloc.c Modified: trunk/reactos/boot/environ/include/bl.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/include/bl.h?…
============================================================================== --- trunk/reactos/boot/environ/include/bl.h [iso-8859-1] (original) +++ trunk/reactos/boot/environ/include/bl.h [iso-8859-1] Sun May 14 16:07:21 2017 @@ -2023,9 +2023,10 @@ VOID MmMdDbgDumpList ( - _In_ PBL_MEMORY_DESCRIPTOR_LIST DescriptorList + _In_ PBL_MEMORY_DESCRIPTOR_LIST DescriptorList, + _In_opt_ ULONG MaxCount ); - + VOID MmMdInitializeList ( _In_ PBL_MEMORY_DESCRIPTOR_LIST DescriptorList, Modified: trunk/reactos/boot/environ/lib/firmware/efi/firmware.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/firmware/…
============================================================================== --- trunk/reactos/boot/environ/lib/firmware/efi/firmware.c [iso-8859-1] (original) +++ trunk/reactos/boot/environ/lib/firmware/efi/firmware.c [iso-8859-1] Sun May 14 16:07:21 2017 @@ -176,6 +176,8 @@ { /* We need complex tracking to make this work */ //Status = EfiVmOpenProtocol(Handle, Protocol, Interface); + EfiPrintf(L"Paging path hit!\r\n"); + EfiStall(1000000); Status = STATUS_NOT_SUPPORTED; } else @@ -185,6 +187,8 @@ if (OldMode != BlRealMode) { /* FIXME: Not yet implemented */ + EfiPrintf(L"Paging path hit!\r\n"); + EfiStall(1000000); return STATUS_NOT_IMPLEMENTED; } Modified: trunk/reactos/boot/environ/lib/mm/descriptor.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/mm/descri…
============================================================================== --- trunk/reactos/boot/environ/lib/mm/descriptor.c [iso-8859-1] (original) +++ trunk/reactos/boot/environ/lib/mm/descriptor.c [iso-8859-1] Sun May 14 16:07:21 2017 @@ -1267,7 +1267,7 @@ /* Don't let the base overflow */ if (VirtualMin > VirtualMax) { - return 0; + return FALSE; } /* Adjust the base by the alignment delta */ @@ -1277,7 +1277,7 @@ if (((VirtualMin + Pages - 1) < VirtualMin) || ((VirtualMin + Pages - 1) > VirtualMax)) { - return 0; + return FALSE; } /* Finally, pick the correct address based on direction */ @@ -1302,7 +1302,7 @@ if ((((Flags & 0xFF) & (Descriptor->Flags & 0xFF)) != (Flags & 0xFF)) || (((Flags & 0xFF00) & (Descriptor->Flags & 0xFF00)) != (Flags & 0xFF00))) { - EfiPrintf(L"Incorrect memory attributes\r\n"); + //EfiPrintf(L"Incorrect memory attributes\r\n"); return FALSE; } Modified: trunk/reactos/boot/environ/lib/mm/heapalloc.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/mm/heapal…
============================================================================== --- trunk/reactos/boot/environ/lib/mm/heapalloc.c [iso-8859-1] (original) +++ trunk/reactos/boot/environ/lib/mm/heapalloc.c [iso-8859-1] Sun May 14 16:07:21 2017 @@ -155,6 +155,8 @@ 0); if (!NT_SUCCESS(Status)) { + EfiPrintf(L"HEAP ALLOCATION FAILED\r\n"); + EfiStall(1000000); return Status; } Modified: trunk/reactos/boot/environ/lib/mm/i386/mmx86.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/mm/i386/m…
============================================================================== --- trunk/reactos/boot/environ/lib/mm/i386/mmx86.c [iso-8859-1] (original) +++ trunk/reactos/boot/environ/lib/mm/i386/mmx86.c [iso-8859-1] Sun May 14 16:07:21 2017 @@ -127,7 +127,7 @@ { /* Return if paging is on */ return ((CurrentExecutionContext) && - (CurrentExecutionContext->Mode & BL_CONTEXT_PAGING_ON)); + (CurrentExecutionContext->ContextFlags & BL_CONTEXT_PAGING_ON)); } VOID @@ -327,6 +327,8 @@ 0); if (!NT_SUCCESS(Status)) { + EfiPrintf(L"PDE alloc failed!\r\n"); + EfiStall(1000000); return STATUS_NO_MEMORY; } @@ -583,6 +585,7 @@ if (!NT_SUCCESS(Status)) { EfiPrintf(L"Failed to map!: %lx\r\n", Status); + EfiStall(1000000); return Status; } @@ -641,30 +644,43 @@ VOID MmMdDbgDumpList ( - _In_ PBL_MEMORY_DESCRIPTOR_LIST DescriptorList + _In_ PBL_MEMORY_DESCRIPTOR_LIST DescriptorList, + _In_opt_ ULONG MaxCount ) { ULONGLONG EndPage, VirtualEndPage; PBL_MEMORY_DESCRIPTOR MemoryDescriptor; PLIST_ENTRY NextEntry; + /* If no maximum was provided, use essentially infinite */ + if (MaxCount == 0) + { + MaxCount = 0xFFFFFFFF; + } + + /* Loop the list as long as there's entries and max isn't reached */ NextEntry = DescriptorList->First->Flink; - while (NextEntry != DescriptorList->First) - { + while ((NextEntry != DescriptorList->First) && (MaxCount--)) + { + /* Get the descriptor */ MemoryDescriptor = CONTAINING_RECORD(NextEntry, BL_MEMORY_DESCRIPTOR, ListEntry); + /* Get the descriptor end page, and see if it was virtually mapepd */ EndPage = MemoryDescriptor->BasePage + MemoryDescriptor->PageCount; - if (MemoryDescriptor->VirtualPage != 0) + if (MemoryDescriptor->VirtualPage) { - VirtualEndPage = MemoryDescriptor->VirtualPage + MemoryDescriptor->PageCount; + /* Get the virtual end page too, then */ + VirtualEndPage = MemoryDescriptor->VirtualPage + + MemoryDescriptor->PageCount; } else { VirtualEndPage = 0; } + /* Print out the descriptor, physical range, virtual range, and type */ EfiPrintf(L"%p - [%08llx-%08llx @ %08llx-%08llx]:%x\r\n", MemoryDescriptor, MemoryDescriptor->BasePage << PAGE_SHIFT, @@ -673,6 +689,7 @@ VirtualEndPage ? (VirtualEndPage << PAGE_SHIFT) - 1 : 0, (ULONG)MemoryDescriptor->Type); + /* Next entry */ NextEntry = NextEntry->Flink; } } @@ -943,7 +960,7 @@ Status = MmPaTruncateMemory(0x100000); if (!NT_SUCCESS(Status)) { - goto Quickie; + goto Failure; } /* Allocate a page directory */ @@ -957,7 +974,7 @@ 0); if (!NT_SUCCESS(Status)) { - goto Quickie; + goto Failure; } /* Zero out the page directory */ @@ -978,7 +995,7 @@ 0); if (!NT_SUCCESS(Status)) { - goto Quickie; + goto Failure; } /* Set the reference page */ @@ -993,7 +1010,7 @@ (4 * 1024 * 1024) >> PAGE_SHIFT); if (!NT_SUCCESS(Status)) { - goto Quickie; + goto Failure; } /* Zero them out */ @@ -1020,7 +1037,7 @@ 0); if (!NT_SUCCESS(Status)) { - goto Quickie; + goto Failure; } /* Remove HAL_HEAP from free virtual memory */ @@ -1031,22 +1048,25 @@ 0); if (!NT_SUCCESS(Status)) { - goto Quickie; + goto Failure; } /* Initialize the virtual->physical memory mappings */ Status = Mmx86InitializeMemoryMap(1, MemoryData); if (!NT_SUCCESS(Status)) { - goto Quickie; + goto Failure; } /* Turn on paging with the new CR3 */ __writecr3((ULONG_PTR)MmPdpt); BlpArchEnableTranslation(); - EfiPrintf(L"Paging... ON\r\n"); - -Quickie: + EfiPrintf(L"Paging... %d\r\n", BlMmIsTranslationEnabled()); + + /* Return success */ + return Status; + +Failure: /* Free reference page if we allocated it */ if (MmArchReferencePage) { Modified: trunk/reactos/boot/environ/lib/mm/pagealloc.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/mm/pageal…
============================================================================== --- trunk/reactos/boot/environ/lib/mm/pagealloc.c [iso-8859-1] (original) +++ trunk/reactos/boot/environ/lib/mm/pagealloc.c [iso-8859-1] Sun May 14 16:07:21 2017 @@ -148,6 +148,31 @@ return ReturnStatus; } +PWCHAR +MmMdListPointerToName (_In_ PBL_MEMORY_DESCRIPTOR_LIST MdList) +{ + if (MdList == &MmMdlUnmappedAllocated) + { + return L"UnmapAlloc"; + } + else if (MdList == &MmMdlUnmappedUnallocated) + { + return L"UnmapUnalloc"; + } + else if (MdList == &MmMdlMappedAllocated) + { + return L"MapAlloc"; + } + else if (MdList == &MmMdlMappedUnallocated) + { + return L"MapUnalloc"; + } + else + { + return L"Other"; + } +} + NTSTATUS MmPapAllocateRegionFromMdl ( _In_ PBL_MEMORY_DESCRIPTOR_LIST NewList, @@ -207,7 +232,6 @@ Request->Flags, Request->Alignment)) { - /* It does, get out */ break; } @@ -225,7 +249,6 @@ /* Check if we exhausted the list */ if (NextEntry == ListHead) { - EfiPrintf(L"No matching memory found\r\n"); return Status; } @@ -246,6 +269,7 @@ if (!NT_SUCCESS(Status)) { EfiPrintf(L"EFI memory allocation failure\r\n"); + EfiStall(10000000); return Status; } @@ -392,9 +416,18 @@ /* Are we failing due to some attributes? */ if (Request->Flags & BlMemoryValidAllocationAttributeMask) { - EfiPrintf(L"alloc fail not yet implemented %lx in %S\r\n", Status, __FUNCTION__); - EfiStall(1000000); - return STATUS_NOT_IMPLEMENTED; + if (Request->Flags & BlMemoryLargePages) + { + EfiPrintf(L"large alloc fail not yet implemented %lx\r\n", Status); + EfiStall(1000000); + return STATUS_NOT_IMPLEMENTED; + } + if (Request->Flags & BlMemoryFixed) + { + EfiPrintf(L"fixed alloc fail not yet implemented %lx\r\n", Status); + EfiStall(1000000); + return STATUS_NOT_IMPLEMENTED; + } } /* Nope, just fail the entire call */ @@ -601,7 +634,7 @@ BlConventionalMemory); if (!NT_SUCCESS(Status)) { - EfiPrintf(L"Failed to get unmapped,unallocated memory!\r\n"); + EfiPrintf(L"Failed to get unmapped, unallocated memory!\r\n"); EfiStall(10000000); return Status; }
7 years, 7 months
1
0
0
0
← Newer
1
...
15
16
17
18
19
20
21
...
29
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Results per page:
10
25
50
100
200