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?r…
==============================================================================
--- 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/interfac…
==============================================================================
--- 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-…
==============================================================================
--- 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-…
==============================================================================
--- 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-…
==============================================================================
--- 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-…
==============================================================================
--- 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-…
==============================================================================
--- 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-…
==============================================================================
--- 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-…
==============================================================================
--- 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-…
==============================================================================
--- 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-…
==============================================================================
--- 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-…
==============================================================================
--- 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-…
==============================================================================
--- 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-…
==============================================================================
--- 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-…
==============================================================================
--- 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-…
==============================================================================
--- 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-…
==============================================================================
--- 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-…
==============================================================================
--- 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-…
==============================================================================
--- 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-…
==============================================================================
--- 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-…
==============================================================================
--- 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-…
==============================================================================
--- 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-…
==============================================================================
--- 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-…
==============================================================================
--- 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-…
==============================================================================
--- 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?re…
==============================================================================
--- 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/f…
==============================================================================
--- 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,