Commit graph

15 commits

Author SHA1 Message Date
Hermès Bélusca-Maïto
b02dd8eb22
[SETUPLIB] Make the settings' Process* functions take an actual value instead of a GENERIC_LIST
The reason is to avoid enforcing the usage of a specific list
container by the users of the setup library. This is a departure
of what I originally thought would be the best, in commits
92692eae3 (r74553), 8f2c4f7a6 (r75700)

This should actually make some parts of the GUI setup code simpler
(e.g. using the win32 comboboxes to store the list contents).
2024-02-18 16:30:46 +01:00
Hermès Bélusca-Maïto
88891d2ce7
[SETUPLIB][USETUP] Convert MUI_LANGUAGE GeoID values to numbers. 2024-02-09 22:33:30 +01:00
Hermès Bélusca-Maïto
f0a1d766f1
[SETUPLIB][USETUP] Convert internal MUI_LAYOUTS data to numbers.
LangID is a LANGID and LayoutID is a KLID: keyboard layout ID.
See terminology at http://archives.miloush.net/michkap/archive/2004/11/27/270931.html

These tables of MUI_LAYOUTS for each language, correspond to the
intl.inf LCID map:
```
; List of locales.
; <LCID> = <Description>,<OEMCP>,<Language Group>,<langID:HKL pair>,<langID:HKL pair>,...
```
where:
- each MUI_LANGUAGE entry corresponds to one such locale description;
- each MUI_LAYOUTS entry corresponds to a <langID:HKL pair>.

See http://archives.miloush.net/michkap/archive/2006/10/14/825404.html
for some details.
2024-02-09 21:28:23 +01:00
Timo Kreuzer
6778fa157f [SETUP] Don't default to MP builds, when KDBG is enabled
The reason is that KDBG and the MP kernel don't like each other much and crash hard, causing VBox to shut down.
2022-07-20 23:57:42 +02:00
Hervé Poussineau
cdae92ed8c [SETUPLIB] Upgrade display settings even if no hardware profile exists 2022-01-06 17:45:03 +01:00
Timo Kreuzer
b627352815 [NTOS][SETUP] Add x64 SMP kernel and make SMP the default boot mode on x64 2021-06-19 12:17:18 +02:00
Timo Kreuzer
85616bc8b2 [SETUP] Add support for archtitcure specific inf sections and use it for x64 computer type 2019-09-08 10:42:16 +02:00
Pierre Schweitzer
0150bb964a
[SETUP] Silence some noisy DPRINT1 2019-01-01 10:08:02 +01:00
Hermès Bélusca-Maïto
8f1ab791fa
[SETUPLIB][REACTOS][USETUP] Further improve the interfacing with INF and File-Queue APIs.
This allows using some of the SetupApi.dll functions when SETUPLIB is
used in the (Win32) GUI 1st-stage installer "REACTOS", while using the
custom implemented NT-aware functions in "USETUP".
2018-11-01 18:55:43 +01:00
Hermès Bélusca-Maïto
a972948051
[SETUPLIB][USETUP] Remove the deprecated GenericListHasSingleEntry() function and use instead GetNumberOfListEntries().
- Few FIXMEs get fixed in the process.
- Add some diagnostic ASSERTs.
2018-10-28 15:04:33 +01:00
Hermès Bélusca-Maïto
1f4cb0977a
[SETUPLIB][USETUP] Don't store UI-related display strings in GENERIC_LIST_ENTRY-ies, + other code adaptations.
- Apart from allowing a UI cache variable that may be used when
  displaying GENERIC_LIST_ENTRY-ies, do not store any display strings
  associated to these list entries. They should be instead computed only
  when initializing a list UI (or a combo-box or list control if the
  code is used in Win32 environment).
  For this matter a callback is provided to InitGenericListUi() that
  does the job of computing the displayed string corresponding to a
  given GENERIC_LIST_ENTRY.

- Simplify the calls to InitGenericListUi(), and refactor the
  RestoreGenericListUiState() function.

- Use for-loops for iterating over GENERIC_LIST items.

