Commit Graph

1279 Commits

Author SHA1 Message Date
Michael Jung 8130a6eb44 Return correct attributes in ParseDisplayName. 2005-07-05 10:58:11 +00:00
Mike McCormack e28c014a84 -Wpointer-sign fixes. 2005-07-03 12:03:35 +00:00
Mike McCormack b8fc783be2 Avoid warnings in generated tests by casting sizeof(x) to an int. 2005-07-03 11:23:30 +00:00
Robert Shearman d5714dfc50 Implement ShellDDEInit. 2005-06-30 20:45:57 +00:00
Michael Jung 7110f82795 Register unixfs at desktop level in DllRegisterServer. 2005-06-30 11:00:03 +00:00
Michael Jung c0995c2c93 Fix two more corner cases in UNIXFS_get_unix_path and UNIXFS_path_to_pidl. 2005-06-30 10:59:51 +00:00
Saulius Krasuckas 5678f65c07 Prepare for adding new tests.
- Put OleInitialize and OleUninitialize in the main block.
- Move test_BindToObject before test_EnumObjects_and_CompareIDs.
2005-06-30 10:23:14 +00:00
Michael Jung 9393580ab5 If the unixfs is rooted at the Desktop folder, forward
ParseDisplayName calls to it instead of to MyComputer.
2005-06-29 11:17:33 +00:00
Vitaliy Margolen eed690f973 ILFree is not available on all versions. 2005-06-29 11:00:59 +00:00
Aric Stewart b152076d3b Fix the BrowseForFolder dialog so that when it does the callbacks it
uses the correct message instead of always sending BEFM_INITIALIZED.
2005-06-27 18:46:47 +00:00
Michael Jung ad6bac918c Precisely compute the necessary pidl length in UNIXFS_path_to_pidl. 2005-06-27 18:46:36 +00:00
Saulius Krasuckas c48c3abd92 Additional test cases for IShellFolder_BindToObject. 2005-06-27 09:41:48 +00:00
Michael Jung 114975d937 Fix a lurking infinite loop in SHGetPathFromIDList. 2005-06-25 18:32:17 +00:00
Michael Jung 526377c511 Use the CallForAttributes registry value, instead of promoting the
root folder's SFGAO_FILESYSTEM flag to the registry.
2005-06-25 17:56:13 +00:00
Michael Jung 11cadc368a Support for shellfolder's CallForAttributes registry value. 2005-06-25 17:55:53 +00:00
Michael Jung bb562118c0 Added tests for ShellFolder's CallForAttributes value. 2005-06-24 11:33:35 +00:00
Alexandre Julliard f84401aa17 Sort entry points in the same order as Windows. 2005-06-23 09:57:11 +00:00
Saulius Krasuckas 77577822e3 - Move test init code back to START_TEST(shlfolder).
- Move creation and cleanup of a test-folders nearer to
  test_EnumObjects.
