Implementation of functional code for log properties page in order to allow user to :
- Make modification and have them taken into account when properties page is closed / apply is used;
- Set defaults (including correction of default max size);
- Delete content of log;
- Make "Apply" button functional based on user inputs;
- Correct default value during installation (duration, size).
- Improve InitPropertiesDlg() error;
- Fix SavePropertiesDlg(): When the event log key does not exist, it is not recreated by the event log viewer.
- GetDisplayNameFileAndID(): Show the error also when opening the event log key fails.
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
Purpose
=======
- Current design does not warn user nor logs DEBUG traces when Service Start/Stop command fails or reach timeout.
- Current Service Start/Stop progress window are WS_EX_TOOLWINDOW which reduce lisibility, is a ReactOS specificity without good reason.
Proposed changes
================
- DPRINT1 traces added on failure cases.
- Error Message box presented to user upon failure with explicit root cause identification.
- Change Dialog definition to standard window.
The left x-margin was inconsistent within 'General'-tab
and tabbing through multiple tabs looked unprofessional
because 'General'-tab had much smaller left-margin.
CORE-11637, CORE-12269
- Implement support for remote connections to NT computers to view their
event logs (and the event logs settings). For the moment the remote
computer name specification is is only available via the command-line.
Note that the paths to the event log files need also to be translated
to network-share format.
- Implement loading and saving the settings of the event viewer.
- Implement showing/hiding the events description pane, the ListView
grid, and whether or not to save the EventViewer settings.
- Handle hypertext link click handling for the RichEdit edit box of the
events description dialog.
- Don't hardcode a buffer length in ExpandEnvironmentStringsW() call.
- If no file name is associated to a log (ErrorLog->FileName == NULL),
don't try to attempt looking at its file properties. This also allows
avoiding a crash in the FindFirstFileW() call under certain conditions
on Windows.
CORE-12269
- Add support for '/?' and '/l:' switches. The former displays usage
information. The latter allows to specify an event log file to load.
Also one can specify the computer name from which one wants to
retrieve events for display (work in progress).
- In EnumEventsThread(), move around the code that updates the
application title and status bar, so that the selected event log name
and loading status is always displayed first, while loading itself is
in progress.
- Initialize hwndMainWindow as it can be used before it is properly
initialized with an existing window handle.
- Transform ShowLastWin32Error() to a more generic ShowWin32Error().
- Use iswdigit() instead of isdigit().
- Add extra heap buffer cleanup.
- Split OpenUserEventLog() in two: OpenUserEventLog() that displays
an open-file dialog, and OpenUserEventLogFile() that does the real
work of allocating internal structures and opening the log file using
the event-log service. We also check that the file really exists
before proceeding further.
- Force treeview repaint when *children* items are inserted, because
otherwise the expand/collapse buttons do not display next to parent
items (this problem happens on Windows too).
- Reshuffle the resource string IDs.
* [SERVMAN] Italian update translation
* [SERVMAN] Small grammatical typo fixed
* [SERVMAN] Word replaced
- "Accedi" would be more convenient than "Accedere"
- Make sure the DWLP_* values are correct on _WIN64
- Don't use the DWL_* constants, they are not portable. Enforce this by removing them entirely from winuser.h
- Make sure Get/SetWindowLong*Ptr* is used and pointers are not truncated to LONG
* Fix the Simplified Translation of Rapps
* Fix the Simplified Translation of msconfig_new
* Fix the Simplified Translation of charmap_new
* Fix the Simplified Translation of winmine
* Fix the Simplified Translation of kbswitch
* Fix Simplified Chinese Translation of logoff
* Fix Simplified Chinese Translation of eventvwr
* Fix Simplified Chinese Translation of sysdm
* Update Simplified Chinese Translation for dxdiag
- Avoid a potential race whereby the current service selection can change before the propsheet thread starts up
- Cleanup the depends data, it doesn't need to be passed around the propsheet
[SERVMAN]
- Make the property sheets modeless so users can open multiple services at the same time
- Untested in ros. In fact we have no code or tests cases to check that modeless property sheets work, so please raise a bug if you find any issues with the app.
- Dedicated to reactosfanboy