Commit graph

254 commits

Author SHA1 Message Date
Katayama Hirofumi MZ 53005587f4
[BROWSEUI] Fix return value on sanity check of auto-completion (#3544)
Reduce failures on sanity check of auto-completion. CORE-9281
- Return E_FAIL rather than E_INVALIDARG in sanity check of CAutoComplete::Init (IAutoComplete::Init).
2021-03-20 14:04:02 +09:00
Katayama Hirofumi MZ f49c164428
[BROWSEUI] Fix auto-completion on VK_DELETE (#3543)
Reduce failures against Delete key on auto-completion. CORE-9281
2021-03-20 13:18:47 +09:00
Katayama Hirofumi MZ 6546ad7700 [BROWSEUI] Fix CACListISF::Next assertion
CORE-9281
2021-03-11 17:12:06 +09:00
Katayama Hirofumi MZ bcba930622 [BROWSEUI] Fix CAutoComplete::OnMeasureItem assertion
CORE-17505
2021-03-11 16:56:01 +09:00
Katayama Hirofumi MZ 32a9b64051 [BROWSEUI] Fix addreseditbox.h assertion
CORE-17505
2021-03-11 16:42:36 +09:00
Katayama Hirofumi MZ 71e4450761 [BROWSEUI] Follow-up of #3507
Case insensitiveness fix. CORE-9281
2021-03-10 19:45:03 +09:00
Katayama Hirofumi MZ c19d9df259
[BROWSEUI] Implement auto-completion (#3507)
Implement IAutoComplete to realize input auto completion. CORE-9281, CORE-1419

- The main features of this PR are Auto-Suggest and Auto-Append.
- Auto-Suggest shows a list near the textbox (an EDIT control) when the user has typed partial pathname into the textbox.
- Auto-Append appends complement text into the textbox to complete the pathname with selected status.
- The list of AutoSuggest is a top-level window whose window class is "Auto-Suggest Dropdown". We call it "the drop-down window".
- The drop-down window contains three controls: a listview, a scrollbar and a sizebox.
- The drop-down window watches the input into the textbox. If the textbox changed, then the window updates the list.
- The sizebox control enables the user to resize the drop-down window.
2021-03-10 16:22:57 +09:00
Katayama Hirofumi MZ f04890c2af
[BROWSEUI] Fix and small improvement (#3486)
Fix a mistake in CAutoComplete PR #3472 (6bfb76b) and improve.
- Fix confusion between m_hwndEdit and hwndEdit.
- Delete extra this-> codes.
CORE-9281
2021-02-25 20:36:20 +09:00
Jose Carlos Jesus 9039de127c [BROWSEUI]Update PT translation 2021-02-24 07:23:39 +01:00
Katayama Hirofumi MZ 6bfb76b68a
[BROWSEUI] Refactoring CAutoComplete Part 1 (#3472)
- Expand tabs to spaces in CAutoComplete.h.
- Add m_ prefix to every member variable.
CORE-9281
2021-02-23 06:07:09 +09:00
Oleg Dubinskiy d5132f5ce3
[BROWSEUI][PSDK] Stubplement ShellTaskScheduler (#3326)
Required by MS Picture and Fax Viewer (shimgvw.dll).
Now it starts properly without replacing any other system files.

CORE-17337
2020-12-20 22:06:16 +03:00
Oleg Dubinskiy 1f5e0f3fa7
[BROWSEUI][PSDK] Stubplement UserAssist
Initial implementation of `CUserAssist` class, which contains `IUserAssist` interface.
See https://www.geoffchappell.com/studies/windows/ie/browseui/classes/userassist.htm.
Required by MS shell32.dll.

CORE-17345 CORE-17393
2020-12-20 17:32:11 +03:00
Aobi Chan CL fc3ccb3948
[TRANSLATION] Improve zh-TW translation (#3218)
- Added zh-TW translation for the following modules: credui, crypt32, getuname, mapi32, themeui, shlwapi.
- Modify zh-TW translation for other files.
- Moving Traditional Chinese translation back to Zh.rc for files came from Wine (comdlg32).

Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2020-11-21 18:03:37 +01:00
Oleg Dubinskiy d0a7df49fa
[BROWSEUI] CCommonBrowser class should support aggregation (#3308)
It will remove the following error from the log when use MS shell32.dll in ReactOS:
`fixme:(dll/win32/ole32/compobj.c:3454) Class {af604efe-8897-11d1-b944-00a0c90312e1} does not support aggregation`.
References:
https://www.geoffchappell.com/studies/windows/ie/browseui/classes/ccommonbrowser.htm
https://docs.microsoft.com/en-us/cpp/atl/reference/aggregation-and-class-factory-macros?view=vs-2019
CORE-17345
2020-10-24 18:02:18 +03:00
Jérôme Gardou 907025a018 [CMAKE] Introduce the atl_classes interface library
This takes care of adding the relvant include directory and the _ATL_NO_EXCEPTIONS define, if needed
2020-10-20 21:44:54 +02:00
Jérôme Gardou d6ea8659c8 [CMAKE] Get rid of the set_cpp macro
Instead of messing with global variables and the like, we introduce two target properties:
 - WITH_CXX_EXCEPTIONS: if you want to use C++ exceptions
 - WITH_CXX_RTTI: if you need RTTI in your module
You can use the newly introduced set_target_cpp_properties function, with WITH_EXCEPTIONS and WITH_RTTI arguments
We also introduce two libraries :
 - cpprt: for C++ runtime routines
 - cppstl: for the C++ standard template library

NB: On GCC, this requires to create imported libraries with the related built-in libraries:libsupc++, limingwex, libstdc++

Finally, we manage the relevant flags with the ad-hoc generator expressions

So, if you don't need exceptions, nor RTTI, nor use any runtime at all: you simply have nothing else to do than add your C++ file to your module
2020-10-20 21:44:54 +02:00
Katayama Hirofumi MZ 24833a6dde
[BROWSEUI] Implement CLSID_ACListISF (#3298)
Implement enumeration of IShellFolder items of auto-completion. CORE-9281
2020-10-17 17:49:24 +09:00
Katayama Hirofumi MZ 957d07436b
[BROWSEUI] Remove '\1' from AutoComplete list (#3264)
Delete "backslash one" (indicates SW_ values) from auto-completion list. CORE-9281
2020-10-06 17:44:20 +09:00
Hirofumi Katayama 14c18657bc [BROWSEUI] Fix assertion in CACLCustomMRU::AddMRUString
CORE-9281
2020-10-05 08:49:42 +09:00
Mark Jansen bac45efe5d [SHELL32][BROWSEUI] Fix usage of ILGetDisplayNameEx 2020-10-04 19:34:20 +02:00
Mark Jansen b3f2ba0522 [BROWSEUI] Show virtual folders in the log for SHOpenFolderWindow 2020-10-04 19:34:20 +02:00
Mark Jansen ca087b6a18 [BROWSEUI] Update the current directory before creating a view
This way, when the view asks for a directory _during creation_ it
does not get either an old, or an invalid directory
CORE-17270
2020-10-04 19:34:20 +02:00
Mark Jansen 7b17d8d900 [BROWSEUI] Remove refactoring leftovers 2020-10-04 19:34:20 +02:00
Katayama Hirofumi MZ bb8cb671b8
[BROWSEUI] Accept TypedURLs to CLSID_ACLCustomMRU (#3250)
Related to #3249. IACLCustomMRU has a special case of TypedURLs. The TypedURLs key consists of the registry values of "url1", "url2", "url3" etc instead of "MRUList", "a", "b" etc. CORE-9281
2020-10-02 21:27:23 +09:00
Katayama Hirofumi MZ e1a01de7f7
[BROWSEUI] Fix Edit_BackWord function (#3247)
Fix and improve Edit_BackWord function (for Ctrl+Back key combination on auto-completion in edit boxes) by using GetStringTypeW. CORE-1419
2020-09-28 22:05:14 +09:00
Katayama Hirofumi MZ 467feb9996 [BROWSEUI] Follow-up part 3 of #3242 (6b6f971)
Also recognize slash, dot, colon, and semicolon.
CORE-1419
2020-09-28 10:58:22 +09:00
Katayama Hirofumi MZ 737278276f [BROWSEUI] Follow-up part 2 of #3242 (6b6f971)
Don't recognize backslash of the last character.
CORE-1419
2020-09-28 10:41:21 +09:00
Katayama Hirofumi MZ 9812bce271 [BROWSEUI] Follow-up of #3242 (6b6f971)
Recognize backslashes in Ctrl+Back.
CORE-1419
2020-09-28 10:14:36 +09:00
Katayama Hirofumi MZ 6b6f971939
[BROWSEUI][SHELL32] Enable Ctrl+Backspace in AutoComplete edit boxes (#3242)
The key combination Ctrl+Back is well working in auto-completion edit boxes. CORE-1419
2020-09-28 09:27:01 +09:00
Serge Gautherie 345ad55319
[BROWSEUI][USER32] Explicitly use MAKEINTRESOURCEW() for consistency (#3192) 2020-09-15 14:56:51 +03:00
Katayama Hirofumi MZ c8e3ef7894
[SHELLFIND] Split encoding detection code (#3147)
Split encoding detection code to improve code quality. This is follow-up of #3134 (7376cde). CORE-17250
2020-09-10 19:03:20 +09:00
Katayama Hirofumi MZ 7376cdebb6
[SHELLFIND] Encoding-aware file search (#3134)
Consider UTF-8/UTF-16/UTF-16BE encodings in file search. Recognize UTF-8/UTF-16/UTF-16BE BOM and NULs at the beginning of the file contents. Optimize for speed.
CORE-17250
2020-09-07 22:30:47 +09:00
Katayama Hirofumi MZ 7ea54062b0 [BROWSEUI] Improve Japanese translation 2020-09-07 17:11:31 +09:00
Katayama Hirofumi MZ 2dd4f8714d
[SHELLFIND] Fix directory search upon non-empty word/phrase query (#3130)
If the search phrase was not empty, it must not match the directory. CORE-17244
2020-09-07 15:48:25 +09:00
Katayama Hirofumi MZ 8fa3c147b6
[BROWSEUI][SHELL32] Implement MoveTo/CopyTo buttons (#3128)
Implement the actions of the MoveTo/CopyTo/Delete buttons.
CORE-11132
2020-09-07 09:42:43 +09:00
Katayama Hirofumi MZ 828cf19a29
[BROWSEUI] Set DT_VCENTER to Explorer bars (#3135)
Make the captions of the explorer bars vertically centered.
2020-09-07 09:33:21 +09:00
Mark Jansen 246e6a0de9
[BROWSEUI] Stop the address edit box trying to parse a null pidl 2020-09-06 14:32:59 +02:00
Andreas Hausmann a54004893f
[BROWSEUI] Few corrections for German (de-DE) translation (#3067)
Corrected some mistakes
2020-08-19 18:18:05 +03:00
Piotr Hetnarowicz 78e3407c1d
[TRANSLATION][BROWSEUI] Polish "MoveTo" description fix (#3074) 2020-08-18 12:58:48 +02:00
Tibor Lajos Füzi 2490b675fb
[TRANSLATION] Hungarian translation update for aclui, avifil32, browseui, comdlg32, crypt32, cryptdlg, shell32, userenv (#2978) 2020-08-17 16:39:42 +02:00
Brock Mammen f0d6d9896d
[SHELLFIND] Fix column sorting (#2814)
CORE-16825
2020-08-16 19:02:42 +03:00
Thomas Faber 185591368d [SHELLBARS] Add missing psdk dependency. 2020-06-06 23:02:35 +02:00
Amine Khaldi 139a3d6661
[CMAKE] Implement PCH builds with target_precompile_headers. CORE-16905 2020-06-06 21:58:41 +03:00
Piotr Hetnarowicz b22484b533 [BROWSEUI] PL-pl update
browseui.dll - PL-pl translation update :)
2020-05-11 15:52:31 +02:00
Stanislav Motylkov 2bd4081936
[BROWSEUI] Update Russian translation
Addendum to d8e47d6. CORE-10989
2020-04-21 00:24:23 +03:00
Kyle Katarn fbee8fa99e
[BROWSEUI] fr-fr translation update following PR2602 (#2611)
* PR2602 fr-fr update
* typo following sdever review
2020-04-20 19:21:36 +02:00
Charles Ambrye d8e47d61d4 [BROWSEUI] Display an error message if the path or drive don't exist (CORE-10989)
The return result of ParseNow was never checked, but contained useful information on what type of error may have occurred.  If the error is an issue with the path not existing the explorer will now show an error message notifying the user of the problem instead of silently failing.
Note:  Shell32 does not properly return ERROR_INVALID_DRIVE when the drive path does not exist.  For that reason, it is still possible to browse to a non-existent drive.  However, once shell32 is patched this code will work properly, as it checks for both ERROR_INVALID_DRIVE and ERROR_FILE_NOT_FOUND.
2020-04-20 14:21:37 +03:00
Charles Ambrye b8f4f22ba2 [BROWSEUI] Attempt to parse absolute path even if relative path gets an unexpected failure
Some 'BindToObject' methods are incomplete, and in some cases relative paths are simply not possible (especially in special folders such as the desktop)
2020-04-20 14:12:47 +03:00
Joachim Henze 2b53e33554 [BROWSEUI] CORE-16810 de-DE Translation of "Search Results" titlebar 2020-04-17 09:43:40 +02:00
Victor Perevertkin 7e069ccdb2
[CMAKE] Replace custom functions to built-in ones
add_target_compile_definitions -> target_compile_definitions
add_target_compile_flags -> target_compile_options
add_target_include_directories -> target_include_directories
2020-04-16 15:59:38 +03:00
Stanislav Motylkov 480f729f6d
[BROWSEUI] Fix build. Addendum to ac29d29.
CORE-16810
2020-04-16 14:16:48 +03:00
Stanislav Motylkov ac29d29297
[BROWSEUI] Localize "Search Results" shell folder name
Also update French and Russian translations. CORE-16810
2020-04-16 14:10:24 +03:00
Stanislav Motylkov ea298746db
[SHELL32][BROWSEUI] Update Russian translation
Addendum to 033f0d9. CORE-16866
2020-04-16 00:10:12 +03:00
Julen Urizar Compains d7a632a094
[TRANSLATION] Spanish minor fixes (#2547)
Translations for:
- Applications: clipbrd, dxdiag, rapps,
- cmdutils: attrib, find, help, label, reg, xcopy
- usetup
- dlls: browseui, shell32, syssetup

- Add Spanish translation for Accesibility Utility (utilman).

Update for the "Choose product options" strings in syssetup:

Originally "ProductType" and "ProductSuite" (typesetted without spaces) were the registry value names where these settings would go, but since it's meaningless to show these values it's better instead to use human-readable names with correct translation and spacing.

Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2020-04-15 13:27:36 +02:00
Katayama Hirofumi MZ d04f2e5209
[BROWSEUI] Add 'm_' prefix to CExplorerBand members (#2524)
Add 'm_' prefix to the variable members of class CExplorerBand for readability.
CORE-13950
2020-04-10 23:08:31 +09:00
Jose Carlos Jesus a6515e2b75
[TRANSLATION] Update PT translation (#2342)
Update Portuguese translation for cryptui, ieframe and mpr DLLs.
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2020-03-06 19:40:03 +01:00
Katayama Hirofumi MZ 3d53078b1e [BROWSEUI] Improve Japanese translation (IDD_SEARCH_DLG) 2020-02-15 10:28:36 +09:00
Mark Jansen 5b3e84f2ef
[BROWSEUI] Fix infinite recursion in autocomplete control
import wine commits 9c2217 and 644358, slightly tweaked to fit our code
2020-01-28 19:25:11 +01:00
Mas4hmad 228eeb7d79 [TRANSLATION] Update Indonesian Translation (#2268)
- Update Indonesian translation for:
  BROWSEUI.DLL, COMCTL32.DLL, DEVMGR.DLL, IEFRAME.DLL, NETID.DLL, SHELL32.DLL,
  SYSSETUP.DLL, TIMEDATE.CPL, APPWIZ.CPL, ACCESS.CPL, DESK.CPL and TASKMGR.EXE.

- Add Indonesian translation for: MSHTML.DLL, OLEAUT32.DLL, INPUT.CPL and NTVDM.EXE.
2020-01-26 18:29:38 +01:00
Hermès Bélusca-Maïto 15bc263b07
[MSPAINT] Shorten the license string that is displayed in ShellAbout() dialog. CORE-12356
[MPLAY32][REGEDIT][TASKMGR][WORDPAD][BROWSEUI]
Use NULL for empty handles / string pointers in ShellAbout() calls.
2020-01-24 23:40:32 +01:00
Thomas Faber aee6cbc50a
[SHELL] Add SHOpenFolderAndSelectItems to shlobj.h. 2020-01-18 13:10:35 +01:00
7OMI 66f6d051eb [TRANSLATION] Add/update Hungarian translation for shell32, ieframe, browseui (#2127) 2020-01-14 18:52:38 +01:00
Hermès Bélusca-Maïto a946146efc
[BROWSEUI] Remove unneeded header, addendum to d967b5aa. 2019-12-29 16:23:37 +01:00
Hermès Bélusca-Maïto d967b5aa25
[BROWSEUI] Remove useless RegenerateUserEnvironment() call.
[SHELL32]  Call RegenerateUserEnvironment() in WM_SETTINGCHANGE handler **ONLY** when lParam points to the L"Environment" string.
CORE-15147
2019-12-29 16:14:26 +01:00
Shy Zedaka ca09307274 [TRANSLATION][HEBREW] Some typo fixes and Some New strings (#2078) 2019-11-22 17:07:29 +01:00
Joachim Henze dc047f9630 [BROWSEUI][SHELL32] Fix scroll to selection CORE-16504
A patch by Katayama Hirofumi MZ

The bug was unhidden by
0.4.14-dev-312-g
b931f643e3
2019-11-17 02:04:27 +01:00
Pierre Schweitzer 96ca9e39f8
[BROWSEUI] Update French translation
Addresses changes done in 103c87d

CORE-16427
2019-10-26 22:11:18 +02:00
Joachim Henze a01b272578 [BROWSEUI][SHELLFIND] Update de-DE.rc CORE-16427
Translate the new checkboxes text to german

Addendum to 0.4.14-dev-60-g
103c87d2b9
2019-10-19 16:36:02 +02:00
Doug Lyons 103c87d2b9
[SHELLFIND] Add Hidden Files & Folders Selection. CORE-16427 2019-10-19 15:57:34 +02:00
Joachim Henze cd2a274ef7 [BROWSEUI][SHELLFIND] Allow to 'Open Containing Folder'
of a search result again.

The feature regressed by 0.4.13-dev-1133-g
a3ee648d8b

I chose the shorter solution of Brock Mammen instead
of the patch of Doug Lyons from PR1960.

Still many thanks to Doug Lyons for his encouragement
in creating a fix as well and performing
regression-testing.

I intend to merge that back into 0.4.13RCs as well.
2019-10-12 15:44:58 +02:00
Doug Lyons b6b7bda443 Shell Find Improvements to make Search Item general and Show Sub-directories (#1927)
* Shell Find Improvement to make Search Item general by adding asterisks before and after before search and show sub-directories in find listing. CORE-16152
2019-10-05 16:32:49 +02:00
Shy Zedaka acaff47682 [BROWSEUI][SHELL32][TRANSLATION] Major Translations to BROWSEUI And New Search function to Hebrew, and Some Other changes. (#1938) 2019-09-26 22:18:59 +02:00
Abdulganiev Rafael 9dd71e12b9 [TRANSLATION] Russian translation for browseui (#1928)
Co-Authored-By: Stanislav Motylkov <x86corez@gmail.com>
2019-09-23 23:28:46 +02:00
Joachim Henze b7f62b9bf9 [BROWSEUI] RC de-DE of Search feature & Folderoptions caption CORE-16392 2019-09-22 19:11:39 +02:00
Thomas Faber c2b476bd77
[SHELL] IPersistFolder::Initialize takes a PCIDLIST_ABSOLUTE. CORE-16385 2019-09-22 16:19:11 +02:00
Thomas Faber b90c24d640
[SHELL] IPersistFolder2::GetCurFolder takes a PIDLIST_ABSOLUTE*. CORE-16385 2019-09-22 16:19:09 +02:00
Thomas Faber d41c5be3bd
[BROWSEUI] Fix a PIDL leak. 2019-09-22 11:42:06 +02:00
Adam Słaboń c81af08f51 [TRANSLATION] Polish translation update (#1916)
Added translation for netstat, utilman and netplwiz. Updated translation of find, reg, rapps, regedit, sndvol32, usetup, hivesys, mmsys, openglcfg, powercfg, sysdm, shellext, browseui, devmgr, msgina, netcfgx, shell32, syssetup, shortcuts and vcdcontroltool.
2019-09-20 21:51:47 +02:00
Pierre Schweitzer 86c94e7858
[BROWSEUI] Translate search function into French
CORE-9279
2019-09-17 23:06:34 +02:00
Brock Mammen 9b75b67e9d [SHELLFIND] Use IS_INTRESOURCE() 2019-09-15 19:46:36 +03:00
Brock Mammen 8da23e7eb9 [SHELLFIND] Add missing dependency to CMakeLists.txt 2019-09-15 19:46:36 +03:00
Brock Mammen 80f67b1111 [BROWSEUI] Add search strings to all language resources 2019-09-15 19:46:36 +03:00
Brock Mammen e32b88be3d [BROWSEUI] Add search dialog to all language resources 2019-09-15 19:46:36 +03:00
Brock Mammen 0311544bb3 [SHELLFIND] Fix return values 2019-09-15 19:46:36 +03:00
Brock Mammen b766576487 [SHELLFIND] Remove unused COM interfaces 2019-09-15 19:46:36 +03:00
Brock Mammen 8228844241 [SHELLFIND] Remove unused functions 2019-09-15 19:46:36 +03:00
Brock Mammen 12451dc172 [SHELLFIND] Change parameter from array reference to pointer 2019-09-15 19:46:36 +03:00
Brock Mammen 7ac9fd9f51 [SHELLFIND] Remove unnecessary cast 2019-09-15 19:46:36 +03:00
Brock Mammen 0eee3ed368 [SHELLFIND] Remove redundant check 2019-09-15 19:46:36 +03:00
Brock Mammen 2513c47452 [SHELLFIND] Fix unsafe cast 2019-09-15 19:46:36 +03:00
Brock Mammen fbdc08dceb [SHELLFIND] Use CoTaskMemAlloc instead of SHAlloc 2019-09-15 19:46:36 +03:00
Brock Mammen d0171027e0 [SHELLFIND] Fix IImageList leak 2019-09-15 19:46:36 +03:00
Brock Mammen a3ee648d8b [SHELLFIND] Simplify PIDLs to paths 2019-09-15 19:46:36 +03:00
Brock Mammen 0f995d77d1 [SHELLFIND] Remove search results folder from address edit box 2019-09-15 19:46:36 +03:00
Brock Mammen e6a5821e0c [SHELLFIND] Subscribe to folders that are already opened 2019-09-15 19:46:36 +03:00
Brock Mammen 07d37180a1 [SHELLFIND] Open search bar when search results folder is opened 2019-09-15 19:46:36 +03:00
Brock Mammen 312b628fe1 [SHELLFIND] Remove dependency on internal shell32 functions 2019-09-15 19:46:36 +03:00
Brock Mammen 6c6fd6d989 [SHELLFIND] Localize column names 2019-09-15 19:46:36 +03:00
Brock Mammen 641988a386 [SHELLFIND] Rename data members 2019-09-15 19:46:36 +03:00
Brock Mammen fe5c76a034 [SHELLFIND] Fix handle leak for stop event 2019-09-15 19:46:36 +03:00