Commit graph

5327 commits

Author SHA1 Message Date
Václav Zouzalík
f852ac2e5d
[INTL] Update Czech (cs-CZ) translation (#7066)
Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
2024-07-06 22:14:59 +02:00
Katayama Hirofumi MZ
c536664666
[EXPLORER][COMCTL32] Fix wrong title on taskbar if it has '&' in it (#7073)
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.
2024-07-06 10:38:04 +09:00
Whindmar Saksit
71a3be2497
[SHELL32][EXPLORER][SHLWAPI][SDK] Implement SHGetSetSettings (#6982)
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.
2024-07-05 20:35:45 +02:00
Katayama Hirofumi MZ
80c170d7bc
[IMM32][NTUSER] Reduce a little IMM spams (#7077)
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.
2024-07-05 05:07:49 +09:00
Katayama Hirofumi MZ
06b6833cf1
[SHELL32] shlexec.cpp: Automate buffer alloc/free (#7068)
Reduce code. Simplify code logic.
Ensure leak zero.
JIRA issue: CORE-17482
- Use CHeapPtr<WCHAR, CLocalAllocator>
  for allocation/freeing.
2024-07-03 23:03:31 +09:00
Katayama Hirofumi MZ
b41332349a
[SHELL32] Refresh UI on assoc change (SHOpenWithDialog) (#7076)
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.
2024-07-03 23:01:50 +09:00
Oleg Dubinskiy
1a1025011f
[REACTOS] Fix LoadCursorW() incorrect usage cases (#7053)
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.
2024-07-01 18:05:46 +02:00
Jose Carlos Jesus
2aad6b133f
[ACCESS] Improve Portuguese (pt-PT) translation (#7028)
- Add file header
- Add missing accelerator keys
- Rearrange the message so it can fit in the window
- Change SUBLANG to NEUTRAL
2024-06-25 12:48:35 +00:00
Jose Carlos Jesus
fc7a74506b
[JOY] Improve Portuguese (pt-PT) translation (#7027)
Additionally:
- Remove accelerators from Ok and Cancel buttons.
- Add lost accelerator keys.
- Add resource file header.
2024-06-25 12:44:32 +00:00
Václav Zouzalík
d23d61b63f
[SHIMGVW] Add Esperanto (eo-AA) translation (#7023)
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2024-06-25 12:40:17 +00:00
Stanislav Motylkov
4879915e54
[SHELL32] Sync shell view menu "Paste" / "Paste shortcut" items (#6994)
- 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
2024-06-25 12:30:27 +00:00
Whindmar Saksit
d24675b63d
[SHELL32][BROWSEUI] CopyMoveToMenu must initialize without a PIDL folder (#7047)
- 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
2024-06-25 00:29:35 +02:00
Whindmar Saksit
df5affedce
[BROWSEUI] Ensure menu dock site is visible when parent ShowDW is called (#7045)
Addendum to 674136b (PR #7035)

CORE-19659
2024-06-24 23:51:57 +02:00
Whindmar Saksit
63935f857f
[SHELL32] Implement the desktop folder menu for Explorer tree (#7026)
Enumerates but does not actually allow you to get CF_HDROP if the desktop PIDL is present in the dataobject.
2024-06-21 19:19:49 +02:00
Whindmar Saksit
674136bcd0
[BROWSEUI] Save/Restore ShellBrowser bar states (#7035)
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
2024-06-21 19:17:13 +02:00
Whindmar Saksit
75db8c633a
[SHELL32] SHMultiFileProperties workaround and minimal SHObjectProperties (#7025) 2024-06-21 16:26:52 +02:00
Katayama Hirofumi MZ
55898a7ffd
[SHELL32] Make some PIDL (_IL*) functions Unicode (#7018)
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.
2024-06-19 04:32:40 +09:00
Thamatip Chitpong
91af99323f [SHELL32] Enable visual styles for RunDLL
Enable visual styles using RunDLL manifest (resource ID 123).
CORE-12285

This was documented here:
https://learn.microsoft.com/en-us/windows/win32/controls/cookbook-overview?redirectedfrom=MSDN#using-comctl32-version-6-in-control-panel-or-a-dll-that-is-run-by-rundll32exe
2024-06-18 21:06:29 +07:00
Thamatip Chitpong
99c0d53413 [SHELL32] Folder options: Use MAKEINTRESOURCE instead of LoadString 2024-06-18 21:06:29 +07:00
Jose Carlos Jesus
c43a638fc1
[INPUT] Update Portuguese (pt-PT) translation (#7032)
- Change SUBLANG to NEUTRAL.
- Add resource file header.
2024-06-17 19:20:14 +03:00
Václav Zouzalík
18a3d21dd7
[SHIMGVW] Update German (de-DE) translation (#7021)
Translate new strings added in 084fae1eb4 (#6186) into German.
2024-06-17 18:40:29 +03:00
Thamatip Chitpong
2d9a4b4a87 [SHELL32] Control_DoWindow: Add file browser fallback
If Explorer shell is not available, use ReactOS's alternative file browser instead.
CORE-19648
2024-06-14 02:14:10 +07:00
Thamatip Chitpong
48c036e7e7 [NCPA] DisplayApplet: Add file browser fallback
If Explorer shell is not available, use ReactOS's alternative file browser instead.
CORE-19648
2024-06-14 02:14:10 +07:00
Václav Zouzalík
6cd97d8423
[SHIMGVW] Update Czech (cs-CZ) and Slovak (sk-SK) translations (#6825)
- [SHIMGVW] Update Czech (cs-CZ) translation
- [SHIMGVW] Update Slovak (sk-SK) translation
2024-06-13 19:12:45 +03:00
Jose Carlos Jesus
113b3d6261
[CPL] Update Portuguese (pt-PT) translation (#6718)
- [APPWIZ] Update Portuguese (pt-PT) translation
- [CONSOLE] Update Portuguese (pt-PT) translation
- [HDWWIZ] Update Portuguese (pt-PT) translation
- [HOTPLUG] Update Portuguese (pt-PT) translation
- [INETCPL] Update Portuguese (pt-PT) translation

Reviewed-by: Marco Pisco <marco@marcopisco.com>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2024-06-13 18:26:25 +03:00
Jose Carlos Jesus
cbb6603460
[MSUTB] Add Portuguese (pt-PT) translation (#6690) 2024-06-13 17:01:04 +03:00
Ratin Gao
67d5a53839
[TRANSLATION] Improve Simplified Chinese (zh-CN) translation (#6804)
- Add and improve translation
- Fix mistakes

Reviewed-by: Chilung Chan <eason066@gmail.com>
Reviewed-by: yangyangdaji <1504305527@qq.com>
Reviewed-by: He Yang <1160386205@qq.com>
2024-06-13 16:36:41 +03:00
Whindmar Saksit
7c3d3851b8
[SHELL32] Respect menu Ctrl/Shift in CMenuBand and SHBrowseForFolder (#7015) 2024-06-13 13:11:34 +02:00
Whindmar Saksit
4321c975c7
[SETUPAPI] Fix absolute dirid ProfileItems bug (#7016) 2024-06-12 19:34:48 +02:00
Whindmar Saksit
dc97c0d109
[SHELL32] Add Taskbar and Start Menu control panel item (#7011) 2024-06-12 13:00:54 +02:00
Hermès Bélusca-Maïto
7930bed0a1
[MPR][MOUNTMGR][DDK] Remove unused wine-specific code (#6958)
Usage of these in MPR was already inside #ifndef __REACTOS__ block,
so, "This Is Fine".
2024-06-12 12:29:22 +02:00
Maj Soklič
ba6e9a09be
[SHELL32] Remove redundant WS_TABSTOP's from RC files (#7000)
for PUSHBUTTON, DEFPUSHBUTTON, CHECKBOX, AUTOCHECKBOX
2024-06-12 12:11:52 +02:00
Maj Soklič
b4cfc4c1ad
[NETCFGX] Remove redundant WS_TABSTOPs from RC files (#7002) 2024-06-12 12:07:52 +02:00
Justin Miller
bc6c731db3
[KERNEL32_VISTA][SDK] Move SRW definitions to NDK (#6806)
Move SRW and condition variable definitions out of kernel32_vista and into the NDK.

Essentially grabbed from PR #1190
Trying to reduce diff needed for Rtl/ntdll sync.
2024-06-11 22:03:57 +02:00
Katayama Hirofumi MZ
4fe33fe9d5 [SHELL32] Update Japanese (ja-JP) translation
CORE-18706
2024-06-11 15:23:27 +09:00
Hermès Bélusca-Maïto
0b366ea122
[CMAKE][REACTOS] Introduce a utf16le_convert() cmake helper (#6904)
Used when we convert files to UTF16-LE during our build process.
Removes duplicated code.
2024-06-10 21:23:12 +02:00
Gabriele Lo Re
ae27ffcddc
[TRANSLATION] Improve Italian (it-IT) translation (#6820)
I have edited some traslation files for the italian language, as the text
looked robotic in the way senteces were written, or in some cases it used
not-really-fitting synonymous or incorrect spelling. The edited strings
are from varius areas of ReactOS. I hope this contribution makes italian
language less strange to native speakers.

- [ACCESS] Improve Italian (it-IT) translation
- [DESK] Improve Italian (it-IT) translation
- [JOY] Improve Italian (it-IT) translation
- [MAIN] Improve Italian (it-IT) translation
- [SYSDM] Improve Italian (it-IT) translation
- [TIMEDATE] Improve Italian (it-IT) translation
- [ACPPAGE] Improve Italian (it-IT) translation
- [DESKADP] Improve Italian (it-IT) translation
- [DEVCPUX] Add Italian (it-IT) translation
- [FONTEXT] Improve Italian (it-IT) translation
- [ZIPFLDR] Improve Italian (it-IT) translation
- [BROWSEUI] Improve Italian (it-IT) translation
- [USER32] Improve Italian (it-IT) translation
- [CONSRV] Improve Italian (it-IT) translation
- [USERSRV] Improve Italian (it-IT) translation

Reviewed-by: Joachim Henze <joachim.henze@reactos.org>
Reviewed-by: Simone Mario Lombardo <me@simonelombardo.com>
2024-06-10 13:45:00 +03:00
Doug Lyons
40955b447c
[RICHED20] Fix assert in editpad due to excessive tab count (#6976)
* https://jira.reactos.org/browse/CORE-8452

* Cherry pick this Wine commit into ReactOS:
7b2ff97773
2024-06-09 03:57:40 -05:00
Whindmar Saksit
ecb5cae48f
[SHELL32] SetNameOf should not append old extension to folders (#6954) 2024-06-08 18:45:23 +02:00
Whindmar Saksit
82721de625
[SHELL32] Don't add folder verbs to non-folder RegItems (#6991)
RegItems that pretend to be files should not have Folder verbs
2024-06-05 02:12:58 +02:00
Whindmar Saksit
c97c1ad4c5
[SHELL32][BROWSEUI] Implement ShellBrowser Apply/Reset default folder settings (#6912) 2024-06-04 18:37:19 +02:00
Whindmar Saksit
0d10fb814f
[SHELL32] Implement DelegateExecute verb handler and basic IShellItemArray (#6972) 2024-06-04 15:38:49 +02:00
Serge Gautherie
01fbf25dab
[DBGHELP][NDK][RTL] *RtlComputeCrc32(): Add 'const' to 2nd parameter (#6973)
and sync SAL2 annotations.

It didn't always warn in the past, our gutfeeling (we have *not* double-checked that thesis!) is that the warnings might have been triggered when 0.4.15-dev-958-g 237aa3a9c1 was committed
2024-06-04 13:35:57 +02:00
Julen Urizar Compains
1cd08eee52
[MSI] CORE-18707 hack. Allow MSI under ROS amd64 to continue when GetSystemWow64DirectoryW is called (#6887) 2024-06-04 13:10:09 +02:00
Oleg Dubinskiy
9046cc97ee
[AUDIO] Implement volume control support (#6922)
Implement volume level changing for Aux/MidiOut/WaveOut devices. It's represented the following WINMM functions:
- auxGetVolume,
- auxSetVolume,
- midiOutGetVolume,
- midiOutSetVolume,
- waveOutGetVolume,
- waveOutSetVolume,
which are calling the followind messages appropriately:
- AUXDM_GETVOLUME,
- AUXDM_SETVOLUME,
- MODM_GETVOLUME,
- MODM_SETVOLUME,
- WODM_GETVOLUME,
- WODM_SETVOLUME.
This fixes volume control for several 3rd-party programs (like Fox Audio Player 0.10.2 from Rapps, Winamp 2.95 with WaveOut plugin). However it does not fix changing the volume in system volume mixers (SndVol32, MMSys), since they are using their own functionality instead. They technically do the same things, but apart from the functions mentioned above.
CORE-14780
2024-06-01 12:30:33 +02:00
Katayama Hirofumi MZ
b50ab0dc68
[SHELL32] brfolder.cpp: Refresh items (#6965)
Refresh the items in the tree-view
control of SHBrowseForFolderA/W
functions against change notifications.
JIRA issue: CORE-17340
- Add BrFolder_IsTreeItemInEnum and
  BrFolder_TreeItemHasThisChild helper
  functions.
- Add BrFolder_Refresh,
  BrFolder_RefreshRecurse, and
  BrFolder_UpdateItem functions to
  refresh items.
- Call BrFolder_Refresh in
  BrFolder_OnChangeEx function and on
  keyboard F5 and Ctrl+R actions.
2024-05-31 22:40:56 +09:00
Whindmar Saksit
3da9e7e251
[SHELL32] Implement SHBrowseForFolder items contextmenu (#6952)
* [SHELL32] Implement SHBrowseForFolder items contextmenu

CORE-16944 CORE-19597
2024-05-30 17:53:44 +02:00
Whindmar Saksit
6d7648d723
[SHELL32] CDefView::InvokeContextMenuCommand must specify a showcmd (#6966)
ZeroMemory causes nShow to be SW_HIDE. This causes shell extensions that propagates the nShow all the way, will start child processes hidden.
2024-05-30 15:22:29 +02:00
Whindmar Saksit
dc0ed6de1e
[SHELL32] SHBrowseForFolder must rename using IShellFolder (#6953)
To support renaming My Computer and other non-FS folders, one cannot convert the pidl to a path.

CORE-19622
2024-05-29 16:00:28 +02:00
Katayama Hirofumi MZ
817f89466d
[BOOTDATA][IMM32][NTUSER] Follow-up to #6961 (#6962)
JIRA issue: CORE-19320
- Delete "(brain-dead)".
- Fix "despite of" as "despite".
- Use "%S" instead of debugstr_w.
2024-05-29 01:14:52 +09:00
Katayama Hirofumi MZ
c8a3c919e5 [BOOTDATA][IMM32][NTUSER] Set "LoadIMM" to zero
We set "LoadIMM" to zero in order to disable Cicero.
The name of "LoadIMM" is a brain-dead name. This name
means Cicero despite of its name (brain-dead).
They use a human-confusing name intentionally.

JIRA issue: CORE-19320

- Set HKLM\SOFTWARE\Microsoft\Windows NT\
  CurrentVersion\IMM:LoadIMM to 0.
- Add warning comments to the brain-dead name "LoadIMM".
2024-05-28 23:17:22 +09:00
Katayama Hirofumi MZ
4225717dc9 [IMM32][NTUSER] Fix NtUserGetThreadState call of Imm32InquireIme
There was a mistake of parameter value for NtUserGetThreadState
call in Imm32InquireIme function. This affected the logon process.

JIRA issue: CORE-19320

- Replace THREADSTATE_ISWINLOGON2 with THREADSTATE_ISWINLOGON in
  NtUserGetThreadState call in Imm32InquireIme function.
- Rename THREADSTATE_ISWINLOGON2 as THREADSTATE_UNKNOWN_0x10.
- Adapt NtUserGetThreadState to this change.
2024-05-28 23:17:22 +09:00
Katayama Hirofumi MZ
522c02f335
[SHELL32] Fix CDefView::OnChangeNotify for My Documents (#6935)
Follow-up to #6916. My Documents change notification was not working
due to this bug.
JIRA issue: CORE-19615
- Use _ILIsSpecialFolder for checking PIDLs.
- Simplify ILIsParentOrSpecialParent helper function.
- Add SFVM_FSNOTIFY, SFVM_QUERYFSNOTIFY, and SFVM_GETNOTIFY
  callback calls.
2024-05-28 23:04:21 +09:00
Whindmar Saksit
47d17f59bf
[SHELL32] Refactor DefView column handling (#5767)
This refactor decouples the previous assumption that the ListView column index is the same thing as the IShellFolder column index. By doing this, support for turning columns on or off becomes possible. The SHCOLSTATE_ONBYDEFAULT and SHCOLSTATE_HIDDEN flags are also respected.

I also fixes the "Arrange icons by" submenu.

CORE-18526
2024-05-28 11:39:00 +02:00
Katayama Hirofumi MZ
1e75ea8a82
[SHELL32] CDefView: Implement SFVM_GETNAMELENGTH callback (#6942)
Implementing missing folder view callbacks...
JIRA issue: CORE-19616
- Call _DoFolderViewCB on LVN_BEGINLABELEDITW message.
- Send EM_SETLIMITTEXT message if the limit was set.
2024-05-28 08:14:36 +09:00
Katayama Hirofumi MZ
38b7a6816c
[SHELL32][BROWSEUI] CDefView: Implement SFVM_ADDPROPERTYPAGES callback (#6944)
Implementing missing folder view callbacks...
JIRA issue: CORE-19616
- Add SFVM_PROPPAGE_DATA structure to "shobjidl.idl".
- Implement CDefView::AddPropertySheetPages by calling
  SFVM_ADDPROPERTYPAGES callback.
- Modify CShellBrowser::DoFolderOptions that uses AddPropertySheetPages.
2024-05-28 08:07:29 +09:00
Katayama Hirofumi MZ
4696996ee2
[SHELL32] brfolder.cpp: Remove pEnumIL member (#6946)
Refactoring. Simplify item insertion code.
JIRA issue: CORE-17340
- Remove pEnumIL member from BrItemData structure.
- Add BrFolder_GetChildrenEnum helper function.
- Remove IEnumIDList* argument from BrFolder_InsertItem and
  BrFolder_Expand functions.
- Add BrFolder_OnOK function and use it.
2024-05-28 08:00:12 +09:00
Katayama Hirofumi MZ
1bc6c90086
[SHELL32] CDefView: Implement SFVM_CANSELECTALL callback (#6945)
Implementing missing folder view callbacks...
JIRA issue: CORE-19616
- Call SFVM_CANSELECTALL callback on FCIDM_SHVIEW_SELECTALL.
- If it returned S_FALSE, then do not select all.
2024-05-27 09:05:44 +09:00
Katayama Hirofumi MZ
cdb970b653
[SHELL32] CDefView: Implement SFVM_COLUMNCLICK callback (#6943)
Implementing missing folder view callbacks...
JIRA issue: CORE-19616
- Call _DoFolderViewCB on LVN_COLUMNCLICK.
- If it returned S_OK, then don't sort items.
2024-05-27 07:35:20 +09:00
Katayama Hirofumi MZ
d56e507e95
[SHELL32] CDefView: Implement SFVM_GETCOMMANDIR callback (#6941)
Implementing missing folder view callbacks...
JIRA issue: CORE-19616
- In CDefView::InvokeContextMenuCommand,
  call SFVM_GETCOMMANDDIR callback and
  store the directory into 
  CMINVOKECOMMANDINFOEX structure.
2024-05-27 07:01:51 +09:00
Jose Carlos Jesus
ef693390ef
[SHELL32] Fix accelerator collision in Portuguese (pt-PT) translation (#6927)
closer to pt-PT 2k3sp2
2024-05-26 21:26:35 +02:00
Katayama Hirofumi MZ
4988de4b1d
[SHELL32] brfolder.cpp: Adopt SHCNRF_NewDelivery method (#6938)
New delivery method is better than old method
in performance. Now deletion notification
partially works.
JIRA issue: CORE-17340
- Specify (SHCNRF_ShellLevel |
  SHCNRF_NewDelivery).
- Rewrite BrFolder_OnChange function and
  add BrFolder_OnChangeEx helper function.
2024-05-26 04:58:30 +09:00
Katayama Hirofumi MZ
70e8653f23
[SHELL32] IDD_BROWSE_FOR_FOLDER: Use IDOK for 1, IDCANCEL for 2 (#6937)
Follow-up to #6934. Don't use magic numbers.
JIRA issue: N/A
Use IDOK and IDCANCEL instead of 1 and 2.
2024-05-25 17:28:59 +09:00
Katayama Hirofumi MZ
61fe74030b
[SHELL32] Reorder IDD_BROWSE_FOR_FOLDER dialog items (#6934)
By correctly ordering the items of the dialog, the dialog can use auto focus.
JIRA issue: N/A
- Change the ordering of IDD_BROWSE_FOR_FOLDER dialog items.
- Remove SetFocus call.
2024-05-25 16:45:06 +09:00
Katayama Hirofumi MZ
8df5aac9ba
[SHELL32] brfolder.cpp: Follow-up of af03438 (#6936)
Follow-up of #6909 (af03438). Fix assertions and exceptions of
CComPtr and CComHeapPtr.
JIRA issue: CORE-17340
- Don't use AddRef, Release, and Attach methods against CComPtr
  template class. Simply use assignment.
- Fix the 3rd parameter of three IShellFolder::GetAttributesOf
  method calls. It had referenced CHeapPtr::operator&.
2024-05-25 16:17:00 +09:00
Splitwirez
50d260a7f0
[SYSSETUP] fix theme switcher (#6930)
Switching themes during initial setup broke at some point relatively recently - following said regression, selecting a theme simply has no effect at all. This fixes that.
2024-05-24 16:14:32 -07:00
Katayama Hirofumi MZ
327b6c64a6
[SHELL32] Don't free original PIDLs in CDefView::OnChangeNotify (#6916)
Follow-up to #6898. These PIDLs shouldn't be
freed because they are not allocated by
CoTaskMemAlloc.
We should use PIDLs mainly in internal data
instead of physical paths for change
notifications.

JIRA issue: CORE-13950
JIRA issue: CORE-19612

- Re-implement SHGetRealIDL function.
- Translate child IDLs by using SHGetRealIDL.
- Use newly-defined pidl0Temp and pidl1Temp
  for temporary creation.
- Improve ILIsParentOrSpecialParent function
  without using SHGetPathFromIDListW function.
2024-05-25 07:54:53 +09:00
Katayama Hirofumi MZ
ed7c23fc41 [SHELL32] brfolder.cpp: Rename BrsFolder as BrFolder
and rename BrsItemData as BrItemData to reduce binary size of
Debug version.
JIRA issue: CORE-17340
2024-05-24 22:54:27 +09:00
Katayama Hirofumi MZ
af03438aba [SHELL32] brsfolder.cpp: Refactoring
Modernize source code. Improve readability and reduce confusing.
JIRA issue: CORE-17340
- Rename browse_info as BrsFolder.
- Rename TV_ITEMDATA as BrsItemData.
- Rename InsertTreeViewItem as BrsFolder_InsertItem.
- Rename InitializeTreeView as BrsFolder_InitTreeView.
- Rename GetIcon as BrsFolder_GetIcon.
- Rename GetNormalAndSelectedIcons as BrsFolder_GetIconPair.
- Rename GetName as BrsFolder_GetName.
- Fix some confusing and/or non-standard variable names.
- Use ATL to simplify logics.
2024-05-24 22:54:27 +09:00
Katayama Hirofumi MZ
e582ca4ad6 [SHELL32] brsfolder.cpp: Formatting only
JIRA issue: CORE-17340
2024-05-24 22:54:27 +09:00
Katayama Hirofumi MZ
53518bbab3
[SHLWAPI][SHLWAPI_APITEST][SDK] Implement IShellFolder_GetDisplayNameOf (#6918)
This export function is needed to implement
shell32!SHGetRealIDL function correctly.
JIRA issue: CORE-19278
- Implement IShellFolder_GetDisplayNameOf
  function (This function is not inline function in
  this case) with retry data.
- Add SFGDNO_RETRYALWAYS flag to
  <shlwapi_undoc.h>.
- Add IShellFolderHelpers testcase.
2024-05-23 22:57:31 +09:00
Timo Kreuzer
677f190f4c [CMAKE] Stop setting the C standard on modules
Global standard is C99.
2024-05-22 18:04:53 +02:00
Timo Kreuzer
e0495079cb [MSVCRT][NTDLL][NTOS] Add import aliases for _swprintf and _vswprintf 2024-05-22 17:55:38 +02:00
Joachim Henze
bc2621812f
[SHELL32] Strip undesired format-string (#6924)
A trivial change.
An addendum to 4ff1aa5fac (SVN r30784) where el-GR.rc was forgotten.
2024-05-22 15:39:13 +02:00
Katayama Hirofumi MZ
8204c6e2fd
[SHELL32] CDirectoryWatcher: Check if window is alive (#6915)
Kill the zombie watchers for system
performance.
JIRA issue: CORE-13950
- Add HWND parameter to
  CDirectoryWatcher::Create.
- Check whether the HWND is alive at
  CDirectoryWatcher::IsDead.
2024-05-22 20:33:26 +09:00
Joachim Henze
d7be7486c9
[SHELL32] RC: Fix some FIXMEs, add others (#6861)
- fixes the last text truncations we had in IDD_FOLDER_OPTIONS_GENERAL
- small tweaks otherwhere
- add some FIXMEs

Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2024-05-22 04:29:21 +02:00
Whindmar Saksit
11ea1d6198
[BROWSEUI][COMCTL32] Handle rename on other folders in Explorer bar tree (#6832)
IContextMenu (CDefaultContextMenu) only knows how to rename when its site is an IShellView. The tree must detect the rename operation and perform it in the TreeView instead.

Fixed a bug in the ListView that is triggered by activating DefView (to complete the rename): Just after DefView has been activated, the tree performs a navigation to the newly renamed folder, this causes DefView to be destroyed and in turn the ListView. The ListView tries to handle a selection change during destruction of the ListView and ends up accessing an invalid pointer.

CORE-19557
2024-05-22 00:06:46 +02:00
Whindmar Saksit
a25a4eb7b8
[SHELL32] Implement CSIDL_CONNECTIONS and fix CSIDL_PRINTERS (#6919) 2024-05-21 21:09:18 +02:00
Joachim Henze
a549a9d8e4
[SHELL32] ro-RO.rc Improvement (#6844)
Addendum to #6517 (the rules) and
Addendum to #6657 (Andreis recent shell32 PR)

Following the rule:

1.) We use only the correct Romanian language diacritics.
This means using lowercase ţ instead of ț.
This means using lowercase ş instead of ș.
This means using uppercase Ş instead of Ș.
Some of XP/2k3sp2 fonts do lack ț and ș and Ș.

2.) Avoid the word "calculator" for the shutdown/logoff prompt (same as Andrei Miloiu did before in his PR at many locations).
Using "sistem" is fine, and using "computer" is fine.

3.) Harmonize some strings used for some FILEOPENDLG_FILTER.

TODO:
[] In a future PR we will have to do the same character replacements for the Shell folder path default values. This has to be done in sync with dll/win32/userenv/lang therefore I left them out here for now, for easier reviewability of those more delicate parts.
2024-05-21 18:29:52 +02:00
Katayama Hirofumi MZ
18877737af
[SHELL32] Make brsfolder.c C++ (as brsfolder.cpp) (#6906)
Modernize source code.
JIRA issue: CORE-17340
- Move dll/win32/shell32/wine/brsfolder.c to
  dll/win32/shell32/brsfolder.cpp.
- Adapt to C++.
2024-05-19 10:00:20 +09:00
Katayama Hirofumi MZ
5246c2cc56
[SHELL32] Introduce 'HDELFILE' handle type (#6902)
Generic HANDLE type is vague and unreadable.
Declare a special handle type for recycle bin
items.
JIRA issue: CORE-19595
- Declare the HDELFILE handle by
  DECLARE_HANDLE(HDELFILE);.
- Use HDELFILE instead of HANDLE for
  deleted items.
2024-05-18 21:35:48 +09:00
Katayama Hirofumi MZ
6c2d1c31dd
[SHLWAPI][SDK] Add IShellFolder_... helper functions (#6893)
Implementing missing features...
JIRA issue: CORE-19278
- Implement IShellFolder_GetDisplayNameOf,
  IShellFolder_ParseDisplayName, and
  IShellFolder_CompareIDs functions.
- Add them to <shlwapi_undoc.h>.
- Modify shlwapi.spec.
- Add some SHCIDS_... macros into shobjidl.idl.
- Provide a macro option
  SHLWAPI_ISHELLFOLDER_HELPERS to
  avoid conflict with <shobjidl.h>
  IShellFolder_... inline functions. Ugly hack
  but effective!
2024-05-18 21:33:33 +09:00
Katayama Hirofumi MZ
ae02934445
[SHELL32] SHBrowseForFolder: Refactor brsfolder.c (#6903)
dll/win32/shell32/wine/brsfolder.c.
This file is too hard to read. Nobody reads.
And WineHQ doesn't show no progress
recently in this file. OUT OF DATE!
JIRA issue: CORE-17340
- Rewrite some SendMessageW code by
  using TreeView_... macros.
- Add BrsFolder_GetDataFromItem helper
  function and use it.
2024-05-18 20:42:22 +09:00
Katayama Hirofumi MZ
3285f698fd
[SHELL32][SDK] SHChangeNotify: Re-work Part 1 (#6898)
Making shell change notification implementation better.
Now recycle bin icon change is working.
JIRA issue: CORE-13950
JIRA issue: CORE-19591
JIRA issue: CORE-11453
- Delete SHSimpleIDListFromPathA/W hacks.
- Translate simple PIDLs (coming from SHSimpleIDListFromPathA/W)
  in CDefView::OnChangeNotify method.
- Add CDefView::LV_RefreshIcons method for SHCNE_UPDATEIMAGE
  change event.
- Rename CDefView::LV_ProdItem method as CDefView::LV_UpdateItem.
- Call SHUpdateRecycleBinIcon in SHFileOperationW function.
- Half-implement SHUpdateRecycleBinIcon.
- Call SHChangeNotify in DeleteExt function.
2024-05-17 08:10:15 +09:00
Katayama Hirofumi MZ
ac0bcf4a90
[SHLWAPI][SHLWAPI_APITEST][SDK] PathFileExistsDefExtAndAttributesW (#6879)
Implementing missing features...
JIRA issue: CORE-19278
- Implement PathFileExistsDefExtAndAttributesW function.
- Add its prototype to <shlwapi_undoc.h>.
- Modify shlwapi.spec.
- Add PathFileExistsDefExtAndAttributesW testcase.
2024-05-15 07:42:43 +09:00
Katayama Hirofumi MZ
3e97f76a33
[SHELL32] ShellExecute: Re-work Part 2 (#6882)
Follow-up to #6871. Reduce indentation level.
JIRA issue: CORE-17482
In ShellExecuteExW, early check the structure
size and return on failure before
SHCoInitializeAnyApartment call.
2024-05-14 23:00:54 +09:00
Whindmar Saksit
a0776922f4
[SHELL32] Coalesce DefView item changed statusbar updates (#6862)
Updating the statusbar on every LVN_ITEMCHANGED causes a massive delay when the number of changed items is large, very noticeable on Ctrl+A.

CORE-18663
2024-05-14 13:21:30 +02:00
Katayama Hirofumi MZ
044f181950
[SHELL32] ShellExecute: Re-work Part 1 (#6871)
The goal is a correct implementation of shell32!ShellExecute.
JIRA issue: CORE-17482
- Add SHELL_InRunDllProcess helper function.
- Add structure size check to ShellExecuteExA function.
- Add code to ShellExecuteExW function.
- Add "MaximizeApps" registry value check.
2024-05-13 10:27:41 +09:00
Raúl Gutiérrez
a3d9d0e592
[SHELL32] Browse for Folder: added keyboard navigation (#6853)
Added patches to buttons in folder browsing menu's buttons to fix CORE-19570
2024-05-11 20:37:34 +02:00
Andrei Miloiu
7c5a8c7a07
[MSPORTS] Update Romanian (ro-RO) translation (#6703) 2024-05-10 22:35:28 +02:00
Andrei Miloiu
bc59daf3d5
[DESKMON] Update Romanian (ro-RO) translation (#6666) 2024-05-10 22:18:18 +02:00
Andrei Miloiu
2667f238ce
[JOY] Update Romanian (ro-RO) translation (#6668) 2024-05-10 21:39:05 +02:00
Andrei Miloiu
fda81eea50
[DESKADP] Update Romanian (ro-RO) translation (#6689) 2024-05-10 21:34:50 +02:00
Andrei Miloiu
c2d4acf5ca
[SHIMGVW] Update Romanian (ro-RO) translation (#6742) 2024-05-10 21:23:55 +02:00
Whindmar Saksit
daf806802a
[SHELL32] Use common default DFM callback message handler (#6779)
Moves default processing of all DFM_ callback messages in SHELL32 to a single function.

CORE-18585
2024-05-09 19:52:05 +02:00
Whindmar Saksit
9e8214fa13
[BROWSEUI] GetControlWindow must support FCW_TREE for DefView usage (#6781)
Support GetControlWindow, ShowControlWindow and IsControlWindowShown for TREE and STATUS in the Shell Browser so DefView can set CMF_EXPLORE correctly.
2024-05-09 18:56:19 +02:00
Maj Soklič
f6f5835d45
[INETCPL] Fix missing keyboard navigation (#6836)
JIRA issue: CORE-19568
2024-05-08 17:15:56 +02:00
Joe Mason
d234dc2d52
[AVRT] Import Audio/Video Runtime module from Wine 9.7 (#6826)
Enhance compatibility with future programs, including browsers.
AVRT is an acronym for "Audio/Video Multimedia Realtime Runtime" and is NT6.
2024-05-07 15:40:27 +03:00
Doug Lyons
c0e31793c9
[COMDLG32] Remove extra scrollbars in choose font dialog (#6834)
* Revised comdlg32.dll's resource file for "Font" (CHOOSE_FONT DIALOG) "Style" combo box to
*   remove CBS_ENABLENOSCROLL flag.

CORE-15945
2024-05-06 21:59:01 -05:00
Oleg Dubinskiy
d1b8feb690
[AUDIO] Implement retreiving audio playback position (#6817)
Implement GetWavePosition API for both Legacy and MMixer modes.
[WDMAUD.DRV]
- Fix wrong I/O control code passed to DeviceIoControl for Legacy mode. Use IOCTL_GETPOS instead of IOCTL_OPEN_WDMAUD, to use the correct routine.
- Implement WdmAudGetWavePosition for MMixer mode, as it was completely unimplemented there. Call an appropiate MMixer routine and return back resulting wave position.
[WDMAUD]
- Implement WdmAudGetPostion routine, which is used by Legacy mode, and call the same MMixer routine from it too.
- Handle it in IOCTL_GETPOS I/O control request of dispatch routine.
[MMIXER]
- Implement MMixerGetWavePosition internal routine, which is called by both Legacy and MMixer modes, and does the actual work of retrieving playback position.
- Call an apporpriate KSPROPERTY_AUDIO_POSITION property from it, and return in the output resulting KSAUDIO_POSITION.PlayOffset member, which contains the current playback position offset, to be returned to the caller.
This fixes a failure retreiving the current audio playback position snd subsequent playing the audio data by several 3rd-party applications which are using this API (for example, some Gecko based browsers by @roytam1: Basilisk (Serpent) 52.9.0 IA-32 build, NewMoon 28.10.7 IA-32 build and KMeleon 76.5.3 Goanna engine).
CORE-19542
2024-05-06 20:07:47 +02:00