- Adapt the storage data format for lists of settings items.

- The txtsetup.sif INF format specified in LoadSetupInf() should not be
  INF_STYLE_WIN4 (to be investigated...).
2018-10-28 01:32:15 +02:00
Hermès Bélusca-Maïto
48aab0fb20
[SETUPLIB][USETUP] Use NT RTL String Safe functions instead of Win32-oriented ones (and remove usage of HRESULT too).
Based on:
svn path=/branches/setup_improvements/; revision=75755
svn path=/branches/setup_improvements/; revision=75757
2018-10-28 00:58:46 +02:00
Hermès Bélusca-Maïto
254aa472e8
[SETUPLIB][USETUP] Make the GENERIC_LIST store the items display text in UNICODE (and not in ANSI).
Only convert to ANSI when needed (e.g. in the display code for usetup).
The 1st-stage GUI setup will however use the UNICODE strings directly.

svn path=/branches/setup_improvements/; revision=75753
2018-10-28 00:30:54 +02:00
Hermès Bélusca-Maïto
e405ad257c
[SETUPLIB][USETUP][INPUT.CPL] MUI integration with setuplib.
[SETUPLIB] Copy the mui* files from usetup into the setuplib for later usage, and add mui.c to build.

svn path=/branches/setup_improvements/; revision=75711

[SETUPLIB][USETUP] Start massaging the MUI files and split up what concerns only the usetup "resources",
and what concerns general language parameters (in the setuplib).

It may be interesting to retrieve the language parameters
from INF file (e.g. intl.inf) (suggested by Giannis).

svn path=/branches/setup_improvements/; revision=75715

[SETUPLIB] Add the necessary headers to mui.c to be able to compile.
[USETUP] Comment out the languages that don't have any resources.

svn path=/branches/setup_improvements/; revision=75716

[SETUPLIB][USETUP] Adjust MUI and settings code.

- Re-enable settings code concerning language, keyboards & layout
  in the setuplib, and remove the old code in usetup.

- Remove useless code in setuplib's mui.c.

- Rename usetup's MUI "LanguageList" into "ResourceList" so as to
  avoid colliding with the "LanguageList" of setuplib.

- Add the magic CMakeLists line "add_definitions(${I18N_DEFS})" that
  I forgot previously, that caused the "LanguageList" of setuplib to be empty!

The code compiles and works during my tests.

svn path=/branches/setup_improvements/; revision=75717

[SETUPLIB] Change some string pointer types & function prototypes so that the usetup-specific
"SelectedLanguageId" variable is not used in the library.

svn path=/branches/setup_improvements/; revision=75719

[SETUPLIB] Change some function prototypes so that the usetup-specific "SelectedLanguageId" variable is not used in the library.
Also, make AddEntriesFromInfSection(), DefaultProcessEntry() and the typedef PPROCESS_ENTRY_ROUTINE private again.

svn path=/branches/setup_improvements/; revision=75720
svn path=/branches/setup_improvements/; revision=75724

[USETUP] Code adaptations.

- Transform some do{}while() loops into while(){} ones, since the lists on which we work may only contain one single {NULL} element.
- Modify MUIGetOEMCodePage() call after r75719.
- Use PCWSTR where needed.

svn path=/branches/setup_improvements/; revision=75722

[USETUP] Adjust some MUI & settings calls, following the commits r75719, r75720 and r75721.

svn path=/branches/setup_improvements/; revision=75723

[INPUT.CPL] Adjust inclusion of "muifonts.h" (commit 3dbd44f) due to changes introduced in r75711 and r75715.
2018-10-28 00:13:07 +02:00
Hermès Bélusca-Maïto
7af2f717bc
[SETUPLIB][USETUP] Move the settings code from usetup to setuplib.
This code is moved ther since it'll be needed for 1st-stage GUI
installer as well.

The code dealing with keyboard layouts is however not moved yet,
since it uses MUI* functions from usetup.
I'll try to think how to include that in setuplib...

svn path=/branches/setup_improvements/; revision=75701
2018-10-27 22:09:35 +02:00