2005-06-22 18:04:04 +00:00
Saulius Krasuckas b98a26853c Cleanup the shlfolder test a bit more. 2005-06-21 20:04:17 +00:00
Michael Jung 8765e4a522 Propagate the root folder's attributes to the registry. 2005-06-21 09:42:38 +00:00
Vitaly Lipatov b39c3981c2 - Realize DoEnvironmentSubstA via ExpandEnvironmentStringsA.
- Fix types and return values.
- Add prototype into shellapi.h.
2005-06-20 15:33:48 +00:00
Stefan Huehner ac6f562b52 Fix more -Wstrict-prototypes warnings. 2005-06-20 14:18:03 +00:00
Michael Jung 74afc7f12e Use stat's dev/inode to compare paths instead of comparing the
strings. Defer building a folder's children SHITEMIDS until explicitly
asked for.
2005-06-20 11:42:23 +00:00
Stefan Leichter fcd6764928 Make shell32 tests loadable on NT4. 2005-06-20 10:31:14 +00:00
Mike McCormack 383302c11e Make functions static. 2005-06-20 10:30:15 +00:00
Francois Gouget 6394a15314 Assorted spelling fixes. 2005-06-17 20:59:49 +00:00
Francois Gouget 9769816b6e Fix winapi_check documentation warnings. 2005-06-17 20:58:33 +00:00
Francois Gouget f9280a3a95 Protect the unistd.h and sys/stat.h includes.
Include config.h.
Fixes warnings reported by winapi_check.
2005-06-17 20:56:02 +00:00
Michael Jung ff75b415d2 Remove trailing backslash from DOS paths in GetDisplayNameOf. 2005-06-17 12:12:35 +00:00
Marcus Meissner 96ebd31066 ExtractAssociatedIconA needs to allocate enough space to have EAIW
fill in lpIconPathW.
2005-06-17 09:52:33 +00:00
Mike McCormack 4d2d627c3f - forward AddRef, Release, QueryInterface and GetClassID to internal
implementations
- implement GetClassID properly
2005-06-16 10:43:50 +00:00
Mike McCormack 64a3b82831 SHCreateStreamOnFileW is implemented in shlwapi, so we don't need
another implementation in shell32.
2005-06-16 09:46:17 +00:00
Mike McCormack 0a44661d6f Switch IShellLink to use shlwapi.SHCreateStreamOnFileW. 2005-06-16 09:46:05 +00:00
Michael Jung e5ef9dd8dc Test GetAttributesOf on the MyComputer shellfolder. 2005-06-16 09:44:50 +00:00
Michael Jung e2dbc8044a Added tests for SHGetPathFromIDList. 2005-06-15 18:07:55 +00:00
Huw Davies 47db6bc567 Unquote the icon file path if it's quoted. 2005-06-15 18:07:43 +00:00
Mike McCormack c62940a1ac Remove some uses of wine/unicode.h functions. 2005-06-15 10:21:46 +00:00
Michael Jung ebb1aaee86 Implement SHGetPathFromIDList based on GetDisplayNameOf. 2005-06-15 10:20:00 +00:00
Michael Jung 8b4b4b3af2 Replace magic error constant. 2005-06-14 19:18:26 +00:00
Michael Jung 81b7509f3b Use SHGetPathFromIDList instead of SHELL32_GetPathFromIDList. 2005-06-14 19:17:41 +00:00
Michael Jung bb19a58a93 Return the correct attributes for the desktop folder.
Corresponding tests.
2005-06-14 18:10:24 +00:00
Michael Jung 5664a68033 Added tests to compare SHGetPathFromIDList and GetDisplayNameOf. 2005-06-14 17:21:25 +00:00
Mike McCormack 215bd9a70b Add the IContextMenu interface to the ShellLink object. 2005-06-14 11:38:55 +00:00
Mike McCormack 0569609e3d Implement ShellLink's IShellExtInit::Initialize() method. 2005-06-13 19:04:17 +00:00
Mike McCormack d4eb4f54ed - add the IShellExtInit interface to the ShellLink object
- use inline functions rather than macros to resolve the
  implementation pointer from an interface pointer
