Author: ekohl Date: Sat Jan 3 15:33:22 2015 New Revision: 65962
URL: http://svn.reactos.org/svn/reactos?rev=65962&view=rev Log: [USETUP] Implement pre-install 'select format' and 'format' pages. These enable the user to re-format an existing install partitition.
CORE-9005 #resolve
Modified: trunk/reactos/base/setup/usetup/fslist.c trunk/reactos/base/setup/usetup/fslist.h trunk/reactos/base/setup/usetup/host.h trunk/reactos/base/setup/usetup/interface/usetup.c trunk/reactos/base/setup/usetup/lang/bg-BG.h trunk/reactos/base/setup/usetup/lang/bn-BD.h trunk/reactos/base/setup/usetup/lang/cs-CZ.h trunk/reactos/base/setup/usetup/lang/de-DE.h trunk/reactos/base/setup/usetup/lang/el-GR.h trunk/reactos/base/setup/usetup/lang/en-US.h trunk/reactos/base/setup/usetup/lang/es-ES.h trunk/reactos/base/setup/usetup/lang/et-EE.h trunk/reactos/base/setup/usetup/lang/fr-FR.h trunk/reactos/base/setup/usetup/lang/he-IL.h trunk/reactos/base/setup/usetup/lang/it-IT.h trunk/reactos/base/setup/usetup/lang/ja-JP.h trunk/reactos/base/setup/usetup/lang/lt-LT.h trunk/reactos/base/setup/usetup/lang/nl-NL.h trunk/reactos/base/setup/usetup/lang/pl-PL.h trunk/reactos/base/setup/usetup/lang/pt-BR.h trunk/reactos/base/setup/usetup/lang/ro-RO.h trunk/reactos/base/setup/usetup/lang/ru-RU.h trunk/reactos/base/setup/usetup/lang/sk-SK.h trunk/reactos/base/setup/usetup/lang/sq-AL.h trunk/reactos/base/setup/usetup/lang/sv-SE.h trunk/reactos/base/setup/usetup/lang/tr-TR.h trunk/reactos/base/setup/usetup/lang/uk-UA.h trunk/reactos/base/setup/usetup/mui.h trunk/reactos/base/setup/usetup/native/fslist.c trunk/reactos/base/setup/usetup/partlist.c trunk/reactos/base/setup/usetup/partlist.h trunk/reactos/base/setup/usetup/usetup.h
Modified: trunk/reactos/base/setup/usetup/fslist.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/fslist.c?... ============================================================================== --- trunk/reactos/base/setup/usetup/fslist.c [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/fslist.c [iso-8859-1] Sat Jan 3 15:33:22 2015 @@ -71,7 +71,8 @@ IN SHORT Left, IN SHORT Top, IN BOOLEAN ForceFormat, - IN LPCWSTR ForceFileSystem) + IN LPCWSTR ForceFileSystem, + IN UCHAR PartitionType) { PFILE_SYSTEM_LIST List; PFILE_SYSTEM_ITEM Item; @@ -86,7 +87,7 @@ List->Selected = NULL; InitializeListHead(&List->ListHead);
- HOST_CreateFileSystemList(List); + HOST_CreateFileSystemList(List, PartitionType);
if (!ForceFormat) {
Modified: trunk/reactos/base/setup/usetup/fslist.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/fslist.h?... ============================================================================== --- trunk/reactos/base/setup/usetup/fslist.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/fslist.h [iso-8859-1] Sat Jan 3 15:33:22 2015 @@ -57,7 +57,8 @@ IN SHORT Left, IN SHORT Top, IN BOOLEAN ForceFormat, - IN LPCWSTR ForceFileSystem); + IN LPCWSTR ForceFileSystem, + IN UCHAR PartitionType);
VOID DestroyFileSystemList(
Modified: trunk/reactos/base/setup/usetup/host.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/host.h?re... ============================================================================== --- trunk/reactos/base/setup/usetup/host.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/host.h [iso-8859-1] Sat Jan 3 15:33:22 2015 @@ -22,7 +22,8 @@
BOOLEAN HOST_CreateFileSystemList( - IN PFILE_SYSTEM_LIST List); + IN PFILE_SYSTEM_LIST List, + IN UCHAR PartitionType);
BOOLEAN HOST_FormatPartition(
Modified: trunk/reactos/base/setup/usetup/interface/usetup.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/interface... ============================================================================== --- trunk/reactos/base/setup/usetup/interface/usetup.c [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/interface/usetup.c [iso-8859-1] Sat Jan 3 15:33:22 2015 @@ -1606,7 +1606,7 @@ { MUIDisplayError(ERROR_INSUFFICIENT_PARTITION_SIZE, Ir, POPUP_WAIT_ANY_KEY, RequiredPartitionDiskSpace); - continue; //return SELECT_PARTITION_PAGE; /* let the user select another partition */ + return SELECT_PARTITION_PAGE; /* let the user select another partition */ }
if (PartitionList->CurrentPartition == NULL || @@ -1622,7 +1622,7 @@
DestinationDriveLetter = (WCHAR)PartitionList->CurrentPartition->DriveLetter;
- return INSTALL_DIRECTORY_PAGE; + return PRE_INSTALL_SELECT_FORMAT_PAGE; } else if (Ir->Event.KeyEvent.wVirtualKeyCode == 'P') /* P */ { @@ -2281,7 +2281,7 @@ ULONGLONG DiskSize; ULONGLONG PartSize; PCHAR Unit; - PCHAR PartType; + PCHAR PartType = NULL; NTSTATUS Status;
if (PartitionList == NULL || @@ -2298,37 +2298,29 @@ MUIDisplayPage(DELETE_PARTITION_PAGE);
/* Determine partition type */ - PartType = NULL; - if (PartEntry->New == TRUE) - { - PartType = MUIGetString(STRING_UNFORMATTED); - } - else if (PartEntry->IsPartitioned == TRUE) - { - if ((PartEntry->PartitionType == PARTITION_FAT_12) || - (PartEntry->PartitionType == PARTITION_FAT_16) || - (PartEntry->PartitionType == PARTITION_HUGE) || - (PartEntry->PartitionType == PARTITION_XINT13)) - { - PartType = "FAT"; - } - else if ((PartEntry->PartitionType == PARTITION_FAT32) || - (PartEntry->PartitionType == PARTITION_FAT32_XINT13)) - { - PartType = "FAT32"; - } - else if (PartEntry->PartitionType == PARTITION_EXT2) - { - PartType = "EXT2"; - } - else if (PartEntry->PartitionType == PARTITION_IFS) - { - PartType = "NTFS"; /* FIXME: Not quite correct! */ - } - else if (IsContainerPartition(PartEntry->PartitionType)) - { - PartType = MUIGetString(STRING_EXTENDED_PARTITION); - } + if ((PartEntry->PartitionType == PARTITION_FAT_12) || + (PartEntry->PartitionType == PARTITION_FAT_16) || + (PartEntry->PartitionType == PARTITION_HUGE) || + (PartEntry->PartitionType == PARTITION_XINT13)) + { + PartType = "FAT"; + } + else if ((PartEntry->PartitionType == PARTITION_FAT32) || + (PartEntry->PartitionType == PARTITION_FAT32_XINT13)) + { + PartType = "FAT32"; + } + else if (PartEntry->PartitionType == PARTITION_EXT2) + { + PartType = "EXT2"; + } + else if (PartEntry->PartitionType == PARTITION_IFS) + { + PartType = "NTFS"; /* FIXME: Not quite correct! */ + } + else if (IsContainerPartition(PartEntry->PartitionType)) + { + PartType = MUIGetString(STRING_EXTENDED_PARTITION); }
PartSize = PartEntry->SectorCount.QuadPart * DiskEntry->BytesPerSector; @@ -2617,14 +2609,16 @@
PartEntry->AutoCreate = FALSE; } +#if 0 else if (PartEntry->New == TRUE) { CONSOLE_SetTextXY(6, 8, MUIGetString(STRING_NONFORMATTEDPART)); CONSOLE_SetTextXY(6, 10, MUIGetString(STRING_PARTFORMAT)); } +#endif else { - CONSOLE_SetTextXY(6, 8, MUIGetString(STRING_INSTALLONPART)); + CONSOLE_SetTextXY(6, 8, MUIGetString(STRING_FORMATPART));
if (PartType == NULL) { @@ -2661,14 +2655,12 @@
if (FileSystemList == NULL) { - FileSystemList = CreateFileSystemList(6, 26, PartEntry->New, L"FAT"); + FileSystemList = CreateFileSystemList(6, 26, TRUE, L"FAT", PARTITION_ENTRY_UNUSED); if (FileSystemList == NULL) { /* FIXME: show an error dialog */ return QUIT_PAGE; } - - /* FIXME: Add file systems to list */ }
DrawFileSystemList(FileSystemList); @@ -2691,6 +2683,8 @@ { DPRINT1("WriteDirtyPartitions() failed (Status 0x%08lx)\n", Status); MUIDisplayError(ERROR_WRITE_PTABLE, Ir, POPUP_WAIT_ENTER); + DestroyFileSystemList(FileSystemList); + FileSystemList = NULL; return QUIT_PAGE; }
@@ -2709,6 +2703,8 @@ { if (ConfirmQuit(Ir) == TRUE) { + DestroyFileSystemList(FileSystemList); + FileSystemList = NULL; return QUIT_PAGE; }
@@ -2717,6 +2713,8 @@ else if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) && (Ir->Event.KeyEvent.wVirtualKeyCode == VK_ESCAPE)) /* ESC */ { + DestroyFileSystemList(FileSystemList); + FileSystemList = NULL; return SELECT_PARTITION_PAGE; } else if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) && @@ -2780,6 +2778,8 @@ PartitionList->CurrentPartition == NULL) { /* FIXME: show an error dialog */ + DestroyFileSystemList(FileSystemList); + FileSystemList = NULL; return QUIT_PAGE; }
@@ -2798,6 +2798,8 @@ { if (ConfirmQuit(Ir) == TRUE) { + DestroyFileSystemList(FileSystemList); + FileSystemList = NULL; return QUIT_PAGE; }
@@ -2808,7 +2810,11 @@ CONSOLE_SetStatusText(MUIGetString(STRING_PLEASEWAIT));
if (!FileSystemList->Selected->FormatFunc) + { + DestroyFileSystemList(FileSystemList); + FileSystemList = NULL; return QUIT_PAGE; + }
#ifndef NDEBUG CONSOLE_PrintTextXY(6, 12, @@ -2864,11 +2870,12 @@ { DPRINT1("FormatPartition() failed with status 0x%08lx\n", Status); /* FIXME: show an error dialog */ + DestroyFileSystemList(FileSystemList); + FileSystemList = NULL; return QUIT_PAGE; }
- PartEntry->New = FALSE; - + PartEntry->FormatState = Formatted; }
#ifndef NDEBUG @@ -2965,6 +2972,347 @@ return INSTALL_DIRECTORY_PAGE; } } + + + + +static PAGE_NUMBER +PreInstallSelectFormatPage(PINPUT_RECORD Ir) +{ + PDISKENTRY DiskEntry; + PPARTENTRY PartEntry; + ULONGLONG DiskSize; + ULONGLONG PartSize; + PCHAR DiskUnit; + PCHAR PartUnit; + PCHAR PartType; + + if (PartitionList == NULL || + PartitionList->CurrentDisk == NULL || + PartitionList->CurrentPartition == NULL) + { + /* FIXME: show an error dialog */ + return QUIT_PAGE; + } + + DiskEntry = PartitionList->CurrentDisk; + PartEntry = PartitionList->CurrentPartition; + + if (PartEntry->FormatState == Formatted) + return INSTALL_DIRECTORY_PAGE; + + /* adjust disk size */ + DiskSize = DiskEntry->SectorCount.QuadPart * DiskEntry->BytesPerSector; + if (DiskSize >= 10737418240) /* 10 GB */ + { + DiskSize = DiskSize / 1073741824; + DiskUnit = MUIGetString(STRING_GB); + } + else + { + DiskSize = DiskSize / 1048576; + DiskUnit = MUIGetString(STRING_MB); + } + + /* adjust partition size */ + PartSize = PartEntry->SectorCount.QuadPart * DiskEntry->BytesPerSector; + if (PartSize >= 10737418240) /* 10 GB */ + { + PartSize = PartSize / 1073741824; + PartUnit = MUIGetString(STRING_GB); + } + else + { + PartSize = PartSize / 1048576; + PartUnit = MUIGetString(STRING_MB); + } + + /* adjust partition type */ + if ((PartEntry->PartitionType == PARTITION_FAT_12) || + (PartEntry->PartitionType == PARTITION_FAT_16) || + (PartEntry->PartitionType == PARTITION_HUGE) || + (PartEntry->PartitionType == PARTITION_XINT13)) + { + PartType = "FAT"; + } + else if ((PartEntry->PartitionType == PARTITION_FAT32) || + (PartEntry->PartitionType == PARTITION_FAT32_XINT13)) + { + PartType = "FAT32"; + } + else if (PartEntry->PartitionType == PARTITION_EXT2) + { + PartType = "EXT2"; + } + else if (PartEntry->PartitionType == PARTITION_IFS) + { + PartType = "NTFS"; /* FIXME: Not quite correct! */ + } + else if (PartEntry->PartitionType == PARTITION_ENTRY_UNUSED) + { + PartType = MUIGetString(STRING_FORMATUNUSED); + } + else + { + PartType = MUIGetString(STRING_FORMATUNKNOWN); + } + + if (PartEntry->AutoCreate == TRUE) + { + CONSOLE_SetTextXY(6, 8, MUIGetString(STRING_NEWPARTITION)); + +#if 0 + CONSOLE_PrintTextXY(8, 10, "Partition %lu (%I64u %s) %s of", + PartEntry->PartitionNumber, + PartSize, + PartUnit, + PartType); +#endif + + CONSOLE_PrintTextXY(8, 10, MUIGetString(STRING_HDINFOPARTZEROED), + DiskEntry->DiskNumber, + DiskSize, + DiskUnit, + DiskEntry->Port, + DiskEntry->Bus, + DiskEntry->Id, + &DiskEntry->DriverName); + + CONSOLE_SetTextXY(6, 12, MUIGetString(STRING_PARTFORMAT)); + + + PartEntry->AutoCreate = FALSE; + } +#if 0 + else if (PartEntry->New == TRUE) + { + CONSOLE_SetTextXY(6, 8, MUIGetString(STRING_NONFORMATTEDPART)); + CONSOLE_SetTextXY(6, 10, MUIGetString(STRING_PARTFORMAT)); + } +#endif + else + { + CONSOLE_SetTextXY(6, 8, MUIGetString(STRING_INSTALLONPART)); + + if (PartType == NULL) + { + CONSOLE_PrintTextXY(8, 10, + MUIGetString(STRING_HDDINFOUNK4), + (PartEntry->DriveLetter == 0) ? '-' : PartEntry->DriveLetter, + (PartEntry->DriveLetter == 0) ? '-' : ':', + PartEntry->PartitionType, + PartSize, + PartUnit); + } + else + { + CONSOLE_PrintTextXY(8, 10, + "%c%c %s %I64u %s", + (PartEntry->DriveLetter == 0) ? '-' : PartEntry->DriveLetter, + (PartEntry->DriveLetter == 0) ? '-' : ':', + PartType, + PartSize, + PartUnit); + } + + CONSOLE_PrintTextXY(6, 12, MUIGetString(STRING_HDINFOPARTEXISTS), + DiskEntry->DiskNumber, + DiskSize, + DiskUnit, + DiskEntry->Port, + DiskEntry->Bus, + DiskEntry->Id, + &DiskEntry->DriverName); + } + + MUIDisplayPage(SELECT_FILE_SYSTEM_PAGE); + + if (FileSystemList != NULL) + { + DestroyFileSystemList(FileSystemList); + FileSystemList = NULL; + } + + FileSystemList = CreateFileSystemList(6, 26, FALSE, L"FAT", + PartEntry->PartitionType); + if (FileSystemList == NULL) + { + /* FIXME: show an error dialog */ + return QUIT_PAGE; + } + + DrawFileSystemList(FileSystemList); + + while (TRUE) + { + CONSOLE_ConInKey(Ir); + + if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) && + (Ir->Event.KeyEvent.wVirtualKeyCode == VK_F3)) /* F3 */ + { + if (ConfirmQuit(Ir) == TRUE) + { + return QUIT_PAGE; + } + + break; + } + else if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) && + (Ir->Event.KeyEvent.wVirtualKeyCode == VK_ESCAPE)) /* ESC */ + { + return SELECT_PARTITION_PAGE; + } + else if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) && + (Ir->Event.KeyEvent.wVirtualKeyCode == VK_DOWN)) /* DOWN */ + { + ScrollDownFileSystemList(FileSystemList); + } + else if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) && + (Ir->Event.KeyEvent.wVirtualKeyCode == VK_UP)) /* UP */ + { + ScrollUpFileSystemList(FileSystemList); + } + else if (Ir->Event.KeyEvent.wVirtualKeyCode == VK_RETURN) /* ENTER */ + { + if (FileSystemList->Selected->FormatFunc) + { + return PRE_INSTALL_FORMAT_PAGE; + } + } + } + + return PRE_INSTALL_SELECT_FORMAT_PAGE; +} + + +static ULONG +PreInstallFormatPage(PINPUT_RECORD Ir) +{ + WCHAR PathBuffer[MAX_PATH]; +// PDISKENTRY DiskEntry; + PPARTENTRY PartEntry; + NTSTATUS Status; + +#ifndef NDEBUG + ULONG Line; + ULONG i; + PLIST_ENTRY Entry; +#endif + + MUIDisplayPage(FORMAT_PARTITION_PAGE); + + if (PartitionList == NULL || + PartitionList->CurrentDisk == NULL || + PartitionList->CurrentPartition == NULL) + { + /* FIXME: show an error dialog */ + return QUIT_PAGE; + } + +// DiskEntry = PartitionList->CurrentDisk; + PartEntry = PartitionList->CurrentPartition; + + while (TRUE) + { + if (!IsUnattendedSetup) + { + CONSOLE_ConInKey(Ir); + } + + if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) && + (Ir->Event.KeyEvent.wVirtualKeyCode == VK_F3)) /* F3 */ + { + if (ConfirmQuit(Ir) == TRUE) + { + return QUIT_PAGE; + } + + break; + } + else if (Ir->Event.KeyEvent.wVirtualKeyCode == VK_RETURN || IsUnattendedSetup) /* ENTER */ + { + CONSOLE_SetStatusText(MUIGetString(STRING_PLEASEWAIT)); + + if (!FileSystemList->Selected->FormatFunc) + return QUIT_PAGE; + +#ifndef NDEBUG + CONSOLE_PrintTextXY(6, 12, + "Disk: %I64u Cylinder: %I64u Track: %I64u", + DiskEntry->DiskSize, + DiskEntry->CylinderSize, + DiskEntry->TrackSize); + + Line = 13; + DiskEntry = PartitionList->CurrentDisk; + Entry = DiskEntry->PartListHead.Flink; + + while (Entry != &DiskEntry->PrimaryPartListHead) + { + PartEntry = CONTAINING_RECORD(Entry, PARTENTRY, ListEntry); + + if (PartEntry->IsPartitioned == TRUE) + { + CONSOLE_PrintTextXY(6, Line, + "%2u: %2u %c %12I64u %12I64u %2u %c", + i, + PartEntry->PartitionNumber, + PartEntry->BootIndicator ? 'A' : '-', + PartEntry->StartSector.QuadPart, + PartEntry->SectorCount.QuadPart, + PartEntry->PartitionType, + PartEntry->Dirty ? '*' : ' '); + Line++; + } + + Entry = Entry->Flink; + } + + /* Restore the old entry */ + PartEntry = PartitionList->CurrentPartition; +#endif + + /* Set DestinationRootPath */ + RtlFreeUnicodeString(&DestinationRootPath); + swprintf(PathBuffer, + L"\Device\Harddisk%lu\Partition%lu", + PartitionList->CurrentDisk->DiskNumber, + PartitionList->CurrentPartition->PartitionNumber); + RtlCreateUnicodeString(&DestinationRootPath, + PathBuffer); + DPRINT("DestinationRootPath: %wZ\n", &DestinationRootPath); + + if (FileSystemList->Selected->FormatFunc) + { + Status = FormatPartition(&DestinationRootPath, + FileSystemList->Selected); + if (!NT_SUCCESS(Status)) + { + DPRINT1("FormatPartition() failed with status 0x%08lx\n", Status); + /* FIXME: show an error dialog */ + return QUIT_PAGE; + } + + PartEntry->FormatState = Formatted; + } + +#ifndef NDEBUG + CONSOLE_SetStatusText(" Done. Press any key ..."); + CONSOLE_ConInKey(Ir); +#endif + + DestroyFileSystemList(FileSystemList); + FileSystemList = NULL; + + return INSTALL_DIRECTORY_PAGE; + } + } + + return PRE_INSTALL_FORMAT_PAGE; +} + + +
static PAGE_NUMBER @@ -4278,11 +4626,19 @@ 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 PRE_INSTALL_SELECT_FORMAT_PAGE: + Page = PreInstallSelectFormatPage(&Ir); + break; + + case PRE_INSTALL_FORMAT_PAGE: + Page = PreInstallFormatPage(&Ir); break;
case INSTALL_DIRECTORY_PAGE:
Modified: trunk/reactos/base/setup/usetup/lang/bg-BG.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/lang/bg-B... ============================================================================== --- trunk/reactos/base/setup/usetup/lang/bg-BG.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/lang/bg-BG.h [iso-8859-1] Sat Jan 3 15:33:22 2015 @@ -1753,5 +1753,7 @@ ""}, {STRING_ADDKBLAYOUTS, "®¡ ¢ï¥ ª« ¢¨ âãਠ¯®¤à¥¤¡¨"}, + {STRING_FORMATPART, + "Setup formats Partition"}, {0, 0} };
Modified: trunk/reactos/base/setup/usetup/lang/bn-BD.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/lang/bn-B... ============================================================================== --- trunk/reactos/base/setup/usetup/lang/bn-BD.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/lang/bn-BD.h [iso-8859-1] Sat Jan 3 15:33:22 2015 @@ -1737,5 +1737,7 @@ "GB"}, {STRING_ADDKBLAYOUTS, "Adding keyboard layouts"}, + {STRING_FORMATPART, + "Setup formats Partition"}, {0, 0} };
Modified: trunk/reactos/base/setup/usetup/lang/cs-CZ.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/lang/cs-C... ============================================================================== --- trunk/reactos/base/setup/usetup/lang/cs-CZ.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/lang/cs-CZ.h [iso-8859-1] Sat Jan 3 15:33:22 2015 @@ -1746,5 +1746,7 @@ "GB"}, {STRING_ADDKBLAYOUTS, "Pýid v m rozlo§en¡ kl ves"}, + {STRING_FORMATPART, + "Setup formats Partition"}, {0, 0} };
Modified: trunk/reactos/base/setup/usetup/lang/de-DE.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/lang/de-D... ============================================================================== --- trunk/reactos/base/setup/usetup/lang/de-DE.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/lang/de-DE.h [iso-8859-1] Sat Jan 3 15:33:22 2015 @@ -1742,5 +1742,7 @@ "GB"}, {STRING_ADDKBLAYOUTS, "Tastaturlayout hinzufgen"}, + {STRING_FORMATPART, + "Setup formats Partition"}, {0, 0} };
Modified: trunk/reactos/base/setup/usetup/lang/el-GR.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/lang/el-G... ============================================================================== --- trunk/reactos/base/setup/usetup/lang/el-GR.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/lang/el-GR.h [iso-8859-1] Sat Jan 3 15:33:22 2015 @@ -1763,5 +1763,7 @@ "GB"}, {STRING_ADDKBLAYOUTS, "夫 §¨¦©ã¡ «à¤ «á¥à¤ §¢¡«¨¦¢¦å¦¬"}, + {STRING_FORMATPART, + "Setup formats Partition"}, {0, 0} };
Modified: trunk/reactos/base/setup/usetup/lang/en-US.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/lang/en-U... ============================================================================== --- trunk/reactos/base/setup/usetup/lang/en-US.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/lang/en-US.h [iso-8859-1] Sat Jan 3 15:33:22 2015 @@ -1737,5 +1737,7 @@ "GB"}, {STRING_ADDKBLAYOUTS, "Adding keyboard layouts"}, + {STRING_FORMATPART, + "Setup formats Partition"}, {0, 0} };
Modified: trunk/reactos/base/setup/usetup/lang/es-ES.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/lang/es-E... ============================================================================== --- trunk/reactos/base/setup/usetup/lang/es-ES.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/lang/es-ES.h [iso-8859-1] Sat Jan 3 15:33:22 2015 @@ -1745,5 +1745,7 @@ "GB"}, {STRING_ADDKBLAYOUTS, "A¤adiendo distribuci¢n de teclado"}, + {STRING_FORMATPART, + "Setup formats Partition"}, {0, 0} };
Modified: trunk/reactos/base/setup/usetup/lang/et-EE.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/lang/et-E... ============================================================================== --- trunk/reactos/base/setup/usetup/lang/et-EE.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/lang/et-EE.h [iso-8859-1] Sat Jan 3 15:33:22 2015 @@ -1738,5 +1738,7 @@ "GB"}, {STRING_ADDKBLAYOUTS, "Klaviatuuriasetuste lisamine"}, + {STRING_FORMATPART, + "Setup formats Partition"}, {0, 0} };
Modified: trunk/reactos/base/setup/usetup/lang/fr-FR.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/lang/fr-F... ============================================================================== --- trunk/reactos/base/setup/usetup/lang/fr-FR.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/lang/fr-FR.h [iso-8859-1] Sat Jan 3 15:33:22 2015 @@ -1751,5 +1751,7 @@ "Go"}, {STRING_ADDKBLAYOUTS, "Ajout des dispositions clavier"}, + {STRING_FORMATPART, + "Setup formats Partition"}, {0, 0} };
Modified: trunk/reactos/base/setup/usetup/lang/he-IL.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/lang/he-I... ============================================================================== --- trunk/reactos/base/setup/usetup/lang/he-IL.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/lang/he-IL.h [iso-8859-1] Sat Jan 3 15:33:22 2015 @@ -1739,5 +1739,7 @@ ""}, {STRING_ADDKBLAYOUTS, "Adding keyboard layouts"}, + {STRING_FORMATPART, + "Setup formats Partition"}, {0, 0} };
Modified: trunk/reactos/base/setup/usetup/lang/it-IT.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/lang/it-I... ============================================================================== --- trunk/reactos/base/setup/usetup/lang/it-IT.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/lang/it-IT.h [iso-8859-1] Sat Jan 3 15:33:22 2015 @@ -1740,5 +1740,7 @@ "GB"}, {STRING_ADDKBLAYOUTS, "Aggiunta delle nazionalit di tastiera"}, + {STRING_FORMATPART, + "Setup formats Partition"}, {0, 0} };
Modified: trunk/reactos/base/setup/usetup/lang/ja-JP.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/lang/ja-J... ============================================================================== --- trunk/reactos/base/setup/usetup/lang/ja-JP.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/lang/ja-JP.h [iso-8859-1] Sat Jan 3 15:33:22 2015 @@ -1741,5 +1741,7 @@ "GB"}, {STRING_ADDKBLAYOUTS, "·°ÎÞ°ÄÞ Ú²±³ÄÉ Â²¶ Á³"}, + {STRING_FORMATPART, + "Setup formats Partition"}, {0, 0} };
Modified: trunk/reactos/base/setup/usetup/lang/lt-LT.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/lang/lt-L... ============================================================================== --- trunk/reactos/base/setup/usetup/lang/lt-LT.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/lang/lt-LT.h [iso-8859-1] Sat Jan 3 15:33:22 2015 @@ -1748,5 +1748,7 @@ "GB"}, {STRING_ADDKBLAYOUTS, "Adding keyboard layouts"}, + {STRING_FORMATPART, + "Setup formats Partition"}, {0, 0} };
Modified: trunk/reactos/base/setup/usetup/lang/nl-NL.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/lang/nl-N... ============================================================================== --- trunk/reactos/base/setup/usetup/lang/nl-NL.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/lang/nl-NL.h [iso-8859-1] Sat Jan 3 15:33:22 2015 @@ -1786,5 +1786,7 @@ "GB"}, {STRING_ADDKBLAYOUTS, "Toevoegen toetsenbordindelingen"}, + {STRING_FORMATPART, + "Setup formats Partition"}, {0, 0} };
Modified: trunk/reactos/base/setup/usetup/lang/pl-PL.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/lang/pl-P... ============================================================================== --- trunk/reactos/base/setup/usetup/lang/pl-PL.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/lang/pl-PL.h [iso-8859-1] Sat Jan 3 15:33:22 2015 @@ -1746,5 +1746,7 @@ "GB"}, {STRING_ADDKBLAYOUTS, "Dodawanie ukad¢w klawiatury"}, + {STRING_FORMATPART, + "Setup formats Partition"}, {0, 0} };
Modified: trunk/reactos/base/setup/usetup/lang/pt-BR.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/lang/pt-B... ============================================================================== --- trunk/reactos/base/setup/usetup/lang/pt-BR.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/lang/pt-BR.h [iso-8859-1] Sat Jan 3 15:33:22 2015 @@ -1777,5 +1777,7 @@ "GB"}, {STRING_ADDKBLAYOUTS, "Adicionando leiautes de teclado"}, + {STRING_FORMATPART, + "Setup formats Partition"}, {0, 0} };
Modified: trunk/reactos/base/setup/usetup/lang/ro-RO.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/lang/ro-R... ============================================================================== --- trunk/reactos/base/setup/usetup/lang/ro-RO.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/lang/ro-RO.h [iso-8859-1] Sat Jan 3 15:33:22 2015 @@ -1814,5 +1814,7 @@ "Go"}, {STRING_ADDKBLAYOUTS, "AdÇugare configuraîii de tastaturÇ"}, + {STRING_FORMATPART, + "Setup formats Partition"}, {0, 0} };
Modified: trunk/reactos/base/setup/usetup/lang/ru-RU.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/lang/ru-R... ============================================================================== --- trunk/reactos/base/setup/usetup/lang/ru-RU.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/lang/ru-RU.h [iso-8859-1] Sat Jan 3 15:33:22 2015 @@ -1742,5 +1742,7 @@ ""}, {STRING_ADDKBLAYOUTS, "Adding keyboard layouts"}, + {STRING_FORMATPART, + "Setup formats Partition"}, {0, 0} };
Modified: trunk/reactos/base/setup/usetup/lang/sk-SK.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/lang/sk-S... ============================================================================== --- trunk/reactos/base/setup/usetup/lang/sk-SK.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/lang/sk-SK.h [iso-8859-1] Sat Jan 3 15:33:22 2015 @@ -1752,5 +1752,7 @@ "GB"}, {STRING_ADDKBLAYOUTS, "Prid vam rozlo§enia kl vesnice"}, + {STRING_FORMATPART, + "Setup formats Partition"}, {0, 0} };
Modified: trunk/reactos/base/setup/usetup/lang/sq-AL.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/lang/sq-A... ============================================================================== --- trunk/reactos/base/setup/usetup/lang/sq-AL.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/lang/sq-AL.h [iso-8859-1] Sat Jan 3 15:33:22 2015 @@ -1744,5 +1744,7 @@ "GB"}, {STRING_ADDKBLAYOUTS, "Shtim e przgjedhjes s tastiers"}, + {STRING_FORMATPART, + "Setup formats Partition"}, {0, 0} };
Modified: trunk/reactos/base/setup/usetup/lang/sv-SE.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/lang/sv-S... ============================================================================== --- trunk/reactos/base/setup/usetup/lang/sv-SE.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/lang/sv-SE.h [iso-8859-1] Sat Jan 3 15:33:22 2015 @@ -1747,5 +1747,7 @@ "GB"}, {STRING_ADDKBLAYOUTS, "Lgger till tangentbordslayouter"}, + {STRING_FORMATPART, + "Setup formats Partition"}, {0, 0} };
Modified: trunk/reactos/base/setup/usetup/lang/tr-TR.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/lang/tr-T... ============================================================================== --- trunk/reactos/base/setup/usetup/lang/tr-TR.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/lang/tr-TR.h [iso-8859-1] Sat Jan 3 15:33:22 2015 @@ -1725,5 +1725,7 @@ "GB"}, {STRING_ADDKBLAYOUTS, "D§me takm dzenleri ekleniyor..."}, + {STRING_FORMATPART, + "Setup formats Partition"}, {0, 0} };
Modified: trunk/reactos/base/setup/usetup/lang/uk-UA.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/lang/uk-U... ============================================================================== --- trunk/reactos/base/setup/usetup/lang/uk-UA.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/lang/uk-UA.h [iso-8859-1] Sat Jan 3 15:33:22 2015 @@ -1747,5 +1747,7 @@ "GB"}, {STRING_ADDKBLAYOUTS, "®¤ ¢ ï à®§ª« ¤®ª ª« ¢i âãà¨"}, + {STRING_FORMATPART, + "Setup formats Partition"}, {0, 0} };
Modified: trunk/reactos/base/setup/usetup/mui.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/mui.h?rev... ============================================================================== --- trunk/reactos/base/setup/usetup/mui.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/mui.h [iso-8859-1] Sat Jan 3 15:33:22 2015 @@ -156,3 +156,5 @@ #define STRING_MB 54 #define STRING_GB 55 #define STRING_ADDKBLAYOUTS 56 +#define STRING_FORMATPART 62 +
Modified: trunk/reactos/base/setup/usetup/native/fslist.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/native/fs... ============================================================================== --- trunk/reactos/base/setup/usetup/native/fslist.c [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/native/fslist.c [iso-8859-1] Sat Jan 3 15:33:22 2015 @@ -2,12 +2,36 @@
BOOLEAN NATIVE_CreateFileSystemList( - IN PFILE_SYSTEM_LIST List) + IN PFILE_SYSTEM_LIST List, + IN UCHAR PartitionType) { - FS_AddProvider(List, L"FAT", VfatFormat, VfatChkdsk); + if (PartitionType == PARTITION_ENTRY_UNUSED || + PartitionType == PARTITION_FAT_12 || + PartitionType == PARTITION_FAT_16 || + PartitionType == PARTITION_HUGE || + PartitionType == PARTITION_XINT13 || + PartitionType == PARTITION_FAT32 || + PartitionType == PARTITION_FAT32_XINT13) + { + FS_AddProvider(List, L"FAT", VfatFormat, VfatChkdsk); + } + #if 0 - FS_AddProvider(List, L"EXT2", Ext2Format, Ext2Chkdsk); + if (PartitionType == PARTITION_ENTRY_UNUSED || + PartitionType == PARTITION_EXT2) + { + FS_AddProvider(List, L"EXT2", Ext2Format, Ext2Chkdsk); + } #endif + +#if 0 + if (PartitionType == PARTITION_ENTRY_UNUSED || + PartitionType == PARTITION_IFS) + { + FS_AddProvider(List, L"NTFS", NtfsFormat, NtfsChkdsk); + } +#endif + return TRUE; }
Modified: trunk/reactos/base/setup/usetup/partlist.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/partlist.... ============================================================================== --- trunk/reactos/base/setup/usetup/partlist.c [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/partlist.c [iso-8859-1] Sat Jan 3 15:33:22 2015 @@ -558,7 +558,7 @@
if (IsContainerPartition(PartEntry->PartitionType)) { - PartEntry->FormatState = Unformatted; + PartEntry->FormatState = Formatted;
if (LogicalPartition == FALSE && DiskEntry->ExtendedPartition == NULL) DiskEntry->ExtendedPartition = PartEntry; @@ -1499,11 +1499,7 @@ { /* Determine partition type */ PartType = NULL; - if (PartEntry->New == TRUE) - { - PartType = MUIGetString(STRING_UNFORMATTED); - } - else if (PartEntry->IsPartitioned == TRUE) + if (PartEntry->IsPartitioned == TRUE) { if ((PartEntry->PartitionType == PARTITION_FAT_12) || (PartEntry->PartitionType == PARTITION_FAT_16) || @@ -2386,7 +2382,6 @@ PartEntry->PartitionType = PARTITION_ENTRY_UNUSED; PartEntry->FormatState = Unformatted; PartEntry->AutoCreate = AutoCreate; - PartEntry->New = TRUE; PartEntry->BootIndicator = FALSE;
DPRINT1("First Sector: %I64u\n", PartEntry->StartSector.QuadPart); @@ -2420,7 +2415,6 @@ DPRINT1("Last Sector: %I64u\n", NewPartEntry->StartSector.QuadPart + NewPartEntry->SectorCount.QuadPart - 1); DPRINT1("Total Sectors: %I64u\n", NewPartEntry->SectorCount.QuadPart);
- NewPartEntry->New = TRUE; NewPartEntry->FormatState = Unformatted; NewPartEntry->BootIndicator = FALSE;
@@ -2505,7 +2499,6 @@ PartEntry->IsPartitioned = TRUE; PartEntry->FormatState = Formatted; PartEntry->AutoCreate = FALSE; - PartEntry->New = FALSE; PartEntry->BootIndicator = FALSE;
if (PartEntry->StartSector.QuadPart < 1450560) @@ -2547,7 +2540,6 @@ NewPartEntry->SectorCount.QuadPart = Align(NewPartEntry->StartSector.QuadPart + SectorCount, DiskEntry->SectorAlignment) - NewPartEntry->StartSector.QuadPart;
- NewPartEntry->New = FALSE; NewPartEntry->FormatState = Formatted; NewPartEntry->BootIndicator = FALSE;
Modified: trunk/reactos/base/setup/usetup/partlist.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/partlist.... ============================================================================== --- trunk/reactos/base/setup/usetup/partlist.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/partlist.h [iso-8859-1] Sat Jan 3 15:33:22 2015 @@ -63,7 +63,7 @@ BOOLEAN IsPartitioned;
/* Partition is new. Table does not exist on disk yet */ - BOOLEAN New; +// BOOLEAN New;
/* Partition was created automatically. */ BOOLEAN AutoCreate;
Modified: trunk/reactos/base/setup/usetup/usetup.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/usetup.h?... ============================================================================== --- trunk/reactos/base/setup/usetup/usetup.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/usetup.h [iso-8859-1] Sat Jan 3 15:33:22 2015 @@ -138,8 +138,11 @@ FORMAT_PARTITION_PAGE, CHECK_FILE_SYSTEM_PAGE,
+ PRE_INSTALL_SELECT_FORMAT_PAGE, + PRE_INSTALL_FORMAT_PAGE, + + INSTALL_DIRECTORY_PAGE, PREPARE_COPY_PAGE, - INSTALL_DIRECTORY_PAGE, FILE_COPY_PAGE, REGISTRY_PAGE, BOOT_LOADER_PAGE,