Fabian Maurer
b7bca1be24
shell32: Prevent text truncation inside the old "browse folder" dialog.
...
We use the same height for the title as in the new "browse folder" dialog.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46404
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-23 19:44:17 +02:00
Dmitry Timoshkov
f6ecc6be42
shell32: Return S_OK from IDropTargetHelper::Show().
...
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-19 12:23:22 +02:00
Akihiro Sagawa
4c6aa8b2fa
shell32: Fix return value for DragQueryPoint.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47514
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-13 20:42:57 +02:00
Akihiro Sagawa
865fe9cf97
shell32/tests: Add DragQueryPoint tests.
...
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-13 20:42:53 +02:00
Huw Davies
4da35deaa2
shell32: On macOS don't link against CoreServices.
...
This has not been required since commit efac5d0672
.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-02 10:52:03 +02:00
Austin English
4429608189
shell32: Add SHMultiFileProperties stub.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47411
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-31 11:51:48 +02:00
Alexandre Julliard
47c131ebcb
shlwapi: Import string functions from kernelbase.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-20 09:17:06 +02:00
Michael Stefaniuc
245417571a
shell32: Don't cast from COM object to interface.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-03 22:33:30 +02:00
Sven Baars
4aad5655f2
shell32/tests: Fix a memory leak (Valgrind).
...
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-31 21:32:50 +02:00
Sven Baars
0d0fa46553
shell32: Fix an item identifier list leak (Valgrind).
...
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-31 21:32:47 +02:00
Sven Baars
e6ce281d30
shell32: Fix a use after free (Coverity).
...
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-29 16:21:24 +02:00
John Thomson
9b6d198a3c
shell32: Do not fail in SHCreateDirectoryExW for ERROR_ALREADY_EXISTS.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47023
Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-24 22:48:08 +02:00
Alexandre Julliard
d4ef782db7
makefiles: Build all tests with msvcrt.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-24 12:10:51 +02:00
Alexandre Julliard
06c7d3a945
shell32: Fix compiler warnings for the Windows build.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-15 21:33:07 +02:00
Alexandre Julliard
1459a0105d
makefiles: Default to building test modules as PE.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-09 15:45:59 +02:00
Piotr Caban
232255f3c5
shell32: Don't use strcasecmp.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-04 17:24:13 +02:00
Gabriel Ivăncescu
e95dc7e03e
shell32/autocomplete: Use LBS_NODATA for the dropdown listbox.
...
This eliminates the overhead of populating the listbox completely and
simplifies the code.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-03 19:28:19 +02:00
Gabriel Ivăncescu
0cd95038af
shell32/autocomplete: Use an owner-drawn listbox for the dropdown.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-03 19:28:19 +02:00
Gabriel Ivăncescu
6f3beaee37
shell32/autocomplete: Encapsulate the listbox into an owner window.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-03 19:28:19 +02:00
Gabriel Ivăncescu
3a3424280f
shell32/autocomplete: Make the dropdown listbox a proper pop-up window.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-03 19:28:19 +02:00
Gabriel Ivăncescu
df1c7c8aa7
shell32/autocomplete: Forward to the original listbox proc outside the switch.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-03 19:28:19 +02:00
Alexandre Julliard
b80e7de8e0
shell32: Load wine_get_build_id() dynamically.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-27 11:28:02 +01:00
Michael Stefaniuc
9583bd004b
shell32: Avoid using the comma operator.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-26 21:41:32 +01:00
Fabian Maurer
dbbfa48153
shell32: In SHRestricted add missing slash.
...
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-19 19:11:27 +01:00
Michael Stefaniuc
c7e6fafa4c
shell32: Remove unused return variables (coccinelle).
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-12 21:36:03 +01:00
Michael Stefaniuc
3908142028
shell32: Remove redundant not-NULL check (coccinellery).
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-09 02:10:11 +01:00
Michael Stefaniuc
fd853c5e78
shell32: Remove superfluous continue (coccinellery).
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-20 23:12:25 +01:00
Sven Baars
48e6f8f99d
shell32: Don't return a path from SHGetKnownFolderPath when it can not be created.
...
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-06 19:57:27 +01:00
Michael Stefaniuc
84459ba94b
shell32: Avoid FALSE : TRUE conditional expressions.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-31 21:38:51 +01:00
Nikolay Sivov
1a98e65386
shell32: Remove duplicated assignment (Coverity).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-28 10:26:02 +01:00
Gabriel Ivăncescu
de837ca7eb
shell32/tests: Test GetDisplayNameOf for special folders with both SHGDN_FORPARSING and SHGDN_FORADDRESSBAR.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-24 20:10:24 +01:00
Gabriel Ivăncescu
889fce0887
shell32/shfldr_mycomp: Use friendly name instead of GUID when SHGDN_FORADDRESSBAR is set.
...
On Windows, SHGDN_FORPARSING returns the GUID name of a special folder,
but only when SHGDN_FORADDRESSBAR is not set.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-24 20:10:19 +01:00
Gabriel Ivăncescu
ba31ce27fd
shell32/shfldr_desktop: Use friendly name instead of GUID when SHGDN_FORADDRESSBAR is set.
...
On Windows, SHGDN_FORPARSING returns the GUID name of a special folder,
but only when SHGDN_FORADDRESSBAR is not set.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-24 20:10:16 +01:00
Gabriel Ivăncescu
2007e17d77
shell32/autocomplete: Always expand if the enumerator was reset.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-24 17:33:38 +01:00
Gabriel Ivăncescu
b9224c2184
shell32/autocomplete: Don't autoappend on Paste if ACO_AUTOAPPEND is off.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-24 17:33:38 +01:00
Alex Henrie
8bace09cb8
shell32: Rename SHELL32_714 to PathIsTemporaryW.
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-23 17:41:02 +01:00
Sven Baars
cfc7bd7460
shell32/tests: Fix some memory leaks (Valgrind).
...
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-14 15:32:23 +01:00
Sven Baars
5b87378bbd
shell32/tests: Fix a typo.
...
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-14 15:32:23 +01:00
Alexandre Julliard
2d6de2d129
shell32/tests: Wait a bit longer for the explorer window to be created.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-10 12:58:48 -06:00
Huw Davies
9d42c40aa3
shell32/tests: Move the cursor away from the dropdown listbox.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46275
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-04 12:39:45 +01:00
Nikolay Sivov
9e99382bc3
shell32/tests: Fix some leaks (Valgrind).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-17 10:08:03 +01:00
Francois Gouget
76bc23d8c6
shell32: Avoid an unneeded strlenW() call.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-10 15:51:27 +01:00
Michael Stefaniuc
db850cd758
shell32: Use SetRect() instead of open coding it.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-10 15:51:04 +01:00
Michael Stefaniuc
0cc6233e20
shell32/tests: Remove redundant NULL check before CoTaskMemFree().
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-03 22:27:05 +01:00
Gabriel Ivăncescu
4e633f9244
shell32/iconcache: Prevent the imagelists from going out of sync when loading an icon.
...
When populating the imagelists cache with icons of different sizes, it
can happen that only some icon sizes actually succeed the extraction,
with others failing with a NULL handle. This is especially true with some
broken "executable packers" where for example, a 32x32 icon loads okay,
but a 16x16 fails. Even when PrivateExtractIconsW succeeds, the returned
handle can still be NULL, leading to the ImageLists becoming out of sync.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45696
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-29 17:48:33 +01:00
Andrey Gusev
169c3879b9
shell32: Fix a typo in comment.
...
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-29 15:55:10 +01:00
Gabriel Ivăncescu
da2e51b3a6
shell32/autocomplete: Check the edit control in ResetEnumerator instead of whether the object is initialized.
...
An autocomplete object can be destroyed and detached from the edit control and
still survive, if there are still references to it (even though it's useless).
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-29 10:04:28 +01:00
Gabriel Ivăncescu
8a8bab3ac8
shell32/tests: Add tests for ACO_FILTERPREFIXES.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-29 10:04:25 +01:00
Gabriel Ivăncescu
77b23a5e01
shell32/autocomplete: Implement ACO_FILTERPREFIXES.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-29 10:04:21 +01:00
Gabriel Ivăncescu
d288d4dbd1
shell32/autocomplete: Sort the enumerated strings using a helper function.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-29 10:04:14 +01:00
Nikolay Sivov
444b1cb34e
shell32: Forward process reference calls to shcore.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-27 19:32:15 +01:00
Nikolay Sivov
74042733b1
shell32: Forward some functions to shcore.dll.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-26 12:25:42 +01:00
Zebediah Figura
a06d7de892
shell32/tests: Remove some obsolete workarounds from test_ShellWindows().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-20 09:58:33 +01:00
Gabriel Ivăncescu
2c03e0c67d
shell32/autocomplete: Move the auto-suggest listbox along with the edit control.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-19 22:42:41 +01:00
Gabriel Ivăncescu
7ac4c0ea8c
shell32/autocomplete: Retrieve the count in show_listbox.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-19 22:42:40 +01:00
Michael Stefaniuc
640fe968cc
shell32: Use the ARRAY_SIZE() macro.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-15 23:12:57 +01:00
Gabriel Ivăncescu
d715814e68
shell32/tests: Test WM_SETTEXT with AutoComplete.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-14 16:52:52 +01:00
Gabriel Ivăncescu
4cac7da8b5
shell32/autocomplete: Hide the listbox when the text is changed programmatically.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-14 16:52:48 +01:00
Gabriel Ivăncescu
4234e597ef
shell32/autocomplete: Pass the mouse wheel to the auto-suggest listbox, if visible.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-08 10:03:59 +01:00
Gabriel Ivăncescu
1649680bf9
shell32/autocomplete: Implement ACO_NOPREFIXFILTERING option.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-08 10:03:51 +01:00
Gabriel Ivăncescu
17213acd17
shell32/tests: Add tests for ResetEnumerator.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-08 10:03:42 +01:00
Gabriel Ivăncescu
7348ffd9bd
shell32/autocomplete: Implement ResetEnumerator.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-08 10:03:38 +01:00
Gabriel Ivăncescu
d5e7655555
shell32/tests: Test the amount of enumerator resets for AutoComplete.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-05 19:12:12 +01:00
Gabriel Ivăncescu
9a41584c49
shell32/autocomplete: Reset the enumerator when the text is empty even when auto-suggest is disabled.
...
This is needed for auto-append only AutoComplete controls.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-05 19:12:12 +01:00
Gabriel Ivăncescu
4f85424d58
shell32/autocomplete: Reset the enumerator when losing focus if the edit control is not visible anymore.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-05 19:12:12 +01:00
Gabriel Ivăncescu
e1a7d6eeb1
shell32/autocomplete: Implement a cache and sort the enumerated strings for proper behavior.
...
Windows doesn't reset and re-enumerate it everytime autocompletion happens,
and it also sorts the strings. This matches it more closely and makes it
more useable on large lists as well.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-05 19:12:12 +01:00
Gabriel Ivăncescu
3d9da1a691
shell32/autocomplete: Use a helper function to show the listbox.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-30 14:05:49 +01:00
Gabriel Ivăncescu
ec3b39fa22
shell32/autocomplete: Fill and display the auto-suggest listbox in a separate function.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-30 14:05:45 +01:00
Dmitry Timoshkov
ed24889dad
shell32: Add bitmap resources for ids 133 and 134.
...
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-24 16:58:45 +02:00
Gabriel Ivăncescu
eabed020c0
shell32/tests: Test when IACList::Expand gets called and with what string.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-17 10:01:43 +02:00
Gabriel Ivăncescu
ef25589922
shell32/autocomplete: Use the optional IACList interface and IACList::Expand, if available.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-17 10:01:32 +02:00
Alistair Leslie-Hughes
cce8398dea
shell32: Properly fail when a data object cannot be created.
...
Based on a patch by Mark Jansen.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-16 14:04:24 +02:00
Mark Jansen
f7d47b4951
shell32: Expand environment strings in ShellExecute.
...
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-16 14:04:22 +02:00
Gabriel Ivăncescu
d3830fbd87
shell32/autocomplete: Implement ACO_USETAB option.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 13:53:21 +02:00
Gabriel Ivăncescu
51c5fb7817
shell32/autocomplete: Hide the AutoComplete listbox when auto-suggest is turned off.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 13:52:54 +02:00
Gabriel Ivăncescu
5aa7dbf4d8
shell32/autocomplete: Reset the contents of the AutoComplete listbox when hiding it.
...
There's no point to have it lingering around, since it's always recreated
before being shown again.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 13:52:49 +02:00
Gabriel Ivăncescu
5d5e84a0d8
shell32/autocomplete: Hide the auto-suggest listbox when ESC is pressed.
...
When the listbox is visible, ESC should hide it. Only when it's not visible
should it be forwarded to the edit control. This matches Windows behavior.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 13:52:42 +02:00
Gabriel Ivăncescu
b3945207db
shell32/autocomplete: Fix handling of Return key when an auto-suggestion item is selected.
...
When selecting an item from the AutoComplete's listbox, the Return key
should act the same as a left click on it (place the text, select it,
and hide the listbox).
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 13:52:38 +02:00
Nikolay Sivov
c0a1eff706
shell32/shelllink: Fix NULL path handling in SetIconLocation().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-02 03:04:42 -07:00
Gabriel Ivăncescu
e3d57fe551
shell32/autocomplete: Implement PageDown and PageUp for the auto-suggest listbox.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-27 12:56:20 +02:00
Gabriel Ivăncescu
3f31afafc3
shell32/autocomplete: Don't auto-append unless the caret is at the end.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-27 12:56:10 +02:00
Gabriel Ivăncescu
d8de5fe47d
shell32/autocomplete: Use the same font for the AutoComplete listbox as the edit control.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-27 12:56:05 +02:00
Gabriel Ivăncescu
75ccf7537c
shell32/autocomplete: Use 0 instead of CW_USEDEFAULT.
...
Clean the CreateWindowEx code of CW_USEDEFAULT since it's not valid for
a child window and ends up being 0 anyway. Even more, it's useless as the
actual size is given when the window is shown.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-26 16:51:11 +02:00
Gabriel Ivăncescu
aaf0fb5292
shell32/autocomplete: Remove flicker while redrawing the AutoComplete listbox.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-26 16:51:01 +02:00
Gabriel Ivăncescu
ea5db7dd12
shell32/tests: Test hijacking the edit control's procedure after AutoComplete.
...
Windows' AutoComplete seems to bypass hijacking in some cases. However,
WM_GETTEXT seems to be able to get hijacked.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-24 22:41:30 +02:00
Gabriel Ivăncescu
38306f8f56
shell32/autocomplete: Pass hwnd for consistency with the other calls.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-24 22:41:30 +02:00
Gabriel Ivăncescu
03fe246897
shell32/autocomplete: Handle WM_SETTEXT for autocompletion.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-24 22:41:30 +02:00
Gabriel Ivăncescu
087c24dfdc
shell32/autocomplete: Send some messages directly to the edit control's procedure.
...
Send some of the messages directly to the edit control's window procedure
to match Windows behavior and to be able to process WM_SETTEXT.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-24 22:41:29 +02:00
Gabriel Ivăncescu
ce254b5f6d
shell32/autocomplete: Don't autocomplete at all on most control characters.
...
Most control characters sent via some CTRL+key combination should not
autocomplete at all. ^C is one example, where just copying some text should
not show the auto-suggestion box (if not visible). ^V is another example,
where it is already handled in WM_PASTE, so it has to be a no-op here,
else auto-append from WM_PASTE would complete the text and then the ^V
autocompletion would remove every other suggestion in the listbox.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-24 22:41:29 +02:00
Gabriel Ivăncescu
cefa84e5d9
shell32/autocomplete: Forward to the edit control outside of the switch to simplify the code.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-21 23:58:56 +02:00
Gabriel Ivăncescu
a2cb1ab0b3
shell32/autocomplete: Handle more messages for autocompletion.
...
The user can right-click on the editbox control and choose one of these
operations, so they need to be handled separately regardless.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-21 23:58:56 +02:00
Gabriel Ivăncescu
cb8bd825b9
shell32/autocomplete: Fix going up through the suggestion listbox.
...
When going up past the topmost item in the listbox, go through txtbackup
first before wrapping around, just like when going down. This matches
Windows behavior.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-21 23:58:56 +02:00
Fabian Maurer
43f44ffb37
shell32/brsfolder: Add shortcut to delete folders with the delete key.
...
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-20 15:32:36 +02:00
Fabian Maurer
2e25a43f3f
shell32/brsfolder: Add shortcut to rename folders with the F2 key.
...
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-20 15:29:31 +02:00
Gabriel Ivăncescu
7c844af838
shell32/tests: Send WM_CHAR instead of WM_KEYUP.
...
There's no need to send a WM_KEYUP anymore since it now matches Windows
behavior.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-19 17:20:30 +02:00
Gabriel Ivăncescu
644358bdf7
shell32/autocomplete: Remove the property after replacing the callback instead of before.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-19 17:20:24 +02:00
Gabriel Ivăncescu
2a8df60a8c
shell32/autocomplete: Avoid another buffer overflow and handle arbitrary sizes for the auto-append string.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-19 17:19:41 +02:00
Gabriel Ivăncescu
72d8b7befd
shell32/autocomplete: Simplify a calculation.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-19 17:19:32 +02:00
Gabriel Ivăncescu
9644205540
shell32/autocomplete: Don't auto-append on control characters.
...
We must not auto-append on control characters, most notably Backspace,
but also ^X (cut) and so on.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-19 17:19:20 +02:00
Gabriel Ivăncescu
a118459adf
shell32/autocomplete: Redesign the window proc to trigger on key presses instead of key release.
...
AutoComplete currently shows up when the user releases a key, which is
wrong. Windows does it when the user presses a key, so use both WM_KEYDOWN
and WM_CHAR and redesign it so that it matches Windows behavior.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-18 20:59:38 +02:00