reactos/base/applications
Hermès Bélusca-Maïto 2ab3d47840 [TASKMGR] Cherry pick Hermes fixes
** WIP ** [TASKMGR] Get rid of thread-oriented updates. Just do it synchronously on WM_TIMER.

** WIP ** Merge RefreshPerformancePage() and PerformancePageRefreshThread(), now that we removed the separate performance page refreshing thread.

- Use _ui64tow() instead of _ultow() for converting ULONGLONGs into
  a string representation.

- Isolate the update of the status bar.

- Isolate the actual graphs redrawing. The idea for later is to not
  trigger any redrawings (and run unnecessary code) if the page is deactivated.

[TASKMGR] No need to get and save global handles for all the controls in the performance page.

... and especially for controls that are used only in one place.
Only handles to the graph controls are sufficient. For the others,
we can manage by using dialog control IDs.

- Rename AdjustFrameSize() 'pos' parameter to be more explicit.

** WIP ** Group trios of Memory performance getters together, as they are always used in succession.

- Group PerfDataGetCommitCharge[Total|Limit|Peak]K() together into
  PerfDataGetCommitChargeK().

- Group PerfDataGetKernelMemory[Total|Paged|NonPaged]K() together
  into PerfDataGetKernelMemoryK().

- Group PerfDataGetPhysicalMemory[Total|Available|SystemCache]K()
  together into PerfDataGetPhysicalMemoryK().

- Use these new Mem performance getters.

[TASKMGR] Use owner-drawn performance graphs.

- Use owner-drawn buttons to implement correct graph painting while
  maintaining the 3D appearance. As done on Windows (TM)

  Why using buttons (that should be disabled btw.)?
  Because we want, if the graphs fail to be created (due to e.g.
  lack of resources), to show a descriptive label of what's missing.

  This also allow the graphs to be drawn **properly** inside a 3D-border window.

- Redraw graphs on WM_DRAWITEM.

- Don't need to subclass button controls.

- Use DeferWindowPos() to avoid controls blinking on resize.

- Fix the problem of the buttons resizing as "1/x": this was due to
  the fact, using GetClientRect + Mapping, did't take the border into
  account. Instead, use GetWindowRect + a different coord mapping to
  fix all that.

- Remove some dead code.

- Rename the remaining ridiculously long variable names.

** WIP ** CPU/Mem meters: keep a separate copy of the CPU/Mem perf values.

+ Use structure for keeping state.

** WIP ** Add support for multiple-CPU stats. (In progress, needs code cleanup.)

In particular, use SystemProcessorTimeInfo to calculate the idle time
as done in ROSAPPS' ctm.exe, see commit c0873723.

See also https://ladydebug.com/blog/codes/cpuusage_win.htm

+ Fix the problem of NtQuerySystemInformation(SystemPerformanceInformation)
  that shows up when running a 32-bit build under Windows 7 x64.

