- Compute once, when loading the list of topics with their associated commands, their special arguments or starting paths. The computed values can then be used each time a topic command is invoked.
- Distinguish between runnable commands (aka. external executables or files to be started), and internal actions like <msg> and <exit>.
- I have recently discovered that Windows' welcome.exe could also use a custom (OEM) "welcome.ini" file, much like what we already supported: see http://i.imgur.com/Se3IoQN.png .
To make ours backwards-compatible with Windows' one, rename the "Button" keyword into "MenuText", and introduce two new keywords "ConfigCommand" and "ConfigArgs" that specify respectively the command to be started
and its associated arguments. We continue to support our "Action" keyword for specifying internal actions.
- Improve the loading of the localized resources from the INI files.
- Correctly print the ReactOS version text, at a correct position depending on whether the checked box is display or not.
- Simplify some StringCchCopy + StringCchCat calls into StringCchPrintf.
- Simplify the code that creates the different fonts to be used within the program.
- Use more readable resource ID names.
svn path=/trunk/; revision=75322
- Allow only one running instance of the Welcome application at a time.
- Implement translating \xhhhh hexadecimal character specifications in topic text descriptions.
- Allow using the keyboard for navigating amongst the topics, and ENTER key presses to run the selected topic command.
<rant> *OF COURSE*, because we are ReactOS *SO* we are *buggy* (well, user32/win32k), keyboard navigation via arrow keys *DOES NOT WORK*!! (only navigation via TAB key do work) 8^(((( </rant>
This however works OK on Windows.
- Improve topic buttons activation when mouse hovers around above the window, as well as when window activation is lost or regained.
- Change the default text font to Tahoma.
- Don't hardcode white brush, but instead use stock object WHITE_BRUSH. Similarly, don't hardcode text black colour, but instead use the ambient text colour of the system.
- Add keyboard shortcuts to the default topic items.
- Shift the window ID of both the checkbox and the Exit buttons to be below a fixed topic-button base ID.
- In GetLocaleName(), use more explicit returned-variable names (cchRet, because it's a returned string length in character numbers).
svn path=/trunk/; revision=75282
Otherwise with the old (broken) checks, we allowed creating more than 4 partitions, and then we overflowed over memory and corrupted the partition list structures.
svn path=/trunk/; revision=74516
- Check for the first 3 bytes (and not 4) of the bootsector to not be zero (that's our criterium for a "valid instruction"). Therefore, a bootsector starting with "00 00 00 xx" (with xx the first byte of a volume identifier) is detected as invalid (because the BIOS won't be able to run it anyways) and therefore, needs to be overwritten.
- Check that its last 2 bytes are the valid 0xAA55 signature.
These improvements were suggested by Serge Gautherie and Peter Hater.
CORE-4870 CORE-12672 CORE-13188
- Move a DPRINT1 around.
svn path=/trunk/; revision=74512
[USETUP] Add Font Substitutions for Franklin Gothic and MS Trebuchet CORE-12878 CORE-12877
Now Luna uses better fonts but the font styles are still not used.
svn path=/trunk/; revision=74040
Fix unbootable system after recreating the boot partition
Patch by Wim Hueskens.
CORE-11232 #resolve #comment Thanks a lot!
svn path=/trunk/; revision=74019
Define the language specific keyboard layout first. The US keyboard layout should always be the last one (aka fallback). Other languages will probably need the same fix!
CORE-10064 #resolve
svn path=/trunk/; revision=73996
[BOOTDATA]: Add a default "welcome.ini" file to the build, only for hybrid-cds. The ini files containing the localized resources are automatically converted to UTF-16 prior to inclusion in the hybridcd.
svn path=/trunk/; revision=73656
- Start implementing the possibility of customizing the Welcome.exe utility using configuration INI files (e.g. what we would do for FOSDEM, CLT, etc...)
- Resources cleanup.
svn path=/trunk/; revision=73590
Fix the ShowLastWin32Error helpers:
- don't display the last error string if it's ERROR_SUCCESS (since the code usually expects to display the last error message in case of errors);
- *always* call FormatMessage with the FORMAT_MESSAGE_IGNORE_INSERTS flag enabled. Indeed if it happens that the message string associated to an error ID contains insert parameter placeholders, and since we don't give here FormatMessage any argument array, the call would result into a crash without this flag.
svn path=/trunk/; revision=72897
- Fix leaking 'pSetupData' in case of failure. CID 1363604
- Since we know that in the remaining of the code, 'pSetupData' is a valid pointer, we can free it at the very end without rechecking whether it was NULL or not.
CORE-11591 #resolve
svn path=/trunk/; revision=71927
- Don't hardcode buffer string size in GetPartTypeStringFromPartitionType calls.
- Possibly check whether the first character of the PartTypeString string is NULL before printing a generic partition information in case the partition type is unknown. We might check instead for the STRING_FORMATUNKNOWN string...
- Don't check for PartTypeString being NULL since it's not a pointer. CID #1363481 and CID #1363494.
svn path=/trunk/; revision=71911
Don't override the hidden sectors value set during format when seting up bootsector.
This allows installing ReactOS on a FAT partition that doesn't start on sector 63. Successfully tested with a partition starting on sector 2048, for instance.
Patch by Wim Hueskes
CORE-8825 #resolve #comment Committed in r71418. Thanks for the debugging and the patch!
svn path=/trunk/; revision=71418
Update Simplified Chinese and Traditional Chinese Translation.
Patch by Henry Tang Ih.
CORE-10939 #resolve #comment Thanks a lot!
svn path=/trunk/; revision=71005