2005-06-13 11:50:09 +00:00
Michael Jung 71404a7372 Set the FILESYSANCESTOR and FILESYSTEM flags correctly in
GetAttributesOf.
2005-06-10 19:31:59 +00:00
Saulius Krasuckas 83ac47e53c Get current directory during tests on win9x too. 2005-06-09 12:05:50 +00:00
Mike McCormack fa1b7822a5 Add the IShellLinkDataList interface to the ShellLink object. 2005-06-09 12:05:38 +00:00
Mike McCormack 8e2cb0835c Add a cast to get rid of a warning. 2005-06-09 09:46:23 +00:00
Michael Jung d1f59dba67 Use shell icon cache instead of an own IExtractIcon implementation. 2005-06-09 09:43:18 +00:00
Mike McCormack b64186ad22 Warning fixes for -Wmissing-declarations and -Wwrite-strings. 2005-06-07 20:30:30 +00:00
Juan Lang ab88fd34dc Const-ify a mask. 2005-06-07 20:03:39 +00:00
Dmitry Timoshkov eba47f1dfe Make remaining OLE interface vtables const. 2005-06-06 19:50:35 +00:00
Michael Jung d20fde8a80 Allow for unixfs folders to be rooted at desktop level.
Moved dos->unix path conversion into canonicalize_path.
Fail in BindToObject, if called with empty pidl.
2005-06-06 19:37:47 +00:00
Michael Jung 38f2ee9d04 Let BindToObject fail, if called with empty relative pidl.
Tests to show that it should do so.
Fix SHBrowseForFolder to not pass an empty pidl to BindToObject.
2005-06-06 10:04:15 +00:00
Juan Lang 4571d0187f Set default for "My Documents" to $HOME, and "Desktop" to ~/Desktop. 2005-06-02 19:39:24 +00:00
Mike McCormack 4c6149ee0c Eliminate some -Wwrite-strings warnings. 2005-06-01 11:04:26 +00:00
Stefan Dösinger ea18de5f58 *Handle cidl==0 in shfldr_desktop, shfldr_fs and shfldr_mycomp.
*Remove the dwAttributes member from the IGenericSFImpl class, it's
not needed and can't be initialised in Initialize and InitializeEx.
2005-05-26 16:09:12 +00:00
Michael Jung 3c3495ea51 Add a new CLSID for UnixDosFolder, which is identical to UnixFolder,
but does unix <-> dos path conversion for GetDisplayNameOf and
ParseDisplayName.
2005-05-24 11:45:47 +00:00
Michael Jung 8016f6cc62 More robustly query the SHGDN_FORPARSING flag in the shell32's folders
GetDisplayNameOf methods.
2005-05-23 16:31:42 +00:00
Alexandre Julliard aebb745488 Comment out stub WEP entry points so that we can call WEP for builtin
dlls too.
2005-05-23 10:12:26 +00:00
Alexandre Julliard 0ddd30b0b6 Removed unnecessary code in the 16-bit DllEntryPoint function of some
dlls, and also fixed its ordinal in a few places.
2005-05-23 10:00:26 +00:00
Michael Jung 82ed0ce999 Consider only the GIL_FORSHORTCUT flag in SIC_CompareEntries. 2005-05-20 18:58:35 +00:00
Kouji Sasaki c1f2824429 Added the processing for determination of SFGAO_HASSUBFOLDER flag in
SHELL32_GetItemAttribute function.
2005-05-18 09:43:39 +00:00
Juan Lang f12eadf7bf - only log unsupported flags in ShellExecute
- environment variables are expanded, so SEE_MASK_DOENVSUBST is
  supported
