Commit graph

642 commits

Author SHA1 Message Date
Doug Lyons d02cb099c8
[SHELL32] Fix condition check for GetDisplayNameOf() return value (#5444)
This fixes 'Attempt to free an invalid HEAP address' error. CORE-18841

Confirmed by running new tests written by Mark Jansen, showing that
previous behavior was wrong. While here, also fix a typographical error.
2023-07-22 13:24:25 +03:00
Katayama Hirofumi MZ 62eaad1811
[SHELL32] CD-ROM drive shouldn't be renamed (#5461)
- Add _ILGetDriveType helper function.
- Use _ILGetDrive and GetDriveType functions to determine the drive type.
- If it was a CD-ROM drive, then remove SFGAO_CANRENAME flag.
CORE-18272
2023-07-20 16:53:04 +09:00
Katayama Hirofumi MZ d24c991aa7
[SHELL32] Revert 'Update the status bar asynchronously #5420' (#5458)
CORE-18663
2023-07-20 01:29:24 +09:00
Joachim Henze fa429c8e2f [SHELL32] *.rc: Use 1996 as birth year in IDD_ABOUT for consistency
We do use the birth year 1996 instead of 1998
within our msgina pictures already,
and also within the [SDK] for autogenerated file-info.

Since SHELL32 IDD_ABOUT is used by many applications it makes sense to harmonize with that.
2023-07-16 17:27:57 +02:00
Carl J. Bialorucki 928913ad56
[SHELL32] Fix problems in several dialog windows (#5446)
Fixed typos and added missing full stops. The new line characters
in the middle of string labels were also unnecessary and removed.
2023-07-16 16:50:51 +03:00
Doug Lyons 035790dda5
[SHELL32] Fix detail view in My Computer showing Comment in 'Total Size' column (#5438) CORE-19000
Fixes the regression of 0.4.15-dev-5526-g 4c25af5b
2023-07-15 18:14:35 +02:00
Hermès Bélusca-Maïto 3854a5d8e9
[CODEBASE] Fix "uknown" / "unkown" etc. typos.
Only done in our own code, not in 3rd-party or in PSDK headers
(official ones also have such typos in defines...)

(NOTE: apparent "Uknown" typo in dll/cpl/sysdm/smbios.c is on-purpose:
typo by the manufacturer.)
2023-07-15 14:19:04 +02:00
Arnav Bhatt 79e4efe04e
[MSGINA] Convert shutdown/logoff boxes back to modal dialog boxes (#5114)
- Convert all modeless dialog boxes back to modal dialog boxes.
- Use WM_TIMER to detect SHIFT key press instead, as you can't
  directly intercept messages on modal dialog boxes.
- Remove some unused functions.

Fixes explorer crash on shutdown cancel. CORE-17749
2023-07-14 15:02:40 +03:00
Katayama Hirofumi MZ 74ca0a12ad [SHELL32] Follow-up of #5420 (9a1487f); Delete word 'immediately'
CORE-18663
2023-07-12 22:36:42 +09:00
Katayama Hirofumi MZ 9a1487f3a8
[SHELL32] Update the status bar asynchronously (#5420)
- Selecting all in system32 was too slow.
- Make CDefView::UpdateStatusbar function asynchronized by using a thread.
- It makes selecting all very quick.
- Add m_hUpdateStatusbarThread to asynchronize.
CORE-18663
2023-07-12 22:24:04 +09:00
Stanislav Motylkov ddf94ee4b6 [SHELL32] Update Russian (ru-RU) translation 2023-07-07 16:32:03 +03:00
Katayama Hirofumi MZ abf1934d92
[SHELL32] Add IDS_NEWITEMFORMAT and retry FCIDM_SHVIEW_NEW (#5412)
- FCIDM_SHVIEW_NEW resource string had some problems in localization and keyboard usability.
- Add IDS_NEWITEMFORMAT resource string ("New %s") to format the new file item string.
- Modify CNewMenu::NewItemByNonCommand for IDS_NEWITEMFORMAT.
- FCIDM_SHVIEW_NEW is provided for [New] menu item, so it should have an ampersand.
  Add a comment for it and then retry the translation.
CORE-18706
2023-07-07 17:24:25 +09:00
Andrei Miloiu 0f62d80f2d
[SHELL32] Improve Romanian (ro-RO) trnaslation (#5392) 2023-07-03 22:15:28 +02:00
Andrei Miloiu 8fe890e963
[SHELL32] Update Romanian (ro-RO) translation (#5382) 2023-07-02 13:00:10 +02:00
Stanislav Motylkov d764b4232a [SHELL32] Fix last attribute width and button position
Addendum to f3a07f2a78. CORE-18829
2023-07-02 00:50:11 +03:00
Yukinari Mitsu f3a07f2a78
[SHELL32] Fix overlapping attributes in the Folder properties dialog (#5383)
The sum of X and width exceeds the X of next element.
So, change the width to <next x> - <current x>.

All affected translations were changed.

CORE-18829
2023-07-02 00:24:21 +03:00
Joachim Henze d3164a0f55
[SHELL32] Strip leftover in CDefView::FillFileMenu() (#5330)
In 0.4.14-dev-955-g 1cf564c25f
Katayama experimented with populating explorers file-menu when no object is selected.

Later we found out, that none of the new entries introduced by that commit really
made sense and even created duplicates. So the commit was reverted by
0.4.15-dev-6039-g 0fa4edebd9 'Revert CDefView::FillFileMenu (#5278)' CORE-18429

But it seems that not all parts were properly reverted back then,
maybe because 6 lines of new code were written between the two lines in the meantime.
2023-06-11 20:53:25 +02:00
Katayama Hirofumi MZ 0fa4edebd9
[SHELL32] Revert CDefView::FillFileMenu (#5278)
CORE-9467, CORE-18429, CORE-11797
2023-05-23 17:38:12 +09:00
Doug Lyons 8a7b5a9009
[SHELL32][USER32] Fix icon regression and one test (#5207) 2023-05-21 11:18:00 +02:00
Tom Brogan a5bff2457a
[SHELL32] Improve disk properties pie chart (#5239)
CORE-18906

- Increase the vertical height of the disk space pie chart and center
  the "Drive %c" label below it.
- Add a 1 pixel outline at the sides and bottom of the disk properties
  pie chart.
- Explicitly set the outline pen instead of relying on the DC's default pen.
- Widen "Disk Cleanup" button on ja-JP locale, to prevent the text from
  being clipped due to the larger font size and spacing.
2023-05-05 13:35:32 +02:00
Jose Carlos Jesus 39d5f1bf54
[SHELL32] Enable Network Connection Rename (#5073)
CORE-18750
- Add Network Connection pidl type 0x99;
- Add binary comparison to pidl memory range.
2023-04-30 15:40:10 +02:00
Mark Jansen 4cdcea5e65
[SHELL32] Implement SHQueryRecycleBinW 2023-04-26 22:50:11 +02:00
Katayama Hirofumi MZ 994732c4bb
[RUNDLL32][SHELL32] Rename 'rundll32_window' as 'RunDLL' (#5229)
Improve compatibility.
- Rename window class "rundll32_window" as "RunDLL".
- Delete some shell32 codes about this window class.
CORE-13895, CORE-18350
2023-04-08 15:20:07 +09:00
fulup29 14cf589cbc
[SHELL32] Improve French (fr-FR) translation (#5179)
CORE-18382

Original patch is used to fix and improve french translation and layout.
The original (erroneous) horizontal shift of the second checkbox is kept.
It should be fixed homogeneously in all translations at once later.
2023-04-02 00:07:52 +02:00
Jose Carlos Jesus 2cfb757b29
[TRANSLATION] Improvements to portuguese (pt-PT) translation (#5154)
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.
2023-03-19 20:32:24 +01:00
Jose Carlos Jesus b8c4d589b1
[SHELL32] Give opportunity to rename file/folder on its creation (#5139)
* [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.
2023-03-14 22:27:14 +01:00
Jose Carlos Jesus ed4b16b7ff
[SHELL32] Give a chance to rename new file or folder when created (#4950) 2023-02-25 23:38:42 +01:00
Jose Carlos Jesus 23cd14d78b
[SHELL32] Move error message to rc files so can be translated (CORE-18786) (#4997)
CORE-18786
2023-02-23 09:43:53 +09:00
Katayama Hirofumi MZ 324cda0835
[SHELL32][SHELL32_APITEST] Improve CommandLineToArgvW (#5055)
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
2023-02-14 20:53:48 +09:00
Jose Carlos Jesus f691efefc2
[SHLWAPI] No need extension to execute '.bat' files CORE-17612 (#4932)
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
2023-02-11 00:05:11 +09:00
Ratin Gao 5c22ce3742
[SHELL32] Remove unused flag SEE_MASK_UNICODE (#5033)
SEE_MASK_UNICODE does nothing, so we needn't mark it as "unsupported flag" and output FIXME
2023-02-10 23:56:13 +09:00
Ratin Gao 2f70f79904
[TRANSLATION] Improve Simplified Chinese (zh-CN) translation (#4979)
- Add and improve translation
- Fix mistakes
2023-02-10 23:15:25 +09:00
Katayama Hirofumi MZ f156f9a137 [SHELL32] Follow-up of #5008 (8e036fe)
Now the menu item actions on start button should work. CORE-16544
2023-01-30 08:01:15 +09:00
Katayama Hirofumi MZ 8e036fe74d
[SHELL32] Improve StartButton context menu (#5008)
- Add uFlags argument to CDefaultContextMenu::AddShellExtensionsToMenu- CCopyToMenu, CMoveToMenu, and CSendToMenu check the uFlags against (CMF_NOVERBS | CMF_VERBSONLY).
CORE-16544
2023-01-29 22:40:40 +09:00
Joachim Henze e89675768b
[SHELL32] Add 3 accelerators for IDM_DRAGFILE MENU de-DE.rc (#5001)
They got lost when the menu was translated to german during 0.4.9-dev'ing.
2023-01-18 22:40:05 +01:00
Timo Kreuzer 7d4de5f8ea [SHELL32] Check for valid listview in CDefView::_PidlByItem and CDefView::RemoveObject
This fixes failing ATLASSERTs in shell32_winetest:shlview
2023-01-04 10:32:28 +01:00
Timo Kreuzer d0c1df7882 [SHELL32] Add check to CMenuToolbarBase::ShowDW
This fixes an ATL assert in shell32_apitest:menu
2023-01-04 10:32:28 +01:00
Hermès Bélusca-Maïto 95e5f07084
🎊 🍾 🥳 Happy New Year 2023 to the ReactOS Community! 🎆 ⚛️ ☢️
.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:
 __,  ,__)            __,  ,__)       __, ,__)        ░▄████▄░▄███▄░▄████▄░▄█▀▀█▄░
(--|__| _ ,_ ,_      (--|\ | _       (--\ | _  _ ,_   ░▀▀░▄██░██░██░▀▀░▄██░░░░▄█▀░
  _|  |(_||_)|_)(_|    _| \|(/_(_|_)     \|(/_(_||    ░░▄██▀░░██░██░░▄██▀░░▄░▀▀█▄░
 (        |  |  ,_|   (                (__|           ░██████░▀███▀░██████░▀█▄▄█▀░
.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:
2023-01-01 00:00:00 +03:00
Jose Carlos Jesus f59304098d [SHELL32][USER32] Improve pt-PT translation 2022-12-22 23:18:57 +01:00
Egor Ananyin d1718366de
[SHELL32] Read the label for a CD from autorun.inf (#4945)
Some CDs may set a custom label using autorun.inf.
Read the label from the file, and if it succeeds, show it to the user.

CORE-18567
2022-12-20 22:30:09 +03:00
Muthu R Kumar 4c25af5bd4
[SHELL32] Fix detailed list views in Control Panel and Registry Folder
- 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
2022-12-20 18:42:07 +03:00
Thamatip Chitpong 7ca2710d64
[SHELL32] Improve "Empty Recycle Bin" sound code (#4927)
Split off from PR #4755. This change doesn't require WINMM fixes (#4635).

- Remove `MAX_PATH` limit
- Use ATL classes
- Play the sound asynchronously
2022-12-09 23:14:09 +03:00
Thamatip Chitpong f0c20caf32
[SHELL32] Fix My Documents properties (#4906)
Tell the caller to run default action by returning S_FALSE in else case.

CORE-17509
2022-12-09 16:00:24 +03:00
Jose Carlos Jesus 45c8e4dcd0
[NEWDEV][SHELL32][SYSSETUP] Improve browse driver folder dialog (#4293)
[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.
2022-11-27 18:00:46 +03:00
Jose Carlos Jesus 685728bc24
[SHELL32] Prevent a second call to Drive Properties dialog (#4888)
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
2022-11-20 21:10:11 +03:00
Stanislav Motylkov a09e903398
[SHELL32] CDrivesFolder: Unhardcode pqcminfo->idCmdFirst value
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
2022-11-14 21:56:01 +03:00
Joachim Henze a33fe38418
[SHELL32] Show 'comment' column for folders, make it rightmost CORE-18615 (#4868)
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.
2022-11-11 18:25:50 +01:00
Katayama Hirofumi MZ 11a71418d5
[SHELL32] Implement IsLFNDriveA/W and improve PathResolve (#4866)
- Fix IsLFNDriveA and IsLFNDriveW functions.
- Add IsRemovableDrive helper function.
- Fix PathQualifyExW by using IsLFNDriveW.
CORE-11335
2022-11-10 23:18:04 +09:00
Katayama Hirofumi MZ 140aa11c36
[SHELL32] shlexec: Initial support of App Paths (#4850)
- Fix SHELL_TryAppPathW helper function by using SHRegQueryValueExW function.
- Fix SHRegQueryValueExA/W functions.
CORE-11335
2022-11-08 09:23:06 +09:00
Mark Jansen 2567a66399
[SHELL32] Fix CDefView UAF 2022-11-04 23:01:31 +01:00