** WIP ** Investigating showing physical memory in the MEM gauge.
2025-03-28 12:32:59 +02:00
..
atactl [REACTOS] Add missing line breaks at end of file 2024-10-06 10:47:11 +03:00
cacls [CACLS] Update Romanian (ro-RO) translation (#6458) 2024-02-11 23:13:10 +01:00
calc [BASE][DLL][ROSAPPS][SCREENSAVERS] Remove deprecated legacy Win16 resource attributes (#7567) 2024-12-22 16:50:14 +01:00
charmap [CHARMAP] Improve Romanian (ro-RO) translation (#6665) 2024-07-16 20:41:50 +02:00
charmap_new [REACTOS] Add missing line breaks at end of file 2024-10-06 10:47:11 +03:00
cleanmgr [CLEANMGR] Add basic cleanmgr implementation 2025-03-26 13:58:40 +01:00
clipbrd [REACTOS] Refresh old URLs (#7632) 2025-01-28 13:36:45 +09:00
cmdutils [TASKKILL] Implement /t (tree) parameter (#2403) 2025-03-26 17:04:49 +01:00
control [CONTROL] OpenShellFolder: Add file browser fallback 2024-06-14 02:14:10 +07:00
ctfmon [CTFMON][MSCTFIME][MSCTF][MSUTB][CICERO] Fix TFUninitLib (#6504) 2024-02-20 14:36:24 +09:00
drwtsn32 [DRWTSN32] Add Japanese (ja-JP) translation (#7761) 2025-03-06 19:33:03 +09:00
dxdiag [DXDIAG] Romanian (ro-RO): Fix unrecognized escape sequence (#7781) 2025-03-13 22:57:08 +09:00
extrac32
findstr [FINDSTR] Add Japanese (ja-JP) translation (#7760) 2025-03-06 19:27:08 +09:00
fltmc [FLTMC] Update Romanian (ro-RO) translation (#6481) 2024-02-11 23:22:06 +01:00
fontview [BASE] Update French (fr-FR) translation (#7563) 2025-03-24 21:10:02 +01:00
games [SOLITAIRE] Update Czech (cs-CZ) translation (#7451) 2025-02-03 13:11:32 +01:00
hh
iexplore
kbswitch [KBSWITCH] Add Portuguese (pt-PT) translation (#7008) 2024-06-17 19:42:13 +03:00
logoff
magnify [TRANSLATION] Improve Italian (it-IT) translation part 2 (#7248) 2024-08-21 01:29:34 +02:00
mmc
mplay32 [BASE] Update French (fr-FR) translation (#7563) 2025-03-24 21:10:02 +01:00
msconfig [MSCONFIG] Add Japanese (ja-JP) translation (#7763) 2025-03-06 19:56:32 +09:00
msconfig_new [BASE] Update French (fr-FR) translation (#7563) 2025-03-24 21:10:02 +01:00
mscutils [BASE] Update French (fr-FR) translation (#7563) 2025-03-24 21:10:02 +01:00
mshta
mspaint [MSPAINT] Improve behaviour on memory shortage (#7780) 2025-03-25 10:45:23 +09:00
mstsc [BASE] Update French (fr-FR) translation (#7563) 2025-03-24 21:10:02 +01:00
network [BASE] Update French (fr-FR) translation (#7563) 2025-03-24 21:10:02 +01:00
notepad [BASE] Update French (fr-FR) translation (#7563) 2025-03-24 21:10:02 +01:00
osk [BASE] Update French (fr-FR) translation (#7563) 2025-03-24 21:10:02 +01:00
rapps [RAPPS] Don't delete downloaded ZIP/CAB even if configured to (#7791) 2025-03-20 14:32:07 +01:00
rapps_com [REACTOS] Use the ISO C and C++ conformant names: _wcsicmp, _stricmp 2024-10-20 14:12:25 +03:00
regedit [BASE] Update French (fr-FR) translation (#7563) 2025-03-24 21:10:02 +01:00
regedt32
runas [REACTOS] Use the ISO C and C++ conformant names: _wcsicmp, _stricmp 2024-10-20 14:12:25 +03:00
sc
screensavers [BASE][DLL][ROSAPPS][SCREENSAVERS] Remove deprecated legacy Win16 resource attributes (#7567) 2024-12-22 16:50:14 +01:00
sdbinst
setup16
shutdown [SHUTDOWN] Improve Japanese (ja-JP) translation (#7764) 2025-03-06 20:14:24 +09:00
sndrec32 [SNDREC32] Update Romanian (ro-RO) translation (#6733) 2024-07-16 21:24:07 +02:00
sndvol32 [BASE] Update French (fr-FR) translation (#7563) 2025-03-24 21:10:02 +01:00
taskmgr [TASKMGR] Cherry pick Hermes fixes 2025-03-28 12:32:59 +02:00
utilman [TRANSLATION] Improve Simplified Chinese (zh-CN) translation (#6804) 2024-06-13 16:36:41 +03:00
winhlp32 [3RDPARTY] Link to oldnames for stricmp/wcsicmp 2024-10-20 14:12:25 +03:00
winver [WINVER] Display compatibility information (#7661) 2025-02-08 00:05:03 +07:00
wordpad [BASE] Update French (fr-FR) translation (#7563) 2025-03-24 21:10:02 +01:00
write
wusa
CMakeLists.txt [CLEANMGR] Add basic cleanmgr implementation 2025-03-26 13:58:40 +01:00