2005-05-14 11:06:54 +00:00
Ge van Geldorp 40cb98269b Overlay icons for .lnk files with a small arrow in the lower left
corner.
2005-05-13 17:48:33 +00:00
Mike McCormack 3e2cb75349 Remove some unused include files. 2005-05-13 13:59:15 +00:00
Michael Jung a858a5a76c Replace '\\' by '/' in strings passed to ParseDisplayName to be able
to handle DOS-style relative paths.
2005-05-13 13:55:03 +00:00
Mike McCormack 1ae212a105 Split SHGetFileInfoW into two functions. 2005-05-12 09:56:48 +00:00
Michael Lin 9bd101d012 - Implement IPersistFolder2.
- Retrieve the correct attributes in ParseDisplayName().
2005-05-12 09:56:04 +00:00
Juan Lang 2439b5fdda Fixes to IShellFolder::GetAttributesOf implementations, spotted by
silverblade_:
- a count of zero is allowed to GetAttributesOf if apidl is NULL
- SFGAO_VALIDATE must be cleared upon return
2005-05-10 08:28:11 +00:00
Mike Hearn 25abe7c537 Fix SHELL_GetPathFromIDList[AW] to return the desktop path given an
empty PIDL.
2005-05-10 08:27:23 +00:00
Michael Jung ea3793b79d Support folder relative paths in UnixFolders' ParseDisplayName
method.
2005-05-09 19:33:01 +00:00
Alexandre Julliard 34fa35dc99 Added rules for building import libraries in the individual dll
makefiles, and added support for building a .def.a static import
library too.
2005-05-09 14:42:30 +00:00
Michael Jung 3a117bccd8 Always pass fully qualified paths to stat system call. 2005-05-09 09:26:02 +00:00
Huw Davies da13552c55 It makes no sense to have a left pointing arrow as the desktop icon.
Replace it with something more appropiate.
2005-05-09 09:25:28 +00:00
Robert Lunnon f4949b8d80 Make references to NAME_MAX refer to PATH_MAX instead. 2005-05-07 14:50:00 +00:00
Alexandre Julliard d62356aa1e Added rules to build import libraries in the individual dll makefiles.
Generate import libraries with the right name right away instead of
using an intermediate .spec.def file.
2005-05-07 12:39:52 +00:00
Michael Jung fc40dcf985 Make the root of the shell extension map to the root of the unix
filesystem.
2005-05-07 12:17:02 +00:00
Michael Jung 15934680f7 Return a cloned PIDL by SHBrowseForFolder to avoid heap corruption. 2005-05-06 19:33:06 +00:00
Michael Jung 94e5f01275 Display a drive icon for the unix root directory. 2005-05-06 19:32:54 +00:00
Francois Gouget 821d4c4645 Fix nativeapi.pm so it knows about AC_HEADER_STAT().
Make the error message about unexpected '#ifdef HAVE_XXX' clearer.
Protect sys/stat.h #includes with the corresponding '#ifdef HAVE_XXX'
check.
2005-05-06 16:22:54 +00:00
Francois Gouget f5c9da6860 Assorted spelling fixes. 2005-05-06 15:44:31 +00:00
Michael Jung 45bcdd2be1 Fixed GetDisplayNameOf method to not depend on incorrect behaviour
regarding the SHGDN_INFOLDER flag.
2005-05-05 10:30:51 +00:00
Michael Jung ddc26aa94e Fixed MyComputer's GetDisplayNameOf method. 2005-05-05 10:30:39 +00:00
Mike McCormack 2b2c6f2fba Remove static variables in SHBrowseForFolder implementation. 2005-05-04 09:48:15 +00:00
Mike McCormack 95a58eba7d Split up the window procedure. 2005-04-28 18:26:58 +00:00
Gerald Pfeifer 039869eed1 Include <limits.h> to get a definition of NAME_MAX. 2005-04-27 08:12:08 +00:00
Michael Jung 3abb5bd6bb Support for regular files (as opposed to directories). 2005-04-25 10:56:29 +00:00
Michael Jung 025bc2d8a2 Use the shell32 typical binary format for ITEMIDLISTs. 2005-04-22 21:29:17 +00:00
Michael Jung 2a788026a3 Fixed incorrect IShellFolder::EnumOjects API usage. 2005-04-22 19:07:00 +00:00
Mike McCormack 5960e7c93c MSI advertised shortcuts don't require a product ID. 2005-04-22 19:06:12 +00:00
Peter Berg Larsen 56c34e1b2c Rewritten DoEnvironmentSubst16. 2005-04-21 17:14:39 +00:00
Francois Gouget 4527aae24f Assorted spelling fixes. 2005-04-19 09:49:38 +00:00
Troy Rollo 98d336c363 Fix SEGV for non-fully-qualified destination paths.
Don't fail ShFileOperationW if FOF_ALLOWUNDO is passed.
2005-04-19 09:49:05 +00:00
Francois Gouget 3b36eee083 Add trailing '\n's to ok() calls. 2005-04-19 09:48:44 +00:00
Peter Berg Larsen 6e3bcb5a54 Replace strncpy with memcpy or lstrcpyn. 2005-04-18 10:30:55 +00:00
Huw Davies 7ac969d560 When we're hiding file extensions then SetNameOf should append the
original extension if SHGDN_FORPARSING isn't set.
The flags passed to SetNameOf refer to the dst string not the src
pidl.
2005-04-15 16:11:45 +00:00
Martin Fuchs d3b5018275 Correct comments of some export ordinals. 2005-04-13 15:17:16 +00:00
Huw Davies 0e5b772cdc Add a unicode pidl type.
Improve support for PT_YAGUID.
Improve IShellLink debugging.
2005-04-13 14:39:27 +00:00
Steven Edwards ad7f4daf35 Register Shell Drag and Drop Helper. 2005-04-13 11:07:49 +00:00
Michael Jung 9a4f552f2f Implemented the UnixFolder's IShellFolder2::CompareIDs method. 2005-04-13 11:01:10 +00:00
Huw Davies be428abd3e Better icon handling for some special folders.
Identify and add defines for a bunch of shell icons.
2005-04-12 12:00:40 +00:00
Michael Jung d1f1d34c2b Implemented enough of IShellFolder2 to make UnixFolder work within the
open/save-dialogs.
2005-04-12 11:58:05 +00:00
Huw Davies 52cf1992ea If ICommDlgBrowser_OnDefaultCommand returns anything other than S_OK
then we should call the default handler.
2005-04-12 10:16:35 +00:00
Juan Lang 7376f57c30 Use Unicode string result from GetDisplayNameOf if it isn't
representable using ANSI.
2005-04-12 10:15:29 +00:00
Huw Davies 8dabf51d39 Directory items should have the SFGOA_FILESYSANCESTOR attribute.
Add a test for this and cleanup the shlfolder test a bit.
2005-04-11 18:50:01 +00:00
Huw Davies 861282bf28 Fix the icon resource ids (most were off by one).
Fix IExtractIcon_{GetIconLocation,Extract} to use -ve icon resource
ids and fix bugs relating to confusion between resource ids and the
system imagelist indicies.
Extend the system imagelist initialization hack to load both +ve and
-ve resource ids.
Add a printer icon (that'll be used by an upcoming printer folder
patch).
2005-04-11 13:04:41 +00:00
Mike McCormack 7340a357ba Fix up PIDL dumping code. 2005-03-31 10:05:59 +00:00
Francois Gouget 6b10c324c5 Assorted spelling fixes. 2005-03-30 17:08:31 +00:00
Mike McCormack a5cb5a2ab3 Use api definitions, remove duplicate code. 2005-03-27 17:54:48 +00:00
Paul Vriens 0b3b35116a Print retval in decimal to avoid confusion.
NT4 fails with ERROR_INVALID_TARGET_HANDLE instead of
ERROR_REDIR_PAUSED.
Use some correct messages on error.
Extra tracing.
2005-03-25 20:47:50 +00:00
Jakob Eriksson 9ed61de9a2 Get rid of HeapAlloc casts. 2005-03-24 21:01:35 +00:00
Francois Gouget 93416cdaf7 Assorted spelling fixes. 2005-03-23 13:15:18 +00:00
Jakob Eriksson 4fead33f30 If the device gets interrupted, we just give up. 2005-03-22 21:16:24 +00:00
Jakob Eriksson b718b0b019 StrRetToStrNAW returns ok on NT4, though it should return FALSE. 2005-03-22 18:19:13 +00:00
Mike McCormack 17c3106896 Eliminate casts of the return value of HeapAlloc. 2005-03-21 11:25:13 +00:00
Mike McCormack fd40ace3d3 Fix usage of STGM_ enumerations, remove forward declaration. 2005-03-19 17:09:14 +00:00
Mike McCormack 2597b1beca Remove forward declarations of interface methods. 2005-03-19 17:09:03 +00:00
Mike McCormack b7cc006c33 Remove an unused function. 2005-03-19 17:08:52 +00:00
Jon Griffiths dbf222f3aa Use LMEM_ flags for LocalAlloc(), not GMEM_ (GlobalAlloc). 2005-03-17 20:53:37 +00:00
Aric Stewart 984931bd09 For ShellExecuteExA we need to copy out the hProcess value from the W
structure.
2005-03-17 20:50:53 +00:00
Mike McCormack 4098dc64ca Remove some dead code and some ifdefs. 2005-03-17 18:55:49 +00:00
Mike McCormack c9bd224f0f Fix a regression in the file open dialog. 2005-03-17 18:55:16 +00:00
Mike McCormack b12ce9b446 Convert path to unicode, rearrange to remove forward declaration. 2005-03-17 13:57:38 +00:00
Filip Navara 9f2bbd6566 _dbg_ILGetNext returns NULL if pidl->mkid.cb is zero, fix the loops
accordingly.
2005-03-16 19:51:13 +00:00
Juan Lang 2786964da2 Correct registering shell folders (values in Shell Folders key weren't
getting written).
2005-03-16 11:37:46 +00:00
Martin Fuchs 824353d01b - switch to correct shell desktop context menu
- launch desk.cpl when activating the desktop context menu entry
  "properties"
