* [RAPPS] add function to set view-mode
* [RAPPS] move toolbar and searchbar into appview
* [RAPPS] remove settings and exit button from toolbar
* [RAPPS] add code to switch between list and tile mode
* [RAPPS] add auto-arrange for listview
* [RAPPS] adjust the minimum size of AppView
* [RAPPS] now image list of listview is stored inside the class
* [RAPPS] add list mode, and old list-mode are detail mode now
* [RAPPS] add check for unimplemented view mode
* [RAPPS] separate application-view from gui.cpp
* [RAPPS] make the code looks more clear
* [RAPPS] fix & improve tab-order handle
* [RAPPS] now double-click / right-click & install an item will install exactly this app
* [RAPPS] add handling for DWORD timestamp for InstallDate
* [RAPPS] make the code setting column style more clear
* [RAPPS] change the owner of popup-menu
* [RAPPS] now the popup menu (the one when right-click listview) now belongs to application-view
This makes it easier to maintain the listview, and better separates the application list and listview.
* [RAPPS] fix memory leak when cleanup. some renaming are also done
* [RAPPS] move the code adding apps info inside class CAppsListView
* [RAPPS] add table view, create listview and AppInfoDisplay inside it
* [RAPPS] rename INSTALLED_INFO as CInstalledApplicationInfo
now it corresponds with CAvailableApplicationInfo
* [RAPPS] add CInstalledApps
* [RAPPS] optimize the speed when refreshing listview
* [RAPPS] correctly handle Enum for InstalledApps
* [RAPPS] make check all working properly (this also fixes some bugs)
the old version has some bugs when check all items after switching tags in tree-view
* [RAPPS] add handling for wow64
* [RAPPS] use an inline function to replace INSERT_TEXT macro
* [RAPPS] fix the bug that StatusBar won't update when switching tags
* [RAPPS] now TableView always reset bIsAscending in SetDisplayMode
* [RAPPS] rename TableView to ApplicationView
* [RAPPS] now bIsAscending would be reset when switching column in listview
* [RAPPS] add snapshot url support
* [RAPPS] fix snapshot prev window won't update if size not changed
* [RAPPS] fix crash after cancel download
* [RAPPS] show broken-img if failed to create file / make network request
* [RAPPS] create a snapshots folder if it does not exist
* [RAPPS] add a helper function to perform callback
* [RAPPS] check bIsCancelled when handling ERROR_INVALID_HANDLE
* [RAPPS] remove W suffix for AsyncInetDownload
* [RAPPS] add assert for unknown event
* [RAPPS] Improve AsyncInetDownload error handling
* [RAPPS] move DisplayFailed to private, fix crash when cancelling
* [RAPPS] check for ERROR_INTERNET_OPERATION_CANCELLED
* [RAPPS] improve error logging
* [RAPPS] remove \r in error logging
* [RAPPS] rewrite AsyncInet
* add one more layer of window
* using Path* API to operate path
* always use rappmgr.cab as file name when downloading db. ignore the URL
* add snapshot preview window
* show a broken-image icon when failed to load image
* add a padding between image and content, and make sure always some space is reserved for richedit
* hide the padding if snapshot window does not have a width
* some work to avoid blinking when window resizing
* add WM_PRINTCLIENT handling
- Change the messagebox's icon type from warning icon to question icon, because this is done in Windows Regedit too.
- Use two buttons (Yes and No) or three buttons (Yes, No, and Cancel) depending on the file count.
CORE-15494
Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
The CMD_LINE_CACHE index (idx) does not update when programs are closed.
Compare it with the process id (pid) in the cache and determine the pid
by the index in the same cache.
CORE-17115
Make the meta key in the OSK have modifier key behaviour.
Changed all the .rc files in the OSK so that the meta key doesn't release on it's own and needs a second click to release.
CORE-17161
- Resize the window slightly when compiled with REMOVE_ADVANCED to avoid deadspace at the bottom of the window.
- Skip over the non-printable characters by starting with character ' ' + 1.
- Instead of iterating over every cell, simply compute the cell x and y using the CellSize.
- Modify behaviour of charmap to allow large character render on mouse move, only hiding the larger character on double click.
- Simplify math for moving window to be on desktop.
Added FIXME to highlight this doesn't work well on multi-monitor setups.
Changed xPos and yPos to LONG since negative numbers are valid on multi-monitor setups.
- Do not draw invalid glyphs on the map (can happen when switching fonts or filtering existing font).
- Do not allow mouse-over of invalid glyphs.
- Fix bug that caused the Help button to remain enabled as it was being modified before it was even created.
- Do a better job at finding the correct glyph under the mouse.
- Ensure the active cell is cleared correctly.
- Invalidate the rect around the previously active cell to ensure it gets redrawn as inactive.
- Fix bug from CORE-10518 (initial active cell was not being invalidated on scroll).
- Do not try to copy a character to the output if there is no active cell selected.
- Populate the advanced portion of the screen with several built-in code pages (the list is hardcoded so that we don't enumerate everything).
- Add functionality to filter the character map by a code page (called a character set in this program).
- Some fonts list 0x0000 as drawable, even when it isn't, so ignore any valid glyphs that contain it.
- Add download source in settings dialog, and apply it when download .cab file
- Now user should specify full rappmgr.cab URL
- Check if URL is vaild in settings dialog
- Move source settings to the end of struct (will refactor settings to one value per option later)
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>
* - Fix of missing invalid handle check
- Fix of Address & status bar incorrect display after rename
- Refactoring of Treeview WM_NOTIFY code, for better consistency with WM_NOTIFY management for ListView
* Fix following review (space in #define)
* Cleanup following review
* fix following review
* Fix of round 3 of review comments
* UpdateAdress kept in its original location
* fix
* fix (extern missing)
* both extern removed
* Review comments
Error message being added in order to support CORE-17048
- Print message on failed memory allocations.
- Functions return error code instead of exit code.
- Convert error code to exit code in the main function only.
- Always free the allocated memory.
- Fix bug from previous commit: Use _tprintf instead _putts to print messages.
In addition to that, add the missing function prototypes in the DLL dialog header of Utilman, add missing IN/OUT annotations and remove CheckUtilityState() prototype which is barely used (it's not implemented either).
- When exporting registry keys (to .reg files) some variables from the heap are not free'd while the debug log indicates "HEAP: Trying to free an invalid address".
- This is due to the export_registry_key() function that calls
HeapFree() for reg_key_name. But this variable is an argument provided by the caller, which is always a statically defined array of WCHAR.
- Meanwhile reg_key_name_buf is never free'd and cause a memory leak each time the function gets called.
- Implement error message for all failure condition of RAPPS Download
- Implement logging for failure conditions not needing user complementary awareness (cancellation)
- Support for localization
CORE-16851
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.
- Move translations to netmsg.dll.
- Keep italian translation as a comment because netmsg.dll does not have an italian translation yet.
- Remove obsolete resource files.
Previously the code had a mixture of 'sz', 'wsz', 'lp' and 'lpwsz' Hungarian annotation prefixes which could bring confusions about the nature of the annotated variables. From now on all of these variables have a well defined annotation. Furthermore, add a missing argument annotation to LaunchProcess().
The left x-margin was inconsistent within 'General'-tab
and tabbing through multiple tabs looked unprofessional
because 'General'-tab had much smaller left-margin.
- Disable the 'Permissions' item in the main menu, when 'My Computer' is selected.
- Enable the 'Permissions' item in the tree view context menu.
CORE-16889
Windows XP and Server 2003 Utility Manager has a dedicated library for the resources and other stuff. Utility Manager is just a simple process that loads it. Hence create a library for the program, UManDlg.dll, and move the resources and other stuff there.
In addition to that, use ExtractIconW to get the icon resource from the program (the DLL doesn't share icons by default) and remove the icon resource from the "About" dialog window. Also change the encoding type of other translation files to UTF-8 (which were previously set with UTF-8 with BOM).
Purpose
~=~=~=~
This pull request updates charmap to look a bit better (removes gap at bottom of the window), removes the blank space character (0x0020) from the charmap, and also modifies the behaviour of when a larger glyph is rendered (allowing the user to select a new glyph by holding down the mouse button). This better mimics the charmap.exe that is bundled by Microsoft.
Proposed changes
~=~=~=~=~=~=~=~=
- Remove gap where the advanced button is normally rendered when compiled with REMOVE_ADVANCED (which is the default behaviour).
- Skip over the blank space character.
- Change behaviour of rendering large glyphs to allow mouse move, and to hide on double click.
- Optimize search for glyph under the mouse by using the cellSize instead of PtInRect.
* [CHARMAP] Resize the window slightly when compiled with REMOVE_ADVANCED to avoid deadspace at the bottom of the window
* [CHARMAP] Skip over the non-printable characters by starting with character ' ' + 1
* [CHARMAP] Instead of iterating over every cell, simply compute the cell x and y using the CellSize
Modify behaviour of charmap to allow large character render on mouse move, only hiding the larger character on double click.
Translations for:
- Applications: clipbrd, dxdiag, rapps,
- cmdutils: attrib, find, help, label, reg, xcopy
- usetup
- dlls: browseui, shell32, syssetup
- Add Spanish translation for Accesibility Utility (utilman).
Update for the "Choose product options" strings in syssetup:
Originally "ProductType" and "ProductSuite" (typesetted without spaces) were the registry value names where these settings would go, but since it's meaningless to show these values it's better instead to use human-readable names with correct translation and spacing.
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
Leave english strings untouched regarding space before colon.
Thanks to HBelusca for review as well.
I hope next one translating these will take care still.
Addendum to 0.4.14-dev-1405-g
dcc6dcb0bd
Readd all spaces before the colons that I removed,
as that is a french speciality and was correct,
and also add some more of those that were missing even
before my commit (was inconsistent).
Thanks to Serge Gautherie, Thomas Faber and hpoussin
for the review.
Manually Tweaked fr-FR the most, see CORE-12477
Manually Tweaked de-DE enlarged a buttons size
For All Languages harmonized " :"->":"
For All Languages harmonized the maximized available space
for dynamic strings in 2nd tab right side from 100->120
- Simplify the cleanup-code in ShowInfo
- Print the 'Primary DNS suffix' and the 'DNS Suffix Search List'
- Move the /registerdns message into its own function
DrWtsn32.exe recognizes several standard exception codes, and prints their names in the crash log. However, EXCEPTION_WINE_STUB is not in this list, and as such it is treated as an unknown error and printed as "--". Having this error code given a name at the start of the crash dump is useful, as it allows me to identify calls to unimplemented issues more readily.
Updating translation for:
notepad, reactos, usetup, explorer, netshell, msgina, setupapi, shell32.
- Complete and Fix the SPANISH TRANSLATION on Setup
- Correct the random names, fixing the denominations, translate of the English words, and fixing random and incorrect denominations like "Cabinet" or "distribuciones".
- Fixed the notepad shortcuts of "Save" (Ctrl+g) and "Replace".
from Wine, using __REACTOS__ defines to separate the changes.
We note that in effect it completely contains the functionality of
Wine's send_close_messages(), so we keep that latter disabled.
The following SaveAppSettings(), QueryAppSettings() and InitAppRegKey() are helper functions.
This is merely a base Registry skeleton for Utility Manager as more work on it has to come later.
Make the argument process of command utility "taskkill" behave same as what Windows does.
Now options are no longer detected as parameters when placed after options that accept one.
For example, `taskkill /im /f` will no longer regard `/f` as a process name.
If `/?` and `/f` options appear more than once, an error will be reported, telling they are not allowed more than once.
(e.g. `taskkill /f /pid 1000 /f`)
If only one option `/f` is given without `/pid` or `/im`, an eerror will be reported, telling that one must specify `/pid` or `/im`.
(e.g. `taskkill /f`)
Additional changes:
- Combine SendCloseMessages() and TerminateProcesses() functions.
- Protect new written code with `#ifdef __REACTOS__`
Implement a small helper, GetProcessID(), that will be used to return the process ID which we are interested in. This largely removes some duplicated code. The following patch addresses the Jansen's comment on #1608 PR.
Rewrite shell32!SHAddToRecentDocs and use it in some applications.
Wine's SHAddToRecentDocs was not Unicode supported and unusable. I will dare to rewrite.
CORE-3588
Rewrite LoadDataFromRegistry() and SaveDataToRegistry() as function helpers. With these, we'll be able to load and save data to registry on our choice.
* [NETSTAT] Restore expected output formats
"Revert" parts of bd3c852012.
CORE-16119
* [NETSTAT] Improve default and ICMPv4 output formats
* [NETSTAT] Fix a few typos, in output strings
* [NETSTAT] Output usage to StdErr
* [NETSTAT] Be more explicit about unimplemented -b/-t/-v options
200 ms would mean that the LEDs redraw each 0,2 second and this adds a slight delay. This can be seen if you press the Num lock key (for example) many times in a row and the LED resources won't update instantly. Therefore reducing the value of uElapse should significantly decrease the delay and the LEDs should update in a realistic way. Furthermore, before invalidating the LED resource check the toggle state of the keys.
CORE-16356
Therefore the ERRORLEVEL value will be correctly set in accordance on
return from the utility in cmd.exe, and conditional tests based on this
returned value will succeed as they should.
Nowadays ReactOS includes support for htmlhelp.h and a working implementation of HHCTRL.OCX. Although current imported HHCTRL.OCX suffers of this issue:
https://bugs.winehq.org/show_bug.cgi?id=47379
See also CORE-15019
+ Revert 'intptr_t' to 'size_t'.