Commit graph

130 commits

Author SHA1 Message Date
Hermès Bélusca-Maïto 7ee298bbfc
[SHELL32] In _SHExpandEnvironmentStrings(), fall back to SHExpandEnvironmentStringsForUserW() if the simplified code paths failed.
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).
2018-09-23 00:18:57 +02:00
Hermès Bélusca-Maïto e29609147b
[SHELL32] In _SHGetUserShellFolderPath(), check the return value of _SHExpandEnvironmentStrings()
and bail out if it failed. That way we won't use and cache in the registry an invalid-expanded string.

CORE-14981
2018-09-23 00:16:06 +02:00
Hermès Bélusca-Maïto 41a5b11fcd
[SHELL32] Partially synchronize wine/shellpath.c with Wine.
- Adjust the code with respect to:
  "shell32: Re-add support for expanding ALLUSERSPROFILE for backward compatibility."
  4a6855a575c02aa1569aab8b2e96720fc02f3f26 (Alexandre Julliard)

- "shell32: Avoid infinite loop in _SHExpandEnvironmentStrings."
  ceea5bda14ecf4c8ce262fc7ab88df49e500bc38 (Alexandre Julliard)

- "shell32: Assume that system directory always contains a drive letter."
  54530bc4933ae1014c3697c95e22b8ca5a275bc4 (Alexandre Julliard)

- "shell32: Use ARRAY_SIZE macro."
  612a1941331485725952d34f3dcd5866fc318dc2 (Nikolay Sivov)

- "shell32: Fix a trace message."
  bb09bb5750d617047aa23635731519a2f9486159 (Nikolay Sivov)

- "shell32: Fix SHGetFolderPathAndSubDir() trace message."
  f75d5625966933562b974540a3f29dfcd720ad50 (Nikolay Sivov)

- "shell32: Pass correct buffer length to RegQueryValueExW()."
  0bfb97dcba29552b51d8609fcc6e7bbc04bb8320 (Nikolay Sivov)

- "shell32: Remove unused string (Clang)."
  8d50a8a246960749afba21eac117b4fcbbf2c79d (André Hentschel)

- "shell32: Use E_NOT_SUFFICIENT_BUFFER definition."
  730e744e3bd6b706612fe0f90a7efb2e600f114f (Nikolay Sivov)