- don't send WM_COMMAND if we didn't get a shell view window
2005-03-14 10:49:03 +00:00
Michael Jung 015d2a4dbe Beginning of a shell namespace extension to browse the unix
filesystem.
2005-03-09 16:41:17 +00:00
Dimitrie O. Paun c02dd0a902 Add support for .exe's with exported functions. 2005-03-08 16:55:26 +00:00
Mike McCormack 2c8367a3de Use lstrcmpiA in preference to strcasecmp. 2005-03-07 11:05:03 +00:00
Huw Davies 5be005b0d5 Don't prepend '\\' to the subkey name. 2005-03-03 13:52:06 +00:00
Francois Gouget fbb3343547 Assorted spelling fixes. 2005-03-02 13:53:50 +00:00
Juan Lang 316df99bf9 Convert more API calls to Unicode. 2005-03-02 10:16:41 +00:00
Michael Jung 6bc9999e08 Fixed parsing of ITEMIDLIST in InitializeTreeView.
Added some documentation.
Fixed a crash occuring when the user double-clicks a leaf item.
2005-03-01 11:45:32 +00:00
Juan Lang 88cf8ce5ac Convert tabs to space, wrap long lines, make indenting consistent. 2005-03-01 10:41:14 +00:00
Juan Lang b7dac96974 Convert a few calls to Unicode. 2005-02-26 17:41:26 +00:00
Mike McCormack 64c3208e10 - implement loading and saving of MSI advertised shortcut info
- make more test cases pass
- read and write the location block
- improve the binary compatibility of lnk files
2005-02-25 16:19:57 +00:00
Jon Griffiths eb5bf7dd38 Documentation spelling fixes. 2005-02-25 14:07:56 +00:00
Mike McCormack d68294f06f Remove tabs and reformat. 2005-02-23 15:41:39 +00:00
Francois Gouget d95630ebf3 Add the -noname flag to match the Platform SDK. 2005-02-23 15:41:14 +00:00
Mike McCormack f8a4f6b59b - handle IFileSystemBindData in ISF_Desktop_fnParseDisplayName
- more Unicode conversion
2005-02-23 12:45:12 +00:00
Francois Gouget 14de57089e Don't hardcode ordinals if which are not hardcoded on Windows. 2005-02-23 12:44:43 +00:00
Mike McCormack 3b2019badb Make lstr* functions inline inside Wine. 2005-02-22 15:50:13 +00:00
Mike McCormack 0d735ac9be - handle IFileSystemBindData in IShellFolder::ParseDisplayName
- convert IShellFolder::ParseDisplayName to use Unicode
2005-02-22 15:47:21 +00:00
Mike McCormack 3d9ba61478 Cleanup, create unicode versions of _ILCreateFromPath,
_ILCreateGuidFromStr, and _ILCreateFromFindData.
2005-02-22 14:50:35 +00:00
Hans Leidekker 2294e30dd4 - Revert wrong -noname markup for Drag*, DoEnvironmentSubst and
SHGetNewLinkInfo{A,W}.
- Also mark stub exports -noname when they are exported by ordinal
  only on win98/2k.
- Implementation level stubs for SheChangeDirA, SheGetDirA,
  SHHelpShortcuts_RunDLL{A,W}.
- New spec file stubs for Control_RunDLLAsUserW,
  FixupOptionalComponents, OCInstall, SHChangeNotifySuspendResume,
  SHCreateProcessAsUserW, SHExtractIconsW,
  SHInvokePrinterCommand{A,W}, SHIsFileAvailableOffline,
  SHLoadNonloadedIconOverlayIdentifiers, SHPathPrepareForWrite{A,W},
  ShellExec_RunDLL{,A,W}, SHGetIconOverlayIndex{A,W}.
2005-02-21 18:37:33 +00:00
Mike McCormack 59ce35aba8 Remove tabs and make formatting consistent. 2005-02-21 18:36:47 +00:00
Hans Leidekker c6806cd204 Mark exports -noname when they are exported by ordinal only on
win98/2k.
2005-02-18 20:13:01 +00:00
Dmitry Timoshkov 9074f257e0 Convert winemenubuilder to unicode. 2005-02-17 11:51:44 +00:00