For: hivedef.inf, powercfg.cpl, sysdm.cpl
and: netshell.dll, netcfgx.dll, shell32.dll, userenv.dll
Also fix "My Documents" and "My Network Places" folder names.
* [SHELL32] Fix issue when creating a new file or folder. No chance to rename the displayed name.
The CNewMenu::SelectNewItem method starts with a request to notify the View object about a new item by calling SHChangeNotify.
After creating and obtaining the new PIDL by calling ILFindLastID, the CDefView::SelectItem method is called.
This method fails right from the start when calling LV_FindItemByPidl which returns -1, thus preventing the user from being given the opportunity to change the name displayed by default.
This failure is due to the fact that this object has not yet been added to the CDefView::m_ListView list. This is caused by the asynchronous nature of SHChangeNotify.
Thanks to Giannis Adamopoulos for the big help.
This PR will reduce the failures of CommandLineToArgvW testcase of shell32_apitest.
- Use isspace and isblank in shell32!CommandLineToArgvW.
- Strengthen shell32_apitest:CommandLineToArgvW testcase.
CORE-17787
When no extension is provided, add default extension with correct precedence using PathFileExistsDefExtW.
- Use PathFindOnPathExW when searching in current directory and PATH environment variable.
- Fix Width String terminator to UNICODE_NULL.
- Fix all failed tests on PathFindPathExW KVM test.
CORE-17612
- Add uFlags argument to CDefaultContextMenu::AddShellExtensionsToMenu- CCopyToMenu, CMoveToMenu, and CSendToMenu check the uFlags against (CMF_NOVERBS | CMF_VERBSONLY).
CORE-16544
- Add enums for Control Panel and Registry Folder columns
- Fix iColumn values in GetDetailsOf() and fix checks in
GetDefaultColumnState()
Current CControlPanelFolder::CompareIDs was using wrong lparam column
index. Actual column index should be 1 instead of 4. Because of this
the comment column next to name in details view was not being displayed
correctly. The same fixes for CRegFolder class functions.
PR #4944. CORE-18743 CORE-18501
[NEWDEV] Enable OK button in "Browse For Folder" only when driver is found
Implement BrowseCallbackProc() function which sends BFFM_ENABLEOK message
to the browse dialog whether the driver is found in the selected folder.
Pass the search path to the browse dialog depending on the current index
of the drop down combobox. If the index is not set, just get window text.
Then, automatically expand the tree view to the specified path by sending
BFFM_SETSELECTION message.
Also fix a bug in SearchDriverRecursive() where a duplicate backslash
was added to the PathWithPattern string variable.
[SHELL32] Do not add Recycle Bin to the tree view items in FillTreeView()
[SYSSETUP] Add source path to the "Installation Sources" multi-string key
Each time the ProcessSetupInf() is being called, add the source path
to the "Installation Sources" registry key, if it's not added there yet.
The driver search path combobox will be then populated using its value.
CDefaultContextMenu::DoProperties provides a fallback call
to the property sheet testing the return value of the _DoCallback method,
which is ultimately the return value of SH_ShowDriveProperties().
SH_ShowDriveProperties() sometimes returns an HRESULT, however it is marked
as returning a BOOL. Then, DrivesContextMenuCallback() always handles this
result as an HRESULT.
Fix SH_ShowDriveProperties() to always return a BOOL as it is intended,
and in DrivesContextMenuCallback() handle the result accordingly.
CORE-18537
DFM_MERGECONTEXTMENU handler works better now. However there is difference
between ours and Windows' menu building systems, which has to be fixed.
Addendum to 64657051c3. CORE-13841 CORE-18577
In explorer filebrowser 'details' view
the column 'comments' had invalid length of zero, and therefore
was hidden under the 'attributes' column.
I guess even after this patch, it will not display any
sane contents in there yet.
Therefore I chose a small width of 10 only, to reduce the chance for
it to trigger an undesired horizontal scrollbar.
As far as I see we don't support manual showing and hiding of additional columns yet.
By default my Windows does not show this column. But when activated manually, it is always
shown on the right hand side of the 'attributes' column.
Previously, we would share one object between a multitude of options.
Now, the only two options that need to store something for later use each have their own space for it.
The context menu always cleans up after itself, the File menu does not.
CORE-18345
CORE-18361
CORE-18366
'buffer' is local to the function, while m_sPath is an instance class member.
Fix that by calling the IShellLink::Resolve() function, which will allocate
and fill the m_sPath variable.
CORE-15229
When a PropertySheet fails to init, that fact is being logged
and it shows an empty page, but it can't be closed.
Handle second failure properly by using FAILED_UNEXPECTEDLY macro.
CORE-18333