2018-09-23 00:16:02 +02:00
Katayama Hirofumi MZ 31019e8c0c [TRANSLATION] Update Romanian translation (#851)
Translation from Stefan Fulea.
CORE-15023
2018-09-14 11:04:36 +02:00
Joachim Henze e217e926e1 [SHELL32] Fix typo in comment 2018-08-28 14:24:49 +02:00
Katayama Hirofumi MZ 39dc3cdaf6 [SHELL32] Adjust the IDC_PICKICON_LIST control's height in the IDD_PICK_ICON dialog resource. (#824)
CORE-14974
2018-08-27 12:21:51 +02:00
Mark Jansen 19e9a44118
[SHELL32] Check the result from PathUnExpandEnvStringsW 2018-08-27 11:58:29 +02:00
Mark Jansen 608cb60e44
[SHELL32] Remove some mostly dead code from CShellLink 2018-08-27 11:58:24 +02:00
Katayama Hirofumi MZ 6eb6aa2895 [SHELL32] Fix CShellLink::GetIconLocation (#810)
Fixes a regression from PR #784.
CORE-14961, CORE-14009
2018-08-26 15:37:15 +02:00
Katayama Hirofumi MZ 73798d2e71 [SHELL32] Enable to change shortcut icon (#784)
CORE-11407
2018-08-21 13:49:32 +02:00
Adam Słaboń af3d426685 [TRANSLATION] Polish translation update (#781)
In addition: fix the encoding of the comdlg32 and ntvdm polish resource files.
2018-08-20 17:00:33 +02:00
Joachim Henze abf9340f1b [SHELL32] Translation de-DE CORE-14916
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
2018-08-17 18:07:35 +02:00
Getequ d559ca9c98 [ADVAPI32][SHELL32][DESK.CPL] Kill copy-paste of RegLoadMUIString. (#748)
RegLoadMUIStringW/A is part of advapi32.dll . shell32.dll and desk.cpl contained exact line-by-line copy of that function.
2018-08-16 16:10:41 +02:00
Katayama Hirofumi MZ db13b422b3 [SHELL32] Fix a careless mistake of ShellExecCmdLine (#737)
CORE-14886
2018-08-10 13:25:50 +02:00
Katayama Hirofumi MZ bfcbda227f [SHELL32] Fix handling of multiple parameters in the 'Run' dialog (#665)
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
2018-08-05 13:39:17 +02:00
Timo Kreuzer 52ea7d39db [SHELL32] Fix 64 bit issues 2018-08-04 19:19:34 +02:00
Julio Carchi d3045af9d5 [TRANSLATIONS] Fix some Spanish translations (#715)
Also added some new ones.
2018-07-31 10:58:21 +02:00
Hermès Bélusca-Maïto 74adcadbd0
[SHELL32] Silence a noisy DPRINT. 2018-07-29 17:39:09 +02:00
Katayama Hirofumi MZ 75b09f3f88 [EXPLORER][SHELL32][USER32] Implement 'Show the Desktop' action of Task Bar (#668)
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
2018-07-13 10:34:42 +02:00
Katayama Hirofumi MZ e018ccea4b [SHELL32] lpDirectory must have priority in ShellExecuteEx (#681)
Based on a patch by Mark Jansen.
CORE-14469
2018-07-12 17:45:43 +02:00
Katayama Hirofumi MZ 55469633cf [SHELL32] Add 'Properties' menu item in My Computer (#647)
- Add a Shell_DefaultContextMenuCallBack() helper function.
- Implement the IContextMenuCB interface in CDrivesFolder.
CORE-12509
2018-07-08 17:01:12 +02:00
Katayama Hirofumi MZ 96c0ef4209 [SHELL32] Improve CShellLink a little (#651)
Improve the display and UI in the shortcut dialog.
CORE-11407
2018-07-08 16:45:40 +02:00
Katayama Hirofumi MZ a882ec7a02 [SHELL32][EXPLORER] Update system-wide environment variables (#663)
- Implement shell32 RegenerateUserEnvironment() function and use it.
- CShellBrowser and CDesktopBrowser implements WM_SETTINGCHANGE actions.

CORE-1459, CORE-14397
2018-07-08 16:32:42 +02:00
Mark Jansen 3904fd6257
[SHELL32] Ensure OpenAs_RunDLL does not loop to infinity and beyond.
This should fix a timeout on the apitests.
2018-07-06 21:51:24 +02:00
Hermès Bélusca-Maïto 2afb483a9e
[SHELL32] Shell Profile Folders fixes.
- 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__ .
2018-06-30 18:20:08 +02:00
Stanislav Motylkov 73aa420f0e [SHELL32] Update russian translation
CORE-11407
2018-06-30 01:15:41 +02:00
Stanislav Motylkov 707f2ed360 [SHELL32] Fix some elements positions and styles
Addendum to eb1912b. CORE-11407
2018-06-30 01:15:41 +02:00
Katayama Hirofumi MZ e353b48cb2 [SHELL32] Refresh 'General' tab if the folder icon is updated (#646)
CORE-11407
2018-06-29 14:13:37 +02:00
Katayama Hirofumi MZ eb1912b15f [SHELL32] Initial implementation of Folder Customization (#642)
- Add property sheet;
- Implement changing the folder icon.
CORE-11407
2018-06-28 21:51:37 +02:00
Katayama Hirofumi MZ 3189ec9428 [SHELL32] Add missing desktop.ini files (#640)
Add the "desktop.ini" files to the special folders to realize their custom icons.
CORE-10045
2018-06-27 23:11:31 +02:00
Katayama Hirofumi MZ c74bd5d662 [SHELL32] Enable custom CD/DVD icons (#639)
Properly show the custom icon specified in "autorun.inf" file in CDs/DVDs.
CORE-14766
2018-06-27 23:06:54 +02:00
Russell Johnson 6a683dc6d8 [SHELL32] Fixed TRASH_CanTrashFile() sending the wrong path string to GetVolumeInformationW() (#635)
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
2018-06-24 20:29:57 +02:00
Katayama Hirofumi MZ 1b1e1baa6e [SHELL32] Implement Folder Options File Types 'Change' button (#629)
CORE-12906
2018-06-24 20:04:25 +02:00
Katayama Hirofumi MZ 1829f5fed7 [SHELL32] Fix desktop.ini folder icon again (retrial of #595) (#632)
#595 failed at non-Desktop folder. We should use ILGetDisplayNameExW instead of SHGetPathFromLDList to get path from psf and pidl.
CORE-9196
2018-06-24 19:59:03 +02:00
Katayama Hirofumi MZ cc8b2717ae [SHELL32] Implement OpenAs_RunDLLA/W (#628)
CORE-14751
2018-06-24 19:46:06 +02:00
Abdulganiev Rafael 824a52aa99 [TRANSLATION][SHELL32] Update Russian translation (#633) 2018-06-24 19:42:34 +02:00
Katayama Hirofumi MZ a33908b60f [SHELL32] Improve French Folder Options 2018-06-23 10:51:48 +02:00
Katayama Hirofumi MZ cb69443362 [SHELL32] Implement the 'General' tab of the "Folder Options" dialog (#604)
CORE-14678
2018-06-22 16:40:06 +02:00
Katayama Hirofumi MZ f8926dccbd [SHELL32] Fix desktop.ini folder icon (#595)
The folder icon location specified in desktop.ini of a folder should accept its relative path.
CORE-9196
2018-06-22 15:37:03 +02:00
Denis Malikov 7916d0ae3e [SHELL32] Copy-paste files/folders into current place.
Files are copied with trying to find new path by adding (%d) suffix before asking for overwrite existing item

CORE-13788
2018-06-13 20:13:44 +02:00
Adam Słaboń 565ce5e827 [TRANSLATION] Polish translation update (#611)
Polish translation update for MODE, USETUP and SHELL32.
2018-06-12 15:51:37 +02:00
Katayama Hirofumi MZ 698cbc6184 [SHELL32] Split dialogs/folder_options.cpp (#582)
The dialogs/folder_options.cpp source file in shell32 is too big to manage. We will split it to smaller files.
CORE-12906
2018-06-06 14:04:50 +02:00
Katayama Hirofumi MZ 222534a5a2 [SHELL32] Fix and improve the PickIconDlg function (#574)
CORE-10972
2018-05-31 15:33:07 +02:00
Katayama Hirofumi MZ 5187ec858f [SHELL32] Implement the 'Advanced' button of the 'File Types' dialog (#565)
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
2018-05-30 17:22:31 +02:00
Serge Gautherie 3ca1ac639c [REACTOS] Improve/Fix some "printf" formats (#555)
The smbios.c one was initially spotted by "Alahndro" on CORE-6328.
2018-05-30 14:18:23 +02:00
Katayama Hirofumi MZ ed1c6bb006 [SHELL32] Add icons to the 'File Types' listview (#557)
This commit adds icons to the listview of the 'File Types' property sheet of Folder Options.
CORE-12906
2018-05-23 23:25:11 +02:00
Katayama Hirofumi MZ 82a5983504 [SHELL32] Allow deleting a file type/extension (#553)
CORE-12906
2018-05-19 16:12:11 +02:00
Adam Słaboń 72ad0fe70b [TRANSLATION] Polish translation update (#554)
- Added translations for cmdutils (at, clip, comp, eventcreate, mode, taskkill, wmic) and zipfldr.
- Updated translations for cmdutils (reg), drwtsn32, mmc, eventvwr, shell32 and cpl applets (console, input).
2018-05-19 13:17:49 +02:00
Katayama Hirofumi MZ bfb19dd251 [SHELL32] Fix usage of DeferWindowPos (fix of #544) (#552) 2018-05-18 22:27:22 +02:00
Katayama Hirofumi MZ f20bdf1994 [SHELL32] Add 'Create New Extension' IDD_NEWEXTENSION dialog (#544)
A 'Create New Extension' dialog is implemented, which enables the user to add a new file extension.
CORE-12906
2018-05-18 12:47:52 +02:00