From 5e346150a342c5704b8f9decf61a3543aa1c75b8 Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Sat, 4 Jul 2015 16:04:09 +0000 Subject: [PATCH] [USETUP] - Add description of the 'L' key to the partition selection page. - Make the 'ENTER' key work for logical partitions too. Selected unpartitioned space will be converted to a logical partition. Patch by Gerhard Gruber (sparhawk). CORE-9641 #resolve svn path=/trunk/; revision=68339 --- reactos/base/setup/usetup/interface/usetup.c | 35 +++++++++++++++----- reactos/base/setup/usetup/lang/bg-BG.h | 6 ++++ reactos/base/setup/usetup/lang/bn-BD.h | 6 ++++ reactos/base/setup/usetup/lang/cs-CZ.h | 6 ++++ reactos/base/setup/usetup/lang/de-DE.h | 6 ++++ reactos/base/setup/usetup/lang/el-GR.h | 6 ++++ reactos/base/setup/usetup/lang/en-US.h | 6 ++++ reactos/base/setup/usetup/lang/es-ES.h | 6 ++++ reactos/base/setup/usetup/lang/et-EE.h | 6 ++++ reactos/base/setup/usetup/lang/fr-FR.h | 6 ++++ reactos/base/setup/usetup/lang/he-IL.h | 6 ++++ reactos/base/setup/usetup/lang/it-IT.h | 6 ++++ reactos/base/setup/usetup/lang/ja-JP.h | 6 ++++ reactos/base/setup/usetup/lang/lt-LT.h | 6 ++++ reactos/base/setup/usetup/lang/nl-NL.h | 6 ++++ reactos/base/setup/usetup/lang/pl-PL.h | 6 ++++ reactos/base/setup/usetup/lang/pt-BR.h | 6 ++++ reactos/base/setup/usetup/lang/ro-RO.h | 6 ++++ reactos/base/setup/usetup/lang/ru-RU.h | 6 ++++ reactos/base/setup/usetup/lang/sk-SK.h | 6 ++++ reactos/base/setup/usetup/lang/sq-AL.h | 6 ++++ reactos/base/setup/usetup/lang/sv-SE.h | 6 ++++ reactos/base/setup/usetup/lang/tr-TR.h | 6 ++++ reactos/base/setup/usetup/lang/uk-UA.h | 6 ++++ reactos/base/setup/usetup/partlist.c | 6 ++-- reactos/base/setup/usetup/partlist.h | 3 +- 26 files changed, 171 insertions(+), 11 deletions(-) diff --git a/reactos/base/setup/usetup/interface/usetup.c b/reactos/base/setup/usetup/interface/usetup.c index c5261c5bc75..abe4ed79035 100644 --- a/reactos/base/setup/usetup/interface/usetup.c +++ b/reactos/base/setup/usetup/interface/usetup.c @@ -1454,7 +1454,7 @@ SelectPartitionPage(PINPUT_RECORD Ir) if (PartitionList == NULL) { PartitionList = CreatePartitionList(2, - 21, + 23, xScreen - 3, yScreen - 3); if (PartitionList == NULL) @@ -1477,9 +1477,18 @@ SelectPartitionPage(PINPUT_RECORD Ir) { if (AutoPartition) { - CreatePrimaryPartition(PartitionList, - PartitionList->CurrentPartition->SectorCount.QuadPart, - TRUE); + if (PartitionList->CurrentPartition->LogicalPartition) + { + CreateLogicalPartition(PartitionList, + PartitionList->CurrentPartition->SectorCount.QuadPart, + TRUE); + } + else + { + CreatePrimaryPartition(PartitionList, + PartitionList->CurrentPartition->SectorCount.QuadPart, + TRUE); + } if (!IsDiskSizeValid(PartitionList->CurrentPartition)) { @@ -1579,9 +1588,18 @@ SelectPartitionPage(PINPUT_RECORD Ir) if (PartitionList->CurrentPartition == NULL || PartitionList->CurrentPartition->IsPartitioned == FALSE) { - CreatePrimaryPartition(PartitionList, - 0ULL, - TRUE); + if (PartitionList->CurrentPartition->LogicalPartition) + { + CreateLogicalPartition(PartitionList, + 0ULL, + TRUE); + } + else + { + CreatePrimaryPartition(PartitionList, + 0ULL, + TRUE); + } } if (!IsDiskSizeValid(PartitionList->CurrentPartition)) @@ -2203,7 +2221,8 @@ CreateLogicalPartitionPage(PINPUT_RECORD Ir) DPRINT("Partition size: %I64u bytes\n", PartSize); CreateLogicalPartition(PartitionList, - SectorCount); + SectorCount, + FALSE); return SELECT_PARTITION_PAGE; } diff --git a/reactos/base/setup/usetup/lang/bg-BG.h b/reactos/base/setup/usetup/lang/bg-BG.h index 7dd7944f398..9bfdb3b6357 100644 --- a/reactos/base/setup/usetup/lang/bg-BG.h +++ b/reactos/base/setup/usetup/lang/bg-BG.h @@ -811,6 +811,12 @@ static MUI_ENTRY bgBGSelectPartitionEntries[] = { 8, 19, + "\x07 Press L to create a logical partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 21, "\x07  â¨á­¥â¥ D §  ¨§âਢ ­¥ ­  áêé¥áâ¢ã¢ é ¤ï«.", TEXT_STYLE_NORMAL }, diff --git a/reactos/base/setup/usetup/lang/bn-BD.h b/reactos/base/setup/usetup/lang/bn-BD.h index 86c6835034d..520656b832d 100644 --- a/reactos/base/setup/usetup/lang/bn-BD.h +++ b/reactos/base/setup/usetup/lang/bn-BD.h @@ -801,6 +801,12 @@ static MUI_ENTRY bnBDSelectPartitionEntries[] = { 8, 19, + "\x07 Press L to create a logical partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 21, "\x07 Press D to delete an existing partition.", TEXT_STYLE_NORMAL }, diff --git a/reactos/base/setup/usetup/lang/cs-CZ.h b/reactos/base/setup/usetup/lang/cs-CZ.h index a9760531d4b..8fbc02e42fd 100644 --- a/reactos/base/setup/usetup/lang/cs-CZ.h +++ b/reactos/base/setup/usetup/lang/cs-CZ.h @@ -809,6 +809,12 @@ static MUI_ENTRY csCZSelectPartitionEntries[] = { 8, 19, + "\x07 Press L to create a logical partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 21, "\x07 Stisknut¡m D umo§n¡te smaz n¡ existuj¡c¡ho odd¡lu.", TEXT_STYLE_NORMAL }, diff --git a/reactos/base/setup/usetup/lang/de-DE.h b/reactos/base/setup/usetup/lang/de-DE.h index d07691bb407..1b8f8388a3c 100644 --- a/reactos/base/setup/usetup/lang/de-DE.h +++ b/reactos/base/setup/usetup/lang/de-DE.h @@ -796,6 +796,12 @@ static MUI_ENTRY deDESelectPartitionEntries[] = { 8, 19, + "\x07 L erstellt eine logische Partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 21, "\x07 D l”scht eine vorhandene Partition.", TEXT_STYLE_NORMAL }, diff --git a/reactos/base/setup/usetup/lang/el-GR.h b/reactos/base/setup/usetup/lang/el-GR.h index 79b414927a5..1e2217f0f29 100644 --- a/reactos/base/setup/usetup/lang/el-GR.h +++ b/reactos/base/setup/usetup/lang/el-GR.h @@ -814,6 +814,12 @@ static MUI_ENTRY elGRSelectPartitionEntries[] = { 8, 19, + "\x07 Press L to create a logical partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 21, "\x07 ˜«ã©«œ D š ˜ ¤˜ › ˜š¨á¯œ«œ ⤘ ¬§á¨®¦¤ › ˜£â¨ ©£˜.", TEXT_STYLE_NORMAL }, diff --git a/reactos/base/setup/usetup/lang/en-US.h b/reactos/base/setup/usetup/lang/en-US.h index 6229d647acf..466e1a24fa1 100644 --- a/reactos/base/setup/usetup/lang/en-US.h +++ b/reactos/base/setup/usetup/lang/en-US.h @@ -801,6 +801,12 @@ static MUI_ENTRY enUSSelectPartitionEntries[] = { 8, 19, + "\x07 Press L to create a logical partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 21, "\x07 Press D to delete an existing partition.", TEXT_STYLE_NORMAL }, diff --git a/reactos/base/setup/usetup/lang/es-ES.h b/reactos/base/setup/usetup/lang/es-ES.h index a78fe243281..88d003ce30c 100644 --- a/reactos/base/setup/usetup/lang/es-ES.h +++ b/reactos/base/setup/usetup/lang/es-ES.h @@ -809,6 +809,12 @@ static MUI_ENTRY esESSelectPartitionEntries[] = { 8, 19, + "\x07 Press L to create a logical partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 21, "\x07 Presione D para borrar una partici¢n existente.", TEXT_STYLE_NORMAL }, diff --git a/reactos/base/setup/usetup/lang/et-EE.h b/reactos/base/setup/usetup/lang/et-EE.h index 1c6172b0381..eafbfebc43d 100644 --- a/reactos/base/setup/usetup/lang/et-EE.h +++ b/reactos/base/setup/usetup/lang/et-EE.h @@ -802,6 +802,12 @@ static MUI_ENTRY etEESelectPartitionEntries[] = { 8, 19, + "\x07 Press L to create a logical partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 21, "\x07 Vajuta D, et kustutada olemasolev partitsioon.", TEXT_STYLE_NORMAL }, diff --git a/reactos/base/setup/usetup/lang/fr-FR.h b/reactos/base/setup/usetup/lang/fr-FR.h index 177cdc0c2de..8886c6f9038 100644 --- a/reactos/base/setup/usetup/lang/fr-FR.h +++ b/reactos/base/setup/usetup/lang/fr-FR.h @@ -814,6 +814,12 @@ static MUI_ENTRY frFRSelectPartitionEntries[] = { 8, 19, + "\x07 Press L to create a logical partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 21, "\x07 Appuyer sur D pour effacer une partition.", TEXT_STYLE_NORMAL }, diff --git a/reactos/base/setup/usetup/lang/he-IL.h b/reactos/base/setup/usetup/lang/he-IL.h index d08f76e432a..395994d3855 100644 --- a/reactos/base/setup/usetup/lang/he-IL.h +++ b/reactos/base/setup/usetup/lang/he-IL.h @@ -802,6 +802,12 @@ static MUI_ENTRY heILSelectPartitionEntries[] = { 8, 19, + "\x07 Press L to create a logical partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 21, "\x07 Press D to delete an existing partition.", TEXT_STYLE_NORMAL }, diff --git a/reactos/base/setup/usetup/lang/it-IT.h b/reactos/base/setup/usetup/lang/it-IT.h index dc7da0c5d75..cb68d335558 100644 --- a/reactos/base/setup/usetup/lang/it-IT.h +++ b/reactos/base/setup/usetup/lang/it-IT.h @@ -809,6 +809,12 @@ static MUI_ENTRY itITSelectPartitionEntries[] = { 8, 19, + "\x07 Press L to create a logical partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 21, "\x07 Premere D per cancellare una partizione esistente.", TEXT_STYLE_NORMAL }, diff --git a/reactos/base/setup/usetup/lang/ja-JP.h b/reactos/base/setup/usetup/lang/ja-JP.h index ad1dfc97dbe..e743280ef04 100644 --- a/reactos/base/setup/usetup/lang/ja-JP.h +++ b/reactos/base/setup/usetup/lang/ja-JP.h @@ -803,6 +803,12 @@ static MUI_ENTRY jaJPSelectPartitionEntries[] = { 8, 19, + "\x07 Press L to create a logical partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 21, "\x07 ·¿ÝÉ Ê߰輮ݦ »¸¼Þ® ½ÙÆÊ D ·°¦ µ¼Ã ¸ÀÞ»²¡", TEXT_STYLE_NORMAL }, diff --git a/reactos/base/setup/usetup/lang/lt-LT.h b/reactos/base/setup/usetup/lang/lt-LT.h index 35139dd0640..e5ed1a5b3e1 100644 --- a/reactos/base/setup/usetup/lang/lt-LT.h +++ b/reactos/base/setup/usetup/lang/lt-LT.h @@ -811,6 +811,12 @@ static MUI_ENTRY ltLTSelectPartitionEntries[] = { 8, 19, + "\x07 Press L to create a logical partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 21, "\x07 Press D to delete an existing partition.", TEXT_STYLE_NORMAL }, diff --git a/reactos/base/setup/usetup/lang/nl-NL.h b/reactos/base/setup/usetup/lang/nl-NL.h index d1e16162fca..30e12f6eb96 100644 --- a/reactos/base/setup/usetup/lang/nl-NL.h +++ b/reactos/base/setup/usetup/lang/nl-NL.h @@ -831,6 +831,12 @@ static MUI_ENTRY nlNLSelectPartitionEntries[] = { 8, 19, + "\x07 Press L to create a logical partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 21, "\x07 Druk op D om een bestaande partitie te verwijderen.", TEXT_STYLE_NORMAL }, diff --git a/reactos/base/setup/usetup/lang/pl-PL.h b/reactos/base/setup/usetup/lang/pl-PL.h index 3d44404bab3..9a816d06e48 100644 --- a/reactos/base/setup/usetup/lang/pl-PL.h +++ b/reactos/base/setup/usetup/lang/pl-PL.h @@ -811,6 +811,12 @@ static MUI_ENTRY plPLSelectPartitionEntries[] = { 8, 19, + "\x07 Press L to create a logical partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 21, "\x07 Naci˜nij D, by skasowa† istniej¥c¥ partycj©.", TEXT_STYLE_NORMAL }, diff --git a/reactos/base/setup/usetup/lang/pt-BR.h b/reactos/base/setup/usetup/lang/pt-BR.h index 60053b26c3e..25577a1e712 100644 --- a/reactos/base/setup/usetup/lang/pt-BR.h +++ b/reactos/base/setup/usetup/lang/pt-BR.h @@ -821,6 +821,12 @@ static MUI_ENTRY ptBRSelectPartitionEntries[] = { 8, 19, + "\x07 Press L to create a logical partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 21, "\x07 Para excluir a parti‡Æo selecionada, pressione D.", TEXT_STYLE_NORMAL }, diff --git a/reactos/base/setup/usetup/lang/ro-RO.h b/reactos/base/setup/usetup/lang/ro-RO.h index 98e78d75995..f82b3f55927 100644 --- a/reactos/base/setup/usetup/lang/ro-RO.h +++ b/reactos/base/setup/usetup/lang/ro-RO.h @@ -857,6 +857,12 @@ static MUI_ENTRY roROSelectPartitionEntries[] = { 8, 19, + "\x07 Press L to create a logical partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 21, "\x07 Tastaîi D pentru a ­terge o partiîie existentÇ.", TEXT_STYLE_NORMAL }, diff --git a/reactos/base/setup/usetup/lang/ru-RU.h b/reactos/base/setup/usetup/lang/ru-RU.h index 86431de7e81..3c999524d73 100644 --- a/reactos/base/setup/usetup/lang/ru-RU.h +++ b/reactos/base/setup/usetup/lang/ru-RU.h @@ -802,6 +802,12 @@ static MUI_ENTRY ruRUSelectPartitionEntries[] = { 8, 19, + "\x07 Press L to create a logical partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 21, "\x07  ¦¬¨â¥ D ¤«ï 㤠«¥­¨ï áãé¥áâ¢ãî饣® à §¤¥« .", TEXT_STYLE_NORMAL }, diff --git a/reactos/base/setup/usetup/lang/sk-SK.h b/reactos/base/setup/usetup/lang/sk-SK.h index efb6f78d5d7..1ba5def5151 100644 --- a/reactos/base/setup/usetup/lang/sk-SK.h +++ b/reactos/base/setup/usetup/lang/sk-SK.h @@ -810,6 +810,12 @@ static MUI_ENTRY skSKSelectPartitionEntries[] = { 8, 19, + "\x07 Press L to create a logical partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 21, "\x07 StlaŸte D pre vymazanie existuj£cej oblasti.", TEXT_STYLE_NORMAL }, diff --git a/reactos/base/setup/usetup/lang/sq-AL.h b/reactos/base/setup/usetup/lang/sq-AL.h index 91ad879c035..2aabbb98c6c 100644 --- a/reactos/base/setup/usetup/lang/sq-AL.h +++ b/reactos/base/setup/usetup/lang/sq-AL.h @@ -806,6 +806,12 @@ static MUI_ENTRY sqALSelectPartitionEntries[] = { 8, 19, + "\x07 Press L to create a logical partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 21, "\x07 Kliko D p‰r t‰ fshir‰ nj‰ particion ekzistues.", TEXT_STYLE_NORMAL }, diff --git a/reactos/base/setup/usetup/lang/sv-SE.h b/reactos/base/setup/usetup/lang/sv-SE.h index d0caa392688..bd8cf0650ae 100644 --- a/reactos/base/setup/usetup/lang/sv-SE.h +++ b/reactos/base/setup/usetup/lang/sv-SE.h @@ -809,6 +809,12 @@ static MUI_ENTRY svSESelectPartitionEntries[] = { 8, 19, + "\x07 Press L to create a logical partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 21, "\x07 Tryck D f”r att ta bort en befintlig partititon.", TEXT_STYLE_NORMAL }, diff --git a/reactos/base/setup/usetup/lang/tr-TR.h b/reactos/base/setup/usetup/lang/tr-TR.h index 36c443ba859..ae1b6c90c9c 100644 --- a/reactos/base/setup/usetup/lang/tr-TR.h +++ b/reactos/base/setup/usetup/lang/tr-TR.h @@ -795,6 +795,12 @@ static MUI_ENTRY trTRSelectPartitionEntries[] = { 8, 19, + "\x07 Press L to create a logical partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 21, "\x07 Var olan bir b”lm silmek i‡in D'ye basnz.", TEXT_STYLE_NORMAL }, diff --git a/reactos/base/setup/usetup/lang/uk-UA.h b/reactos/base/setup/usetup/lang/uk-UA.h index 062d35163e4..59e373bcc9c 100644 --- a/reactos/base/setup/usetup/lang/uk-UA.h +++ b/reactos/base/setup/usetup/lang/uk-UA.h @@ -808,6 +808,12 @@ static MUI_ENTRY ukUASelectPartitionEntries[] = { 8, 19, + "\x07 Press L to create a logical partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 21, "\x07  â¨á­iâì D 鮡 ¢¨¤ «¨â¨ iá­ãî稩 ஧¤i«.", TEXT_STYLE_NORMAL }, diff --git a/reactos/base/setup/usetup/partlist.c b/reactos/base/setup/usetup/partlist.c index d9b694d70da..d3db63d4557 100644 --- a/reactos/base/setup/usetup/partlist.c +++ b/reactos/base/setup/usetup/partlist.c @@ -2762,7 +2762,8 @@ CreateExtendedPartition( VOID CreateLogicalPartition( PPARTLIST List, - ULONGLONG SectorCount) + ULONGLONG SectorCount, + BOOLEAN AutoCreate) { PDISKENTRY DiskEntry; PPARTENTRY PartEntry; @@ -2783,7 +2784,8 @@ CreateLogicalPartition( DPRINT1("Current partition sector count: %I64u\n", PartEntry->SectorCount.QuadPart); - if (Align(PartEntry->StartSector.QuadPart + SectorCount, DiskEntry->SectorAlignment) - PartEntry->StartSector.QuadPart == PartEntry->SectorCount.QuadPart) + if (AutoCreate == TRUE || + Align(PartEntry->StartSector.QuadPart + SectorCount, DiskEntry->SectorAlignment) - PartEntry->StartSector.QuadPart == PartEntry->SectorCount.QuadPart) { DPRINT1("Convert existing partition entry\n"); diff --git a/reactos/base/setup/usetup/partlist.h b/reactos/base/setup/usetup/partlist.h index 44180bdade2..7c142a4e140 100644 --- a/reactos/base/setup/usetup/partlist.h +++ b/reactos/base/setup/usetup/partlist.h @@ -253,7 +253,8 @@ CreateExtendedPartition( VOID CreateLogicalPartition( PPARTLIST List, - ULONGLONG SectorCount); + ULONGLONG SectorCount, + BOOLEAN AutoCreate); VOID DeleteCurrentPartition(