There is no need to compile our DLLs as shared libraries since we are
managing symbols exports and imports through spec files.
On my system, this reduces the configure-time by a factor of two.
- Enable "New Start Menu" control for all languages.
- Implement the "NoSimpleStartMenu" policy in shpolicy.c and its usage in explorer.
- Hide controls instead of disabling (as in Win XP/Vista).
IDD_BROWSE_FOR_FOLDER displays text controlled by the calling applications in
IDC_BROWSE_FOR_FOLDER_TITLE. Its old height could lead to text truncation
for existing 3rd party apps.
The new height value for IDC_BROWSE_FOR_FOLDER_TITLE
was inspired by IDC with the same from dialog IDD_BROWSE_FOR_FOLDER_NEW.
I could change all languages to the same height,
as dimensions of the dialog and surrounding controls were same.
Previously, we would treat the input as unsigned coordinates, this is wrong!
If the coordinates are invalid, we try to find a focused or selected item.
The center of this item is where we'll show the menu.
When there is no item, we default to 0,0
[CMDUTILS/AT] Fix missing translation strings in certain files.
[NOTEPAD] Fix SUBLANG code to brazillian.
[RAPPS] Fix missing translation strings in certain files.
[FDEBUG] Fix translation string ID.
[CPL/INPUT] Fix missing translation strings in certain files.
[ACPPAGE] Fix incorrect resource IDs.
[NETSHELL] Fix incorrect resource IDs.
[DEVMGR] Fix missing translation strings in certain files.
[LSASRV] Fix missing translation strings in certain files.
[RASDLG] Fix missing translation strings in certain files.
[SHELL32] Fix missing translation strings and incorrect resource IDs.
[TAPIUI] Fix missing translation strings in certain files.
[WINFILE] Fix incorrect resource IDs.
[NTVDM] Fix missing translation strings in certain files.
[USERSRV] Fix missing translation strings in certain files.
[BROWSEUI] One more missing string.
[FLTMC] Fix missing translation strings in certain files.
Detected using the TransDiffer tool (early alpha).
This doesn't include everything anymore, but I wanted to get the PR out of the way.
* [WIN32K] Fix handle calculation in DbgGdiHTIntegrityCheck
* [NOTEPAD] Fix MSVC warnings
* [PSDK] Simplify *PROC definitions in windef.h
* [VIDEOPRT] Don't try to use NtVdmControl on x64
* [FREELDR] Fix some macros
* [CRT] Make qsort 64 bit compatible
* [NTOS] Use #ifndef _WIN64 instead of #ifdef _M_IX86 around C_ASSERTs
* [FAST486] Fix 64 bit warnings and change DWORD to ULONG, so it can be used in kernel mode
* [APPHELP_APITEST] Fix 64 bit issue
[REG][REACTOS][EXPLORER][APPWIZ][CONSOLE][INETCPL][INPUT]
[INTL][OPENGLCFG][TIMEDATE][DEVCPUX][COMCTL32][COMDLG32]
[MSGINA][NETCFGX][NETID][SETUPAPI][SHELL32][SYSSETUP]
Update Simplified and Traditional Chinese translations.
* [BROWSEUI] Update Traditional Chinese translation.
* [BROWSEUI] Update Simplified Chinese translation.
* [SHELL32] Update Traditional Chinese translation.
* [REGEDIT] Update Traditional Chinese translation.
* [BROWSEUI] Update Traditional Chinese translation.
* [SYSSETUP] Update Simplified Chinese translation.
* [SYSSETUP] Update Traditional Chinese translation.
* [SHELL32] Update Traditional Chinese translation.
* [VCDCONTROLTOOL] Update Simplified Chinese translation.
* [VCDCONTROLTOOL] Update Traditional Chinese translation.
addendum to 0.4.10-dev-502-g
d559ca9c98
That copy-paste was done once intentionally to keep our imports similar to 2003.
It's worth reading the conversation in PR #748: Getequ seems to be ok with this.
The ideal solution most likely would be to instead *statically*
link against RegLoadMUIStringW() from advapi32_vista when WINNT=0x502.
For now the stuff runs again at least.
I left the func existing in advapi32_vista.dll.
addendum to 0.4.11-dev-673-g
04e1263921
Actually this control must not statically consume width of 170.
There are two different versions of that dialog.
One has a "change"-button. In this case the edit must be only 100 wide.
In case we have the version without the change button, we resize it to have
170 width (same as its neighbor).
This commit is shared work of
Stanislav Motylkov, Giannis Adamopoulos and Joachim Henze.
Commit supersedes PR#1056.
- Deal with expanded paths only when loading icons. If the user specifies
an unexpanded path to a module containing icons, this unexpanded path
is returned to the caller!
- Perform the dialog cleanup in WM_DESTROY message handler.
- When pressing ENTER/OK in the dialog box, retrieve the selected icon and
close the dialog *ONLY WHEN* the user actually has selected an icon.
If the user modified manually the module path, pressing ENTER/OK instead
reloads the icons list.
This allows the code to give a last chance for expanding the string.
And if it still fails, we bail out as expected and the caller will
take appropriate actions.
As a by-product, this commit (together with the previous one e2960914)
fixes the regression CORE-14981 (Quick-Launch bar couldn't be opened
in LiveCD).
fix control overlapping in IDD_FOLDER_OPTIONS_FILETYPES
(broke in 0.4.10-dev-24-ed1c6bb0060d06f4c0167d9c2d732f4dc2b4cce4)
and translate IDD_NEWEXTENSION, IDD_EDITTYPE, IDD_ACTION, IDD_FOLDER_CUSTOMIZE
The "Run" dialog failed when multiple parameters wee specified.
We use instead a newly-created ShellExecCmdLine() helper function to fix the problem (as found via API-tracing on Windows).
Note that ShellExecCmdLine() starts to be exported with Vista+.
- Implement ShellExecCmdLine() function in shell32.
- Add URL support.
- Fix RunDlgProc function in shell32.
- Add a testcase for ShellExecCmdLine() function.
CORE-14790
The keyboard shortcuts Win+D and Win+M are also enabled.
- Implement IShellDispatch4::ToggleDesktop().
- Implement some commands in CTrayWindow.
- Add "sdk/include/reactos/traycmd.h" for tray commands.
- Fix task window switching.
- Improve the user32!SwitchToThisWindow() function and use it.
CORE-14318, CORE-13157
See also: CORE-14806 and CORE-8723
- Implement shell32 RegenerateUserEnvironment() function and use it.
- CShellBrowser and CDesktopBrowser implements WM_SETTINGCHANGE actions.
CORE-1459, CORE-14397
- Fix a regression introduced in r65415 (1795a3bf) where the directory
paths stored in "Windows\CurrentVersion\Explorer\User Shell Folders"
were stored in expanded format instead of in unexpanded format:
_SHGetDefaultValue() *MUST* return unexpanded paths by design!!
- Augment _SHExpandEnvironmentStrings() and _SHGetUserShellFolderPath()
to take a user token handle to be able to correctly resolve/expand
user-specific directory paths.
- Fix _SHExpandEnvironmentStrings() so that it always retrieve the
correct current user / all-users directory paths by calling userenv
functions, instead of hardcoding a broken logic. As a result this
removes the "C:\Documents and Settings\SYSTEM" ghost directory we got
during ReactOS installation.
- Delimit the changes with respect to Wine by #if(n)def __REACTOS__ .
Function TRASH_CanTrashFile() would always fail because GetVolumeInformationW() requires only the base root path. The path (stored in buffer wszRootPathName) was not being stripped correctly.
CORE-12340
This allows the user to edit the File Type / extension information by clicking 'Advanced' button in the 'File Types' property sheet of Folder Options.
CORE-12906, CORE-10972
* [BROWSEUI] Update German translation
* [SHELL32] Update German translation
* [COMCTL32] Update German translation
* [COMDLG32] Update German Translation
* [SETUPAPI] Update German translation
* [EXPLORER] Update German translation
A bit of history: in r71528, I tried to fix our explorer often
crashing while browsing directories. It was linked to the fact
that a notification result may arrive while the notification
structure had already been deleted.
The fix for this was actually broken and was leading to a double
leak: the notification structure was leaked. But also the handle
to the directory that had been browsed!
This means that the directory couldn't be modified anymore as
a leaked handle to it was still open.
Actually, when notifications are cancel, the kernel properly
calls the notification routine, but with a specific error code.
So the correct fix is to stop handling that notification when
we receive this error code. This is the correct fix with no leaks.
This commit is a complete r71528 revert with the appropriate fix.
CORE-10941
CORE-12843
- 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
The two methods were completely broken because they passed a full pidl to the parent folder (and not desktop folder).
Compile SHGetNameFromIDList to use it in CShellItem but don't export it.
on 32bit builds CSIDL_PROGRAM_FILESX86 is treated as CSIDL_PROGRAM_FILES and on wow64 builds CSIDL_PROGRAM_FILES gets treated as CSIDL_PROGRAM_FILESX86
Set the view object as the site of the drop target.
Implement GetItemPosition, SelectAndPositionItems, IsDropOnSource, GetDragPoint.
Use DROPEFFECT_COPY only when the item supports it.
This patch reduces failures of SHGetFileInfo function. CORE-7159
* improve WideByteToWideChar calls
* fix bugs related to file attributes and SHGFI_EXETYPE
* SHGFI_USEFILEATTRIBUTES and SHGFI_ICON fix
* s/sizeof(temppsfi)/0/
CDefView: Make GetItemObject return an IContectMenu after setting itself as the site.
CDefViewBckgrndMenu: Make the inner context menu use the same site. Implement handling CMDSTR_VIEWLISTA and CMDSTR_VIEWDETAILSA.
CDefaultContextMenu: CMDSTR_VIEWLISTA and CMDSTR_VIEWDETAILSA shouldn't be handled in this class.
Fixes CORE-14327 and the two buttons that change the view mode
It shouldn't be necessary for QueryContextMenu to be called before InvokeCommand.
Move retrieving the IContextMenu of the folder to the initialization of the class.
CORE-12866
- Introduce the TRAYNOTIFYDATAW structure, as documented by Geoff
Chappell in "WM_COPYDATA for Taskbar Interface", at
http://www.geoffchappell.com/studies/windows/shell/shell32/api/shlnot/copydata.htm
that is the data structure passed between shell32 and explorer for
communicating shell notify icon information.
- In Shell_NotifyIcon(), correctly capture the (ANSI and) UNICODE
structures provided by the caller, properly taking into account for
the different NOTIFYICONDATA structure sizes existing out there.
The different strings are now properly null-terminated (especially
szTip if it needs to be truncated out), and the flags validated.
- Remove the now unneeded "SHELL_NotifyIcon()" helper function.
[EXPLORER] Use TRAYNOTIFYDATAW and adjust the callers.
[REACTOS] Misc 64 bit fixes
* [NTOS:MM] Allow MEM_DOS_LIM in NtMapViewOfSection on x64 as well
* [NTOS:MM] Implement x64 version of MmIsDisabledPage
* [HAL] Remove obsolete code
* [NTOS:KE] Fix amd64 version of KeContextToTrapFrame and KeTrapFrameToContext
* [XDK] Fix CONTEXT_XSTATE definition
* [PCNET] Convert physical address types from pointers to PHYSICAL_ADDRESS
* Fix Simplified Chinese Translation of EXPLORER.
* Fix Simplified Chinese Translation of MSCONFIG_NEW.
* Fix Simplified Chinese Translation of MSPAINT.
* Fix Simplified Chinese Translation of SHELL32.
* Fix Simplified Chinese Translation of SYSDM.
* Fix Simplified Chinese Translation of SETUP/REACTOS.