First step to Favorites bar support.
Menu: [View]→[Explorer bar]
→[Favorites]
JIRA issue: CORE-19686
- Add CFavBand.cpp, CFavBand.h,
favband.rgs, and resource.h files.
- Modify CMakeLists.txt.
- Add IDS_ADD and IDS_ORGANIZE
resource strings.
- Implement empty Favorites bar.
- The treeview is not populated yet.
- The Add button is not
implemented yet.
JIRA issue: CORE-14177
JIRA issue: CORE-17482
- Add SHELL_InvokePidl helper
function.
- Call SHParseDisplayName and
SHELL_InvokePidl in a specific
condition.
Refactoring. Optimize for speed.
JIRA issue: CORE-12619
- Update file headers.
- Make some parameter type LPITEMIDLIST
LPCITEMIDLIST (Add const).
- Add OnChangeNotify method.
- Use SHCNRF_NewDelivery method for speed.
- Add some SAL annotations.
CORE-11569, CORE-19684
Addendum to commit 71bed0f5f8 (PR #7123).
The problem in uxtheme was introduced in commit 685084b63c (as part
of a fix for CORE-17203), because it was a copy-paste and adaptation
of the corresponding code in `ntuser/nonclient.c!NC_DoButton()`.
The bugs in `win32ss/user/ntuser/defwnd.c` (and `nonclient.c` as fixed by
the previous commit) were in turn introduced from the migration of menu
and related code from user32 to win32k, see commit 6dfa71c487 (r68904).
Unexpectedly remaining
AutoComplete list is annoying.
JIRA issue: CORE-19685
- Add CAutoComplete::
m_bEditHasFocus to watch
focus.
- Update m_bEditHasFocus on
WM_SETFOCUS and
WM_KILLFOCUS messages on
Edit window procedure.
- Don't open AutoComplete list
when m_bEditHasFocus was
FALSE.
The auto-complete window and
the IME candidate window were
conflicting each other.
JIRA issue: CORE-19268
Call HideDropDown method
when processing
IMN_OPENCANDIDATE message.
- When the address-bar asks for FORADDRESSBAR, that should prioritized over FORPARSING.
- DefView should not enter special status-bar mode when viewing the Desktop as a shell folder in the normal IShellBrowser (DefView in Progman/desktop continues to use the old mode).
The drive property sheet was modal,
so it used to lock the main thread.
This PR will unlock by using another
thread.
JIRA issue: CORE-4217
JIRA issue: CORE-11547
In dll/win32/shell32/dialogs/drive.cpp:
- Add DRIVE_PROP_DATA structure.
- Call SHCreateThread function in
SH_ShowDriveProperties function.
- Clean up the data when they should
be released.
The ampersand (&) a.k.a. prefix of
DrawText are specially treated for
adding underscores.
We have to fix drawing on toolbar
button with BTNS_NOPREFIX style.
JIRA issue: CORE-11619
- Delete DT flags hack in taskswnd.cpp.
- Add TOOLBAR_GetButtonDTFlags
helper function.
- Extend TOOLBAR_DrawString
parameters for the button info.
- Fix DrawText flags for drawing
when the button has
BTNS_NOPREFIX style.
These settings are cached per-process (and invalidated by the global counter). This should reduce the number of registry reads performed by DefView and CFSFolder.
Reduce log spams that @julenuri reported.
JIRA issue: CORE-19268
- Use Imm32IsCrossThreadAccess
instead of IS_CROSS_THREAD_HIMC in
ImmSetCompositionWindow function.
- Reduce ERR logging in
NtUserQueryInputContext function.
Fix file association UX.
JIRA issue: CORE-19670
- Check the return value of
shell32!SHOpenWithDialog function.
- If changed, then update the UI display
and internal data.
- Use OAIF_FORCE_REGISTRATION flag.
Fix wrong MAKEINTRESOURCEW() macro usage cases in LoadCursorW() system-wide.
MSDN documentation for this function states we need to use MAKEINTRESOURCEW() macro only for internal application-defined cursors (loaded from the app instance specified by hInstance parameter), but not for system-defined cursors (those begin with IDC_* prefix), in case when hInstance is NULL.
So get rid from MAKEINTRESOURCEW() macro usage for all cases when hInstance parameter is NULL. And on the contrary, when hInstance is valid and points to the application instance, then use it for the resource identifier.
- Sync translations of the same menu items in MENU_002 and MENU_003.
- Add missing accelerators.
- Also fix colliding accelerators/mnemonic keys where possible.
CORE-19243
- IShellExtInit cannot rely on a folder PIDL being present
- Use common QueryContextMenu function for both menu items
- Allow copy to the same folder
- Disable toolbar buttons when the selection is not valid
- Minor DefView cache enhancement and bugfixes
Save/Restore the state of the ShellBrowser toolbar/addressbar/statusbar.
Windows shares the state of the Go button and the locked state between Explorer and Internet Explorer but the bar states are not shared.
Notes:
- Seems to fix CORE-17236.
- The stream layout does not match Windows so it uses a different name. The toolbar customize dialog needs to be fixed before it makes sense trying to save the toolbar state and the layout of other bands.
CORE-17236
There were encoding problems due to non-
Unicode functions.
JIRA issue: CORE-19653
- Adapt _ILGetDrive, _ILGetExtension,
_ILGetFileAttributes, _ILGetFileDate,
_ILGetFileSize, and _ILGetFileType
functions to Unicode.
- Adapt SHELL_IsShortcut and
SHGetFileInfoW functions to Unicode.
- Delete useless _ILSimpleGetText
function.