Author: ekohl Date: Tue May 20 23:48:36 2014 New Revision: 63392
URL: http://svn.reactos.org/svn/reactos?rev=63392&view=rev Log: [USETUP] - Implement creation of extended partitions. - Add creation checks for primary and extended partitions.
Modified: trunk/reactos/base/setup/usetup/errorcode.h trunk/reactos/base/setup/usetup/interface/usetup.c trunk/reactos/base/setup/usetup/lang/bg-BG.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/partlist.c trunk/reactos/base/setup/usetup/partlist.h trunk/reactos/base/setup/usetup/usetup.h
Modified: trunk/reactos/base/setup/usetup/errorcode.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/errorcode... ============================================================================== --- trunk/reactos/base/setup/usetup/errorcode.h [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/errorcode.h [iso-8859-1] Tue May 20 23:48:36 2014 @@ -28,7 +28,8 @@
typedef enum { - ERROR_NOT_INSTALLED = 0, + NOT_AN_ERROR = 0, + ERROR_NOT_INSTALLED, ERROR_NO_HDD, ERROR_NO_SOURCE_DRIVE, ERROR_LOAD_TXTSETUPSIF, @@ -67,6 +68,12 @@ ERROR_UPDATE_GEOID, ERROR_INSUFFICIENT_DISKSPACE,
+ ERROR_PARTITION_TABLE_FULL, + ERROR_ONLY_ONE_EXTENDED, + ERROR_NOT_BEHIND_EXTENDED, + ERROR_EXTENDED_NOT_LAST, + + ERROR_LAST_ERROR_CODE }ERROR_NUMBER;
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] Tue May 20 23:48:36 2014 @@ -1463,12 +1463,14 @@ static PAGE_NUMBER SelectPartitionPage(PINPUT_RECORD Ir) { + ULONG Error; + MUIDisplayPage(SELECT_PARTITION_PAGE);
if (PartitionList == NULL) { PartitionList = CreatePartitionList(2, - 19, + 21, xScreen - 3, yScreen - 3); if (PartitionList == NULL) @@ -1521,9 +1523,9 @@ return SELECT_PARTITION_PAGE; /* let the user select another partition */ } #endif - CreateNewPartition(PartitionList, - PartitionList->CurrentPartition->SectorCount.QuadPart, - TRUE); + CreatePrimaryPartition(PartitionList, + PartitionList->CurrentPartition->SectorCount.QuadPart, + TRUE);
DestinationDriveLetter = (WCHAR)PartitionList->CurrentPartition->DriveLetter;
@@ -1553,6 +1555,10 @@ { CONSOLE_SetStatusText(MUIGetString(STRING_INSTALLCREATEPARTITION)); } + else if (IsContainerPartition(PartitionList->CurrentPartition->PartitionType)) + { + CONSOLE_SetStatusText(MUIGetString(STRING_DELETEPARTITION)); + } else { CONSOLE_SetStatusText(MUIGetString(STRING_INSTALLDELETEPARTITION)); @@ -1591,27 +1597,42 @@ return SELECT_PARTITION_PAGE; /* let the user select another partition */ } #endif + if (IsContainerPartition(PartitionList->CurrentPartition->PartitionType)) + continue; //return SELECT_PARTITION_PAGE; + if (PartitionList->CurrentPartition == NULL || PartitionList->CurrentPartition->IsPartitioned == FALSE) { - CreateNewPartition(PartitionList, - 0ULL, - TRUE); + CreatePrimaryPartition(PartitionList, + 0ULL, + TRUE); }
DestinationDriveLetter = (WCHAR)PartitionList->CurrentPartition->DriveLetter;
return SELECT_FILE_SYSTEM_PAGE; } - else if (Ir->Event.KeyEvent.wVirtualKeyCode == 'C') /* C */ - { - if (PartitionList->CurrentPartition->IsPartitioned == TRUE) - { - MUIDisplayError(ERROR_NEW_PARTITION, Ir, POPUP_WAIT_ANY_KEY); + else if (Ir->Event.KeyEvent.wVirtualKeyCode == 'P') /* P */ + { + Error = PrimaryPartitionCreationChecks(PartitionList); + if (Error != NOT_AN_ERROR) + { + MUIDisplayError(Error, Ir, POPUP_WAIT_ANY_KEY); return SELECT_PARTITION_PAGE; }
- return CREATE_PARTITION_PAGE; + return CREATE_PRIMARY_PARTITION_PAGE; + } + else if (Ir->Event.KeyEvent.wVirtualKeyCode == 'E') /* E */ + { + Error = ExtendedPartitionCreationChecks(PartitionList); + if (Error != NOT_AN_ERROR) + { + MUIDisplayError(Error, Ir, POPUP_WAIT_ANY_KEY); + return SELECT_PARTITION_PAGE; + } + + return CREATE_EXTENDED_PARTITION_PAGE; } else if (Ir->Event.KeyEvent.wVirtualKeyCode == 'D') /* D */ { @@ -1773,7 +1794,7 @@
static PAGE_NUMBER -CreatePartitionPage(PINPUT_RECORD Ir) +CreatePrimaryPartitionPage(PINPUT_RECORD Ir) { PDISKENTRY DiskEntry; PPARTENTRY PartEntry; @@ -1907,15 +1928,161 @@
DPRINT ("Partition size: %I64u bytes\n", PartSize);
- CreateNewPartition(PartitionList, - SectorCount, - FALSE); + CreatePrimaryPartition(PartitionList, + SectorCount, + FALSE);
return SELECT_PARTITION_PAGE; } }
- return CREATE_PARTITION_PAGE; + return CREATE_PRIMARY_PARTITION_PAGE; +} + + +static PAGE_NUMBER +CreateExtendedPartitionPage(PINPUT_RECORD Ir) +{ + PDISKENTRY DiskEntry; + PPARTENTRY PartEntry; + BOOLEAN Quit; + BOOLEAN Cancel; + CHAR InputBuffer[50]; + ULONG MaxSize; + ULONGLONG PartSize; + ULONGLONG DiskSize; + ULONGLONG SectorCount; + PCHAR Unit; + + if (PartitionList == NULL || + PartitionList->CurrentDisk == NULL || + PartitionList->CurrentPartition == NULL) + { + /* FIXME: show an error dialog */ + return QUIT_PAGE; + } + + DiskEntry = PartitionList->CurrentDisk; + PartEntry = PartitionList->CurrentPartition; + + CONSOLE_SetStatusText(MUIGetString(STRING_PLEASEWAIT)); + + CONSOLE_SetTextXY(6, 8, MUIGetString(STRING_CHOOSE_NEW_EXTENDED_PARTITION)); + + DiskSize = DiskEntry->SectorCount.QuadPart * DiskEntry->BytesPerSector; +#if 0 + if (DiskSize >= 10737418240) /* 10 GB */ + { + DiskSize = DiskSize / 1073741824; + Unit = MUIGetString(STRING_GB); + } + else +#endif + { + DiskSize = DiskSize / 1048576; + if (DiskSize == 0) + DiskSize = 1; + + Unit = MUIGetString(STRING_MB); + } + + if (DiskEntry->DriverName.Length > 0) + { + CONSOLE_PrintTextXY(6, 10, + MUIGetString(STRING_HDINFOPARTCREATE), + DiskSize, + Unit, + DiskEntry->DiskNumber, + DiskEntry->Port, + DiskEntry->Bus, + DiskEntry->Id, + &DiskEntry->DriverName); + } + else + { + CONSOLE_PrintTextXY(6, 10, + MUIGetString(STRING_HDDINFOUNK1), + DiskSize, + Unit, + DiskEntry->DiskNumber, + DiskEntry->Port, + DiskEntry->Bus, + DiskEntry->Id); + } + + CONSOLE_SetTextXY(6, 12, MUIGetString(STRING_HDDSIZE)); + +#if 0 + CONSOLE_PrintTextXY(8, 10, "Maximum size of the new partition is %I64u MB", + PartitionList->CurrentPartition->SectorCount * DiskEntry->BytesPerSector / 1048576); +#endif + + CONSOLE_SetStatusText(MUIGetString(STRING_CREATEPARTITION)); + + PartEntry = PartitionList->CurrentPartition; + while (TRUE) + { + MaxSize = (PartEntry->SectorCount.QuadPart * DiskEntry->BytesPerSector) / 1048576; /* in MBytes (rounded) */ + + if (MaxSize > PARTITION_MAXSIZE) + MaxSize = PARTITION_MAXSIZE; + + ShowPartitionSizeInputBox(12, 14, xScreen - 12, 17, /* left, top, right, bottom */ + MaxSize, InputBuffer, &Quit, &Cancel); + + if (Quit == TRUE) + { + if (ConfirmQuit (Ir) == TRUE) + { + return QUIT_PAGE; + } + } + else if (Cancel == TRUE) + { + return SELECT_PARTITION_PAGE; + } + else + { + PartSize = atoi(InputBuffer); + + if (PartSize < 1) + { + /* Too small */ + continue; + } + + if (PartSize > MaxSize) + { + /* Too large */ + continue; + } + + /* Convert to bytes */ + if (PartSize == MaxSize) + { + /* Use all of the unpartitioned disk space */ + SectorCount = PartEntry->SectorCount.QuadPart; + } + else + { + /* Calculate the sector count from the size in MB */ + SectorCount = PartSize * 1048576 / DiskEntry->BytesPerSector; + + /* But never get larger than the unpartitioned disk space */ + if (SectorCount > PartEntry->SectorCount.QuadPart) + SectorCount = PartEntry->SectorCount.QuadPart; + } + + DPRINT ("Partition size: %I64u bytes\n", PartSize); + + CreateExtendedPartition(PartitionList, + SectorCount); + + return SELECT_PARTITION_PAGE; + } + } + + return CREATE_EXTENDED_PARTITION_PAGE; }
@@ -3848,8 +4015,12 @@ Page = SelectPartitionPage(&Ir); break;
- case CREATE_PARTITION_PAGE: - Page = CreatePartitionPage(&Ir); + case CREATE_PRIMARY_PARTITION_PAGE: + Page = CreatePrimaryPartitionPage(&Ir); + break; + + case CREATE_EXTENDED_PARTITION_PAGE: + Page = CreateExtendedPartitionPage(&Ir); break;
case DELETE_PARTITION_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] Tue May 20 23:48:36 2014 @@ -828,12 +828,19 @@ { 8, 15, - "\x07 â¨á¥â¥ C § áꧤ ¢ ¥ ®¢ ¤ï«.", + "\x07 Press P to create a primary partition.", +// "\x07 â¨á¥â¥ C § áꧤ ¢ ¥ ®¢ ¤ï«.", TEXT_STYLE_NORMAL }, { 8, 17, + "\x07 Press E to create an extended partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 19, "\x07 â¨á¥â¥ D § ¨§âਢ ¥ áêé¥áâ¢ã¢ é ¤ï«.", TEXT_STYLE_NORMAL }, @@ -1288,6 +1295,10 @@
MUI_ERROR bgBGErrorEntries[] = { + { + // NOT_AN_ERROR + "Success\n" + }, { //ERROR_NOT_INSTALLED "¥ ªâ ¥ ¥ ¯ê«® á«®¦¥ ª®¬¯îâêà \n" @@ -1501,6 +1512,32 @@ NULL }, { + //ERROR_PARTITION_TABLE_FULL, + "You can not create a new primary or extended partition in the\n" + "partition table of this disk because the partition table is full.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_ONLY_ONE_EXTENDED, + "You can not create more than one extended partition per disk.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_NOT_BEHIND_EXTENDED, + "You can not create a partition behind an extended partition.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_EXTENDED_NOT_LAST, + "An extended partition must always be the last\n" + "partition in a partition table.\n" + "\n" + " * Press any key to continue." + }, + { NULL, NULL } @@ -1612,13 +1649,19 @@ {STRING_PLEASEWAIT, " ®ç ª ©â¥..."}, {STRING_INSTALLCREATEPARTITION, - " ENTER = « £ ¥ C = ꧤ ¢ ¥ ¤ï« F3 = §å®¤"}, + " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, +// " ENTER = « £ ¥ C = ꧤ ¢ ¥ ¤ï« F3 = §å®¤"}, {STRING_INSTALLDELETEPARTITION, " ENTER = « £ ¥ D = §âਢ ¥ ¤ï« F3 = §å®¤"}, + {STRING_DELETEPARTITION, + " D = Delete Partition F3 = Quit"}, {STRING_PARTITIONSIZE, " §¬¥à ®¢¨ï ¤ï«:"}, {STRING_CHOOSENEWPARTITION, - "§¡à «¨ á⥠¤ áꧤ ¤¥â¥ ®¢ ¤ï« "}, + "You have chosen to create a primary partition on"}, +// "§¡à «¨ á⥠¤ áꧤ ¤¥â¥ ®¢ ¤ï« "}, + {STRING_CHOOSE_NEW_EXTENDED_PARTITION, + "You have chosen to create an extended partition on"}, {STRING_HDDSIZE, "ꢥ¤¥â¥ à §¬¥à ®¢¨ï ¤ï« (¢ ¬¥£ ¡ ©â¨)."}, {STRING_CREATEPARTITION, @@ -1701,6 +1744,8 @@ " ¥à §¯à¥¤¥«¥® ¬ïáâ® %6lu %s"}, {STRING_MAXSIZE, " (¤® %lu )"}, + {STRING_EXTENDED_PARTITION, + "Extended Partition"}, {STRING_UNFORMATTED, "®¢ (¥ä®à¬ â¨à )"}, {STRING_FORMATUNUSED,
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] Tue May 20 23:48:36 2014 @@ -827,12 +827,19 @@ { 8, 15, - "\x07 Stisknut¡m C umo§n¡te vytvoýen¡ novho odd¡lu.", + "\x07 Press P to create a primary partition.", +// "\x07 Stisknut¡m C umo§n¡te vytvoýen¡ novho odd¡lu.", TEXT_STYLE_NORMAL }, { 8, 17, + "\x07 Press E to create an extended partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 19, "\x07 Stisknut¡m D umo§n¡te smaz n¡ existuj¡c¡ho odd¡lu.", TEXT_STYLE_NORMAL }, @@ -1286,6 +1293,10 @@
MUI_ERROR csCZErrorEntries[] = { + { + // NOT_AN_ERROR + "Success\n" + }, { //ERROR_NOT_INSTALLED "ReactOS nen¡ ve vaçem po¡tai kompletnØ nainstalov n.\n" @@ -1497,6 +1508,32 @@ NULL }, { + //ERROR_PARTITION_TABLE_FULL, + "You can not create a new primary or extended partition in the\n" + "partition table of this disk because the partition table is full.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_ONLY_ONE_EXTENDED, + "You can not create more than one extended partition per disk.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_NOT_BEHIND_EXTENDED, + "You can not create a partition behind an extended partition.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_EXTENDED_NOT_LAST, + "An extended partition must always be the last\n" + "partition in a partition table.\n" + "\n" + " * Press any key to continue." + }, + { NULL, NULL } @@ -1608,13 +1645,19 @@ {STRING_PLEASEWAIT, " ¬ekejte, pros¡m..."}, {STRING_INSTALLCREATEPARTITION, - " ENTER = Instalovat C = Vytvoýit odd¡l F3 = Ukonit"}, + " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, +// " ENTER = Instalovat C = Vytvoýit odd¡l F3 = Ukonit"}, {STRING_INSTALLDELETEPARTITION, " ENTER = Instalovat D = Odstranit odd¡l F3 = Ukonit"}, + {STRING_DELETEPARTITION, + " D = Delete Partition F3 = Quit"}, {STRING_PARTITIONSIZE, "Velikost novho odd¡lu:"}, {STRING_CHOOSENEWPARTITION, - "Zvolili jste vytvoýen¡ novho odd¡lu na"}, + "You have chosen to create a primary partition on"}, +// "Zvolili jste vytvoýen¡ novho odd¡lu na"}, + {STRING_CHOOSE_NEW_EXTENDED_PARTITION, + "You have chosen to create an extended partition on"}, {STRING_HDDSIZE, "Zadejte velikost novho odd¡lu v megabajtech."}, {STRING_CREATEPARTITION, @@ -1697,6 +1740,8 @@ " M¡sto bez odd¡l %6lu %s"}, {STRING_MAXSIZE, "MB (max. %lu MB)"}, + {STRING_EXTENDED_PARTITION, + "Extended Partition"}, {STRING_UNFORMATTED, "Novì (Nenaform tovanì)"}, {STRING_FORMATUNUSED,
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] Tue May 20 23:48:36 2014 @@ -814,12 +814,18 @@ { 8, 15, - "\x07 C erstellt eine neue Partition.", + "\x07 P erstellt eine primre Partition.", TEXT_STYLE_NORMAL }, { 8, 17, + "\x07 E erstellt eine erweiterte Partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 19, "\x07 D lscht eine vorhandene Partition.", TEXT_STYLE_NORMAL }, @@ -1279,6 +1285,10 @@
MUI_ERROR deDEErrorEntries[] = { + { + // NOT_AN_ERROR + "Erfolg\n" + }, { //ERROR_NOT_INSTALLED "ReactOS wurde nicht vollstndig auf Ihrem System installiert.\n" @@ -1494,6 +1504,32 @@ NULL }, { + //ERROR_PARTITION_TABLE_FULL, + "Sie knnen keine weitere primre oder erweiterte Partition in\n" + "der Partitionstabelle erstellen, weil die Tabelle voll ist.\n" + "\n" + " * Eine beliebige Taste zum Fortsetzen drcken." + }, + { + //ERROR_ONLY_ONE_EXTENDED, + "Sie knnen nur eine erweiterte Partition auf jeder Festplatte anlegen.\n" + "\n" + " * Eine beliebige Taste zum Fortsetzen drcken." + }, + { + //ERROR_NOT_BEHIND_EXTENDED, + "Sie knnen hinter einer erweiterten Partition keine weitere Partition anlegen.\n" + "\n" + " * Eine beliebige Taste zum Fortsetzen drcken." + }, + { + //ERROR_EXTENDED_NOT_LAST, + "Eine erweiterte Partition muss immer die letzte Partition in \n" + "einer Partitionstabelle sein.\n" + "\n" + " * Eine beliebige Taste zum Fortsetzen drcken." + }, + { NULL, NULL } @@ -1605,13 +1641,17 @@ {STRING_PLEASEWAIT, " Bitte warten..."}, {STRING_INSTALLCREATEPARTITION, - " EINGABETASTE = Installieren C = Partition erstellen F3 = Installation abbr."}, + " EINGABETASTE = Installieren P = Primre E = Erweiterte F3 = Installation abbr."}, {STRING_INSTALLDELETEPARTITION, " EINGABETASTE = Installieren D = Partition lschen F3 = Installation abbr."}, + {STRING_DELETEPARTITION, + " D = Partition lschen F3 = Installation abbrechen"}, {STRING_PARTITIONSIZE, "Gráe der neuen Partition:"}, {STRING_CHOOSENEWPARTITION, - "Eine neue Partition soll hier erstellt werden:"}, + "Eine primre Partition soll hier erstellt werden:"}, + {STRING_CHOOSE_NEW_EXTENDED_PARTITION, + "Eine erweiterte Partition soll hier erstellt werden:"}, {STRING_HDDSIZE, "Bitte geben Sie die Gráe der neuen Partition in Megabyte ein."}, {STRING_CREATEPARTITION, @@ -1694,6 +1734,8 @@ " Unpartitionierter Speicher %6lu %s"}, {STRING_MAXSIZE, "MB (max. %lu MB)"}, + {STRING_EXTENDED_PARTITION, + "Erweiterte Partition"}, {STRING_UNFORMATTED, "Neu (Unformatiert)"}, {STRING_FORMATUNUSED,
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] Tue May 20 23:48:36 2014 @@ -837,12 +837,19 @@ { 8, 15, - "\x07 «ã©« C ¤ £ ¦¬¨ã©« ⤠¤â¦ £â¨ ©£.", + "\x07 Press P to create a primary partition.", +// "\x07 «ã©« C ¤ £ ¦¬¨ã©« ⤠¤â¦ £â¨ ©£.", TEXT_STYLE_NORMAL }, { 8, 17, + "\x07 Press E to create an extended partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 19, "\x07 «ã©« D ¤ ¨á¯« ⤠¬§á¨®¦¤ £â¨ ©£.", TEXT_STYLE_NORMAL }, @@ -1308,6 +1315,10 @@
MUI_ERROR elGRErrorEntries[] = { + { + // NOT_AN_ERROR + "Success\n" + }, { //ERROR_NOT_INSTALLED "¦ ReactOS ¤ ¡«©«á¡ §¢ã¨àª ©«¦¤\n" @@ -1513,6 +1524,32 @@ "ENTER = Reboot computer" }, { + //ERROR_PARTITION_TABLE_FULL, + "You can not create a new primary or extended partition in the\n" + "partition table of this disk because the partition table is full.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_ONLY_ONE_EXTENDED, + "You can not create more than one extended partition per disk.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_NOT_BEHIND_EXTENDED, + "You can not create a partition behind an extended partition.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_EXTENDED_NOT_LAST, + "An extended partition must always be the last\n" + "partition in a partition table.\n" + "\n" + " * Press any key to continue." + }, + { NULL, NULL } @@ -1624,13 +1661,19 @@ {STRING_PLEASEWAIT, " ¨¡¢é §¨ £â¤«..."}, {STRING_INSTALLCREATEPARTITION, - " ENTER = ¡«á©«© C = £ ¦¬¨å Partition F3 = §¦®é¨©"}, + " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, +// " ENTER = ¡«á©«© C = £ ¦¬¨å Partition F3 = §¦®é¨©"}, {STRING_INSTALLDELETEPARTITION, " ENTER = ¡«á©«© D = ¨ã Partition F3 = §¦®é¨©"}, + {STRING_DELETEPARTITION, + " D = Delete Partition F3 = Quit"}, {STRING_PARTITIONSIZE, "⦪ «¦¬ ¤â¦¬ partition:"}, {STRING_CHOOSENEWPARTITION, - "§ ¢â¥« ¤ £ ¦¬¨ã©« ⤠¤â¦ partition on"}, + "You have chosen to create a primary partition on"}, +// "§ ¢â¥« ¤ £ ¦¬¨ã©« ⤠¤â¦ partition on"}, + {STRING_CHOOSE_NEW_EXTENDED_PARTITION, + "You have chosen to create an extended partition on"}, {STRING_HDDSIZE, "¨¡¢é é©« «¦ £â¦ª «¦¬ partition © megabytes."}, {STRING_CREATEPARTITION, @@ -1713,6 +1756,8 @@ " Unpartitioned space %6lu %s"}, {STRING_MAXSIZE, "MB (£. %lu MB)"}, + {STRING_EXTENDED_PARTITION, + "Extended Partition"}, {STRING_UNFORMATTED, "⦠( £¦¨à£â¤¦)"}, {STRING_FORMATUNUSED,
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] Tue May 20 23:48:36 2014 @@ -819,12 +819,18 @@ { 8, 15, - "\x07 Press C to create a new partition.", + "\x07 Press P to create a primary partition.", TEXT_STYLE_NORMAL }, { 8, 17, + "\x07 Press E to create an extended partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 19, "\x07 Press D to delete an existing partition.", TEXT_STYLE_NORMAL }, @@ -1278,6 +1284,10 @@
MUI_ERROR enUSErrorEntries[] = { + { + // NOT_AN_ERROR + "Success\n" + }, { //ERROR_NOT_INSTALLED "ReactOS is not completely installed on your\n" @@ -1489,6 +1499,32 @@ NULL }, { + //ERROR_PARTITION_TABLE_FULL, + "You can not create a new primary or extended partition in the\n" + "partition table of this disk because the partition table is full.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_ONLY_ONE_EXTENDED, + "You can not create more than one extended partition per disk.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_NOT_BEHIND_EXTENDED, + "You can not create a partition behind an extended partition.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_EXTENDED_NOT_LAST, + "An extended partition must always be the last\n" + "partition in a partition table.\n" + "\n" + " * Press any key to continue." + }, + { NULL, NULL } @@ -1599,13 +1635,17 @@ {STRING_PLEASEWAIT, " Please wait..."}, {STRING_INSTALLCREATEPARTITION, - " ENTER = Install C = Create Partition F3 = Quit"}, + " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, {STRING_INSTALLDELETEPARTITION, " ENTER = Install D = Delete Partition F3 = Quit"}, + {STRING_DELETEPARTITION, + " D = Delete Partition F3 = Quit"}, {STRING_PARTITIONSIZE, "Size of new partition:"}, {STRING_CHOOSENEWPARTITION, - "You have chosen to create a new partition on"}, + "You have chosen to create a primary partition on"}, + {STRING_CHOOSE_NEW_EXTENDED_PARTITION, + "You have chosen to create an extended partition on"}, {STRING_HDDSIZE, "Please enter the size of the new partition in megabytes."}, {STRING_CREATEPARTITION, @@ -1688,6 +1728,8 @@ " Unpartitioned space %6lu %s"}, {STRING_MAXSIZE, "MB (max. %lu MB)"}, + {STRING_EXTENDED_PARTITION, + "Extended Partition"}, {STRING_UNFORMATTED, "New (Unformatted)"}, {STRING_FORMATUNUSED,
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] Tue May 20 23:48:36 2014 @@ -826,12 +826,19 @@ { 8, 15, - "\x07 Presione C para crear una nueva partici¢n.", + "\x07 Press P to create a primary partition.", +// "\x07 Presione C para crear una nueva partici¢n.", TEXT_STYLE_NORMAL }, { 8, 17, + "\x07 Press E to create an extended partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 19, "\x07 Presione D para borrar una partici¢n existente.", TEXT_STYLE_NORMAL }, @@ -1285,6 +1292,10 @@
MUI_ERROR esESErrorEntries[] = { + { + // NOT_AN_ERROR + "Success\n" + }, { //ERROR_NOT_INSTALLED "ReactOS no est completamente instalado en su\n" @@ -1496,6 +1507,32 @@ NULL }, { + //ERROR_PARTITION_TABLE_FULL, + "You can not create a new primary or extended partition in the\n" + "partition table of this disk because the partition table is full.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_ONLY_ONE_EXTENDED, + "You can not create more than one extended partition per disk.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_NOT_BEHIND_EXTENDED, + "You can not create a partition behind an extended partition.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_EXTENDED_NOT_LAST, + "An extended partition must always be the last\n" + "partition in a partition table.\n" + "\n" + " * Press any key to continue." + }, + { NULL, NULL } @@ -1606,13 +1643,19 @@ {STRING_PLEASEWAIT, " Por favor, espere..."}, {STRING_INSTALLCREATEPARTITION, - " ENTER = Instalar C = Crear Partici¢n F3 = Salir"}, + " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, +// " ENTER = Instalar C = Crear Partici¢n F3 = Salir"}, + {STRING_DELETEPARTITION, + " D = Borrar Partici¢n F3 = Salir"}, {STRING_INSTALLDELETEPARTITION, " ENTER = Instalar D = Borrar Partici¢n F3 = Salir"}, {STRING_PARTITIONSIZE, "Tama¤o de la nueva partici¢n:"}, {STRING_CHOOSENEWPARTITION, - "Ha elegido crear una nueva partici¢n en"}, + "You have chosen to create a primary partition on"}, +// "Ha elegido crear una nueva partici¢n en"}, + {STRING_CHOOSE_NEW_EXTENDED_PARTITION, + "You have chosen to create an extended partition on"}, {STRING_HDDSIZE, "Por favor, introduzca el tama¤o de la nueva partici¢n en megabytes."}, {STRING_CREATEPARTITION, @@ -1695,6 +1738,8 @@ " Espacio sin particionar %6lu %s"}, {STRING_MAXSIZE, "MB (max. %lu MB)"}, + {STRING_EXTENDED_PARTITION, + "Extended Partition"}, {STRING_UNFORMATTED, "Nuevo (sin formato)"}, {STRING_FORMATUNUSED,
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] Tue May 20 23:48:36 2014 @@ -819,12 +819,19 @@ { 8, 15, - "\x07 Vajuta C, et teha uus partitsioon.", + "\x07 Press P to create a primary partition.", +// "\x07 Vajuta C, et teha uus partitsioon.", TEXT_STYLE_NORMAL }, { 8, 17, + "\x07 Press E to create an extended partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 19, "\x07 Vajuta D, et kustutada olemasolev partitsioon.", TEXT_STYLE_NORMAL }, @@ -1278,6 +1285,10 @@
MUI_ERROR etEEErrorEntries[] = { + { + // NOT_AN_ERROR + "Success\n" + }, { //ERROR_NOT_INSTALLED "ReactOS ei ole tielikult paigaldatud.\n" @@ -1486,6 +1497,32 @@ NULL }, { + //ERROR_PARTITION_TABLE_FULL, + "You can not create a new primary or extended partition in the\n" + "partition table of this disk because the partition table is full.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_ONLY_ONE_EXTENDED, + "You can not create more than one extended partition per disk.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_NOT_BEHIND_EXTENDED, + "You can not create a partition behind an extended partition.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_EXTENDED_NOT_LAST, + "An extended partition must always be the last\n" + "partition in a partition table.\n" + "\n" + " * Press any key to continue." + }, + { NULL, NULL } @@ -1597,13 +1634,19 @@ {STRING_PLEASEWAIT, " Palun oota..."}, {STRING_INSTALLCREATEPARTITION, - " ENTER = Paigalda C = Loo partitsioon F3 = Vlju"}, + " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, +// " ENTER = Paigalda C = Loo partitsioon F3 = Vlju"}, {STRING_INSTALLDELETEPARTITION, " ENTER = Paigalda D = Kustuta partitsioon F3 = Vlju"}, + {STRING_DELETEPARTITION, + " D = Delete Partition F3 = Quit"}, {STRING_PARTITIONSIZE, "Uue partitsiooni suurus:"}, {STRING_CHOOSENEWPARTITION, - "Oled valinud kettale uue partitsiooni loomise"}, + "You have chosen to create a primary partition on"}, +// "Oled valinud kettale uue partitsiooni loomise"}, + {STRING_CHOOSE_NEW_EXTENDED_PARTITION, + "You have chosen to create an extended partition on"}, {STRING_HDDSIZE, "Sisesta uue partitsiooni suurus megabaitides."}, {STRING_CREATEPARTITION, @@ -1686,6 +1729,8 @@ " Kasutamata kettaruum %6lu %s"}, {STRING_MAXSIZE, "MB (maks. %lu MB)"}, + {STRING_EXTENDED_PARTITION, + "Extended Partition"}, {STRING_UNFORMATTED, "Uus (Vormindamata)"}, {STRING_FORMATUNUSED,
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] Tue May 20 23:48:36 2014 @@ -832,12 +832,19 @@ { 8, 15, - "\x07 Appuyer sur C pour creer une nouvelle partition.", + "\x07 Press P to create a primary partition.", +// "\x07 Appuyer sur C pour creer une nouvelle partition.", TEXT_STYLE_NORMAL }, { 8, 17, + "\x07 Press E to create an extended partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 19, "\x07 Appuyer sur D pour effacer une partition.", TEXT_STYLE_NORMAL }, @@ -1291,6 +1298,10 @@
MUI_ERROR frFRErrorEntries[] = { + { + // NOT_AN_ERROR + "Success\n" + }, { //ERROR_NOT_INSTALLED "ReactOS n'est pas compltement install sur votre\n" @@ -1502,6 +1513,32 @@ NULL }, { + //ERROR_PARTITION_TABLE_FULL, + "You can not create a new primary or extended partition in the\n" + "partition table of this disk because the partition table is full.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_ONLY_ONE_EXTENDED, + "You can not create more than one extended partition per disk.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_NOT_BEHIND_EXTENDED, + "You can not create a partition behind an extended partition.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_EXTENDED_NOT_LAST, + "An extended partition must always be the last\n" + "partition in a partition table.\n" + "\n" + " * Press any key to continue." + }, + { NULL, NULL } @@ -1613,13 +1650,19 @@ {STRING_PLEASEWAIT, " Veuillez patienter..."}, {STRING_INSTALLCREATEPARTITION, - " ENTRE = Installer C = Crer Partition F3 = Quitter"}, + " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, +// " ENTRE = Installer C = Crer Partition F3 = Quitter"}, {STRING_INSTALLDELETEPARTITION, " ENTRE = Installer D = Supprimer Partition F3 = Quitter"}, + {STRING_DELETEPARTITION, + " D = Delete Partition F3 = Quit"}, {STRING_PARTITIONSIZE, "Taille de la nouvelle partition :"}, {STRING_CHOOSENEWPARTITION, - "Vous avez choisi de crer une nouvelle partition sur"}, + "You have chosen to create a primary partition on"}, +// "Vous avez choisi de crer une nouvelle partition sur"}, + {STRING_CHOOSE_NEW_EXTENDED_PARTITION, + "You have chosen to create an extended partition on"}, {STRING_HDDSIZE, "Veuillez entrer la taille de la nouvelle partition en mgaoctets."}, {STRING_CREATEPARTITION, @@ -1702,6 +1745,8 @@ " Espace non partitionn %6lu %s"}, {STRING_MAXSIZE, "Mo (max. %lu Mo)"}, + {STRING_EXTENDED_PARTITION, + "Extended Partition"}, {STRING_UNFORMATTED, "Nouveau (non format)"}, {STRING_FORMATUNUSED,
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] Tue May 20 23:48:36 2014 @@ -820,12 +820,18 @@ { 8, 15, - "\x07 Press C to create a new partition.", + "\x07 Press P to create a primary partition.", TEXT_STYLE_NORMAL }, { 8, 17, + "\x07 Press E to create an extended partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 19, "\x07 Press D to delete an existing partition.", TEXT_STYLE_NORMAL }, @@ -1279,6 +1285,10 @@
MUI_ERROR heILErrorEntries[] = { + { + // NOT_AN_ERROR + "Success\n" + }, { //ERROR_NOT_INSTALLED "ReactOS is not completely installed on your\n" @@ -1490,6 +1500,32 @@ NULL }, { + //ERROR_PARTITION_TABLE_FULL, + "You can not create a new primary or extended partition in the\n" + "partition table of this disk because the partition table is full.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_ONLY_ONE_EXTENDED, + "You can not create more than one extended partition per disk.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_NOT_BEHIND_EXTENDED, + "You can not create a partition behind an extended partition.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_EXTENDED_NOT_LAST, + "An extended partition must always be the last\n" + "partition in a partition table.\n" + "\n" + " * Press any key to continue." + }, + { NULL, NULL } @@ -1600,13 +1636,18 @@ {STRING_PLEASEWAIT, " ..."}, {STRING_INSTALLCREATEPARTITION, - " ENTER = C = F3 = "}, + " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, +// " ENTER = C = F3 = "}, {STRING_INSTALLDELETEPARTITION, " ENTER = D = F3 = "}, + {STRING_DELETEPARTITION, + " D = Delete Partition F3 = Quit"}, {STRING_PARTITIONSIZE, " :"}, {STRING_CHOOSENEWPARTITION, - "You have chosen to create a new partition on"}, + "You have chosen to create a primary partition on"}, + {STRING_CHOOSE_NEW_EXTENDED_PARTITION, + "You have chosen to create an extended partition on"}, {STRING_HDDSIZE, "Please enter the size of the new partition in megabytes."}, {STRING_CREATEPARTITION, @@ -1689,6 +1730,8 @@ " Unpartitioned space %6lu %s"}, {STRING_MAXSIZE, "MB (max. %lu MB)"}, + {STRING_EXTENDED_PARTITION, + "Extended Partition"}, {STRING_UNFORMATTED, "New (Unformatted)"}, {STRING_FORMATUNUSED,
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] Tue May 20 23:48:36 2014 @@ -820,12 +820,19 @@ { 8, 15, - "\x07 Premere C per creare una nuova partizione.", + "\x07 Press P to create a primary partition.", +// "\x07 Premere C per creare una nuova partizione.", TEXT_STYLE_NORMAL }, { 8, 17, + "\x07 Press E to create an extended partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 19, "\x07 Premere D per cancellare una partizione esistente.", TEXT_STYLE_NORMAL }, @@ -1279,6 +1286,10 @@
MUI_ERROR itITErrorEntries[] = { + { + // NOT_AN_ERROR + "Success\n" + }, { //ERROR_NOT_INSTALLED "ReactOS non installato completamente nel vostro\n" @@ -1490,6 +1501,32 @@ NULL }, { + //ERROR_PARTITION_TABLE_FULL, + "You can not create a new primary or extended partition in the\n" + "partition table of this disk because the partition table is full.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_ONLY_ONE_EXTENDED, + "You can not create more than one extended partition per disk.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_NOT_BEHIND_EXTENDED, + "You can not create a partition behind an extended partition.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_EXTENDED_NOT_LAST, + "An extended partition must always be the last\n" + "partition in a partition table.\n" + "\n" + " * Press any key to continue." + }, + { NULL, NULL } @@ -1601,13 +1638,19 @@ {STRING_PLEASEWAIT, " Attendere..."}, {STRING_INSTALLCREATEPARTITION, - " INVIO = Installa C = Crea Partizione F3 = Esci"}, + " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, +// " INVIO = Installa C = Crea Partizione F3 = Esci"}, {STRING_INSTALLDELETEPARTITION, " INVIO = Installa D = Rimuovi Partizione F3 = Esci"}, + {STRING_DELETEPARTITION, + " D = Delete Partition F3 = Quit"}, {STRING_PARTITIONSIZE, "Dimensione della nuova partizione:"}, {STRING_CHOOSENEWPARTITION, - "Avete scelto di creare una nuova partizione su"}, + "You have chosen to create a primary partition on"}, +// "Avete scelto di creare una nuova partizione su"}, + {STRING_CHOOSE_NEW_EXTENDED_PARTITION, + "You have chosen to create an extended partition on"}, {STRING_HDDSIZE, "Indicare la dimensione della nuova partizione in megabyte."}, {STRING_CREATEPARTITION,
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] Tue May 20 23:48:36 2014 @@ -820,12 +820,19 @@ { 8, 15, - "\x07 ±À×¼² Ê߰è¼®Ý ¦ »¸¾² ½ÙÆÊ C ·°¦ µ¼Ã ¸ÀÞ»²¡", + "\x07 Press P to create a primary partition.", +// "\x07 ±À×¼² Ê߰è¼®Ý ¦ »¸¾² ½ÙÆÊ C ·°¦ µ¼Ã ¸ÀÞ»²¡", TEXT_STYLE_NORMAL }, { 8, 17, + "\x07 Press E to create an extended partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 19, "\x07 ·¿ÝÉ Ê߰輮ݦ »¸¼Þ® ½ÙÆÊ D ·°¦ µ¼Ã ¸ÀÞ»²¡", TEXT_STYLE_NORMAL }, @@ -1279,6 +1286,10 @@
MUI_ERROR jaJPErrorEntries[] = { + { + // NOT_AN_ERROR + "Success\n" + }, { //ERROR_NOT_INSTALLED "ReactOS Ê ºÝËß°ÀÆ ¶Ý¾ÞÝÆ ²Ý½Ä°Ù\n" @@ -1490,6 +1501,32 @@ NULL }, { + //ERROR_PARTITION_TABLE_FULL, + "You can not create a new primary or extended partition in the\n" + "partition table of this disk because the partition table is full.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_ONLY_ONE_EXTENDED, + "You can not create more than one extended partition per disk.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_NOT_BEHIND_EXTENDED, + "You can not create a partition behind an extended partition.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_EXTENDED_NOT_LAST, + "An extended partition must always be the last\n" + "partition in a partition table.\n" + "\n" + " * Press any key to continue." + }, + { NULL, NULL } @@ -1600,13 +1637,19 @@ {STRING_PLEASEWAIT, " µÏÁ ¸ÀÞ»²..."}, {STRING_INSTALLCREATEPARTITION, - " ENTER = ²Ý½Ä°Ù C = Ê߰è¼®Ý »¸¾² F3 = Á³¼"}, + " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, +// " ENTER = ²Ý½Ä°Ù C = Ê߰è¼®Ý »¸¾² F3 = Á³¼"}, {STRING_INSTALLDELETEPARTITION, " ENTER = ²Ý½Ä°Ù D = Ê߰è¼®Ý »¸¼Þ® F3 = Á³¼"}, + {STRING_DELETEPARTITION, + " D = Delete Partition F3 = Quit"}, {STRING_PARTITIONSIZE, "±À×¼² Ê߰è¼®ÝÉ »²½Þ:"}, {STRING_CHOOSENEWPARTITION, - "±À×¼² Ê߰輮ݦ Â·ÞÆ »¸¾²½Ù ºÄ¶Þ ¾ÝÀ¸ »ÚϼÀ:"}, + "You have chosen to create a primary partition on"}, +// "±À×¼² Ê߰輮ݦ Â·ÞÆ »¸¾²½Ù ºÄ¶Þ ¾ÝÀ¸ »ÚϼÀ:"}, + {STRING_CHOOSE_NEW_EXTENDED_PARTITION, + "You have chosen to create an extended partition on"}, {STRING_HDDSIZE, "±À×¼² Ê߰è¼®ÝÉ »²½Þ¦ Ò¶ÞÊÞ²Ä ÀݲÃÞ Æ³Ø®¸ ¼Ã¸ÀÞ»²¡"}, {STRING_CREATEPARTITION, @@ -1689,6 +1732,8 @@ " ÐÌÞݶÂÉ ½Íß°½ %6lu %s"}, {STRING_MAXSIZE, "MB (»²ÀÞ². %lu MB)"}, + {STRING_EXTENDED_PARTITION, + "Extended Partition"}, {STRING_UNFORMATTED, "¼Ý· (ÐÌ«°Ï¯Ä)"}, {STRING_FORMATUNUSED,
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] Tue May 20 23:48:36 2014 @@ -829,12 +829,18 @@ { 8, 15, - "\x07 Press C to create a new partition.", + "\x07 Press P to create a primary partition.", TEXT_STYLE_NORMAL }, { 8, 17, + "\x07 Press E to create an extended partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 19, "\x07 Press D to delete an existing partition.", TEXT_STYLE_NORMAL }, @@ -1288,6 +1294,10 @@
MUI_ERROR ltLTErrorEntries[] = { + { + // NOT_AN_ERROR + "Success\n" + }, { //ERROR_NOT_INSTALLED "ReactOS is not completely installed on your\n" @@ -1499,6 +1509,32 @@ NULL }, { + //ERROR_PARTITION_TABLE_FULL, + "You can not create a new primary or extended partition in the\n" + "partition table of this disk because the partition table is full.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_ONLY_ONE_EXTENDED, + "You can not create more than one extended partition per disk.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_NOT_BEHIND_EXTENDED, + "You can not create a partition behind an extended partition.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_EXTENDED_NOT_LAST, + "An extended partition must always be the last\n" + "partition in a partition table.\n" + "\n" + " * Press any key to continue." + }, + { NULL, NULL } @@ -1610,13 +1646,17 @@ {STRING_PLEASEWAIT, " Please wait..."}, {STRING_INSTALLCREATEPARTITION, - " ENTER = Install C = Create Partition F3 = Quit"}, + " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, {STRING_INSTALLDELETEPARTITION, " ENTER = Install D = Delete Partition F3 = Quit"}, + {STRING_DELETEPARTITION, + " D = Delete Partition F3 = Quit"}, {STRING_PARTITIONSIZE, "Size of new partition:"}, {STRING_CHOOSENEWPARTITION, - "You have chosen to create a new partition on"}, + "You have chosen to create a primary partition on"}, + {STRING_CHOOSE_NEW_EXTENDED_PARTITION, + "You have chosen to create an extended partition on"}, {STRING_HDDSIZE, "Please enter the size of the new partition in megabytes."}, {STRING_CREATEPARTITION, @@ -1699,6 +1739,8 @@ " Unpartitioned space %6lu %s"}, {STRING_MAXSIZE, "MB (max. %lu MB)"}, + {STRING_EXTENDED_PARTITION, + "Extended Partition"}, {STRING_UNFORMATTED, "New (Unformatted)"}, {STRING_FORMATUNUSED,
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] Tue May 20 23:48:36 2014 @@ -854,12 +854,19 @@ { 8, 15, - "\x07 Druk op C om een nieuwe partitie aan te maken.", + "\x07 Press P to create a primary partition.", +// "\x07 Druk op C om een nieuwe partitie aan te maken.", TEXT_STYLE_NORMAL }, { 8, 17, + "\x07 Press E to create an extended partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 19, "\x07 Druk op D om een bestaande partitie te verwijderen.", TEXT_STYLE_NORMAL }, @@ -1319,6 +1326,10 @@
MUI_ERROR nlNLErrorEntries[] = { + { + // NOT_AN_ERROR + "Success\n" + }, { //ERROR_NOT_INSTALLED "ReactOS is niet geheel ge\x8Bnstalleerd op uw\n" @@ -1534,6 +1545,32 @@ NULL }, { + //ERROR_PARTITION_TABLE_FULL, + "You can not create a new primary or extended partition in the\n" + "partition table of this disk because the partition table is full.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_ONLY_ONE_EXTENDED, + "You can not create more than one extended partition per disk.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_NOT_BEHIND_EXTENDED, + "You can not create a partition behind an extended partition.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_EXTENDED_NOT_LAST, + "An extended partition must always be the last\n" + "partition in a partition table.\n" + "\n" + " * Press any key to continue." + }, + { NULL, NULL } @@ -1645,13 +1682,19 @@ {STRING_PLEASEWAIT, " Een ogenblik geduld..."}, {STRING_INSTALLCREATEPARTITION, - " ENTER = Installeren C = Partitie aanmaken F3 = Afsluiten"}, + " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, +// " ENTER = Installeren C = Partitie aanmaken F3 = Afsluiten"}, {STRING_INSTALLDELETEPARTITION, " ENTER = Installeren D = Partitie verwijderen F3 = Afsluiten"}, + {STRING_DELETEPARTITION, + " D = Delete Partition F3 = Quit"}, {STRING_PARTITIONSIZE, "Grootte nieuwe partitie:"}, {STRING_CHOOSENEWPARTITION, - "U wilt een nieuwe partitie aanmaken op"}, + "You have chosen to create a primary partition on"}, +// "U wilt een nieuwe partitie aanmaken op"}, + {STRING_CHOOSE_NEW_EXTENDED_PARTITION, + "You have chosen to create an extended partition on"}, {STRING_HDDSIZE, "Voert u de grootte van de nieuwe partitie in in megabytes."}, {STRING_CREATEPARTITION, @@ -1734,6 +1777,8 @@ " Niet gepartitioneerde ruimte %6lu %s"}, {STRING_MAXSIZE, "MB (max. %lu MB)"}, + {STRING_EXTENDED_PARTITION, + "Extended Partition"}, {STRING_UNFORMATTED, "Nieuw (Ongeformatteerd)"}, {STRING_FORMATUNUSED,
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] Tue May 20 23:48:36 2014 @@ -828,12 +828,19 @@ { 8, 15, - "\x07 Nacinij C, by stworzy now¥ partycj©.", + "\x07 Press P to create a primary partition.", +// "\x07 Nacinij C, by stworzy now¥ partycj©.", TEXT_STYLE_NORMAL }, { 8, 17, + "\x07 Press E to create an extended partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 19, "\x07 Nacinij D, by skasowa istniej¥c¥ partycj©.", TEXT_STYLE_NORMAL }, @@ -1287,6 +1294,10 @@
MUI_ERROR plPLErrorEntries[] = { + { + // NOT_AN_ERROR + "Success\n" + }, { //ERROR_NOT_INSTALLED "ReactOS nie zosta w peni zainstalowany na twoim\n" @@ -1498,6 +1509,32 @@ NULL }, { + //ERROR_PARTITION_TABLE_FULL, + "You can not create a new primary or extended partition in the\n" + "partition table of this disk because the partition table is full.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_ONLY_ONE_EXTENDED, + "You can not create more than one extended partition per disk.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_NOT_BEHIND_EXTENDED, + "You can not create a partition behind an extended partition.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_EXTENDED_NOT_LAST, + "An extended partition must always be the last\n" + "partition in a partition table.\n" + "\n" + " * Press any key to continue." + }, + { NULL, NULL } @@ -1609,13 +1646,19 @@ {STRING_PLEASEWAIT, " Prosz© czeka..."}, {STRING_INSTALLCREATEPARTITION, - " ENTER = Instalacja C = Utworzenie Partycji F3 = Wyjcie"}, + " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, +// " ENTER = Instalacja C = Utworzenie Partycji F3 = Wyjcie"}, {STRING_INSTALLDELETEPARTITION, " ENTER = Instalacja D = Skasowanie Partycji F3 = Wyjcie"}, + {STRING_DELETEPARTITION, + " D = Delete Partition F3 = Quit"}, {STRING_PARTITIONSIZE, "Rozmiar nowej partycji:"}, {STRING_CHOOSENEWPARTITION, - "Wybrane: utworzenie nowej partycji na"}, + "You have chosen to create a primary partition on"}, +// "Wybrane: utworzenie nowej partycji na"}, + {STRING_CHOOSE_NEW_EXTENDED_PARTITION, + "You have chosen to create an extended partition on"}, {STRING_HDDSIZE, "Prosz© wprowadzi rozmiar nowej partycji w megabajtach."}, {STRING_CREATEPARTITION,
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] Tue May 20 23:48:36 2014 @@ -838,12 +838,19 @@ { 8, 15, - "\x07 Para criar uma partiÆo no espao nÆo particionado, pressione C.", + "\x07 Press P to create a primary partition.", +// "\x07 Para criar uma partiÆo no espao nÆo particionado, pressione C.", TEXT_STYLE_NORMAL }, { 8, 17, + "\x07 Press E to create an extended partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 19, "\x07 Para excluir a partiÆo selecionada, pressione D.", TEXT_STYLE_NORMAL }, @@ -1315,6 +1322,10 @@
MUI_ERROR ptBRErrorEntries[] = { + { + // NOT_AN_ERROR + "Success\n" + }, { //ERROR_NOT_INSTALLED "O ReactOS nÆo est completamente instalado no computador.\n" @@ -1526,6 +1537,32 @@ NULL }, { + //ERROR_PARTITION_TABLE_FULL, + "You can not create a new primary or extended partition in the\n" + "partition table of this disk because the partition table is full.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_ONLY_ONE_EXTENDED, + "You can not create more than one extended partition per disk.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_NOT_BEHIND_EXTENDED, + "You can not create a partition behind an extended partition.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_EXTENDED_NOT_LAST, + "An extended partition must always be the last\n" + "partition in a partition table.\n" + "\n" + " * Press any key to continue." + }, + { NULL, NULL } @@ -1636,13 +1673,19 @@ {STRING_PLEASEWAIT, " Por favor, aguarde..."}, {STRING_INSTALLCREATEPARTITION, - " ENTER=Instalar C=Criar partiÆo F3=Sair"}, + " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, +// " ENTER=Instalar C=Criar partiÆo F3=Sair"}, {STRING_INSTALLDELETEPARTITION, " ENTER=Instalar D=Apagar partiÆo F3=Sair"}, + {STRING_DELETEPARTITION, + " D = Delete Partition F3 = Quit"}, {STRING_PARTITIONSIZE, "Tamanho da nova partiÆo:"}, {STRING_CHOOSENEWPARTITION, - "Voc solicitou a criaÆo de uma nova partiÆo em"}, + "You have chosen to create a primary partition on"}, +// "Voc solicitou a criaÆo de uma nova partiÆo em"}, + {STRING_CHOOSE_NEW_EXTENDED_PARTITION, + "You have chosen to create an extended partition on"}, {STRING_HDDSIZE, "Por favor, insira o tamanho da nova partiÆo em megabytes (MB)."}, {STRING_CREATEPARTITION, @@ -1725,6 +1768,8 @@ " Espao nÆo particionado %6lu %s"}, {STRING_MAXSIZE, "MB (max. %lu MB)"}, + {STRING_EXTENDED_PARTITION, + "Extended Partition"}, {STRING_UNFORMATTED, "Novo (sem formato)"}, {STRING_FORMATUNUSED,
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] Tue May 20 23:48:36 2014 @@ -881,12 +881,19 @@ { 8, 15, - "\x07 Tastaîi C pentru a crea o nouÇ partiîie.", + "\x07 Press P to create a primary partition.", +// "\x07 Tastaîi C pentru a crea o nouÇ partiîie.", TEXT_STYLE_NORMAL }, { 8, 17, + "\x07 Press E to create an extended partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 19, "\x07 Tastaîi D pentru a terge o partiîie existentÇ.", TEXT_STYLE_NORMAL }, @@ -1340,6 +1347,10 @@
MUI_ERROR roROErrorEntries[] = { + { + // NOT_AN_ERROR + "Success\n" + }, { //ERROR_NOT_INSTALLED "ReactOS nu a fost instalat complet n calculatorul\n" @@ -1567,6 +1578,32 @@ NULL }, { + //ERROR_PARTITION_TABLE_FULL, + "You can not create a new primary or extended partition in the\n" + "partition table of this disk because the partition table is full.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_ONLY_ONE_EXTENDED, + "You can not create more than one extended partition per disk.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_NOT_BEHIND_EXTENDED, + "You can not create a partition behind an extended partition.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_EXTENDED_NOT_LAST, + "An extended partition must always be the last\n" + "partition in a partition table.\n" + "\n" + " * Press any key to continue." + }, + { NULL, NULL } @@ -1677,13 +1714,19 @@ {STRING_PLEASEWAIT, " Ateptaîi..."}, {STRING_INSTALLCREATEPARTITION, - " ENTER = Instalare C = Creare partiîie F3 = Ieire"}, + " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, +// " ENTER = Instalare C = Creare partiîie F3 = Ieire"}, {STRING_INSTALLDELETEPARTITION, " ENTER = Instalare D = ¸tergere partiîie F3 = Ieire"}, + {STRING_DELETEPARTITION, + " D = Delete Partition F3 = Quit"}, {STRING_PARTITIONSIZE, "MÇrimea noii partiîii:"}, {STRING_CHOOSENEWPARTITION, - "Aîi ales crearea unei noi partiîii pe"}, + "You have chosen to create a primary partition on"}, +// "Aîi ales crearea unei noi partiîii pe"}, + {STRING_CHOOSE_NEW_EXTENDED_PARTITION, + "You have chosen to create an extended partition on"}, {STRING_HDDSIZE, "Introduceîi mÇrimea noii partiîii n megaocteîi."}, {STRING_CREATEPARTITION, @@ -1766,6 +1809,8 @@ " Spaîiu nepartiîionat %6lu %s"}, {STRING_MAXSIZE, "Mo (max. %lu Mo)"}, + {STRING_EXTENDED_PARTITION, + "Extended Partition"}, {STRING_UNFORMATTED, "Part. nouÇ (neformatatÇ)"}, {STRING_FORMATUNUSED,
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] Tue May 20 23:48:36 2014 @@ -820,12 +820,19 @@ { 8, 15, - "\x07 ¦¬¨â¥ C ¤«ï á®§¤ ¨ï ®¢®£® à §¤¥« .", + "\x07 Press P to create a primary partition.", +// "\x07 ¦¬¨â¥ C ¤«ï á®§¤ ¨ï ®¢®£® à §¤¥« .", TEXT_STYLE_NORMAL }, { 8, 17, + "\x07 Press E to create an extended partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 19, "\x07 ¦¬¨â¥ D ¤«ï 㤠«¥¨ï áãé¥áâ¢ãî饣® à §¤¥« .", TEXT_STYLE_NORMAL }, @@ -1279,6 +1286,10 @@
MUI_ERROR ruRUErrorEntries[] = { + { + // NOT_AN_ERROR + "Success\n" + }, { //ERROR_NOT_INSTALLED "ReactOS ¥ ¡ë« ¯®«®áâìî ãáâ ®¢«¥ ¢ è\n" @@ -1490,6 +1501,32 @@ NULL }, { + //ERROR_PARTITION_TABLE_FULL, + "You can not create a new primary or extended partition in the\n" + "partition table of this disk because the partition table is full.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_ONLY_ONE_EXTENDED, + "You can not create more than one extended partition per disk.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_NOT_BEHIND_EXTENDED, + "You can not create a partition behind an extended partition.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_EXTENDED_NOT_LAST, + "An extended partition must always be the last\n" + "partition in a partition table.\n" + "\n" + " * Press any key to continue." + }, + { NULL, NULL } @@ -1601,13 +1638,19 @@ {STRING_PLEASEWAIT, " ®¦ «ã©áâ , ¯®¤®¦¤¨â¥..."}, {STRING_INSTALLCREATEPARTITION, - " ENTER = áâ ®¢¨âì C = ®§¤ âì à §¤¥« F3 = ë室"}, + " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, +// " ENTER = áâ ®¢¨âì C = ®§¤ âì à §¤¥« F3 = ë室"}, {STRING_INSTALLDELETEPARTITION, " ENTER = áâ ®¢¨âì D = ¤ «¨âì à §¤¥« F3 = ë室"}, + {STRING_DELETEPARTITION, + " D = Delete Partition F3 = Quit"}, {STRING_PARTITIONSIZE, " §¬¥à ®¢®£® à §¤¥« :"}, {STRING_CHOOSENEWPARTITION, - "ë å®â¨â¥ á®§¤ âì ®¢ë© à §¤¥« "}, + "You have chosen to create a primary partition on"}, +// "ë å®â¨â¥ á®§¤ âì ®¢ë© à §¤¥« "}, + {STRING_CHOOSE_NEW_EXTENDED_PARTITION, + "You have chosen to create an extended partition on"}, {STRING_HDDSIZE, "®¦ «ã©áâ , ¢¢¥¤¨â¥ à §¬¥à ®¢®£® à §¤¥« ¢ ¬¥£ ¡ ©â å."}, {STRING_CREATEPARTITION, @@ -1690,6 +1733,8 @@ " ¥à §¬¥ç¥®¥ ¯à®áâà á⢮ %6lu %s"}, {STRING_MAXSIZE, " (¬ ªá. %lu )"}, + {STRING_EXTENDED_PARTITION, + "Extended Partition"}, {STRING_UNFORMATTED, "®¢ë© (¥®âä®à¬ â¨à®¢ ë©)"}, {STRING_FORMATUNUSED,
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] Tue May 20 23:48:36 2014 @@ -827,12 +827,19 @@ { 8, 15, - "\x07 Stlate C pre vytvorenie novej oblasti.", + "\x07 Press P to create a primary partition.", +// "\x07 Stlate C pre vytvorenie novej oblasti.", TEXT_STYLE_NORMAL }, { 8, 17, + "\x07 Press E to create an extended partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 19, "\x07 Stlate D pre vymazanie existuj£cej oblasti.", TEXT_STYLE_NORMAL }, @@ -1286,6 +1293,10 @@
MUI_ERROR skSKErrorEntries[] = { + { + // NOT_AN_ERROR + "Success\n" + }, { //ERROR_NOT_INSTALLED "Systm ReactOS nie je kompletne nainçtalovanì na Vaçom\n" @@ -1500,6 +1511,32 @@ NULL }, { + //ERROR_PARTITION_TABLE_FULL, + "You can not create a new primary or extended partition in the\n" + "partition table of this disk because the partition table is full.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_ONLY_ONE_EXTENDED, + "You can not create more than one extended partition per disk.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_NOT_BEHIND_EXTENDED, + "You can not create a partition behind an extended partition.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_EXTENDED_NOT_LAST, + "An extended partition must always be the last\n" + "partition in a partition table.\n" + "\n" + " * Press any key to continue." + }, + { NULL, NULL } @@ -1611,13 +1648,19 @@ {STRING_PLEASEWAIT, " Pokajte, pros¡m ..."}, {STRING_INSTALLCREATEPARTITION, - " ENTER = Inçtalova C = Vytvori oblas F3 = Skoni"}, + " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, +// " ENTER = Inçtalova C = Vytvori oblas F3 = Skoni"}, {STRING_INSTALLDELETEPARTITION, " ENTER = Inçtalova D = Odstr ni oblas F3 = Skoni"}, + {STRING_DELETEPARTITION, + " D = Delete Partition F3 = Quit"}, {STRING_PARTITIONSIZE, "Vekos novej oblasti:"}, {STRING_CHOOSENEWPARTITION, - "Zvolili ste vytvorenie novej oblasti na"}, + "You have chosen to create a primary partition on"}, +// "Zvolili ste vytvorenie novej oblasti na"}, + {STRING_CHOOSE_NEW_EXTENDED_PARTITION, + "You have chosen to create an extended partition on"}, {STRING_HDDSIZE, "Zadajte, pros¡m, vekos novej oblasti v megabajtoch."}, {STRING_CREATEPARTITION, @@ -1700,6 +1743,8 @@ " Miesto bez oblast¡ %6lu %s"}, {STRING_MAXSIZE, "MB (max. %lu MB)"}, + {STRING_EXTENDED_PARTITION, + "Extended Partition"}, {STRING_UNFORMATTED, "Nov (Nenaform tovan )"}, {STRING_FORMATUNUSED,
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] Tue May 20 23:48:36 2014 @@ -823,12 +823,19 @@ { 8, 15, - "\x07 Kiko C pr t krijuar nj particion t ri.", + "\x07 Press P to create a primary partition.", +// "\x07 Kiko C pr t krijuar nj particion t ri.", TEXT_STYLE_NORMAL }, { 8, 17, + "\x07 Press E to create an extended partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 19, "\x07 Kliko D pr t fshir nj particion ekzistues.", TEXT_STYLE_NORMAL }, @@ -1282,6 +1289,10 @@
MUI_ERROR sqALErrorEntries[] = { + { + // NOT_AN_ERROR + "Success\n" + }, { //ERROR_NOT_INSTALLED "ReactOS nuk shte instaluar plotesisht ne kompjuterin\n" @@ -1493,6 +1504,32 @@ NULL }, { + //ERROR_PARTITION_TABLE_FULL, + "You can not create a new primary or extended partition in the\n" + "partition table of this disk because the partition table is full.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_ONLY_ONE_EXTENDED, + "You can not create more than one extended partition per disk.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_NOT_BEHIND_EXTENDED, + "You can not create a partition behind an extended partition.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_EXTENDED_NOT_LAST, + "An extended partition must always be the last\n" + "partition in a partition table.\n" + "\n" + " * Press any key to continue." + }, + { NULL, NULL } @@ -1603,13 +1640,19 @@ {STRING_PLEASEWAIT, " Ju lutem prisni..."}, {STRING_INSTALLCREATEPARTITION, - " ENTER = Instalo C = Krijo Particion F3 = Dil"}, + " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, +// " ENTER = Instalo C = Krijo Particion F3 = Dil"}, {STRING_INSTALLDELETEPARTITION, " ENTER = Instalo D = Fshi Particion F3 = Dil"}, + {STRING_DELETEPARTITION, + " D = Delete Partition F3 = Quit"}, {STRING_PARTITIONSIZE, "Madhsia e particionit t ri:"}, {STRING_CHOOSENEWPARTITION, +// "You have chosen to create a primary partition on"}, "Ju keni zgjedhur pr t krijuar nj ndarje t re n"}, + {STRING_CHOOSE_NEW_EXTENDED_PARTITION, + "You have chosen to create an extended partition on"}, {STRING_HDDSIZE, "Ju lutem, jepini madhsin e particionit t ri n megabajt."}, {STRING_CREATEPARTITION, @@ -1692,6 +1735,8 @@ " Hapsire e papjesesezuar %6lu %s"}, {STRING_MAXSIZE, "MB (max. %lu MB)"}, + {STRING_EXTENDED_PARTITION, + "Extended Partition"}, {STRING_UNFORMATTED, "I ri (papjesesezuar)"}, {STRING_FORMATUNUSED,
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] Tue May 20 23:48:36 2014 @@ -826,12 +826,19 @@ { 8, 15, - "\x07 Tryck C fr att skapa en ny partition.", + "\x07 Press P to create a primary partition.", +// "\x07 Tryck C fr att skapa en ny partition.", TEXT_STYLE_NORMAL }, { 8, 17, + "\x07 Press E to create an extended partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 19, "\x07 Tryck D fr att ta bort en befintlig partititon.", TEXT_STYLE_NORMAL }, @@ -1285,6 +1292,10 @@
MUI_ERROR svSEErrorEntries[] = { + { + // NOT_AN_ERROR + "Success\n" + }, { //ERROR_NOT_INSTALLED "ReactOS installerades inte fullstndigt p din\n" @@ -1496,6 +1507,32 @@ NULL }, { + //ERROR_PARTITION_TABLE_FULL, + "You can not create a new primary or extended partition in the\n" + "partition table of this disk because the partition table is full.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_ONLY_ONE_EXTENDED, + "You can not create more than one extended partition per disk.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_NOT_BEHIND_EXTENDED, + "You can not create a partition behind an extended partition.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_EXTENDED_NOT_LAST, + "An extended partition must always be the last\n" + "partition in a partition table.\n" + "\n" + " * Press any key to continue." + }, + { NULL, NULL } @@ -1606,13 +1643,19 @@ {STRING_PLEASEWAIT, " Var vnlig vnta..."}, {STRING_INSTALLCREATEPARTITION, - " ENTER = Installera C = Skapa Partition F3 = Avsluta"}, + " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, +// " ENTER = Installera C = Skapa Partition F3 = Avsluta"}, {STRING_INSTALLDELETEPARTITION, " ENTER = Installera D = Ta bort Partition F3 = Avsluta"}, + {STRING_DELETEPARTITION, + " D = Delete Partition F3 = Quit"}, {STRING_PARTITIONSIZE, "Storlek p den nya partitionen:"}, {STRING_CHOOSENEWPARTITION, - "Du har valt att skapa en ny partiton p"}, + "You have chosen to create a primary partition on"}, +// "Du har valt att skapa en ny partiton p"}, + {STRING_CHOOSE_NEW_EXTENDED_PARTITION, + "You have chosen to create an extended partition on"}, {STRING_HDDSIZE, "Vnligen skriv in storleken av den nya partitionen i megabytes."}, {STRING_CREATEPARTITION, @@ -1695,6 +1738,8 @@ " Opartitionerat utrymme %6lu %s"}, {STRING_MAXSIZE, "MB (max. %lu MB)"}, + {STRING_EXTENDED_PARTITION, + "Extended Partition"}, {STRING_UNFORMATTED, "Ny (Oformaterad)"}, {STRING_FORMATUNUSED,
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] Tue May 20 23:48:36 2014 @@ -807,12 +807,19 @@ { 8, 15, - "\x07 Seili boluktan yeni bir blm oluturmak iin C d§mesine basnz.", + "\x07 Press P to create a primary partition.", +// "\x07 Seili boluktan yeni bir blm oluturmak iin C d§mesine basnz.", TEXT_STYLE_NORMAL }, { 8, 17, + "\x07 Press E to create an extended partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 19, "\x07 Seili blm silmek iin D d§mesine basnz.", TEXT_STYLE_NORMAL }, @@ -1254,6 +1261,10 @@
MUI_ERROR trTRErrorEntries[] = { + { + // NOT_AN_ERROR + "Success\n" + }, { //ERROR_NOT_INSTALLED "ReactOS, bilgisayara btnyle kurulmad.\n" @@ -1464,6 +1475,32 @@ NULL }, { + //ERROR_PARTITION_TABLE_FULL, + "You can not create a new primary or extended partition in the\n" + "partition table of this disk because the partition table is full.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_ONLY_ONE_EXTENDED, + "You can not create more than one extended partition per disk.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_NOT_BEHIND_EXTENDED, + "You can not create a partition behind an extended partition.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_EXTENDED_NOT_LAST, + "An extended partition must always be the last\n" + "partition in a partition table.\n" + "\n" + " * Press any key to continue." + }, + { NULL, NULL } @@ -1574,13 +1611,19 @@ {STRING_PLEASEWAIT, " Ltfen bekleyiniz..."}, {STRING_INSTALLCREATEPARTITION, - " Giri = Kur C = Blm Olutur F3 = k"}, + " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, +// " Giri = Kur C = Blm Olutur F3 = k"}, {STRING_INSTALLDELETEPARTITION, " Giri = Kur D = Blm Sil F3 = k"}, + {STRING_DELETEPARTITION, + " D = Delete Partition F3 = Quit"}, {STRING_PARTITIONSIZE, "Bykl§ giriniz:"}, {STRING_CHOOSENEWPARTITION, - "Yeni bir blm oluturmay setiniz."}, + "You have chosen to create a primary partition on"}, +// "Yeni bir blm oluturmay setiniz."}, + {STRING_CHOOSE_NEW_EXTENDED_PARTITION, + "You have chosen to create an extended partition on"}, {STRING_HDDSIZE, "Oluturulacak blmn bykl§n megaoklu olarak giriniz."}, {STRING_CREATEPARTITION, @@ -1663,6 +1706,8 @@ " Kullanlmayan Boluk %6lu %s"}, {STRING_MAXSIZE, "MB (En ok %lu MB)"}, + {STRING_EXTENDED_PARTITION, + "Extended Partition"}, {STRING_UNFORMATTED, "Yeni (Biimlendirilmemi)"}, {STRING_FORMATUNUSED,
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] Tue May 20 23:48:36 2014 @@ -825,12 +825,19 @@ { 8, 15, - "\x07 â¨áiâì C 鮡 á⢮à¨â¨ ®¢¨© à®§¤i«.", + "\x07 Press P to create a primary partition.", +// "\x07 â¨áiâì C 鮡 á⢮à¨â¨ ®¢¨© à®§¤i«.", TEXT_STYLE_NORMAL }, { 8, 17, + "\x07 Press E to create an extended partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 19, "\x07 â¨áiâì D 鮡 ¢¨¤ «¨â¨ iáãî稩 à®§¤i«.", TEXT_STYLE_NORMAL }, @@ -1284,6 +1291,10 @@
MUI_ERROR ukUAErrorEntries[] = { + { + // NOT_AN_ERROR + "Success\n" + }, { //ERROR_NOT_INSTALLED "ReactOS ¥ ¡ã¢ ¯®¢iáâî ¢áâ ®¢«¥¨© è\n" @@ -1496,6 +1507,32 @@ NULL }, { + //ERROR_PARTITION_TABLE_FULL, + "You can not create a new primary or extended partition in the\n" + "partition table of this disk because the partition table is full.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_ONLY_ONE_EXTENDED, + "You can not create more than one extended partition per disk.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_NOT_BEHIND_EXTENDED, + "You can not create a partition behind an extended partition.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_EXTENDED_NOT_LAST, + "An extended partition must always be the last\n" + "partition in a partition table.\n" + "\n" + " * Press any key to continue." + }, + { NULL, NULL } @@ -1606,13 +1643,19 @@ {STRING_PLEASEWAIT, " ã¤ì-« ᪠, § 祪 ©â¥..."}, {STRING_INSTALLCREATEPARTITION, - " ENTER = áâ ®¢¨â¨ C = ⢮à¨â¨ ®§¤i« F3 = ¨©â¨"}, + " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, +// " ENTER = áâ ®¢¨â¨ C = ⢮à¨â¨ ®§¤i« F3 = ¨©â¨"}, {STRING_INSTALLDELETEPARTITION, " ENTER = áâ ®¢¨â¨ D = ¨¤ «¨â¨ ®§¤i« F3 = ¨©â¨"}, + {STRING_DELETEPARTITION, + " D = Delete Partition F3 = Quit"}, {STRING_PARTITIONSIZE, "®§¬ià ®¢®£® à®§¤i«ã:"}, {STRING_CHOOSENEWPARTITION, - "¨ å®ç¥â¥ á⢮à¨â¨ ®¢¨© à®§¤i« "}, + "You have chosen to create a primary partition on"}, +// "¨ å®ç¥â¥ á⢮à¨â¨ ®¢¨© à®§¤i« "}, + {STRING_CHOOSE_NEW_EXTENDED_PARTITION, + "You have chosen to create an extended partition on"}, {STRING_HDDSIZE, "ã¤ì-« ᪠, ¢¢¥¤iâì à®§¬ià ®¢®£® à®§¤i«ã ¢ ¬¥£ ¡ ©â å."}, {STRING_CREATEPARTITION, @@ -1695,6 +1738,8 @@ " ¥à®§¬iç¥ ®¡« áâì %6lu %s"}, {STRING_MAXSIZE, "MB (¬ ªá. %lu MB)"}, + {STRING_EXTENDED_PARTITION, + "Extended Partition"}, {STRING_UNFORMATTED, "®¢¨© (¥ä®à¬ ⮢ ¨©)"}, {STRING_FORMATUNUSED,
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] Tue May 20 23:48:36 2014 @@ -100,8 +100,10 @@ #define STRING_PLEASEWAIT 1 #define STRING_INSTALLCREATEPARTITION 2 #define STRING_INSTALLDELETEPARTITION 3 +#define STRING_DELETEPARTITION 59 #define STRING_PARTITIONSIZE 4 #define STRING_CHOOSENEWPARTITION 5 +#define STRING_CHOOSE_NEW_EXTENDED_PARTITION 57 #define STRING_HDDSIZE 6 #define STRING_CREATEPARTITION 7 #define STRING_PARTFORMAT 8 @@ -144,6 +146,7 @@ #define STRING_UNPSPACE 48 #define STRING_MAXSIZE 49 #define STRING_UNFORMATTED 50 +#define STRING_EXTENDED_PARTITION 58 #define STRING_FORMATUNUSED 51 #define STRING_FORMATUNKNOWN 52 #define STRING_KB 53
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] Tue May 20 23:48:36 2014 @@ -1373,6 +1373,11 @@ { PartType = "NTFS"; /* FIXME: Not quite correct! */ } + else if ((PartEntry->PartitionType == PARTITION_EXTENDED) || + (PartEntry->PartitionType == PARTITION_XINT13_EXTENDED)) + { + PartType = MUIGetString(STRING_EXTENDED_PARTITION); + } }
PartSize.QuadPart = PartEntry->SectorCount.QuadPart * DiskEntry->BytesPerSector; @@ -2095,7 +2100,7 @@
VOID -CreateNewPartition( +CreatePrimaryPartition( PPARTLIST List, ULONGLONG SectorCount, BOOLEAN AutoCreate) @@ -2104,7 +2109,7 @@ PPARTENTRY PartEntry; PPARTENTRY NewPartEntry;
- DPRINT1("CreateNewPartition(%I64u)\n", SectorCount); + DPRINT1("CreatePrimaryPartition(%I64u)\n", SectorCount);
if (List == NULL || List->CurrentDisk == NULL || @@ -2168,6 +2173,102 @@
PartEntry->StartSector.QuadPart = NewPartEntry->StartSector.QuadPart + NewPartEntry->SectorCount.QuadPart; PartEntry->SectorCount.QuadPart -= (PartEntry->StartSector.QuadPart - NewPartEntry->StartSector.QuadPart); + } + + UpdateDiskLayout(DiskEntry); + + DiskEntry->Dirty = TRUE; + + UpdatePartitionNumbers(DiskEntry); + + AssignDriveLetters(List); +} + + +VOID +CreateExtendedPartition( + PPARTLIST List, + ULONGLONG SectorCount) +{ + PDISKENTRY DiskEntry; + PPARTENTRY PartEntry; + PPARTENTRY NewPartEntry; + + DPRINT1("CreatePrimaryPartition(%I64u)\n", SectorCount); + + if (List == NULL || + List->CurrentDisk == NULL || + List->CurrentPartition == NULL || + List->CurrentPartition->IsPartitioned == TRUE) + { + return; + } + + DiskEntry = List->CurrentDisk; + PartEntry = List->CurrentPartition; + +DPRINT1("Current partition sector count: %I64u\n", PartEntry->SectorCount.QuadPart); + + if (Align(PartEntry->StartSector.QuadPart + SectorCount, DiskEntry->SectorAlignment) - PartEntry->StartSector.QuadPart == PartEntry->SectorCount.QuadPart) + { +DPRINT1("Convert existing partition entry\n"); + /* Convert current entry to 'new (unformatted)' */ + PartEntry->IsPartitioned = TRUE; +// PartEntry->PartitionType = PARTITION_ENTRY_UNUSED; + PartEntry->FormatState = Formatted; + PartEntry->AutoCreate = FALSE; + PartEntry->New = FALSE; + PartEntry->BootIndicator = FALSE; /* FIXME */ + +DPRINT1("First Sector: %I64u\n", PartEntry->StartSector.QuadPart); +DPRINT1("Last Sector: %I64u\n", PartEntry->StartSector.QuadPart + PartEntry->SectorCount.QuadPart - 1); +DPRINT1("Total Sectors: %I64u\n", PartEntry->SectorCount.QuadPart); + } + else + { +DPRINT1("Add new partition entry\n"); + + /* Insert and initialize a new partition entry */ + NewPartEntry = RtlAllocateHeap(ProcessHeap, + HEAP_ZERO_MEMORY, + sizeof(PARTENTRY)); + if (NewPartEntry == NULL) + return; + + /* Insert the new entry into the list */ + InsertTailList(&PartEntry->ListEntry, + &NewPartEntry->ListEntry); + + NewPartEntry->DiskEntry = DiskEntry; + + NewPartEntry->IsPartitioned = TRUE; + NewPartEntry->StartSector.QuadPart = PartEntry->StartSector.QuadPart; + NewPartEntry->SectorCount.QuadPart = Align(NewPartEntry->StartSector.QuadPart + SectorCount, DiskEntry->SectorAlignment) - + NewPartEntry->StartSector.QuadPart; + +// NewPartEntry->PartitionType = PARTITION_ENTRY_UNUSED; + +DPRINT1("First Sector: %I64u\n", NewPartEntry->StartSector.QuadPart); +DPRINT1("Last Sector: %I64u\n", NewPartEntry->StartSector.QuadPart + NewPartEntry->SectorCount.QuadPart - 1); +DPRINT1("Total Sectors: %I64u\n", NewPartEntry->SectorCount.QuadPart); + + NewPartEntry->New = FALSE; + NewPartEntry->FormatState = Formatted; + NewPartEntry->BootIndicator = FALSE; /* FIXME */ + + PartEntry->StartSector.QuadPart = NewPartEntry->StartSector.QuadPart + NewPartEntry->SectorCount.QuadPart; + PartEntry->SectorCount.QuadPart -= (PartEntry->StartSector.QuadPart - NewPartEntry->StartSector.QuadPart); + } + + if (NewPartEntry->StartSector.QuadPart < 1450560) + { + /* Partition starts below the 8.4GB boundary ==> CHS partition */ + NewPartEntry->PartitionType = PARTITION_EXTENDED; + } + else + { + /* Partition starts above the 8.4GB boundary ==> LBA partition */ + NewPartEntry->PartitionType = PARTITION_XINT13_EXTENDED; }
UpdateDiskLayout(DiskEntry); @@ -2561,4 +2662,143 @@ return TRUE; }
+ +static +BOOLEAN +IsLastPrimaryPartiton( + IN PPARTENTRY PartEntry) +{ + return (PartEntry->ListEntry.Flink == &PartEntry->DiskEntry->PrimaryPartListHead); +} + + +static +BOOLEAN +IsPreviousPartitionExtended( + IN PPARTENTRY PartEntry, + IN PDISKENTRY DiskEntry) +{ + PPARTENTRY PrevPartEntry; + PLIST_ENTRY Entry; + + Entry = PartEntry->ListEntry.Blink; + + while (Entry != &DiskEntry->PrimaryPartListHead) + { + PrevPartEntry = CONTAINING_RECORD(Entry, PARTENTRY, ListEntry); + + if (IsContainerPartition(PrevPartEntry->PartitionType)) + return TRUE; + + Entry = Entry->Blink; + } + + return FALSE; + +} + + +static +ULONG +GetPrimaryPartitionCount( + IN PDISKENTRY DiskEntry) +{ + PLIST_ENTRY Entry; + PPARTENTRY PartEntry; + UINT nCount = 0; + + Entry = DiskEntry->PrimaryPartListHead.Flink; + while (Entry != &DiskEntry->PrimaryPartListHead) + { + PartEntry = CONTAINING_RECORD(Entry, PARTENTRY, ListEntry); + if (PartEntry->IsPartitioned == TRUE) + nCount++; + + Entry = Entry->Flink; + } + + return nCount; +} + + +static +ULONG +GetExtendedPartitionCount( + IN PDISKENTRY DiskEntry) +{ + PLIST_ENTRY Entry; + PPARTENTRY PartEntry; + UINT nCount = 0; + + Entry = DiskEntry->PrimaryPartListHead.Flink; + while (Entry != &DiskEntry->PrimaryPartListHead) + { + PartEntry = CONTAINING_RECORD(Entry, PARTENTRY, ListEntry); + if (PartEntry->IsPartitioned == TRUE && + IsContainerPartition(PartEntry->PartitionType)) + nCount++; + + Entry = Entry->Flink; + } + + return nCount; +} + + +ULONG +PrimaryPartitionCreationChecks( + IN PPARTLIST List) +{ + PDISKENTRY DiskEntry; + PPARTENTRY PartEntry; + + DiskEntry = List->CurrentDisk; + PartEntry = List->CurrentPartition; + + /* Fail if partition is already in use */ + if (PartEntry->IsPartitioned == TRUE) + return ERROR_NEW_PARTITION; + + /* Fail if there are more than 4 partitions in the list */ + if (GetPrimaryPartitionCount(DiskEntry) > 4) + return ERROR_PARTITION_TABLE_FULL; + + /* FIXME: Fail if this partiton is located behind an extended partition */ + if (IsPreviousPartitionExtended(PartEntry, DiskEntry)) + return ERROR_NOT_BEHIND_EXTENDED; + + return ERROR_SUCCESS; +} + + +ULONG +ExtendedPartitionCreationChecks( + IN PPARTLIST List) +{ + PDISKENTRY DiskEntry; + PPARTENTRY PartEntry; + + DiskEntry = List->CurrentDisk; + PartEntry = List->CurrentPartition; + + /* Fail if partition is already in use */ + if (PartEntry->IsPartitioned == TRUE) + return ERROR_NEW_PARTITION; + + /* Fail if there are more than 4 partitions in the list */ + if (GetPrimaryPartitionCount(DiskEntry) > 4) + return ERROR_PARTITION_TABLE_FULL; + + /* Fail if there is another extended partition in the list */ + if (GetExtendedPartitionCount(DiskEntry) != 0) + return ERROR_ONLY_ONE_EXTENDED; + + /* Fail if the partition is not the last list entry */ + if (!IsLastPrimaryPartiton(PartEntry)) + return ERROR_EXTENDED_NOT_LAST; + + return ERROR_SUCCESS; +} + + /* EOF */
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] Tue May 20 23:48:36 2014 @@ -216,12 +216,17 @@ PPARTLIST List);
VOID -CreateNewPartition( +CreatePrimaryPartition( PPARTLIST List, ULONGLONG PartitionSize, BOOLEAN AutoCreate);
VOID +CreateExtendedPartition( + PPARTLIST List, + ULONGLONG PartitionSize); + +VOID DeleteCurrentPartition( PPARTLIST List);
@@ -237,4 +242,12 @@ WritePartitionsToDisk( PPARTLIST List);
+ULONG +PrimaryPartitionCreationChecks( + IN PPARTLIST List); + +ULONG +ExtendedPartitionCreationChecks( + IN PPARTLIST List); + /* EOF */
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] Tue May 20 23:48:36 2014 @@ -128,7 +128,8 @@ LAYOUT_SETTINGS_PAGE,
SELECT_PARTITION_PAGE, - CREATE_PARTITION_PAGE, + CREATE_PRIMARY_PARTITION_PAGE, + CREATE_EXTENDED_PARTITION_PAGE, DELETE_PARTITION_PAGE,
SELECT_FILE_SYSTEM_PAGE,