On the second click on "Show desktop" button, the minimized windows
are not restored, because after the first click, and the addition to
`CSimpleArray<MINWNDPOS> g_MinimizedAll`, a call to `RestoreMinimizedNonTaskWnds()`
via `HSHELL_WINDOWACTIVATED` message clears the list of minimized windows.
Don't empty `g_MinimizedAll` while processing HSHELL_WINDOWCREATED or
HSHELL_WINDOWACTIVATED messages (bDestroyed=FALSE).
Empty `g_MinimizedAll` only when SendPulseToTray is called with bDestroyed=TRUE.
Addendum to e6bced7a35 and 70d7009ad9. CORE-19703 CORE-15369
CORE-6149, CORE-6179, CORE-9529
See also commits d329fbebf (r66995), 7c3f4c94a (r68307), and 16daf6700.
The function verifies that each path component of the directory is
a valid 8.3 name, not . or .. nor empty. This behaviour is compatible
with what can be observed from Windows XP/2003 installer.
(To reliably test this with the Windows installer, you need to modify
the TXTSETUP.SIF DefaultPath value in the [SetupData] section.)
Reverts the IsValidPath() move done in commit 9c64b57dc.
- Turn IsValidPath() into a IsValidInstallDirectory() helper function
available in the setuplib, so that it can also be used in the GUI setup.
- Introduce a IS_VALID_INSTALL_PATH_CHAR() macro.
- Deduplicates unused IDC_REGEDIT MENU vs. actually used IDR_REGEDIT_MENU
- shrinks the binary size, GCC8.4.0dbg build shrinks from 1.052.672 -> 1.049.600 bytes
- that also solves a few FIXME's, e.g. in hu-HU, pl-PL, sl-SI, sq-AL, tr-TR, uk-UA
- translates the help-popup string in th-TH.rc
- slightly tweak some headers to be a bit closer to newstyle without going all the way
- also link to LPGL2.1+ in the source files to reduce the wall-of-text, also some other whitespace tweaks in those, but no functional change
- security.c: vertical-compactness-whitespace-changes aim to get HeapAlloc closer to HeapFree
- id-ID.rc: "&Data nilai" and "&Nama nilai" does exist in 4 dialogs, Harmonize them
- pt-PT.rc: add 2 missing accels in IDD_EDIT_STRING
- edit.c: 3x ARRAY_SIZE
- the most review-worthy change in the actual .h/.c files is clb.c the change from ClbWndClass.hInstance = hinstDLL, ClbWndClass.hIcon = NULL; to ClbWndClass.hInstance = hinstDLL; ClbWndClass.hIcon = NULL;
- clb.c the stripped INT_PTR-cast for EndDialog() was Co-authored-by: Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
AUTORADIOBUTTON implies BS_AUTORADIOBUTTON.
This style is shorter in code, and has the tendency to shrink the binary size also
when applied consistently. In case of progman the shrinking is not enough to reach the
next lower quantum of binary size though, GCC8.4.0dbg sticks to 192.512 bytes.
Because it's simply not enough of those buttons, since we have no localization for that module.
No change in behavior in that dlg.
* [CALC] *.rc: AUTORADIOBUTTONS, ja-JP: Add accel &V
- Tweaks AUTORADIOBUTTONS, code shorter, binary smaller
calc.exe shrinks for GCC8.4.0dbg cfg:
530.432 -> 527.360 bytes
I checked, that there is no change in behavior with those radiobuttons,
it is intended (and same on MS Windows Calc that we can not jump from one button
to another by arrow-keys here, and also not with tab if any of those radiobuttons
has keyboard focus.
- ja-JP: Add missing accel &V in main menu
- in some headers I worked slightly towards the modern style
without going all the way yet. This also fixes the common ukraiaiaiaiaiaiainian typo
- Add some non-MS-accelerators into IDD_LOGPROPERTIES for some functionality where our eventvwr does outperform the MS version. We do have some edit-fields selectable, where MS decided to not have them selectable. Can be used for copying out text.
- Therefore we considered that it may be beneficial to have accelerators for them as well.
- I used &S &C &E &A (instead of Katayamas former &S &C &M &A because the M is already in use in that dlg) where that did fit, and tried to manage the other languages without introducing collisions
- I also added a textual disclaimer on how to deal with that for the translators and with the aim to protect that diff to MS
also fix some inconsistencies in the length of the IDS_COPY lines for some languages
- fix some text cutoff for el-GR,pt-BR, pt-PT at the radio-buttons
- improve german Help-accel
- add some FIXMEs where some langs had accel collisions, let the native speakers with their native 2k3sp2 handle them later
While functional, Katayama's show desktop button left much to be desired
in the realm of appearances. This commit brings improvements for it:
- When using the classic theme, the Show Desktop button now appears
more faithful to its Microsoft counterpart, emblazoned with an icon,
and encased in a border only when hovered or pressed.
- With a visual style applied, the button behaves in one of two ways:
- If present, the Show Desktop button now properly uses the relevant
information from the visual style, just like on Windows 7.
- Otherwise, the Show Desktop button uses an icon akin to when the
classic theme is used, but with the button background's appearance
repurposed from the taskbar toolbar buttons, which are guaranteed to
exist in any Windows XP or Vista visual style you can find out there.
ReactOS's own Lautus and Mizu visual styles will be updated in the
following commits to utilize these features, while Lunar and Modern visual
styles left untouched to display Show Desktop button with icon instead.
CORE-15369
Notes:
- Also fixes a bug where Del does not work in the AddressBar nor during Tree/List label edit because it gets eaten by the accelerator.
- Removed the code that handles CtrlA in the AddressBar because the Edit control does this out of the box.
This GetPathCase function does
resolve the path with wildcard
pattern, and fix the alphabet
cases, by using
kernel32!FindFirstFile function.
Enable wildcard at the middle
of the file path in cmd.exe by
fixing this function.
JIRA issue: CORE-6609
JIRA issue: CORE-13906
- Fix GetPathCase function for
supporting wildcard at the
- middle of the file path.
- Make GetPathCase string-safe.
- Optimize GetPathCase.
- Fix typos in the Release and Renew functions. The typo caused the functions to work on the first adapter only.
- Fix a typo in the german translation.
CORE-8002
The switch enables or disables file/path completion in a unique
CMD instance. The defaulted values for the completion characters
are those mentioned in CMD's help (see also MSDN[^1]):
File: Ctrl-F (0x06); Directory: Ctrl-D (0x04)
Manual tests show that only /F:OFF explicitly disables completion.
Otherwise, using /F(anything else following) always enables completion
with the specific values described above.
[^1]: For additional details, see also
https://technet.microsoft.com/en-us/library/cc978715.aspxhttps://technet.microsoft.com/en-us/library/cc940805.aspx
Make DATE command output compatible.
JIRA issue: CORE-13848
- Add STRING_DATE_NOW resource string for
localizing "The current date is: ".
- Output by ConOutResPuts function.
- fix AUTORADIOBUTTONS, BS_AUTORADIOBUTTON is not needed, when AUTORADIOBUTTON is used
- add a WS_GROUP | WS_TABSTOP to the first ARB
- this slightly shrinks the binary size by the way, because we don't need the "Button"-strings
- harmonize the 2 AUTORADIOBUTTONS width to 99 for all langs
- fix "Bus Nummer"-typo, which has been done already by someone in en-US, but other langs were forgotten
- sync untranslated cut-accel, which has also been done for en-US already, but was forgotten in other langs
- in all translations a big block has been moved within the rcs historically..., in all except nl-NL and no-NO. What a foolish thing to do! So catch up with that.
- ja-JP the thing with the cut-accel fixes an accelerator collision by the way &C vs &C
- nl-NL: strip GRAYED from ID_REGISTRY_CONNECTNETWORKREGISTRY, which was done for all other languages earlier already, but forgotten for this one
- The stuff with the AUTORADIOBUTTONS is a small optimization to slightly reduce code-size and binary-size.
- Also add a missing WS_GROUP to IDC_DEFAULT_SETTINGS, which prevents leaving the group of the 3 bottom-most buttons to the left with the left-arrow-key.
- we need to add a return TRUE into WM_INITDIALOG section of SettingsDlgProc() to handle the default keyboard focus correctly towards the topmost AUTOCHECKBOX in this dlg. That part was contributed by @whindsaks , thank you very much for that!
- pl.PL: Add a missing ES_AUTOHSCROLL
- improve a few accelerators here and there
For the record: If no additional style is set then an AUTORADIOBUTTON gets by default BS_AUTORADIOBUTTON | WS_TABSTOP
see https://learn.microsoft.com/de-de/windows/win32/menurc/autoradiobutton-control
Improve compatibility.
JIRA issue: CORE-8002
- Fix the default values of AutoCompletionChar
and PathCompletionChar in cmd.exe.
- Populate "SOFTWARE\Microsoft\Command
Processor" registry key like Win2k3 does.