From ec47e5b8d5a3abeee5d04401c6af86d7450f1efd Mon Sep 17 00:00:00 2001 From: Claudiu Mihail Date: Thu, 8 Sep 2011 22:43:43 +0000 Subject: [PATCH] [shell32.dll] [FORMATTING] - Second wave of formatting. At least now we won't have any tabs and spaces mixed in. svn path=/branches/shell32_new-bringup/; revision=53651 --- dll/win32/shell32/brsfolder.cpp | 144 +- dll/win32/shell32/changenotify.cpp | 66 +- dll/win32/shell32/clipboard.cpp | 270 +-- dll/win32/shell32/control.cpp | 330 +-- dll/win32/shell32/dataobject.cpp | 412 ++-- dll/win32/shell32/desktop.cpp | 118 +- dll/win32/shell32/dragdrophelper.cpp | 8 +- dll/win32/shell32/drive.cpp | 68 +- dll/win32/shell32/extracticon.cpp | 110 +- dll/win32/shell32/folder_options.cpp | 12 +- dll/win32/shell32/folders.cpp | 10 +- dll/win32/shell32/fprop.cpp | 4 +- dll/win32/shell32/iconcache.cpp | 768 +++---- dll/win32/shell32/pidl.cpp | 16 +- dll/win32/shell32/ros-systray.cpp | 46 +- dll/win32/shell32/she_ocmenu.cpp | 26 +- dll/win32/shell32/shellitem.cpp | 34 +- dll/win32/shell32/shellole.cpp | 512 ++--- dll/win32/shell32/shellord.cpp | 1196 +++++------ dll/win32/shell32/shellpath.cpp | 454 ++-- dll/win32/shell32/shellreg.cpp | 106 +- dll/win32/shell32/shellstring.cpp | 226 +- dll/win32/shell32/shfldr_admintools.cpp | 94 +- dll/win32/shell32/shfldr_fs.cpp | 74 +- dll/win32/shell32/shfldr_mycomp.cpp | 76 +- dll/win32/shell32/shfldr_netplaces.cpp | 114 +- dll/win32/shell32/shfldr_recyclebin.cpp | 466 ++-- dll/win32/shell32/shlfolder.cpp | 232 +- dll/win32/shell32/shlfsbind.cpp | 60 +- dll/win32/shell32/shlmenu.cpp | 1186 +++++------ dll/win32/shell32/shlview.cpp | 2574 +++++++++++------------ dll/win32/shell32/shpolicy.cpp | 122 +- dll/win32/shell32/shv_def_cmenu.cpp | 244 +-- dll/win32/shell32/shv_item_new.cpp | 128 +- dll/win32/shell32/startmenu.cpp | 56 +- 35 files changed, 5181 insertions(+), 5181 deletions(-) diff --git a/dll/win32/shell32/brsfolder.cpp b/dll/win32/shell32/brsfolder.cpp index f4bf88c3f38..2d66bddaaf5 100644 --- a/dll/win32/shell32/brsfolder.cpp +++ b/dll/win32/shell32/brsfolder.cpp @@ -71,9 +71,9 @@ static DWORD __inline BrowseFlagsToSHCONTF(UINT ulFlags) static void browsefolder_callback( LPBROWSEINFOW lpBrowseInfo, HWND hWnd, UINT msg, LPARAM param ) { - if (!lpBrowseInfo->lpfn) - return; - lpBrowseInfo->lpfn( hWnd, msg, param, lpBrowseInfo->lParam ); + if (!lpBrowseInfo->lpfn) + return; + lpBrowseInfo->lpfn( hWnd, msg, param, lpBrowseInfo->lParam ); } /****************************************************************************** @@ -215,17 +215,17 @@ static void GetNormalAndSelectedIcons(LPITEMIDLIST lpifq, LPTVITEMW lpTV_ITEM) */ static BOOL GetName(LPSHELLFOLDER lpsf, LPCITEMIDLIST lpi, DWORD dwFlags, LPWSTR lpFriendlyName) { - BOOL bSuccess=TRUE; - STRRET str; + BOOL bSuccess=TRUE; + STRRET str; - TRACE("%p %p %x %p\n", lpsf, lpi, dwFlags, lpFriendlyName); - if (SUCCEEDED(lpsf->GetDisplayNameOf(lpi, dwFlags, &str))) + TRACE("%p %p %x %p\n", lpsf, lpi, dwFlags, lpFriendlyName); + if (SUCCEEDED(lpsf->GetDisplayNameOf(lpi, dwFlags, &str))) bSuccess = StrRetToStrNW(lpFriendlyName, MAX_PATH, &str, lpi); - else - bSuccess = FALSE; + else + bSuccess = FALSE; - TRACE("-- %s\n", debugstr_w(lpFriendlyName)); - return bSuccess; + TRACE("-- %s\n", debugstr_w(lpFriendlyName)); + return bSuccess; } /****************************************************************************** @@ -247,39 +247,39 @@ static HTREEITEM InsertTreeViewItem( browse_info *info, IShellFolder * lpsf, LPCITEMIDLIST pidl, LPCITEMIDLIST pidlParent, IEnumIDList* pEnumIL, HTREEITEM hParent) { - TVITEMW tvi; - TVINSERTSTRUCTW tvins; - WCHAR szBuff[MAX_PATH]; - LPTV_ITEMDATA lptvid=0; + TVITEMW tvi; + TVINSERTSTRUCTW tvins; + WCHAR szBuff[MAX_PATH]; + LPTV_ITEMDATA lptvid=0; - tvi.mask = TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE | TVIF_PARAM; + tvi.mask = TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE | TVIF_PARAM; - tvi.cChildren= pEnumIL ? 1 : 0; - tvi.mask |= TVIF_CHILDREN; + tvi.cChildren= pEnumIL ? 1 : 0; + tvi.mask |= TVIF_CHILDREN; - lptvid = (TV_ITEMDATA *)SHAlloc( sizeof(TV_ITEMDATA) ); - if (!lptvid) - return NULL; + lptvid = (TV_ITEMDATA *)SHAlloc( sizeof(TV_ITEMDATA) ); + if (!lptvid) + return NULL; - if (!GetName(lpsf, pidl, SHGDN_NORMAL, szBuff)) - return NULL; + if (!GetName(lpsf, pidl, SHGDN_NORMAL, szBuff)) + return NULL; - tvi.pszText = szBuff; - tvi.cchTextMax = MAX_PATH; - tvi.lParam = (LPARAM)lptvid; + tvi.pszText = szBuff; + tvi.cchTextMax = MAX_PATH; + tvi.lParam = (LPARAM)lptvid; - lpsf->AddRef(); - lptvid->lpsfParent = lpsf; - lptvid->lpi = ILClone(pidl); - lptvid->lpifq = pidlParent ? ILCombine(pidlParent, pidl) : ILClone(pidl); - lptvid->pEnumIL = pEnumIL; - GetNormalAndSelectedIcons(lptvid->lpifq, &tvi); + lpsf->AddRef(); + lptvid->lpsfParent = lpsf; + lptvid->lpi = ILClone(pidl); + lptvid->lpifq = pidlParent ? ILCombine(pidlParent, pidl) : ILClone(pidl); + lptvid->pEnumIL = pEnumIL; + GetNormalAndSelectedIcons(lptvid->lpifq, &tvi); - tvins.item = tvi; - tvins.hInsertAfter = NULL; - tvins.hParent = hParent; + tvins.item = tvi; + tvins.hInsertAfter = NULL; + tvins.hParent = hParent; - return (HTREEITEM)SendMessageW(info->hwndTreeView, TVM_INSERTITEM, 0, (LPARAM)&tvins ); + return (HTREEITEM)SendMessageW(info->hwndTreeView, TVM_INSERTITEM, 0, (LPARAM)&tvins ); } /****************************************************************************** @@ -298,33 +298,33 @@ static HTREEITEM InsertTreeViewItem( browse_info *info, IShellFolder * lpsf, static void FillTreeView( browse_info *info, IShellFolder * lpsf, LPITEMIDLIST pidl, HTREEITEM hParent, IEnumIDList* lpe) { - HTREEITEM hPrev = 0; - LPITEMIDLIST pidlTemp = 0; - ULONG ulFetched; - HRESULT hr; - HWND hwnd = GetParent( info->hwndTreeView ); + HTREEITEM hPrev = 0; + LPITEMIDLIST pidlTemp = 0; + ULONG ulFetched; + HRESULT hr; + HWND hwnd = GetParent( info->hwndTreeView ); - TRACE("%p %p %p %p\n",lpsf, pidl, hParent, lpe); + TRACE("%p %p %p %p\n",lpsf, pidl, hParent, lpe); - /* No IEnumIDList -> No children */ - if (!lpe) return; + /* No IEnumIDList -> No children */ + if (!lpe) return; - SetCapture( hwnd ); - SetCursor( LoadCursorA( 0, (LPSTR)IDC_WAIT ) ); + SetCapture( hwnd ); + SetCursor( LoadCursorA( 0, (LPSTR)IDC_WAIT ) ); - while (NOERROR == lpe->Next(1,&pidlTemp,&ulFetched)) - { - ULONG ulAttrs = SFGAO_HASSUBFOLDER | SFGAO_FOLDER; - IEnumIDList* pEnumIL = NULL; - IShellFolder* pSFChild = NULL; - lpsf->GetAttributesOf(1, (LPCITEMIDLIST*)&pidlTemp, &ulAttrs); - if (ulAttrs & SFGAO_FOLDER) - { - hr = lpsf->BindToObject(pidlTemp, NULL, IID_IShellFolder, (LPVOID *)&pSFChild); - if (SUCCEEDED(hr)) + while (NOERROR == lpe->Next(1,&pidlTemp,&ulFetched)) + { + ULONG ulAttrs = SFGAO_HASSUBFOLDER | SFGAO_FOLDER; + IEnumIDList* pEnumIL = NULL; + IShellFolder* pSFChild = NULL; + lpsf->GetAttributesOf(1, (LPCITEMIDLIST*)&pidlTemp, &ulAttrs); + if (ulAttrs & SFGAO_FOLDER) + { + hr = lpsf->BindToObject(pidlTemp, NULL, IID_IShellFolder, (LPVOID *)&pSFChild); + if (SUCCEEDED(hr)) { - DWORD flags = BrowseFlagsToSHCONTF(info->lpBrowseInfo->ulFlags); - hr = pSFChild->EnumObjects(hwnd, flags, &pEnumIL); + DWORD flags = BrowseFlagsToSHCONTF(info->lpBrowseInfo->ulFlags); + hr = pSFChild->EnumObjects(hwnd, flags, &pEnumIL); if (hr == S_OK) { if ((pEnumIL->Skip(1) != S_OK) || @@ -336,17 +336,17 @@ static void FillTreeView( browse_info *info, IShellFolder * lpsf, } pSFChild->Release(); } - } + } - if (!(hPrev = InsertTreeViewItem(info, lpsf, pidlTemp, pidl, pEnumIL, hParent))) - goto done; - SHFree(pidlTemp); /* Finally, free the pidl that the shell gave us... */ - pidlTemp=NULL; - } + if (!(hPrev = InsertTreeViewItem(info, lpsf, pidlTemp, pidl, pEnumIL, hParent))) + goto done; + SHFree(pidlTemp); /* Finally, free the pidl that the shell gave us... */ + pidlTemp=NULL; + } done: - ReleaseCapture(); - SetCursor(LoadCursorW(0, (LPWSTR)IDC_ARROW)); + ReleaseCapture(); + SetCursor(LoadCursorW(0, (LPWSTR)IDC_ARROW)); SHFree(pidlTemp); } @@ -491,16 +491,16 @@ static BOOL BrsFolder_OnCreate( HWND hWnd, browse_info *info ) if (lpBrowseInfo->ulFlags & BIF_NEWDIALOGSTYLE) FIXME("flags BIF_NEWDIALOGSTYLE partially implemented\n"); if (lpBrowseInfo->ulFlags & ~SUPPORTEDFLAGS) - FIXME("flags %x not implemented\n", lpBrowseInfo->ulFlags & ~SUPPORTEDFLAGS); + FIXME("flags %x not implemented\n", lpBrowseInfo->ulFlags & ~SUPPORTEDFLAGS); if (lpBrowseInfo->lpszTitle) - SetWindowTextW( GetDlgItem(hWnd, IDD_TITLE), lpBrowseInfo->lpszTitle ); + SetWindowTextW( GetDlgItem(hWnd, IDD_TITLE), lpBrowseInfo->lpszTitle ); else - ShowWindow( GetDlgItem(hWnd, IDD_TITLE), SW_HIDE ); + ShowWindow( GetDlgItem(hWnd, IDD_TITLE), SW_HIDE ); if (!(lpBrowseInfo->ulFlags & BIF_STATUSTEXT) || (lpBrowseInfo->ulFlags & BIF_NEWDIALOGSTYLE)) - ShowWindow( GetDlgItem(hWnd, IDD_STATUS), SW_HIDE ); + ShowWindow( GetDlgItem(hWnd, IDD_STATUS), SW_HIDE ); /* Hide "Make New Folder" Button? */ if ((lpBrowseInfo->ulFlags & BIF_NONEWFOLDERBUTTON) @@ -675,7 +675,7 @@ static BOOL BrsFolder_OnSetSelectionA(browse_info *info, LPVOID selection, BOOL * BrsFolderDlgProc32 (not an exported API function) */ static INT_PTR CALLBACK BrsFolderDlgProc( HWND hWnd, UINT msg, WPARAM wParam, - LPARAM lParam ) + LPARAM lParam ) { browse_info *info; @@ -806,7 +806,7 @@ LPITEMIDLIST WINAPI SHBrowseForFolderW (LPBROWSEINFOW lpbi) else templateName = swBrowseTemplateName; r = DialogBoxParamW( shell32_hInstance, templateName, lpbi->hwndOwner, - BrsFolderDlgProc, (LPARAM)&info ); + BrsFolderDlgProc, (LPARAM)&info ); if (SUCCEEDED(hr)) OleUninitialize(); if (!r) diff --git a/dll/win32/shell32/changenotify.cpp b/dll/win32/shell32/changenotify.cpp index 5328daec2a5..c9c85967b7b 100644 --- a/dll/win32/shell32/changenotify.cpp +++ b/dll/win32/shell32/changenotify.cpp @@ -1,5 +1,5 @@ /* - * shell change notification + * shell change notification * * Copyright 2000 Juergen Schmied * @@ -25,14 +25,14 @@ WINE_DEFAULT_DEBUG_CHANNEL(shell); namespace { - extern CRITICAL_SECTION SHELL32_ChangenotifyCS; - CRITICAL_SECTION_DEBUG critsect_debug = - { - 0, 0, &SHELL32_ChangenotifyCS, - { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, - 0, 0, { (DWORD_PTR)(__FILE__ ": SHELL32_ChangenotifyCS") } - }; - CRITICAL_SECTION SHELL32_ChangenotifyCS = { &critsect_debug, -1, 0, 0, 0, 0 }; + extern CRITICAL_SECTION SHELL32_ChangenotifyCS; + CRITICAL_SECTION_DEBUG critsect_debug = + { + 0, 0, &SHELL32_ChangenotifyCS, + { &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList }, + 0, 0, { (DWORD_PTR)(__FILE__ ": SHELL32_ChangenotifyCS") } + }; + CRITICAL_SECTION SHELL32_ChangenotifyCS = { &critsect_debug, -1, 0, 0, 0, 0 }; } typedef SHChangeNotifyEntry *LPNOTIFYREGISTER; @@ -40,16 +40,16 @@ typedef SHChangeNotifyEntry *LPNOTIFYREGISTER; /* internal list of notification clients (internal) */ typedef struct _NOTIFICATIONLIST { - struct _NOTIFICATIONLIST *next; - struct _NOTIFICATIONLIST *prev; - HWND hwnd; /* window to notify */ - DWORD uMsg; /* message to send */ - LPNOTIFYREGISTER apidl; /* array of entries to watch*/ - UINT cidl; /* number of pidls in array */ - LONG wEventMask; /* subscribed events */ - LONG wSignalledEvent; /* event that occurred */ - DWORD dwFlags; /* client flags */ - LPCITEMIDLIST pidlSignaled; /*pidl of the path that caused the signal*/ + struct _NOTIFICATIONLIST *next; + struct _NOTIFICATIONLIST *prev; + HWND hwnd; /* window to notify */ + DWORD uMsg; /* message to send */ + LPNOTIFYREGISTER apidl; /* array of entries to watch*/ + UINT cidl; /* number of pidls in array */ + LONG wEventMask; /* subscribed events */ + LONG wSignalledEvent; /* event that occurred */ + DWORD dwFlags; /* client flags */ + LPCITEMIDLIST pidlSignaled; /*pidl of the path that caused the signal*/ } NOTIFICATIONLIST, *LPNOTIFICATIONLIST; @@ -178,7 +178,7 @@ void FreeChangeNotifications(void) } /************************************************************************* - * SHChangeNotifyRegister [SHELL32.2] + * SHChangeNotifyRegister [SHELL32.2] * */ ULONG WINAPI @@ -196,7 +196,7 @@ SHChangeNotifyRegister( item = (NOTIFICATIONLIST *)SHAlloc(sizeof(NOTIFICATIONLIST)); TRACE("(%p,0x%08x,0x%08x,0x%08x,%d,%p) item=%p\n", - hwnd, fSources, wEventMask, uMsg, cItems, lpItems, item); + hwnd, fSources, wEventMask, uMsg, cItems, lpItems, item); item->next = NULL; item->prev = NULL; @@ -225,7 +225,7 @@ SHChangeNotifyRegister( } /************************************************************************* - * SHChangeNotifyDeregister [SHELL32.4] + * SHChangeNotifyDeregister [SHELL32.4] */ BOOL WINAPI SHChangeNotifyDeregister(ULONG hNotify) { @@ -245,10 +245,10 @@ BOOL WINAPI SHChangeNotifyDeregister(ULONG hNotify) } /************************************************************************* - * SHChangeNotifyUpdateEntryList [SHELL32.5] + * SHChangeNotifyUpdateEntryList [SHELL32.5] */ EXTERN_C BOOL WINAPI SHChangeNotifyUpdateEntryList(DWORD unknown1, DWORD unknown2, - DWORD unknown3, DWORD unknown4) + DWORD unknown3, DWORD unknown4) { FIXME("(0x%08x, 0x%08x, 0x%08x, 0x%08x)\n", unknown1, unknown2, unknown3, unknown4); @@ -269,7 +269,7 @@ static BOOL should_notify( LPCITEMIDLIST changed, LPCITEMIDLIST watched, BOOL su } /************************************************************************* - * SHChangeNotify [SHELL32.@] + * SHChangeNotify [SHELL32.@] */ void WINAPI SHChangeNotify(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID dwItem2) { @@ -403,7 +403,7 @@ void WINAPI SHChangeNotify(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID } /************************************************************************* - * NTSHChangeNotifyRegister [SHELL32.640] + * NTSHChangeNotifyRegister [SHELL32.640] * NOTES * Idlist is an array of structures and Count specifies how many items in the array. * count should always be one when calling SHChangeNotifyRegister, or @@ -422,13 +422,13 @@ EXTERN_C ULONG WINAPI NTSHChangeNotifyRegister( } /************************************************************************* - * SHChangeNotification_Lock [SHELL32.644] + * SHChangeNotification_Lock [SHELL32.644] */ HANDLE WINAPI SHChangeNotification_Lock( - HANDLE hChange, - DWORD dwProcessId, - LPITEMIDLIST **lppidls, - LPLONG lpwEventId) + HANDLE hChange, + DWORD dwProcessId, + LPITEMIDLIST **lppidls, + LPLONG lpwEventId) { DWORD i; LPNOTIFICATIONLIST node; @@ -457,7 +457,7 @@ HANDLE WINAPI SHChangeNotification_Lock( } /************************************************************************* - * SHChangeNotification_Unlock [SHELL32.645] + * SHChangeNotification_Unlock [SHELL32.645] */ BOOL WINAPI SHChangeNotification_Unlock ( HANDLE hLock) { @@ -466,7 +466,7 @@ BOOL WINAPI SHChangeNotification_Unlock ( HANDLE hLock) } /************************************************************************* - * NTSHChangeNotifyDeregister [SHELL32.641] + * NTSHChangeNotifyDeregister [SHELL32.641] */ EXTERN_C DWORD WINAPI NTSHChangeNotifyDeregister(ULONG x1) { diff --git a/dll/win32/shell32/clipboard.cpp b/dll/win32/shell32/clipboard.cpp index a2b7510c1f4..b4a6943bf17 100644 --- a/dll/win32/shell32/clipboard.cpp +++ b/dll/win32/shell32/clipboard.cpp @@ -1,7 +1,7 @@ /* - * clipboard helper functions + * clipboard helper functions * - * Copyright 2000 Juergen Schmied + * Copyright 2000 Juergen Schmied * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -25,13 +25,13 @@ * * - a right mousebutton-copy sets the following formats: * classic: - * Shell IDList Array - * Preferred Drop Effect - * Shell Object Offsets - * HDROP - * FileName + * Shell IDList Array + * Preferred Drop Effect + * Shell Object Offsets + * HDROP + * FileName * ole: - * OlePrivateData (ClipboardDataObjectInterface) + * OlePrivateData (ClipboardDataObjectInterface) * */ @@ -46,195 +46,195 @@ WINE_DEFAULT_DEBUG_CHANNEL(shell); */ HGLOBAL RenderHDROP(LPITEMIDLIST pidlRoot, LPITEMIDLIST * apidl, UINT cidl) { - UINT i; - int size = 0; - WCHAR wszFileName[MAX_PATH]; - HGLOBAL hGlobal = NULL; - DROPFILES *pDropFiles; - int offset; - LPITEMIDLIST *pidls; + UINT i; + int size = 0; + WCHAR wszFileName[MAX_PATH]; + HGLOBAL hGlobal = NULL; + DROPFILES *pDropFiles; + int offset; + LPITEMIDLIST *pidls; - TRACE("(%p,%p,%u)\n", pidlRoot, apidl, cidl); + TRACE("(%p,%p,%u)\n", pidlRoot, apidl, cidl); - pidls = (LPITEMIDLIST *)HeapAlloc(GetProcessHeap(), 0, cidl * sizeof(*pidls)); - if (!pidls) - goto cleanup; + pidls = (LPITEMIDLIST *)HeapAlloc(GetProcessHeap(), 0, cidl * sizeof(*pidls)); + if (!pidls) + goto cleanup; - /* get the size needed */ - size = sizeof(DROPFILES); + /* get the size needed */ + size = sizeof(DROPFILES); - for (i=0; ipFiles = offset * sizeof(WCHAR); pDropFiles->fWide = TRUE; - for (i=0; icidl = cidl; + /* fill the structure */ + hGlobal = GlobalAlloc(GHND|GMEM_SHARE, size); + if(!hGlobal) return hGlobal; + pcida = (LPIDA)GlobalLock (hGlobal); + pcida->cidl = cidl; - /* root pidl */ - offset = sizeof(CIDA) + sizeof (UINT)*(cidl); - pcida->aoffset[0] = offset; /* first element */ - sizePidl = ILGetSize (pidlRoot); - memcpy(((LPBYTE)pcida)+offset, pidlRoot, sizePidl); - offset += sizePidl; + /* root pidl */ + offset = sizeof(CIDA) + sizeof (UINT)*(cidl); + pcida->aoffset[0] = offset; /* first element */ + sizePidl = ILGetSize (pidlRoot); + memcpy(((LPBYTE)pcida)+offset, pidlRoot, sizePidl); + offset += sizePidl; - for(i=0; iaoffset[i+1] = offset; - sizePidl = ILGetSize(apidl[i]); - memcpy(((LPBYTE)pcida)+offset, apidl[i], sizePidl); - offset += sizePidl; - } + for(i=0; iaoffset[i+1] = offset; + sizePidl = ILGetSize(apidl[i]); + memcpy(((LPBYTE)pcida)+offset, apidl[i], sizePidl); + offset += sizePidl; + } - GlobalUnlock(hGlobal); - return hGlobal; + GlobalUnlock(hGlobal); + return hGlobal; } HGLOBAL RenderSHELLIDLISTOFFSET (LPITEMIDLIST pidlRoot, LPITEMIDLIST * apidl, UINT cidl) { - FIXME("\n"); - return 0; + FIXME("\n"); + return 0; } HGLOBAL RenderFILECONTENTS (LPITEMIDLIST pidlRoot, LPITEMIDLIST * apidl, UINT cidl) { - FIXME("\n"); - return 0; + FIXME("\n"); + return 0; } HGLOBAL RenderFILEDESCRIPTOR (LPITEMIDLIST pidlRoot, LPITEMIDLIST * apidl, UINT cidl) { - FIXME("\n"); - return 0; + FIXME("\n"); + return 0; } HGLOBAL RenderFILENAMEA (LPITEMIDLIST pidlRoot, LPITEMIDLIST * apidl, UINT cidl) { - int size = 0; - char szTemp[MAX_PATH], *szFileName; - LPITEMIDLIST pidl; - HGLOBAL hGlobal; - BOOL bSuccess; + int size = 0; + char szTemp[MAX_PATH], *szFileName; + LPITEMIDLIST pidl; + HGLOBAL hGlobal; + BOOL bSuccess; - TRACE("(%p,%p,%u)\n", pidlRoot, apidl, cidl); + TRACE("(%p,%p,%u)\n", pidlRoot, apidl, cidl); - /* get path of combined pidl */ - pidl = ILCombine(pidlRoot, apidl[0]); - if (!pidl) - return 0; + /* get path of combined pidl */ + pidl = ILCombine(pidlRoot, apidl[0]); + if (!pidl) + return 0; - bSuccess = SHGetPathFromIDListA(pidl, szTemp); - SHFree(pidl); - if (!bSuccess) - return 0; + bSuccess = SHGetPathFromIDListA(pidl, szTemp); + SHFree(pidl); + if (!bSuccess) + return 0; - size = strlen(szTemp) + 1; + size = strlen(szTemp) + 1; - /* fill the structure */ - hGlobal = GlobalAlloc(GHND|GMEM_SHARE, size); - if(!hGlobal) return hGlobal; - szFileName = (char *)GlobalLock(hGlobal); - memcpy(szFileName, szTemp, size); - GlobalUnlock(hGlobal); + /* fill the structure */ + hGlobal = GlobalAlloc(GHND|GMEM_SHARE, size); + if(!hGlobal) return hGlobal; + szFileName = (char *)GlobalLock(hGlobal); + memcpy(szFileName, szTemp, size); + GlobalUnlock(hGlobal); - return hGlobal; + return hGlobal; } HGLOBAL RenderFILENAMEW (LPITEMIDLIST pidlRoot, LPITEMIDLIST * apidl, UINT cidl) { - int size = 0; - WCHAR szTemp[MAX_PATH], *szFileName; - LPITEMIDLIST pidl; - HGLOBAL hGlobal; - BOOL bSuccess; + int size = 0; + WCHAR szTemp[MAX_PATH], *szFileName; + LPITEMIDLIST pidl; + HGLOBAL hGlobal; + BOOL bSuccess; - TRACE("(%p,%p,%u)\n", pidlRoot, apidl, cidl); + TRACE("(%p,%p,%u)\n", pidlRoot, apidl, cidl); - /* get path of combined pidl */ - pidl = ILCombine(pidlRoot, apidl[0]); - if (!pidl) - return 0; + /* get path of combined pidl */ + pidl = ILCombine(pidlRoot, apidl[0]); + if (!pidl) + return 0; - bSuccess = SHGetPathFromIDListW(pidl, szTemp); - SHFree(pidl); - if (!bSuccess) - return 0; + bSuccess = SHGetPathFromIDListW(pidl, szTemp); + SHFree(pidl); + if (!bSuccess) + return 0; - size = (wcslen(szTemp)+1) * sizeof(WCHAR); + size = (wcslen(szTemp)+1) * sizeof(WCHAR); - /* fill the structure */ - hGlobal = GlobalAlloc(GHND|GMEM_SHARE, size); - if(!hGlobal) return hGlobal; - szFileName = (WCHAR *)GlobalLock(hGlobal); - memcpy(szFileName, szTemp, size); - GlobalUnlock(hGlobal); + /* fill the structure */ + hGlobal = GlobalAlloc(GHND|GMEM_SHARE, size); + if(!hGlobal) return hGlobal; + szFileName = (WCHAR *)GlobalLock(hGlobal); + memcpy(szFileName, szTemp, size); + GlobalUnlock(hGlobal); - return hGlobal; + return hGlobal; } HGLOBAL RenderPREFEREDDROPEFFECT (DWORD dwFlags) { - DWORD * pdwFlag; - HGLOBAL hGlobal; + DWORD * pdwFlag; + HGLOBAL hGlobal; - TRACE("(0x%08x)\n", dwFlags); + TRACE("(0x%08x)\n", dwFlags); - hGlobal = GlobalAlloc(GHND|GMEM_SHARE, sizeof(DWORD)); - if(!hGlobal) return hGlobal; + hGlobal = GlobalAlloc(GHND|GMEM_SHARE, sizeof(DWORD)); + if(!hGlobal) return hGlobal; pdwFlag = (DWORD*)GlobalLock(hGlobal); - *pdwFlag = dwFlags; - GlobalUnlock(hGlobal); - return hGlobal; + *pdwFlag = dwFlags; + GlobalUnlock(hGlobal); + return hGlobal; } diff --git a/dll/win32/shell32/control.cpp b/dll/win32/shell32/control.cpp index 9b4b74a868b..811258e877a 100644 --- a/dll/win32/shell32/control.cpp +++ b/dll/win32/shell32/control.cpp @@ -22,10 +22,10 @@ WINE_DEFAULT_DEBUG_CHANNEL(shlctrl); -CPlApplet* Control_UnloadApplet(CPlApplet* applet) +CPlApplet* Control_UnloadApplet(CPlApplet* applet) { - unsigned i; - CPlApplet* next; + unsigned i; + CPlApplet* next; for (i = 0; i < applet->count; i++) { if (!applet->info[i].dwSize) continue; @@ -38,11 +38,11 @@ CPlApplet* Control_UnloadApplet(CPlApplet* applet) return next; } -CPlApplet* Control_LoadApplet(HWND hWnd, LPCWSTR cmd, CPanel* panel) +CPlApplet* Control_LoadApplet(HWND hWnd, LPCWSTR cmd, CPanel* panel) { - CPlApplet* applet; - unsigned i; - CPLINFO info; + CPlApplet* applet; + unsigned i; + CPLINFO info; NEWCPLINFOW newinfo; if (!(applet = (CPlApplet *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*applet)))) @@ -52,62 +52,62 @@ CPlApplet* Control_LoadApplet(HWND hWnd, LPCWSTR cmd, CPanel* panel) if (!(applet->hModule = LoadLibraryW(cmd))) { WARN("Cannot load control panel applet %s\n", debugstr_w(cmd)); - goto theError; + goto theError; } if (!(applet->proc = (APPLET_PROC)GetProcAddress(applet->hModule, "CPlApplet"))) { WARN("Not a valid control panel applet %s\n", debugstr_w(cmd)); - goto theError; + goto theError; } if (!applet->proc(hWnd, CPL_INIT, 0L, 0L)) { WARN("Init of applet has failed\n"); - goto theError; + goto theError; } if ((applet->count = applet->proc(hWnd, CPL_GETCOUNT, 0L, 0L)) == 0) { WARN("No subprogram in applet\n"); - goto theError; + goto theError; } applet = (CPlApplet *)HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, applet, - sizeof(*applet) + (applet->count - 1) * sizeof(NEWCPLINFOW)); + sizeof(*applet) + (applet->count - 1) * sizeof(NEWCPLINFOW)); for (i = 0; i < applet->count; i++) { ZeroMemory(&newinfo, sizeof(newinfo)); newinfo.dwSize = sizeof(NEWCPLINFOW); applet->info[i].dwSize = sizeof(NEWCPLINFOW); /* proc is supposed to return a null value upon success for - * CPL_INQUIRE and CPL_NEWINQUIRE - * However, real drivers don't seem to behave like this - * So, use introspection rather than return value - */ + * CPL_INQUIRE and CPL_NEWINQUIRE + * However, real drivers don't seem to behave like this + * So, use introspection rather than return value + */ applet->proc(hWnd, CPL_NEWINQUIRE, i, (LPARAM)&newinfo); if (newinfo.hIcon == 0) { - applet->proc(hWnd, CPL_INQUIRE, i, (LPARAM)&info); - if (info.idIcon == 0 || info.idName == 0) { - WARN("Couldn't get info from sp %u\n", i); - applet->info[i].dwSize = 0; - } else { - /* convert the old data into the new structure */ - applet->info[i].dwFlags = 0; - applet->info[i].dwHelpContext = 0; - applet->info[i].lData = info.lData; - applet->info[i].hIcon = LoadIconW(applet->hModule, - MAKEINTRESOURCEW(info.idIcon)); - LoadStringW(applet->hModule, info.idName, - applet->info[i].szName, sizeof(applet->info[i].szName) / sizeof(WCHAR)); - LoadStringW(applet->hModule, info.idInfo, - applet->info[i].szInfo, sizeof(applet->info[i].szInfo) / sizeof(WCHAR)); - applet->info[i].szHelpFile[0] = '\0'; - } + applet->proc(hWnd, CPL_INQUIRE, i, (LPARAM)&info); + if (info.idIcon == 0 || info.idName == 0) { + WARN("Couldn't get info from sp %u\n", i); + applet->info[i].dwSize = 0; + } else { + /* convert the old data into the new structure */ + applet->info[i].dwFlags = 0; + applet->info[i].dwHelpContext = 0; + applet->info[i].lData = info.lData; + applet->info[i].hIcon = LoadIconW(applet->hModule, + MAKEINTRESOURCEW(info.idIcon)); + LoadStringW(applet->hModule, info.idName, + applet->info[i].szName, sizeof(applet->info[i].szName) / sizeof(WCHAR)); + LoadStringW(applet->hModule, info.idInfo, + applet->info[i].szInfo, sizeof(applet->info[i].szInfo) / sizeof(WCHAR)); + applet->info[i].szHelpFile[0] = '\0'; + } } else { CopyMemory(&applet->info[i], &newinfo, newinfo.dwSize); - if (newinfo.dwSize != sizeof(NEWCPLINFOW)) + if (newinfo.dwSize != sizeof(NEWCPLINFOW)) { - applet->info[i].dwSize = sizeof(NEWCPLINFOW); - lstrcpyW(applet->info[i].szName, newinfo.szName); - lstrcpyW(applet->info[i].szInfo, newinfo.szInfo); - lstrcpyW(applet->info[i].szHelpFile, newinfo.szHelpFile); + applet->info[i].dwSize = sizeof(NEWCPLINFOW); + lstrcpyW(applet->info[i].szName, newinfo.szName); + lstrcpyW(applet->info[i].szInfo, newinfo.szInfo); + lstrcpyW(applet->info[i].szHelpFile, newinfo.szHelpFile); } } } @@ -124,74 +124,74 @@ CPlApplet* Control_LoadApplet(HWND hWnd, LPCWSTR cmd, CPanel* panel) static void Control_WndProc_Create(HWND hWnd, const CREATESTRUCTW* cs) { - CPanel* panel = (CPanel*)cs->lpCreateParams; + CPanel* panel = (CPanel*)cs->lpCreateParams; SetWindowLongPtrW(hWnd, 0, (LONG_PTR)panel); panel->status = 0; panel->hWnd = hWnd; } -#define XICON 32 -#define XSTEP 128 -#define YICON 32 -#define YSTEP 64 +#define XICON 32 +#define XSTEP 128 +#define YICON 32 +#define YSTEP 64 -static BOOL Control_Localize(const CPanel* panel, int cx, int cy, - CPlApplet** papplet, unsigned* psp) +static BOOL Control_Localize(const CPanel* panel, int cx, int cy, + CPlApplet** papplet, unsigned* psp) { - unsigned int i; - int x = (XSTEP-XICON)/2, y = 0; - CPlApplet* applet; - RECT rc; + unsigned int i; + int x = (XSTEP-XICON)/2, y = 0; + CPlApplet* applet; + RECT rc; GetClientRect(panel->hWnd, &rc); for (applet = panel->first; applet; applet = applet->next) { for (i = 0; i < applet->count; i++) { - if (!applet->info[i].dwSize) continue; - if (x + XSTEP >= rc.right - rc.left) { - x = (XSTEP-XICON)/2; - y += YSTEP; - } - if (cx >= x && cx < x + XICON && cy >= y && cy < y + YSTEP) { - *papplet = applet; - *psp = i; - return TRUE; - } - x += XSTEP; - } + if (!applet->info[i].dwSize) continue; + if (x + XSTEP >= rc.right - rc.left) { + x = (XSTEP-XICON)/2; + y += YSTEP; + } + if (cx >= x && cx < x + XICON && cy >= y && cy < y + YSTEP) { + *papplet = applet; + *psp = i; + return TRUE; + } + x += XSTEP; + } } return FALSE; } static LRESULT Control_WndProc_Paint(const CPanel* panel, WPARAM wParam) { - HDC hdc; - PAINTSTRUCT ps; - RECT rc, txtRect; - unsigned int i; - int x = 0, y = 0; - CPlApplet* applet; - HGDIOBJ hOldFont; + HDC hdc; + PAINTSTRUCT ps; + RECT rc, txtRect; + unsigned int i; + int x = 0, y = 0; + CPlApplet* applet; + HGDIOBJ hOldFont; hdc = (wParam) ? (HDC)wParam : BeginPaint(panel->hWnd, &ps); hOldFont = SelectObject(hdc, GetStockObject(ANSI_VAR_FONT)); GetClientRect(panel->hWnd, &rc); for (applet = panel->first; applet; applet = applet->next) { for (i = 0; i < applet->count; i++) { - if (x + XSTEP >= rc.right - rc.left) { - x = 0; - y += YSTEP; - } - if (!applet->info[i].dwSize) continue; - DrawIcon(hdc, x + (XSTEP-XICON)/2, y, applet->info[i].hIcon); - txtRect.left = x; - txtRect.right = x + XSTEP; - txtRect.top = y + YICON; - txtRect.bottom = y + YSTEP; - DrawTextW(hdc, applet->info[i].szName, -1, &txtRect, - DT_CENTER | DT_VCENTER); - x += XSTEP; - } + if (x + XSTEP >= rc.right - rc.left) { + x = 0; + y += YSTEP; + } + if (!applet->info[i].dwSize) continue; + DrawIcon(hdc, x + (XSTEP-XICON)/2, y, applet->info[i].hIcon); + txtRect.left = x; + txtRect.right = x + XSTEP; + txtRect.top = y + YICON; + txtRect.bottom = y + YSTEP; + DrawTextW(hdc, applet->info[i].szName, -1, &txtRect, + DT_CENTER | DT_VCENTER); + x += XSTEP; + } } SelectObject(hdc, hOldFont); if (!wParam) EndPaint(panel->hWnd, &ps); @@ -200,48 +200,48 @@ static LRESULT Control_WndProc_Paint(const CPanel* panel, WPARAM wParam) static LRESULT Control_WndProc_LButton(CPanel* panel, LPARAM lParam, BOOL up) { - unsigned i; - CPlApplet* applet; + unsigned i; + CPlApplet* applet; if (Control_Localize(panel, (short)LOWORD(lParam), (short)HIWORD(lParam), &applet, &i)) { if (up) { - if (panel->clkApplet == applet && panel->clkSP == i) { - applet->proc(applet->hWnd, CPL_DBLCLK, i, applet->info[i].lData); - } + if (panel->clkApplet == applet && panel->clkSP == i) { + applet->proc(applet->hWnd, CPL_DBLCLK, i, applet->info[i].lData); + } } else { - panel->clkApplet = applet; - panel->clkSP = i; + panel->clkApplet = applet; + panel->clkSP = i; } } return 0; } -static LRESULT WINAPI Control_WndProc(HWND hWnd, UINT wMsg, - WPARAM lParam1, LPARAM lParam2) +static LRESULT WINAPI Control_WndProc(HWND hWnd, UINT wMsg, + WPARAM lParam1, LPARAM lParam2) { - CPanel* panel = (CPanel*)GetWindowLongPtrW(hWnd, 0); + CPanel* panel = (CPanel*)GetWindowLongPtrW(hWnd, 0); if (panel || wMsg == WM_CREATE) { switch (wMsg) { case WM_CREATE: - Control_WndProc_Create(hWnd, (CREATESTRUCTW*)lParam2); - return 0; + Control_WndProc_Create(hWnd, (CREATESTRUCTW*)lParam2); + return 0; case WM_DESTROY: { - CPlApplet* applet = panel->first; - while (applet) - applet = Control_UnloadApplet(applet); + CPlApplet* applet = panel->first; + while (applet) + applet = Control_UnloadApplet(applet); } PostQuitMessage(0); - break; + break; case WM_PAINT: - return Control_WndProc_Paint(panel, lParam1); + return Control_WndProc_Paint(panel, lParam1); case WM_LBUTTONUP: - return Control_WndProc_LButton(panel, lParam2, TRUE); + return Control_WndProc_LButton(panel, lParam2, TRUE); case WM_LBUTTONDOWN: - return Control_WndProc_LButton(panel, lParam2, FALSE); + return Control_WndProc_LButton(panel, lParam2, FALSE); /* EPP case WM_COMMAND: */ -/* EPP return Control_WndProc_Command(mwi, lParam1, lParam2); */ +/* EPP return Control_WndProc_Command(mwi, lParam1, lParam2); */ } } @@ -250,8 +250,8 @@ static LRESULT WINAPI Control_WndProc(HWND hWnd, UINT wMsg, static void Control_DoInterface(CPanel* panel, HWND hWnd, HINSTANCE hInst) { - WNDCLASSW wc; - MSG msg; + WNDCLASSW wc; + MSG msg; const WCHAR* appName = L"ReactOS Control Panel"; wc.style = CS_HREDRAW|CS_VREDRAW; wc.lpfnWndProc = Control_WndProc; @@ -267,16 +267,16 @@ static void Control_DoInterface(CPanel* panel, HWND hWnd, HINSTANCE hInst) if (!RegisterClassW(&wc)) return; CreateWindowExW(0, wc.lpszClassName, appName, - WS_OVERLAPPEDWINDOW | WS_VISIBLE, - CW_USEDEFAULT, CW_USEDEFAULT, - CW_USEDEFAULT, CW_USEDEFAULT, - hWnd, NULL, hInst, panel); + WS_OVERLAPPEDWINDOW | WS_VISIBLE, + CW_USEDEFAULT, CW_USEDEFAULT, + CW_USEDEFAULT, CW_USEDEFAULT, + hWnd, NULL, hInst, panel); if (!panel->hWnd) return; if (!panel->first) { - /* FIXME appName & message should be localized */ - MessageBoxW(panel->hWnd, L"Cannot load any applets", appName, MB_OK); - return; + /* FIXME appName & message should be localized */ + MessageBoxW(panel->hWnd, L"Cannot load any applets", appName, MB_OK); + return; } while (GetMessageW(&msg, panel->hWnd, 0, 0)) { @@ -287,9 +287,9 @@ static void Control_DoInterface(CPanel* panel, HWND hWnd, HINSTANCE hInst) static void Control_DoWindow(CPanel* panel, HWND hWnd, HINSTANCE hInst) { - HANDLE h; - WIN32_FIND_DATAW fd; - WCHAR buffer[MAX_PATH]; + HANDLE h; + WIN32_FIND_DATAW fd; + WCHAR buffer[MAX_PATH]; static const WCHAR wszAllCpl[] = {'*','.','c','p','l',0}; WCHAR *p; @@ -300,35 +300,35 @@ static void Control_DoWindow(CPanel* panel, HWND hWnd, HINSTANCE hInst) if ((h = FindFirstFileW(buffer, &fd)) != INVALID_HANDLE_VALUE) { do { - wcscpy(p, fd.cFileName); - Control_LoadApplet(hWnd, buffer, panel); - } while (FindNextFileW(h, &fd)); - FindClose(h); + wcscpy(p, fd.cFileName); + Control_LoadApplet(hWnd, buffer, panel); + } while (FindNextFileW(h, &fd)); + FindClose(h); } Control_DoInterface(panel, hWnd, hInst); } -static void Control_DoLaunch(CPanel* panel, HWND hWnd, LPCWSTR wszCmd) +static void Control_DoLaunch(CPanel* panel, HWND hWnd, LPCWSTR wszCmd) /* forms to parse: - * foo.cpl,@sp,str - * foo.cpl,@sp - * foo.cpl,,str - * foo.cpl @sp - * foo.cpl str + * foo.cpl,@sp,str + * foo.cpl,@sp + * foo.cpl,,str + * foo.cpl @sp + * foo.cpl str * "a path\foo.cpl" */ { - LPWSTR buffer; - LPWSTR beg = NULL; - LPWSTR end; - WCHAR ch; + LPWSTR buffer; + LPWSTR beg = NULL; + LPWSTR end; + WCHAR ch; LPCWSTR ptr, ptr2; WCHAR szName[MAX_PATH]; - unsigned sp = 0; - LPWSTR extraPmts = NULL; + unsigned sp = 0; + LPWSTR extraPmts = NULL; int quoted = 0; - BOOL spSet = FALSE; + BOOL spSet = FALSE; HANDLE hMutex; UINT Length; @@ -352,7 +352,7 @@ static void Control_DoLaunch(CPanel* panel, HWND hWnd, LPCWSTR wszCmd) szName[Length] = L'\0'; hMutex = CreateMutexW(NULL, TRUE, szName); - if ((!hMutex) || (GetLastError() == ERROR_ALREADY_EXISTS)) + if ((!hMutex) || (GetLastError() == ERROR_ALREADY_EXISTS)) return; buffer = (LPWSTR)HeapAlloc(GetProcessHeap(), 0, (wcslen(wszCmd) + 1) * sizeof(*wszCmd)); if (!buffer) @@ -362,32 +362,32 @@ static void Control_DoLaunch(CPanel* panel, HWND hWnd, LPCWSTR wszCmd) } end = wcscpy(buffer, wszCmd); for (;;) { - ch = *end; + ch = *end; if (ch == '"') quoted = !quoted; - if (!quoted && (ch == ' ' || ch == ',' || ch == '\0')) { - *end = '\0'; - if (beg) { - if (*beg == '@') { - sp = atoiW(beg + 1); - spSet = TRUE; - } else if (*beg == '\0') { - sp = 0; - spSet = TRUE; - } else { - extraPmts = beg; - } - } - if (ch == '\0') break; - beg = end + 1; - if (ch == ' ') while (end[1] == ' ') end++; - } - end++; + if (!quoted && (ch == ' ' || ch == ',' || ch == '\0')) { + *end = '\0'; + if (beg) { + if (*beg == '@') { + sp = atoiW(beg + 1); + spSet = TRUE; + } else if (*beg == '\0') { + sp = 0; + spSet = TRUE; + } else { + extraPmts = beg; + } + } + if (ch == '\0') break; + beg = end + 1; + if (ch == ' ') while (end[1] == ' ') end++; + } + end++; } while ((ptr = StrChrW(buffer, '"'))) - memmove((LPVOID)ptr, ptr+1, wcslen(ptr)*sizeof(WCHAR)); + memmove((LPVOID)ptr, ptr+1, wcslen(ptr)*sizeof(WCHAR)); while ((ptr = StrChrW(extraPmts, '"'))) - memmove((LPVOID)ptr, ptr+1, wcslen(ptr)*sizeof(WCHAR)); + memmove((LPVOID)ptr, ptr+1, wcslen(ptr)*sizeof(WCHAR)); TRACE("cmd %s, extra %s, sp %d\n", debugstr_w(buffer), debugstr_w(extraPmts), sp); @@ -398,8 +398,8 @@ static void Control_DoLaunch(CPanel* panel, HWND hWnd, LPCWSTR wszCmd) assert(applet && applet->next == NULL); if (sp >= applet->count) { - WARN("Out of bounds (%u >= %u), setting to 0\n", sp, applet->count); - sp = 0; + WARN("Out of bounds (%u >= %u), setting to 0\n", sp, applet->count); + sp = 0; } if ((extraPmts) && extraPmts[0] &&(!spSet)) @@ -422,21 +422,21 @@ static void Control_DoLaunch(CPanel* panel, HWND hWnd, LPCWSTR wszCmd) } Control_UnloadApplet(applet); } - ReleaseMutex(hMutex); - CloseHandle(hMutex); + ReleaseMutex(hMutex); + CloseHandle(hMutex); HeapFree(GetProcessHeap(), 0, buffer); } /************************************************************************* - * Control_RunDLLW [SHELL32.@] + * Control_RunDLLW [SHELL32.@] * */ EXTERN_C void WINAPI Control_RunDLLW(HWND hWnd, HINSTANCE hInst, LPCWSTR cmd, DWORD nCmdShow) { - CPanel panel; + CPanel panel; TRACE("(%p, %p, %s, 0x%08x)\n", - hWnd, hInst, debugstr_w(cmd), nCmdShow); + hWnd, hInst, debugstr_w(cmd), nCmdShow); memset(&panel, 0, sizeof(panel)); @@ -448,7 +448,7 @@ EXTERN_C void WINAPI Control_RunDLLW(HWND hWnd, HINSTANCE hInst, LPCWSTR cmd, DW } /************************************************************************* - * Control_RunDLLA [SHELL32.@] + * Control_RunDLLA [SHELL32.@] * */ EXTERN_C void WINAPI Control_RunDLLA(HWND hWnd, HINSTANCE hInst, LPCSTR cmd, DWORD nCmdShow) @@ -463,7 +463,7 @@ EXTERN_C void WINAPI Control_RunDLLA(HWND hWnd, HINSTANCE hInst, LPCSTR cmd, DWO } /************************************************************************* - * Control_FillCache_RunDLLW [SHELL32.@] + * Control_FillCache_RunDLLW [SHELL32.@] * */ EXTERN_C HRESULT WINAPI Control_FillCache_RunDLLW(HWND hWnd, HANDLE hModule, DWORD w, DWORD x) @@ -473,7 +473,7 @@ EXTERN_C HRESULT WINAPI Control_FillCache_RunDLLW(HWND hWnd, HANDLE hModule, DWO } /************************************************************************* - * Control_FillCache_RunDLLA [SHELL32.@] + * Control_FillCache_RunDLLA [SHELL32.@] * */ EXTERN_C HRESULT WINAPI Control_FillCache_RunDLLA(HWND hWnd, HANDLE hModule, DWORD w, DWORD x) @@ -483,7 +483,7 @@ EXTERN_C HRESULT WINAPI Control_FillCache_RunDLLA(HWND hWnd, HANDLE hModule, DWO /************************************************************************* - * RunDLL_CallEntry16 [SHELL32.122] + * RunDLL_CallEntry16 [SHELL32.122] * the name is probably wrong */ EXTERN_C void WINAPI RunDLL_CallEntry16( DWORD proc, HWND hwnd, HINSTANCE inst, @@ -511,7 +511,7 @@ EXTERN_C void WINAPI RunDLL_CallEntry16( DWORD proc, HWND hwnd, HINSTANCE inst, } /************************************************************************* - * CallCPLEntry16 [SHELL32.166] + * CallCPLEntry16 [SHELL32.166] * * called by desk.cpl on "Advanced" with: * hMod("DeskCp16.Dll"), pFunc("CplApplet"), 0, 1, 0xc, 0 diff --git a/dll/win32/shell32/dataobject.cpp b/dll/win32/shell32/dataobject.cpp index ec483981d38..19368707ffb 100644 --- a/dll/win32/shell32/dataobject.cpp +++ b/dll/win32/shell32/dataobject.cpp @@ -1,9 +1,9 @@ /* - * IEnumFORMATETC, IDataObject + * IEnumFORMATETC, IDataObject * * selecting and droping objects within the shell and/or common dialogs * - * Copyright 1998, 1999 + * Copyright 1998, 1999 * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -29,34 +29,34 @@ WINE_DEFAULT_DEBUG_CHANNEL(shell); */ class IEnumFORMATETCImpl : - public CComObjectRootEx, - public IEnumFORMATETC + public CComObjectRootEx, + public IEnumFORMATETC { private: - UINT posFmt; - UINT countFmt; - LPFORMATETC pFmt; + UINT posFmt; + UINT countFmt; + LPFORMATETC pFmt; public: - IEnumFORMATETCImpl(); - ~IEnumFORMATETCImpl(); - HRESULT WINAPI Initialize(UINT cfmt, const FORMATETC afmt[]); + IEnumFORMATETCImpl(); + ~IEnumFORMATETCImpl(); + HRESULT WINAPI Initialize(UINT cfmt, const FORMATETC afmt[]); - // ***************** - virtual HRESULT WINAPI Next(ULONG celt, FORMATETC *rgelt, ULONG *pceltFethed); - virtual HRESULT WINAPI Skip(ULONG celt); - virtual HRESULT WINAPI Reset(); - virtual HRESULT WINAPI Clone(LPENUMFORMATETC* ppenum); + // ***************** + virtual HRESULT WINAPI Next(ULONG celt, FORMATETC *rgelt, ULONG *pceltFethed); + virtual HRESULT WINAPI Skip(ULONG celt); + virtual HRESULT WINAPI Reset(); + virtual HRESULT WINAPI Clone(LPENUMFORMATETC* ppenum); BEGIN_COM_MAP(IEnumFORMATETCImpl) - COM_INTERFACE_ENTRY_IID(IID_IEnumFORMATETC, IEnumFORMATETC) + COM_INTERFACE_ENTRY_IID(IID_IEnumFORMATETC, IEnumFORMATETC) END_COM_MAP() }; IEnumFORMATETCImpl::IEnumFORMATETCImpl() { - posFmt = 0; - countFmt = 0; - pFmt = NULL; + posFmt = 0; + countFmt = 0; + pFmt = NULL; } IEnumFORMATETCImpl::~IEnumFORMATETCImpl() @@ -65,50 +65,50 @@ IEnumFORMATETCImpl::~IEnumFORMATETCImpl() HRESULT WINAPI IEnumFORMATETCImpl::Initialize(UINT cfmt, const FORMATETC afmt[]) { - DWORD size; + DWORD size; - size = cfmt * sizeof(FORMATETC); - countFmt = cfmt; - pFmt = (LPFORMATETC)SHAlloc(size); - if (pFmt == NULL) - return E_OUTOFMEMORY; + size = cfmt * sizeof(FORMATETC); + countFmt = cfmt; + pFmt = (LPFORMATETC)SHAlloc(size); + if (pFmt == NULL) + return E_OUTOFMEMORY; - memcpy(pFmt, afmt, size); - return S_OK; + memcpy(pFmt, afmt, size); + return S_OK; } HRESULT WINAPI IEnumFORMATETCImpl::Next(ULONG celt, FORMATETC *rgelt, ULONG *pceltFethed) { - UINT i; + UINT i; - TRACE("(%p)->(%u,%p)\n", this, celt, rgelt); + TRACE("(%p)->(%u,%p)\n", this, celt, rgelt); - if(!pFmt)return S_FALSE; - if(!rgelt) return E_INVALIDARG; - if (pceltFethed) *pceltFethed = 0; + if(!pFmt)return S_FALSE; + if(!rgelt) return E_INVALIDARG; + if (pceltFethed) *pceltFethed = 0; - for(i = 0; posFmt < countFmt && celt > i; i++) + for(i = 0; posFmt < countFmt && celt > i; i++) { - *rgelt++ = pFmt[posFmt++]; - } + *rgelt++ = pFmt[posFmt++]; + } - if (pceltFethed) *pceltFethed = i; + if (pceltFethed) *pceltFethed = i; - return ((i == celt) ? S_OK : S_FALSE); + return ((i == celt) ? S_OK : S_FALSE); } HRESULT WINAPI IEnumFORMATETCImpl::Skip(ULONG celt) { - TRACE("(%p)->(num=%u)\n", this, celt); + TRACE("(%p)->(num=%u)\n", this, celt); - if (posFmt + celt >= countFmt) return S_FALSE; - posFmt += celt; - return S_OK; + if (posFmt + celt >= countFmt) return S_FALSE; + posFmt += celt; + return S_OK; } HRESULT WINAPI IEnumFORMATETCImpl::Reset() { - TRACE("(%p)->()\n", this); + TRACE("(%p)->()\n", this); posFmt = 0; return S_OK; @@ -116,41 +116,41 @@ HRESULT WINAPI IEnumFORMATETCImpl::Reset() HRESULT WINAPI IEnumFORMATETCImpl::Clone(LPENUMFORMATETC* ppenum) { - HRESULT hResult; + HRESULT hResult; - TRACE("(%p)->(ppenum=%p)\n", this, ppenum); + TRACE("(%p)->(ppenum=%p)\n", this, ppenum); - if (!ppenum) return E_INVALIDARG; - hResult = IEnumFORMATETC_Constructor(countFmt, pFmt, ppenum); - if (FAILED (hResult)) - return hResult; - return (*ppenum)->Skip(posFmt); + if (!ppenum) return E_INVALIDARG; + hResult = IEnumFORMATETC_Constructor(countFmt, pFmt, ppenum); + if (FAILED (hResult)) + return hResult; + return (*ppenum)->Skip(posFmt); } HRESULT IEnumFORMATETC_Constructor(UINT cfmt, const FORMATETC afmt[], IEnumFORMATETC **enumerator) { - CComObject *theEnumerator; - CComPtr result; - HRESULT hResult; + CComObject *theEnumerator; + CComPtr result; + HRESULT hResult; - if (enumerator == NULL) - return E_POINTER; - *enumerator = NULL; - ATLTRY (theEnumerator = new CComObject); - if (theEnumerator == NULL) - return E_OUTOFMEMORY; - hResult = theEnumerator->QueryInterface (IID_IEnumFORMATETC, (void **)&result); - if (FAILED (hResult)) - { - delete theEnumerator; - return hResult; - } - hResult = theEnumerator->Initialize (cfmt, afmt); - if (FAILED (hResult)) - return hResult; - *enumerator = result.Detach (); + if (enumerator == NULL) + return E_POINTER; + *enumerator = NULL; + ATLTRY (theEnumerator = new CComObject); + if (theEnumerator == NULL) + return E_OUTOFMEMORY; + hResult = theEnumerator->QueryInterface (IID_IEnumFORMATETC, (void **)&result); + if (FAILED (hResult)) + { + delete theEnumerator; + return hResult; + } + hResult = theEnumerator->Initialize (cfmt, afmt); + if (FAILED (hResult)) + return hResult; + *enumerator = result.Detach (); TRACE("(%p)->(%u,%p)\n", *enumerator, cfmt, afmt); - return S_OK; + return S_OK; } @@ -162,72 +162,72 @@ HRESULT IEnumFORMATETC_Constructor(UINT cfmt, const FORMATETC afmt[], IEnumFORMA #define MAX_FORMATS 4 class IDataObjectImpl : - public CComObjectRootEx, - public IDataObject + public CComObjectRootEx, + public IDataObject { private: - LPITEMIDLIST pidl; - LPITEMIDLIST * apidl; - UINT cidl; + LPITEMIDLIST pidl; + LPITEMIDLIST * apidl; + UINT cidl; - FORMATETC pFormatEtc[MAX_FORMATS]; - UINT cfShellIDList; - UINT cfFileNameA; - UINT cfFileNameW; + FORMATETC pFormatEtc[MAX_FORMATS]; + UINT cfShellIDList; + UINT cfFileNameA; + UINT cfFileNameW; public: - IDataObjectImpl(); - ~IDataObjectImpl(); - HRESULT WINAPI Initialize(HWND hwndOwner, LPCITEMIDLIST pMyPidl, LPCITEMIDLIST * apidlx, UINT cidlx); + IDataObjectImpl(); + ~IDataObjectImpl(); + HRESULT WINAPI Initialize(HWND hwndOwner, LPCITEMIDLIST pMyPidl, LPCITEMIDLIST * apidlx, UINT cidlx); - /////////// - virtual HRESULT WINAPI GetData(LPFORMATETC pformatetcIn, STGMEDIUM *pmedium); - virtual HRESULT WINAPI GetDataHere(LPFORMATETC pformatetc, STGMEDIUM *pmedium); - virtual HRESULT WINAPI QueryGetData(LPFORMATETC pformatetc); - virtual HRESULT WINAPI GetCanonicalFormatEtc(LPFORMATETC pformatectIn, LPFORMATETC pformatetcOut); - virtual HRESULT WINAPI SetData(LPFORMATETC pformatetc, STGMEDIUM *pmedium, BOOL fRelease); - virtual HRESULT WINAPI EnumFormatEtc(DWORD dwDirection, IEnumFORMATETC **ppenumFormatEtc); - virtual HRESULT WINAPI DAdvise(FORMATETC *pformatetc, DWORD advf, IAdviseSink *pAdvSink, DWORD *pdwConnection); - virtual HRESULT WINAPI DUnadvise(DWORD dwConnection); - virtual HRESULT WINAPI EnumDAdvise(IEnumSTATDATA **ppenumAdvise); + /////////// + virtual HRESULT WINAPI GetData(LPFORMATETC pformatetcIn, STGMEDIUM *pmedium); + virtual HRESULT WINAPI GetDataHere(LPFORMATETC pformatetc, STGMEDIUM *pmedium); + virtual HRESULT WINAPI QueryGetData(LPFORMATETC pformatetc); + virtual HRESULT WINAPI GetCanonicalFormatEtc(LPFORMATETC pformatectIn, LPFORMATETC pformatetcOut); + virtual HRESULT WINAPI SetData(LPFORMATETC pformatetc, STGMEDIUM *pmedium, BOOL fRelease); + virtual HRESULT WINAPI EnumFormatEtc(DWORD dwDirection, IEnumFORMATETC **ppenumFormatEtc); + virtual HRESULT WINAPI DAdvise(FORMATETC *pformatetc, DWORD advf, IAdviseSink *pAdvSink, DWORD *pdwConnection); + virtual HRESULT WINAPI DUnadvise(DWORD dwConnection); + virtual HRESULT WINAPI EnumDAdvise(IEnumSTATDATA **ppenumAdvise); BEGIN_COM_MAP(IDataObjectImpl) - COM_INTERFACE_ENTRY_IID(IID_IDataObject, IDataObject) + COM_INTERFACE_ENTRY_IID(IID_IDataObject, IDataObject) END_COM_MAP() }; IDataObjectImpl::IDataObjectImpl() { - pidl = NULL; - apidl = NULL; - cidl = 0; - cfShellIDList = 0; - cfFileNameA = 0; - cfFileNameW = 0; + pidl = NULL; + apidl = NULL; + cidl = 0; + cfShellIDList = 0; + cfFileNameA = 0; + cfFileNameW = 0; } IDataObjectImpl::~IDataObjectImpl() { - TRACE(" destroying IDataObject(%p)\n",this); - _ILFreeaPidl(apidl, cidl); - ILFree(pidl); + TRACE(" destroying IDataObject(%p)\n",this); + _ILFreeaPidl(apidl, cidl); + ILFree(pidl); } HRESULT WINAPI IDataObjectImpl::Initialize(HWND hwndOwner, LPCITEMIDLIST pMyPidl, LPCITEMIDLIST * apidlx, UINT cidlx) { - pidl = ILClone(pMyPidl); - apidl = _ILCopyaPidl(apidlx, cidlx); - if (pidl == NULL || apidl == NULL) - return E_OUTOFMEMORY; - cidl = cidlx; + pidl = ILClone(pMyPidl); + apidl = _ILCopyaPidl(apidlx, cidlx); + if (pidl == NULL || apidl == NULL) + return E_OUTOFMEMORY; + cidl = cidlx; - cfShellIDList = RegisterClipboardFormatW(CFSTR_SHELLIDLIST); - cfFileNameA = RegisterClipboardFormatA(CFSTR_FILENAMEA); - cfFileNameW = RegisterClipboardFormatW(CFSTR_FILENAMEW); - InitFormatEtc(pFormatEtc[0], cfShellIDList, TYMED_HGLOBAL); - InitFormatEtc(pFormatEtc[1], CF_HDROP, TYMED_HGLOBAL); - InitFormatEtc(pFormatEtc[2], cfFileNameA, TYMED_HGLOBAL); - InitFormatEtc(pFormatEtc[3], cfFileNameW, TYMED_HGLOBAL); - return S_OK; + cfShellIDList = RegisterClipboardFormatW(CFSTR_SHELLIDLIST); + cfFileNameA = RegisterClipboardFormatA(CFSTR_FILENAMEA); + cfFileNameW = RegisterClipboardFormatW(CFSTR_FILENAMEW); + InitFormatEtc(pFormatEtc[0], cfShellIDList, TYMED_HGLOBAL); + InitFormatEtc(pFormatEtc[1], CF_HDROP, TYMED_HGLOBAL); + InitFormatEtc(pFormatEtc[2], cfFileNameA, TYMED_HGLOBAL); + InitFormatEtc(pFormatEtc[3], cfFileNameW, TYMED_HGLOBAL); + return S_OK; } /************************************************************************** @@ -235,116 +235,116 @@ HRESULT WINAPI IDataObjectImpl::Initialize(HWND hwndOwner, LPCITEMIDLIST pMyPidl */ HRESULT WINAPI IDataObjectImpl::GetData(LPFORMATETC pformatetcIn, STGMEDIUM *pmedium) { - char szTemp[256]; + char szTemp[256]; - szTemp[0] = 0; - GetClipboardFormatNameA (pformatetcIn->cfFormat, szTemp, 256); - TRACE("(%p)->(%p %p format=%s)\n", this, pformatetcIn, pmedium, szTemp); + szTemp[0] = 0; + GetClipboardFormatNameA (pformatetcIn->cfFormat, szTemp, 256); + TRACE("(%p)->(%p %p format=%s)\n", this, pformatetcIn, pmedium, szTemp); - if (pformatetcIn->cfFormat == cfShellIDList) - { - if (cidl < 1) return(E_UNEXPECTED); - pmedium->hGlobal = RenderSHELLIDLIST(pidl, apidl, cidl); - } - else if (pformatetcIn->cfFormat == CF_HDROP) - { - if (cidl < 1) return(E_UNEXPECTED); - pmedium->hGlobal = RenderHDROP(pidl, apidl, cidl); - } - else if (pformatetcIn->cfFormat == cfFileNameA) - { - if (cidl < 1) return(E_UNEXPECTED); - pmedium->hGlobal = RenderFILENAMEA(pidl, apidl, cidl); - } - else if (pformatetcIn->cfFormat == cfFileNameW) - { - if (cidl < 1) return(E_UNEXPECTED); - pmedium->hGlobal = RenderFILENAMEW(pidl, apidl, cidl); - } - else - { - FIXME("-- expected clipformat not implemented\n"); - return (E_INVALIDARG); - } - if (pmedium->hGlobal) - { - pmedium->tymed = TYMED_HGLOBAL; - pmedium->pUnkForRelease = NULL; - return S_OK; - } - return E_OUTOFMEMORY; + if (pformatetcIn->cfFormat == cfShellIDList) + { + if (cidl < 1) return(E_UNEXPECTED); + pmedium->hGlobal = RenderSHELLIDLIST(pidl, apidl, cidl); + } + else if (pformatetcIn->cfFormat == CF_HDROP) + { + if (cidl < 1) return(E_UNEXPECTED); + pmedium->hGlobal = RenderHDROP(pidl, apidl, cidl); + } + else if (pformatetcIn->cfFormat == cfFileNameA) + { + if (cidl < 1) return(E_UNEXPECTED); + pmedium->hGlobal = RenderFILENAMEA(pidl, apidl, cidl); + } + else if (pformatetcIn->cfFormat == cfFileNameW) + { + if (cidl < 1) return(E_UNEXPECTED); + pmedium->hGlobal = RenderFILENAMEW(pidl, apidl, cidl); + } + else + { + FIXME("-- expected clipformat not implemented\n"); + return (E_INVALIDARG); + } + if (pmedium->hGlobal) + { + pmedium->tymed = TYMED_HGLOBAL; + pmedium->pUnkForRelease = NULL; + return S_OK; + } + return E_OUTOFMEMORY; } HRESULT WINAPI IDataObjectImpl::GetDataHere(LPFORMATETC pformatetc, STGMEDIUM *pmedium) { - FIXME("(%p)->()\n", this); - return E_NOTIMPL; + FIXME("(%p)->()\n", this); + return E_NOTIMPL; } HRESULT WINAPI IDataObjectImpl::QueryGetData(LPFORMATETC pformatetc) { - UINT i; + UINT i; - TRACE("(%p)->(fmt=0x%08x tym=0x%08x)\n", this, pformatetc->cfFormat, pformatetc->tymed); + TRACE("(%p)->(fmt=0x%08x tym=0x%08x)\n", this, pformatetc->cfFormat, pformatetc->tymed); - if(!(DVASPECT_CONTENT & pformatetc->dwAspect)) - return DV_E_DVASPECT; + if(!(DVASPECT_CONTENT & pformatetc->dwAspect)) + return DV_E_DVASPECT; - /* check our formats table what we have */ - for (i=0; icfFormat) - && (pFormatEtc[i].tymed == pformatetc->tymed)) - { - return S_OK; - } - } + /* check our formats table what we have */ + for (i=0; icfFormat) + && (pFormatEtc[i].tymed == pformatetc->tymed)) + { + return S_OK; + } + } - return DV_E_TYMED; + return DV_E_TYMED; } HRESULT WINAPI IDataObjectImpl::GetCanonicalFormatEtc(LPFORMATETC pformatectIn, LPFORMATETC pformatetcOut) { - FIXME("(%p)->()\n", this); - return E_NOTIMPL; + FIXME("(%p)->()\n", this); + return E_NOTIMPL; } HRESULT WINAPI IDataObjectImpl::SetData(LPFORMATETC pformatetc, STGMEDIUM *pmedium, BOOL fRelease) { - FIXME("(%p)->()\n", this); - return E_NOTIMPL; + FIXME("(%p)->()\n", this); + return E_NOTIMPL; } HRESULT WINAPI IDataObjectImpl::EnumFormatEtc(DWORD dwDirection, IEnumFORMATETC **ppenumFormatEtc) { - TRACE("(%p)->()\n", this); - *ppenumFormatEtc = NULL; + TRACE("(%p)->()\n", this); + *ppenumFormatEtc = NULL; - /* only get data */ - if (DATADIR_GET == dwDirection) - { - return IEnumFORMATETC_Constructor(MAX_FORMATS, pFormatEtc, ppenumFormatEtc); - } + /* only get data */ + if (DATADIR_GET == dwDirection) + { + return IEnumFORMATETC_Constructor(MAX_FORMATS, pFormatEtc, ppenumFormatEtc); + } - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT WINAPI IDataObjectImpl::DAdvise(FORMATETC *pformatetc, DWORD advf, IAdviseSink *pAdvSink, DWORD *pdwConnection) { - FIXME("(%p)->()\n", this); - return E_NOTIMPL; + FIXME("(%p)->()\n", this); + return E_NOTIMPL; } HRESULT WINAPI IDataObjectImpl::DUnadvise(DWORD dwConnection) { - FIXME("(%p)->()\n", this); - return E_NOTIMPL; + FIXME("(%p)->()\n", this); + return E_NOTIMPL; } HRESULT WINAPI IDataObjectImpl::EnumDAdvise(IEnumSTATDATA **ppenumAdvise) { - FIXME("(%p)->()\n", this); - return E_NOTIMPL; + FIXME("(%p)->()\n", this); + return E_NOTIMPL; } /************************************************************************** @@ -352,32 +352,32 @@ HRESULT WINAPI IDataObjectImpl::EnumDAdvise(IEnumSTATDATA **ppenumAdvise) */ HRESULT IDataObject_Constructor(HWND hwndOwner, LPCITEMIDLIST pMyPidl, LPCITEMIDLIST * apidl, UINT cidl, IDataObject **dataObject) { - CComObject *theDataObject; - CComPtr result; - HRESULT hResult; + CComObject *theDataObject; + CComPtr result; + HRESULT hResult; - if (dataObject == NULL) - return E_POINTER; - *dataObject = NULL; - ATLTRY (theDataObject = new CComObject); - if (theDataObject == NULL) - return E_OUTOFMEMORY; - hResult = theDataObject->QueryInterface (IID_IDataObject, (void **)&result); - if (FAILED (hResult)) - { - delete theDataObject; - return hResult; - } - hResult = theDataObject->Initialize (hwndOwner, pMyPidl, apidl, cidl); - if (FAILED (hResult)) - return hResult; - *dataObject = result.Detach (); - TRACE("(%p)->(apidl=%p cidl=%u)\n", *dataObject, apidl, cidl); - return S_OK; + if (dataObject == NULL) + return E_POINTER; + *dataObject = NULL; + ATLTRY (theDataObject = new CComObject); + if (theDataObject == NULL) + return E_OUTOFMEMORY; + hResult = theDataObject->QueryInterface (IID_IDataObject, (void **)&result); + if (FAILED (hResult)) + { + delete theDataObject; + return hResult; + } + hResult = theDataObject->Initialize (hwndOwner, pMyPidl, apidl, cidl); + if (FAILED (hResult)) + return hResult; + *dataObject = result.Detach (); + TRACE("(%p)->(apidl=%p cidl=%u)\n", *dataObject, apidl, cidl); + return S_OK; } /************************************************************************* - * SHCreateDataObject [SHELL32.@] + * SHCreateDataObject [SHELL32.@] * */ diff --git a/dll/win32/shell32/desktop.cpp b/dll/win32/shell32/desktop.cpp index 9bdfceac09a..c5a6ec6d41f 100644 --- a/dll/win32/shell32/desktop.cpp +++ b/dll/win32/shell32/desktop.cpp @@ -32,10 +32,10 @@ static const WCHAR szProgmanWindowName[] = { }; class CDesktopBrowser : - public CComObjectRootEx, - public IShellBrowser, - public ICommDlgBrowser, - public IServiceProvider + public CComObjectRootEx, + public IShellBrowser, + public ICommDlgBrowser, + public IServiceProvider { public: DWORD Tag; @@ -43,26 +43,26 @@ private: HWND hWnd; HWND hWndShellView; HWND hWndDesktopListView; - CComPtr ShellDesk; - CComPtr DesktopView; + CComPtr ShellDesk; + CComPtr DesktopView; IShellBrowser *DefaultShellBrowser; LPITEMIDLIST pidlDesktopDirectory; LPITEMIDLIST pidlDesktop; public: - CDesktopBrowser(); - ~CDesktopBrowser(); - HRESULT Initialize(HWND hWndx, IShellDesktopTray *ShellDeskx); - HWND FindDesktopListView (); - BOOL CreateDeskWnd(); - HWND DesktopGetWindowControl(IN UINT id); - static LRESULT CALLBACK ProgmanWindowProc(IN HWND hwnd, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam); - static BOOL MessageLoop(); + CDesktopBrowser(); + ~CDesktopBrowser(); + HRESULT Initialize(HWND hWndx, IShellDesktopTray *ShellDeskx); + HWND FindDesktopListView (); + BOOL CreateDeskWnd(); + HWND DesktopGetWindowControl(IN UINT id); + static LRESULT CALLBACK ProgmanWindowProc(IN HWND hwnd, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam); + static BOOL MessageLoop(); - // *** IOleWindow methods *** - virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND *lphwnd); - virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode); + // *** IOleWindow methods *** + virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND *lphwnd); + virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode); - // *** IShellBrowser methods *** + // *** IShellBrowser methods *** virtual HRESULT STDMETHODCALLTYPE InsertMenusSB(HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths); virtual HRESULT STDMETHODCALLTYPE SetMenuSB(HMENU hmenuShared, HOLEMENU holemenuRes, HWND hwndActiveObject); virtual HRESULT STDMETHODCALLTYPE RemoveMenusSB(HMENU hmenuShared); @@ -77,31 +77,31 @@ public: virtual HRESULT STDMETHODCALLTYPE OnViewWindowActive(struct IShellView *ppshv); virtual HRESULT STDMETHODCALLTYPE SetToolbarItems(LPTBBUTTON lpButtons, UINT nButtons, UINT uFlags); - // *** ICommDlgBrowser methods *** - virtual HRESULT STDMETHODCALLTYPE OnDefaultCommand (struct IShellView *ppshv); - virtual HRESULT STDMETHODCALLTYPE OnStateChange (struct IShellView *ppshv, ULONG uChange); - virtual HRESULT STDMETHODCALLTYPE IncludeObject (struct IShellView *ppshv, LPCITEMIDLIST pidl); + // *** ICommDlgBrowser methods *** + virtual HRESULT STDMETHODCALLTYPE OnDefaultCommand (struct IShellView *ppshv); + virtual HRESULT STDMETHODCALLTYPE OnStateChange (struct IShellView *ppshv, ULONG uChange); + virtual HRESULT STDMETHODCALLTYPE IncludeObject (struct IShellView *ppshv, LPCITEMIDLIST pidl); - // *** IServiceProvider methods *** - virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void **ppvObject); + // *** IServiceProvider methods *** + virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void **ppvObject); BEGIN_COM_MAP(CDesktopBrowser) - COM_INTERFACE_ENTRY_IID(IID_IOleWindow, IOleWindow) - COM_INTERFACE_ENTRY_IID(IID_IShellBrowser, IShellBrowser) - COM_INTERFACE_ENTRY_IID(IID_ICommDlgBrowser, ICommDlgBrowser) - COM_INTERFACE_ENTRY_IID(IID_IServiceProvider, IServiceProvider) + COM_INTERFACE_ENTRY_IID(IID_IOleWindow, IOleWindow) + COM_INTERFACE_ENTRY_IID(IID_IShellBrowser, IShellBrowser) + COM_INTERFACE_ENTRY_IID(IID_ICommDlgBrowser, ICommDlgBrowser) + COM_INTERFACE_ENTRY_IID(IID_IServiceProvider, IServiceProvider) END_COM_MAP() }; CDesktopBrowser::CDesktopBrowser() { - Tag = SHDESK_TAG; - hWnd = NULL; - hWndShellView = NULL; - hWndDesktopListView = NULL; - DefaultShellBrowser = NULL; - pidlDesktopDirectory = NULL; - pidlDesktop = NULL; + Tag = SHDESK_TAG; + hWnd = NULL; + hWndShellView = NULL; + hWndDesktopListView = NULL; + DefaultShellBrowser = NULL; + pidlDesktopDirectory = NULL; + pidlDesktop = NULL; } CDesktopBrowser::~CDesktopBrowser() @@ -130,9 +130,9 @@ CDesktopBrowser::~CDesktopBrowser() HRESULT CDesktopBrowser::Initialize(HWND hWndx, IShellDesktopTray *ShellDeskx) { - CComPtr psfDesktopFolder; - CSFV csfv; - HRESULT hRet; + CComPtr psfDesktopFolder; + CSFV csfv; + HRESULT hRet; hWnd = hWndx; ShellDesk = ShellDeskx; @@ -154,14 +154,14 @@ HRESULT CDesktopBrowser::Initialize(HWND hWndx, IShellDesktopTray *ShellDeskx) hRet = SHCreateShellFolderViewEx(&csfv, &DesktopView); - return hRet; + return hRet; } static CDesktopBrowser *SHDESK_Create(HWND hWnd, LPCREATESTRUCT lpCreateStruct) { - IShellDesktopTray *ShellDesk; - CComObject *pThis; - HRESULT hRet; + IShellDesktopTray *ShellDesk; + CComObject *pThis; + HRESULT hRet; ShellDesk = (IShellDesktopTray *)lpCreateStruct->lpCreateParams; if (ShellDesk == NULL) @@ -170,19 +170,19 @@ static CDesktopBrowser *SHDESK_Create(HWND hWnd, LPCREATESTRUCT lpCreateStruct) return NULL; } - pThis = new CComObject; - if (pThis == NULL) - return NULL; - pThis->AddRef(); + pThis = new CComObject; + if (pThis == NULL) + return NULL; + pThis->AddRef(); - hRet = pThis->Initialize(hWnd, ShellDesk); - if (FAILED(hRet)) - { - pThis->Release(); - return NULL; - } + hRet = pThis->Initialize(hWnd, ShellDesk); + if (FAILED(hRet)) + { + pThis->Release(); + return NULL; + } - return pThis; + return pThis; } HWND CDesktopBrowser::FindDesktopListView () @@ -302,7 +302,7 @@ HRESULT STDMETHODCALLTYPE CDesktopBrowser::GetControlWindow(UINT id, HWND *lphwn HRESULT STDMETHODCALLTYPE CDesktopBrowser::SendControlMsg(UINT id, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *pret) { - HWND hWnd; + HWND hWnd; if (pret == NULL) return E_POINTER; @@ -323,8 +323,8 @@ HRESULT STDMETHODCALLTYPE CDesktopBrowser::SendControlMsg(UINT id, UINT uMsg, WP HRESULT STDMETHODCALLTYPE CDesktopBrowser::QueryActiveShellView(IShellView **ppshv) { *ppshv = DesktopView; - if (DesktopView != NULL) - DesktopView->AddRef(); + if (DesktopView != NULL) + DesktopView->AddRef(); return S_OK; } @@ -486,7 +486,7 @@ RegisterProgmanWindowClass(VOID) WNDCLASSW wcProgman; wcProgman.style = CS_DBLCLKS; - wcProgman.lpfnWndProc = CDesktopBrowser::ProgmanWindowProc; + wcProgman.lpfnWndProc = CDesktopBrowser::ProgmanWindowProc; wcProgman.cbClsExtra = 0; wcProgman.cbWndExtra = sizeof(CDesktopBrowser *); wcProgman.hInstance = shell32_hInstance; @@ -501,7 +501,7 @@ RegisterProgmanWindowClass(VOID) /************************************************************************* - * SHCreateDesktop [SHELL32.200] + * SHCreateDesktop [SHELL32.200] * */ HANDLE WINAPI SHCreateDesktop(IShellDesktopTray *ShellDesk) @@ -544,7 +544,7 @@ HANDLE WINAPI SHCreateDesktop(IShellDesktopTray *ShellDesk) } /************************************************************************* - * SHCreateDesktop [SHELL32.201] + * SHCreateDesktop [SHELL32.201] * */ BOOL WINAPI SHDesktopMessageLoop(HANDLE hDesktop) diff --git a/dll/win32/shell32/dragdrophelper.cpp b/dll/win32/shell32/dragdrophelper.cpp index faf307d3b07..bb554416ad3 100644 --- a/dll/win32/shell32/dragdrophelper.cpp +++ b/dll/win32/shell32/dragdrophelper.cpp @@ -1,9 +1,9 @@ /* - * file system folder + * file system folder * - * Copyright 1997 Marcus Meissner - * Copyright 1998, 1999, 2002 Juergen Schmied - * Copyright 2009 Andrew Hill + * Copyright 1997 Marcus Meissner + * Copyright 1998, 1999, 2002 Juergen Schmied + * Copyright 2009 Andrew Hill * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/dll/win32/shell32/drive.cpp b/dll/win32/shell32/drive.cpp index 7c82a900855..3863c4b2923 100644 --- a/dll/win32/shell32/drive.cpp +++ b/dll/win32/shell32/drive.cpp @@ -34,50 +34,50 @@ typedef enum typedef BOOLEAN (NTAPI *INITIALIZE_FMIFS)( - IN PVOID hinstDll, - IN DWORD dwReason, - IN PVOID reserved + IN PVOID hinstDll, + IN DWORD dwReason, + IN PVOID reserved ); typedef BOOLEAN (NTAPI *QUERY_AVAILABLEFSFORMAT)( - IN DWORD Index, - IN OUT PWCHAR FileSystem, - OUT UCHAR* Major, - OUT UCHAR* Minor, - OUT BOOLEAN* LastestVersion + IN DWORD Index, + IN OUT PWCHAR FileSystem, + OUT UCHAR* Major, + OUT UCHAR* Minor, + OUT BOOLEAN* LastestVersion ); typedef BOOLEAN (NTAPI *ENABLEVOLUMECOMPRESSION)( - IN PWCHAR DriveRoot, - IN USHORT Compression + IN PWCHAR DriveRoot, + IN USHORT Compression ); typedef VOID (NTAPI *FORMAT_EX)( - IN PWCHAR DriveRoot, - IN FMIFS_MEDIA_FLAG MediaFlag, - IN PWCHAR Format, - IN PWCHAR Label, - IN BOOLEAN QuickFormat, - IN ULONG ClusterSize, - IN PFMIFSCALLBACK Callback + IN PWCHAR DriveRoot, + IN FMIFS_MEDIA_FLAG MediaFlag, + IN PWCHAR Format, + IN PWCHAR Label, + IN BOOLEAN QuickFormat, + IN ULONG ClusterSize, + IN PFMIFSCALLBACK Callback ); typedef VOID (NTAPI *CHKDSK)( - IN PWCHAR DriveRoot, - IN PWCHAR Format, - IN BOOLEAN CorrectErrors, - IN BOOLEAN Verbose, - IN BOOLEAN CheckOnlyIfDirty, - IN BOOLEAN ScanDrive, - IN PVOID Unused2, - IN PVOID Unused3, - IN PFMIFSCALLBACK Callback + IN PWCHAR DriveRoot, + IN PWCHAR Format, + IN BOOLEAN CorrectErrors, + IN BOOLEAN Verbose, + IN BOOLEAN CheckOnlyIfDirty, + IN BOOLEAN ScanDrive, + IN PVOID Unused2, + IN PVOID Unused3, + IN PFMIFSCALLBACK Callback ); @@ -163,9 +163,9 @@ BOOLEAN bChkdskSuccess = FALSE; BOOLEAN NTAPI ChkdskCallback( - IN CALLBACKCOMMAND Command, - IN ULONG SubAction, - IN PVOID ActionInfo) + IN CALLBACKCOMMAND Command, + IN ULONG SubAction, + IN PVOID ActionInfo) { PDWORD Progress; PBOOLEAN pSuccess; @@ -674,7 +674,7 @@ SH_ShowDriveProperties(WCHAR * drive, LPCITEMIDLIST pidlFolder, LPCITEMIDLIST * UINT i; WCHAR szName[MAX_PATH+6]; DWORD dwMaxComponent, dwFileSysFlags; - CComPtr pDataObj; + CComPtr pDataObj; UINT DriveType; ZeroMemory(&psh, sizeof(PROPSHEETHEADERW)); @@ -1018,9 +1018,9 @@ BOOLEAN bSuccess = FALSE; BOOLEAN NTAPI FormatExCB( - IN CALLBACKCOMMAND Command, - IN ULONG SubAction, - IN PVOID ActionInfo) + IN CALLBACKCOMMAND Command, + IN ULONG SubAction, + IN PVOID ActionInfo) { PDWORD Progress; PBOOLEAN pSuccess; @@ -1057,7 +1057,7 @@ FormatExCB( VOID FormatDrive(HWND hwndDlg, PFORMAT_DRIVE_CONTEXT pContext) { - WCHAR szDrive[4] = { L'C', ':', '\\', 0 }; + WCHAR szDrive[4] = { L'C', ':', '\\', 0 }; WCHAR szFileSys[40] = {0}; WCHAR szLabel[40] = {0}; INT iSelIndex; diff --git a/dll/win32/shell32/extracticon.cpp b/dll/win32/shell32/extracticon.cpp index a304487224c..4a4e5ccaf18 100644 --- a/dll/win32/shell32/extracticon.cpp +++ b/dll/win32/shell32/extracticon.cpp @@ -18,11 +18,11 @@ struct IconLocation }; class IconExtraction : - public CComObjectRootEx, - public IDefaultExtractIconInit, - public IExtractIconW, - public IExtractIconA, - public IPersistFile + public CComObjectRootEx, + public IDefaultExtractIconInit, + public IExtractIconW, + public IExtractIconA, + public IPersistFile { private: UINT flags; @@ -31,41 +31,41 @@ private: struct IconLocation openIcon; struct IconLocation shortcutIcon; public: - IconExtraction(); - ~IconExtraction(); + IconExtraction(); + ~IconExtraction(); - // IDefaultExtractIconInit - virtual HRESULT STDMETHODCALLTYPE SetDefaultIcon(LPCWSTR pszFile, int iIcon); - virtual HRESULT STDMETHODCALLTYPE SetFlags(UINT uFlags); - virtual HRESULT STDMETHODCALLTYPE SetKey(HKEY hkey); - virtual HRESULT STDMETHODCALLTYPE SetNormalIcon(LPCWSTR pszFile, int iIcon); - virtual HRESULT STDMETHODCALLTYPE SetOpenIcon(LPCWSTR pszFile, int iIcon); - virtual HRESULT STDMETHODCALLTYPE SetShortcutIcon(LPCWSTR pszFile, int iIcon); + // IDefaultExtractIconInit + virtual HRESULT STDMETHODCALLTYPE SetDefaultIcon(LPCWSTR pszFile, int iIcon); + virtual HRESULT STDMETHODCALLTYPE SetFlags(UINT uFlags); + virtual HRESULT STDMETHODCALLTYPE SetKey(HKEY hkey); + virtual HRESULT STDMETHODCALLTYPE SetNormalIcon(LPCWSTR pszFile, int iIcon); + virtual HRESULT STDMETHODCALLTYPE SetOpenIcon(LPCWSTR pszFile, int iIcon); + virtual HRESULT STDMETHODCALLTYPE SetShortcutIcon(LPCWSTR pszFile, int iIcon); - // IExtractIconW - virtual HRESULT STDMETHODCALLTYPE GetIconLocation(UINT uFlags, LPWSTR szIconFile, UINT cchMax, int *piIndex, UINT *pwFlags); - virtual HRESULT STDMETHODCALLTYPE Extract(LPCWSTR pszFile, UINT nIconIndex, HICON *phiconLarge, HICON *phiconSmall, UINT nIconSize); + // IExtractIconW + virtual HRESULT STDMETHODCALLTYPE GetIconLocation(UINT uFlags, LPWSTR szIconFile, UINT cchMax, int *piIndex, UINT *pwFlags); + virtual HRESULT STDMETHODCALLTYPE Extract(LPCWSTR pszFile, UINT nIconIndex, HICON *phiconLarge, HICON *phiconSmall, UINT nIconSize); - // IExtractIconA - virtual HRESULT STDMETHODCALLTYPE GetIconLocation(UINT uFlags, LPSTR szIconFile, UINT cchMax, int *piIndex, UINT *pwFlags); - virtual HRESULT STDMETHODCALLTYPE Extract(LPCSTR pszFile, UINT nIconIndex, HICON *phiconLarge, HICON *phiconSmall, UINT nIconSize); + // IExtractIconA + virtual HRESULT STDMETHODCALLTYPE GetIconLocation(UINT uFlags, LPSTR szIconFile, UINT cchMax, int *piIndex, UINT *pwFlags); + virtual HRESULT STDMETHODCALLTYPE Extract(LPCSTR pszFile, UINT nIconIndex, HICON *phiconLarge, HICON *phiconSmall, UINT nIconSize); - // IPersist - virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID); - virtual HRESULT STDMETHODCALLTYPE IsDirty(); + // IPersist + virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID); + virtual HRESULT STDMETHODCALLTYPE IsDirty(); - // IPersistFile - virtual HRESULT STDMETHODCALLTYPE Load(LPCOLESTR pszFileName, DWORD dwMode); - virtual HRESULT STDMETHODCALLTYPE Save(LPCOLESTR pszFileName, BOOL fRemember); - virtual HRESULT STDMETHODCALLTYPE SaveCompleted(LPCOLESTR pszFileName); - virtual HRESULT STDMETHODCALLTYPE GetCurFile(LPOLESTR *ppszFileName); + // IPersistFile + virtual HRESULT STDMETHODCALLTYPE Load(LPCOLESTR pszFileName, DWORD dwMode); + virtual HRESULT STDMETHODCALLTYPE Save(LPCOLESTR pszFileName, BOOL fRemember); + virtual HRESULT STDMETHODCALLTYPE SaveCompleted(LPCOLESTR pszFileName); + virtual HRESULT STDMETHODCALLTYPE GetCurFile(LPOLESTR *ppszFileName); BEGIN_COM_MAP(IconExtraction) - COM_INTERFACE_ENTRY_IID(IID_IDefaultExtractIconInit, IDefaultExtractIconInit) - COM_INTERFACE_ENTRY_IID(IID_IExtractIconW, IExtractIconW) - COM_INTERFACE_ENTRY_IID(IID_IExtractIconA, IExtractIconA) - COM_INTERFACE_ENTRY_IID(IID_IPersist, IPersist) - COM_INTERFACE_ENTRY_IID(IID_IPersistFile, IPersistFile) + COM_INTERFACE_ENTRY_IID(IID_IDefaultExtractIconInit, IDefaultExtractIconInit) + COM_INTERFACE_ENTRY_IID(IID_IExtractIconW, IExtractIconW) + COM_INTERFACE_ENTRY_IID(IID_IExtractIconA, IExtractIconA) + COM_INTERFACE_ENTRY_IID(IID_IPersist, IPersist) + COM_INTERFACE_ENTRY_IID(IID_IPersistFile, IPersistFile) END_COM_MAP() }; @@ -87,11 +87,11 @@ VOID DuplicateString( IconExtraction::IconExtraction() { - flags = 0; - memset(&defaultIcon, 0, sizeof(defaultIcon)); - memset(&normalIcon, 0, sizeof(normalIcon)); - memset(&openIcon, 0, sizeof(openIcon)); - memset(&shortcutIcon, 0, sizeof(shortcutIcon)); + flags = 0; + memset(&defaultIcon, 0, sizeof(defaultIcon)); + memset(&normalIcon, 0, sizeof(normalIcon)); + memset(&openIcon, 0, sizeof(openIcon)); + memset(&shortcutIcon, 0, sizeof(shortcutIcon)); } IconExtraction::~IconExtraction() @@ -337,22 +337,22 @@ HRESULT STDMETHODCALLTYPE IconExtraction::GetCurFile( HRESULT WINAPI SHCreateDefaultExtractIcon(REFIID riid, void **ppv) { - CComObject *theExtractor; - CComPtr result; - HRESULT hResult; + CComObject *theExtractor; + CComPtr result; + HRESULT hResult; - if (ppv == NULL) - return E_POINTER; - *ppv = NULL; - ATLTRY (theExtractor = new CComObject); - if (theExtractor == NULL) - return E_OUTOFMEMORY; - hResult = theExtractor->QueryInterface (riid, (void **)&result); - if (FAILED (hResult)) - { - delete theExtractor; - return hResult; - } - *ppv = result.Detach (); - return S_OK; + if (ppv == NULL) + return E_POINTER; + *ppv = NULL; + ATLTRY (theExtractor = new CComObject); + if (theExtractor == NULL) + return E_OUTOFMEMORY; + hResult = theExtractor->QueryInterface (riid, (void **)&result); + if (FAILED (hResult)) + { + delete theExtractor; + return hResult; + } + *ppv = result.Detach (); + return S_OK; } diff --git a/dll/win32/shell32/folder_options.cpp b/dll/win32/shell32/folder_options.cpp index 1e91c30f2bd..f091877c1bd 100644 --- a/dll/win32/shell32/folder_options.cpp +++ b/dll/win32/shell32/folder_options.cpp @@ -1,5 +1,5 @@ /* - * Open With Context Menu extension + * Open With Context Menu extension * * Copyright 2007 Johannes Anderwald * @@ -50,8 +50,8 @@ typedef struct typedef struct { - LPCWSTR szKeyName; - UINT ResourceID; + LPCWSTR szKeyName; + UINT ResourceID; }FOLDER_VIEW_ENTRY, PFOLDER_VIEW_ENTRY; /* static FOLDER_VIEW_ENTRY s_Options[] = @@ -116,7 +116,7 @@ InitializeFolderOptionsListCtrl(HWND hwndDlg) WCHAR szName[50]; HWND hDlgCtrl; - hDlgCtrl = GetDlgItem(hwndDlg, 14003); + hDlgCtrl = GetDlgItem(hwndDlg, 14003); if (!LoadStringW(shell32_hInstance, IDS_COLUMN_EXTENSION, szName, sizeof(szName) / sizeof(WCHAR))) szName[0] = 0; @@ -589,7 +589,7 @@ CountFolderAndFiles(LPVOID lParam) pContext->cFiles++; pContext->bSize.u.LowPart += FindData.nFileSizeLow; pContext->bSize.u.HighPart += FindData.nFileSizeHigh; - } + } } else if (GetLastError() == ERROR_NO_MORE_FILES) { @@ -777,7 +777,7 @@ SH_ShowFolderProperties(LPWSTR pwszFolder, LPCITEMIDLIST pidlFolder, LPCITEMIDL WCHAR szName[MAX_PATH] = {0}; HPSXA hpsx = NULL; LPWSTR pFolderName; - CComPtr pDataObj; + CComPtr pDataObj; if (!PathIsDirectoryW(pwszFolder)) return FALSE; diff --git a/dll/win32/shell32/folders.cpp b/dll/win32/shell32/folders.cpp index 3783fe7c505..dc08d49a99d 100644 --- a/dll/win32/shell32/folders.cpp +++ b/dll/win32/shell32/folders.cpp @@ -1,6 +1,6 @@ /* - * Copyright 1997 Marcus Meissner - * Copyright 1998 Juergen Schmied + * Copyright 1997 Marcus Meissner + * Copyright 1998 Juergen Schmied * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -187,7 +187,7 @@ GetIconOverlay(LPCITEMIDLIST pidl, WCHAR * wTemp, int* pIndex) */ IExtractIconW* IExtractIconW_Constructor(LPCITEMIDLIST pidl) { - CComPtr initIcon; + CComPtr initIcon; IExtractIconW *extractIcon; GUID const * riid; int icon_idx; @@ -330,8 +330,8 @@ IExtractIconW* IExtractIconW_Constructor(LPCITEMIDLIST pidl) else if (!lstrcmpiA(sTemp, "lnkfile")) { /* extract icon from shell shortcut */ - CComPtr dsf; - CComPtr psl; + CComPtr dsf; + CComPtr psl; if (SUCCEEDED(SHGetDesktopFolder(&dsf))) { diff --git a/dll/win32/shell32/fprop.cpp b/dll/win32/shell32/fprop.cpp index 2bcd6f4c354..7eee167172a 100644 --- a/dll/win32/shell32/fprop.cpp +++ b/dll/win32/shell32/fprop.cpp @@ -388,7 +388,7 @@ SH_FileGeneralSetFileSizeTime(HWND hwndDlg, WCHAR *lpfilename, PULARGE_INTEGER l } if (SHFileGeneralGetFileTimeString(&accessed_time, resultstr)) - { + { hDlgCtrl = GetDlgItem(hwndDlg, 14019); SendMessageW(hDlgCtrl, WM_SETTEXT, (WPARAM)NULL, (LPARAM)resultstr); } @@ -844,7 +844,7 @@ SH_ShowPropertiesDialog(WCHAR *lpf, LPCITEMIDLIST pidlFolder, LPCITEMIDLIST *api WCHAR *pFileName; HPSXA hpsxa[3]; INT_PTR res; - CComPtr pDataObj; + CComPtr pDataObj; HRESULT hResult; TRACE("SH_ShowPropertiesDialog entered filename %s\n", debugstr_w(lpf)); diff --git a/dll/win32/shell32/iconcache.cpp b/dll/win32/shell32/iconcache.cpp index 6f2b22fe918..b4f0076faee 100644 --- a/dll/win32/shell32/iconcache.cpp +++ b/dll/win32/shell32/iconcache.cpp @@ -1,5 +1,5 @@ /* - * shell icon cache (SIC) + * shell icon cache (SIC) * * Copyright 1998, 1999 Juergen Schmied * @@ -28,14 +28,14 @@ WINE_DEFAULT_DEBUG_CHANNEL(shell); typedef struct { - LPWSTR sSourceFile; /* file (not path!) containing the icon */ - DWORD dwSourceIndex; /* index within the file, if it is a resoure ID it will be negated */ - DWORD dwListIndex; /* index within the iconlist */ - DWORD dwFlags; /* GIL_* flags */ - DWORD dwAccessTime; + LPWSTR sSourceFile; /* file (not path!) containing the icon */ + DWORD dwSourceIndex; /* index within the file, if it is a resoure ID it will be negated */ + DWORD dwListIndex; /* index within the iconlist */ + DWORD dwFlags; /* GIL_* flags */ + DWORD dwAccessTime; } SIC_ENTRY, * LPSIC_ENTRY; -static HDPA sic_hdpa = 0; +static HDPA sic_hdpa = 0; namespace { @@ -56,127 +56,127 @@ CRITICAL_SECTION SHELL32_SicCS = { &critsect_debug, -1, 0, 0, 0, 0 }; * Callback for DPA_Search */ static INT CALLBACK SIC_CompareEntries( LPVOID p1, LPVOID p2, LPARAM lparam) -{ LPSIC_ENTRY e1 = (LPSIC_ENTRY)p1, e2 = (LPSIC_ENTRY)p2; +{ LPSIC_ENTRY e1 = (LPSIC_ENTRY)p1, e2 = (LPSIC_ENTRY)p2; - TRACE("%p %p %8lx\n", p1, p2, lparam); + TRACE("%p %p %8lx\n", p1, p2, lparam); - /* Icons in the cache are keyed by the name of the file they are - * loaded from, their resource index and the fact if they have a shortcut - * icon overlay or not. - */ - if (e1->dwSourceIndex != e2->dwSourceIndex || /* first the faster one */ - (e1->dwFlags & GIL_FORSHORTCUT) != (e2->dwFlags & GIL_FORSHORTCUT)) - return 1; + /* Icons in the cache are keyed by the name of the file they are + * loaded from, their resource index and the fact if they have a shortcut + * icon overlay or not. + */ + if (e1->dwSourceIndex != e2->dwSourceIndex || /* first the faster one */ + (e1->dwFlags & GIL_FORSHORTCUT) != (e2->dwFlags & GIL_FORSHORTCUT)) + return 1; - if (wcsicmp(e1->sSourceFile,e2->sSourceFile)) - return 1; + if (wcsicmp(e1->sSourceFile,e2->sSourceFile)) + return 1; - return 0; + return 0; } /* declare SIC_LoadOverlayIcon() */ static int SIC_LoadOverlayIcon(int icon_idx); /***************************************************************************** - * SIC_OverlayShortcutImage [internal] + * SIC_OverlayShortcutImage [internal] * * NOTES * Creates a new icon as a copy of the passed-in icon, overlayed with a * shortcut image. */ static HICON SIC_OverlayShortcutImage(HICON SourceIcon, BOOL large) -{ ICONINFO SourceIconInfo, ShortcutIconInfo, TargetIconInfo; - HICON ShortcutIcon, TargetIcon; - BITMAP SourceBitmapInfo, ShortcutBitmapInfo; - HDC SourceDC = NULL, - ShortcutDC = NULL, - TargetDC = NULL, - ScreenDC = NULL; - HBITMAP OldSourceBitmap = NULL, - OldShortcutBitmap = NULL, - OldTargetBitmap = NULL; +{ ICONINFO SourceIconInfo, ShortcutIconInfo, TargetIconInfo; + HICON ShortcutIcon, TargetIcon; + BITMAP SourceBitmapInfo, ShortcutBitmapInfo; + HDC SourceDC = NULL, + ShortcutDC = NULL, + TargetDC = NULL, + ScreenDC = NULL; + HBITMAP OldSourceBitmap = NULL, + OldShortcutBitmap = NULL, + OldTargetBitmap = NULL; - static int s_imgListIdx = -1; + static int s_imgListIdx = -1; - /* Get information about the source icon and shortcut overlay */ - if (! GetIconInfo(SourceIcon, &SourceIconInfo) - || 0 == GetObjectW(SourceIconInfo.hbmColor, sizeof(BITMAP), &SourceBitmapInfo)) - { - return NULL; - } + /* Get information about the source icon and shortcut overlay */ + if (! GetIconInfo(SourceIcon, &SourceIconInfo) + || 0 == GetObjectW(SourceIconInfo.hbmColor, sizeof(BITMAP), &SourceBitmapInfo)) + { + return NULL; + } - /* search for the shortcut icon only once */ - if (s_imgListIdx == -1) - s_imgListIdx = SIC_LoadOverlayIcon(- IDI_SHELL_SHORTCUT); + /* search for the shortcut icon only once */ + if (s_imgListIdx == -1) + s_imgListIdx = SIC_LoadOverlayIcon(- IDI_SHELL_SHORTCUT); /* FIXME should use icon index 29 instead of the resource id, but not all icons are present yet so we can't use icon indices */ - if (s_imgListIdx != -1) - { - if (large) - ShortcutIcon = ImageList_GetIcon(ShellBigIconList, s_imgListIdx, ILD_TRANSPARENT); - else - ShortcutIcon = ImageList_GetIcon(ShellSmallIconList, s_imgListIdx, ILD_TRANSPARENT); - } else - ShortcutIcon = NULL; + if (s_imgListIdx != -1) + { + if (large) + ShortcutIcon = ImageList_GetIcon(ShellBigIconList, s_imgListIdx, ILD_TRANSPARENT); + else + ShortcutIcon = ImageList_GetIcon(ShellSmallIconList, s_imgListIdx, ILD_TRANSPARENT); + } else + ShortcutIcon = NULL; - if (NULL == ShortcutIcon - || ! GetIconInfo(ShortcutIcon, &ShortcutIconInfo) - || 0 == GetObjectW(ShortcutIconInfo.hbmColor, sizeof(BITMAP), &ShortcutBitmapInfo)) - { - return NULL; - } + if (NULL == ShortcutIcon + || ! GetIconInfo(ShortcutIcon, &ShortcutIconInfo) + || 0 == GetObjectW(ShortcutIconInfo.hbmColor, sizeof(BITMAP), &ShortcutBitmapInfo)) + { + return NULL; + } - TargetIconInfo = SourceIconInfo; - TargetIconInfo.hbmMask = NULL; - TargetIconInfo.hbmColor = NULL; + TargetIconInfo = SourceIconInfo; + TargetIconInfo.hbmMask = NULL; + TargetIconInfo.hbmColor = NULL; - /* Setup the source, shortcut and target masks */ - SourceDC = CreateCompatibleDC(NULL); - if (NULL == SourceDC) goto fail; - OldSourceBitmap = (HBITMAP)SelectObject(SourceDC, SourceIconInfo.hbmMask); - if (NULL == OldSourceBitmap) goto fail; + /* Setup the source, shortcut and target masks */ + SourceDC = CreateCompatibleDC(NULL); + if (NULL == SourceDC) goto fail; + OldSourceBitmap = (HBITMAP)SelectObject(SourceDC, SourceIconInfo.hbmMask); + if (NULL == OldSourceBitmap) goto fail; - ShortcutDC = CreateCompatibleDC(NULL); - if (NULL == ShortcutDC) goto fail; - OldShortcutBitmap = (HBITMAP)SelectObject(ShortcutDC, ShortcutIconInfo.hbmMask); - if (NULL == OldShortcutBitmap) goto fail; + ShortcutDC = CreateCompatibleDC(NULL); + if (NULL == ShortcutDC) goto fail; + OldShortcutBitmap = (HBITMAP)SelectObject(ShortcutDC, ShortcutIconInfo.hbmMask); + if (NULL == OldShortcutBitmap) goto fail; - TargetDC = CreateCompatibleDC(NULL); - if (NULL == TargetDC) goto fail; - TargetIconInfo.hbmMask = CreateCompatibleBitmap(TargetDC, SourceBitmapInfo.bmWidth, - SourceBitmapInfo.bmHeight); - if (NULL == TargetIconInfo.hbmMask) goto fail; - ScreenDC = GetDC(NULL); - if (NULL == ScreenDC) goto fail; - TargetIconInfo.hbmColor = CreateCompatibleBitmap(ScreenDC, SourceBitmapInfo.bmWidth, - SourceBitmapInfo.bmHeight); - ReleaseDC(NULL, ScreenDC); - if (NULL == TargetIconInfo.hbmColor) goto fail; - OldTargetBitmap = (HBITMAP)SelectObject(TargetDC, TargetIconInfo.hbmMask); - if (NULL == OldTargetBitmap) goto fail; + TargetDC = CreateCompatibleDC(NULL); + if (NULL == TargetDC) goto fail; + TargetIconInfo.hbmMask = CreateCompatibleBitmap(TargetDC, SourceBitmapInfo.bmWidth, + SourceBitmapInfo.bmHeight); + if (NULL == TargetIconInfo.hbmMask) goto fail; + ScreenDC = GetDC(NULL); + if (NULL == ScreenDC) goto fail; + TargetIconInfo.hbmColor = CreateCompatibleBitmap(ScreenDC, SourceBitmapInfo.bmWidth, + SourceBitmapInfo.bmHeight); + ReleaseDC(NULL, ScreenDC); + if (NULL == TargetIconInfo.hbmColor) goto fail; + OldTargetBitmap = (HBITMAP)SelectObject(TargetDC, TargetIconInfo.hbmMask); + if (NULL == OldTargetBitmap) goto fail; - /* Create the target mask by ANDing the source and shortcut masks */ - if (! BitBlt(TargetDC, 0, 0, SourceBitmapInfo.bmWidth, SourceBitmapInfo.bmHeight, - SourceDC, 0, 0, SRCCOPY) || - ! BitBlt(TargetDC, 0, SourceBitmapInfo.bmHeight - ShortcutBitmapInfo.bmHeight, - ShortcutBitmapInfo.bmWidth, ShortcutBitmapInfo.bmHeight, - ShortcutDC, 0, 0, SRCAND)) - { - goto fail; - } + /* Create the target mask by ANDing the source and shortcut masks */ + if (! BitBlt(TargetDC, 0, 0, SourceBitmapInfo.bmWidth, SourceBitmapInfo.bmHeight, + SourceDC, 0, 0, SRCCOPY) || + ! BitBlt(TargetDC, 0, SourceBitmapInfo.bmHeight - ShortcutBitmapInfo.bmHeight, + ShortcutBitmapInfo.bmWidth, ShortcutBitmapInfo.bmHeight, + ShortcutDC, 0, 0, SRCAND)) + { + goto fail; + } - /* Setup the source and target xor bitmap */ - if (NULL == SelectObject(SourceDC, SourceIconInfo.hbmColor) || - NULL == SelectObject(TargetDC, TargetIconInfo.hbmColor)) - { - goto fail; - } + /* Setup the source and target xor bitmap */ + if (NULL == SelectObject(SourceDC, SourceIconInfo.hbmColor) || + NULL == SelectObject(TargetDC, TargetIconInfo.hbmColor)) + { + goto fail; + } - /* Copy the source color bitmap to the target */ - if (! BitBlt(TargetDC, 0, 0, SourceBitmapInfo.bmWidth, SourceBitmapInfo.bmHeight, - SourceDC, 0, 0, SRCCOPY)) goto fail; + /* Copy the source color bitmap to the target */ + if (! BitBlt(TargetDC, 0, 0, SourceBitmapInfo.bmWidth, SourceBitmapInfo.bmHeight, + SourceDC, 0, 0, SRCCOPY)) goto fail; /* Copy the source xor bitmap to the target and clear out part of it by using the shortcut mask */ @@ -189,145 +189,145 @@ static HICON SIC_OverlayShortcutImage(HICON SourceIcon, BOOL large) goto fail; } - /* Clean up, we're not goto'ing to 'fail' after this so we can be lazy and not set - handles to NULL */ - SelectObject(TargetDC, OldTargetBitmap); - DeleteObject(TargetDC); - SelectObject(ShortcutDC, OldShortcutBitmap); - DeleteObject(ShortcutDC); - SelectObject(SourceDC, OldSourceBitmap); - DeleteObject(SourceDC); + /* Clean up, we're not goto'ing to 'fail' after this so we can be lazy and not set + handles to NULL */ + SelectObject(TargetDC, OldTargetBitmap); + DeleteObject(TargetDC); + SelectObject(ShortcutDC, OldShortcutBitmap); + DeleteObject(ShortcutDC); + SelectObject(SourceDC, OldSourceBitmap); + DeleteObject(SourceDC); - /* Create the icon using the bitmaps prepared earlier */ - TargetIcon = CreateIconIndirect(&TargetIconInfo); + /* Create the icon using the bitmaps prepared earlier */ + TargetIcon = CreateIconIndirect(&TargetIconInfo); - /* CreateIconIndirect copies the bitmaps, so we can release our bitmaps now */ - DeleteObject(TargetIconInfo.hbmColor); - DeleteObject(TargetIconInfo.hbmMask); + /* CreateIconIndirect copies the bitmaps, so we can release our bitmaps now */ + DeleteObject(TargetIconInfo.hbmColor); + DeleteObject(TargetIconInfo.hbmMask); - return TargetIcon; + return TargetIcon; fail: - /* Clean up scratch resources we created */ - if (NULL != OldTargetBitmap) SelectObject(TargetDC, OldTargetBitmap); - if (NULL != TargetIconInfo.hbmColor) DeleteObject(TargetIconInfo.hbmColor); - if (NULL != TargetIconInfo.hbmMask) DeleteObject(TargetIconInfo.hbmMask); - if (NULL != TargetDC) DeleteObject(TargetDC); - if (NULL != OldShortcutBitmap) SelectObject(ShortcutDC, OldShortcutBitmap); - if (NULL != ShortcutDC) DeleteObject(ShortcutDC); - if (NULL != OldSourceBitmap) SelectObject(SourceDC, OldSourceBitmap); - if (NULL != SourceDC) DeleteObject(SourceDC); + /* Clean up scratch resources we created */ + if (NULL != OldTargetBitmap) SelectObject(TargetDC, OldTargetBitmap); + if (NULL != TargetIconInfo.hbmColor) DeleteObject(TargetIconInfo.hbmColor); + if (NULL != TargetIconInfo.hbmMask) DeleteObject(TargetIconInfo.hbmMask); + if (NULL != TargetDC) DeleteObject(TargetDC); + if (NULL != OldShortcutBitmap) SelectObject(ShortcutDC, OldShortcutBitmap); + if (NULL != ShortcutDC) DeleteObject(ShortcutDC); + if (NULL != OldSourceBitmap) SelectObject(SourceDC, OldSourceBitmap); + if (NULL != SourceDC) DeleteObject(SourceDC); - return NULL; + return NULL; } /***************************************************************************** - * SIC_IconAppend [internal] + * SIC_IconAppend [internal] * * NOTES * appends an icon pair to the end of the cache */ static INT SIC_IconAppend (LPCWSTR sSourceFile, INT dwSourceIndex, HICON hSmallIcon, HICON hBigIcon, DWORD dwFlags) -{ LPSIC_ENTRY lpsice; - INT ret, index, index1; - WCHAR path[MAX_PATH]; - TRACE("%s %i %p %p\n", debugstr_w(sSourceFile), dwSourceIndex, hSmallIcon ,hBigIcon); +{ LPSIC_ENTRY lpsice; + INT ret, index, index1; + WCHAR path[MAX_PATH]; + TRACE("%s %i %p %p\n", debugstr_w(sSourceFile), dwSourceIndex, hSmallIcon ,hBigIcon); - lpsice = (LPSIC_ENTRY) SHAlloc (sizeof (SIC_ENTRY)); + lpsice = (LPSIC_ENTRY) SHAlloc (sizeof (SIC_ENTRY)); - GetFullPathNameW(sSourceFile, MAX_PATH, path, NULL); - lpsice->sSourceFile = (LPWSTR)HeapAlloc( GetProcessHeap(), 0, (wcslen(path)+1)*sizeof(WCHAR) ); - wcscpy( lpsice->sSourceFile, path ); + GetFullPathNameW(sSourceFile, MAX_PATH, path, NULL); + lpsice->sSourceFile = (LPWSTR)HeapAlloc( GetProcessHeap(), 0, (wcslen(path)+1)*sizeof(WCHAR) ); + wcscpy( lpsice->sSourceFile, path ); - lpsice->dwSourceIndex = dwSourceIndex; - lpsice->dwFlags = dwFlags; + lpsice->dwSourceIndex = dwSourceIndex; + lpsice->dwFlags = dwFlags; - EnterCriticalSection(&SHELL32_SicCS); + EnterCriticalSection(&SHELL32_SicCS); - index = DPA_InsertPtr(sic_hdpa, 0x7fff, lpsice); - if ( INVALID_INDEX == index ) - { - HeapFree(GetProcessHeap(), 0, lpsice->sSourceFile); - SHFree(lpsice); - ret = INVALID_INDEX; - } - else - { - index = ImageList_AddIcon (ShellSmallIconList, hSmallIcon); - index1= ImageList_AddIcon (ShellBigIconList, hBigIcon); + index = DPA_InsertPtr(sic_hdpa, 0x7fff, lpsice); + if ( INVALID_INDEX == index ) + { + HeapFree(GetProcessHeap(), 0, lpsice->sSourceFile); + SHFree(lpsice); + ret = INVALID_INDEX; + } + else + { + index = ImageList_AddIcon (ShellSmallIconList, hSmallIcon); + index1= ImageList_AddIcon (ShellBigIconList, hBigIcon); - if (index!=index1) - { - FIXME("iconlists out of sync 0x%x 0x%x\n", index, index1); - } - lpsice->dwListIndex = index; - ret = lpsice->dwListIndex; - } + if (index!=index1) + { + FIXME("iconlists out of sync 0x%x 0x%x\n", index, index1); + } + lpsice->dwListIndex = index; + ret = lpsice->dwListIndex; + } - LeaveCriticalSection(&SHELL32_SicCS); - return ret; + LeaveCriticalSection(&SHELL32_SicCS); + return ret; } /**************************************************************************** - * SIC_LoadIcon [internal] + * SIC_LoadIcon [internal] * * NOTES * gets small/big icon by number from a file */ static INT SIC_LoadIcon (LPCWSTR sSourceFile, INT dwSourceIndex, DWORD dwFlags) -{ HICON hiconLarge=0; - HICON hiconSmall=0; - HICON hiconLargeShortcut; - HICON hiconSmallShortcut; +{ HICON hiconLarge=0; + HICON hiconSmall=0; + HICON hiconLargeShortcut; + HICON hiconSmallShortcut; #if defined(__CYGWIN__) || defined (__MINGW32__) || defined(_MSC_VER) - static UINT (WINAPI*PrivateExtractIconExW)(LPCWSTR,int,HICON*,HICON*,UINT) = NULL; + static UINT (WINAPI*PrivateExtractIconExW)(LPCWSTR,int,HICON*,HICON*,UINT) = NULL; - if (!PrivateExtractIconExW) { - HMODULE hUser32 = GetModuleHandleA("user32"); - PrivateExtractIconExW = (UINT(WINAPI*)(LPCWSTR,int,HICON*,HICON*,UINT)) GetProcAddress(hUser32, "PrivateExtractIconExW"); - } + if (!PrivateExtractIconExW) { + HMODULE hUser32 = GetModuleHandleA("user32"); + PrivateExtractIconExW = (UINT(WINAPI*)(LPCWSTR,int,HICON*,HICON*,UINT)) GetProcAddress(hUser32, "PrivateExtractIconExW"); + } if (PrivateExtractIconExW) - PrivateExtractIconExW(sSourceFile, dwSourceIndex, &hiconLarge, &hiconSmall, 1); - else + PrivateExtractIconExW(sSourceFile, dwSourceIndex, &hiconLarge, &hiconSmall, 1); + else #endif - { - PrivateExtractIconsW(sSourceFile, dwSourceIndex, 32, 32, &hiconLarge, NULL, 1, 0); - PrivateExtractIconsW(sSourceFile, dwSourceIndex, 16, 16, &hiconSmall, NULL, 1, 0); - } + { + PrivateExtractIconsW(sSourceFile, dwSourceIndex, 32, 32, &hiconLarge, NULL, 1, 0); + PrivateExtractIconsW(sSourceFile, dwSourceIndex, 16, 16, &hiconSmall, NULL, 1, 0); + } - if ( !hiconLarge || !hiconSmall) - { - WARN("failure loading icon %i from %s (%p %p)\n", dwSourceIndex, debugstr_w(sSourceFile), hiconLarge, hiconSmall); - return -1; - } + if ( !hiconLarge || !hiconSmall) + { + WARN("failure loading icon %i from %s (%p %p)\n", dwSourceIndex, debugstr_w(sSourceFile), hiconLarge, hiconSmall); + return -1; + } - if (0 != (dwFlags & GIL_FORSHORTCUT)) - { - hiconLargeShortcut = SIC_OverlayShortcutImage(hiconLarge, TRUE); - hiconSmallShortcut = SIC_OverlayShortcutImage(hiconSmall, FALSE); - if (NULL != hiconLargeShortcut && NULL != hiconSmallShortcut) - { - hiconLarge = hiconLargeShortcut; - hiconSmall = hiconSmallShortcut; - } - else - { - WARN("Failed to create shortcut overlayed icons\n"); - if (NULL != hiconLargeShortcut) DestroyIcon(hiconLargeShortcut); - if (NULL != hiconSmallShortcut) DestroyIcon(hiconSmallShortcut); - dwFlags &= ~ GIL_FORSHORTCUT; - } - } + if (0 != (dwFlags & GIL_FORSHORTCUT)) + { + hiconLargeShortcut = SIC_OverlayShortcutImage(hiconLarge, TRUE); + hiconSmallShortcut = SIC_OverlayShortcutImage(hiconSmall, FALSE); + if (NULL != hiconLargeShortcut && NULL != hiconSmallShortcut) + { + hiconLarge = hiconLargeShortcut; + hiconSmall = hiconSmallShortcut; + } + else + { + WARN("Failed to create shortcut overlayed icons\n"); + if (NULL != hiconLargeShortcut) DestroyIcon(hiconLargeShortcut); + if (NULL != hiconSmallShortcut) DestroyIcon(hiconSmallShortcut); + dwFlags &= ~ GIL_FORSHORTCUT; + } + } - return SIC_IconAppend (sSourceFile, dwSourceIndex, hiconSmall, hiconLarge, dwFlags); + return SIC_IconAppend (sSourceFile, dwSourceIndex, hiconSmall, hiconLarge, dwFlags); } /***************************************************************************** - * SIC_GetIconIndex [internal] + * SIC_GetIconIndex [internal] * * Parameters - * sSourceFile [IN] filename of file containing the icon - * index [IN] index/resID (negated) in this file + * sSourceFile [IN] filename of file containing the icon + * index [IN] index/resID (negated) in this file * * NOTES * look in the cache for a proper icon. if not available the icon is taken @@ -335,40 +335,40 @@ static INT SIC_LoadIcon (LPCWSTR sSourceFile, INT dwSourceIndex, DWORD dwFlags) */ INT SIC_GetIconIndex (LPCWSTR sSourceFile, INT dwSourceIndex, DWORD dwFlags ) { - SIC_ENTRY sice; - INT ret, index = INVALID_INDEX; - WCHAR path[MAX_PATH]; + SIC_ENTRY sice; + INT ret, index = INVALID_INDEX; + WCHAR path[MAX_PATH]; - TRACE("%s %i\n", debugstr_w(sSourceFile), dwSourceIndex); + TRACE("%s %i\n", debugstr_w(sSourceFile), dwSourceIndex); - GetFullPathNameW(sSourceFile, MAX_PATH, path, NULL); - sice.sSourceFile = path; - sice.dwSourceIndex = dwSourceIndex; - sice.dwFlags = dwFlags; + GetFullPathNameW(sSourceFile, MAX_PATH, path, NULL); + sice.sSourceFile = path; + sice.dwSourceIndex = dwSourceIndex; + sice.dwFlags = dwFlags; - EnterCriticalSection(&SHELL32_SicCS); + EnterCriticalSection(&SHELL32_SicCS); - if (NULL != DPA_GetPtr (sic_hdpa, 0)) - { - /* search linear from position 0*/ - index = DPA_Search (sic_hdpa, &sice, 0, SIC_CompareEntries, 0, 0); - } + if (NULL != DPA_GetPtr (sic_hdpa, 0)) + { + /* search linear from position 0*/ + index = DPA_Search (sic_hdpa, &sice, 0, SIC_CompareEntries, 0, 0); + } - if ( INVALID_INDEX == index ) - { + if ( INVALID_INDEX == index ) + { ret = SIC_LoadIcon (sSourceFile, dwSourceIndex, dwFlags); - } - else - { - TRACE("-- found\n"); - ret = ((LPSIC_ENTRY)DPA_GetPtr(sic_hdpa, index))->dwListIndex; - } + } + else + { + TRACE("-- found\n"); + ret = ((LPSIC_ENTRY)DPA_GetPtr(sic_hdpa, index))->dwListIndex; + } - LeaveCriticalSection(&SHELL32_SicCS); - return ret; + LeaveCriticalSection(&SHELL32_SicCS); + return ret; } /***************************************************************************** - * SIC_Initialize [internal] + * SIC_Initialize [internal] */ BOOL SIC_Initialize(void) { @@ -490,180 +490,180 @@ BOOL SIC_Initialize(void) */ static INT CALLBACK sic_free( LPVOID ptr, LPVOID lparam ) { - HeapFree(GetProcessHeap(), 0, ((LPSIC_ENTRY)ptr)->sSourceFile); - SHFree(ptr); - return TRUE; + HeapFree(GetProcessHeap(), 0, ((LPSIC_ENTRY)ptr)->sSourceFile); + SHFree(ptr); + return TRUE; } void SIC_Destroy(void) { - TRACE("\n"); + TRACE("\n"); - EnterCriticalSection(&SHELL32_SicCS); + EnterCriticalSection(&SHELL32_SicCS); - if (sic_hdpa) DPA_DestroyCallback(sic_hdpa, sic_free, NULL ); + if (sic_hdpa) DPA_DestroyCallback(sic_hdpa, sic_free, NULL ); - sic_hdpa = NULL; - ImageList_Destroy(ShellSmallIconList); - ShellSmallIconList = 0; - ImageList_Destroy(ShellBigIconList); - ShellBigIconList = 0; + sic_hdpa = NULL; + ImageList_Destroy(ShellSmallIconList); + ShellSmallIconList = 0; + ImageList_Destroy(ShellBigIconList); + ShellBigIconList = 0; - LeaveCriticalSection(&SHELL32_SicCS); - //DeleteCriticalSection(&SHELL32_SicCS); //static + LeaveCriticalSection(&SHELL32_SicCS); + //DeleteCriticalSection(&SHELL32_SicCS); //static } /***************************************************************************** - * SIC_LoadOverlayIcon [internal] + * SIC_LoadOverlayIcon [internal] * * Load a shell overlay icon and return its icon cache index. */ static int SIC_LoadOverlayIcon(int icon_idx) { - WCHAR buffer[1024], wszIdx[8]; - HKEY hKeyShellIcons; - LPCWSTR iconPath; - int iconIdx; + WCHAR buffer[1024], wszIdx[8]; + HKEY hKeyShellIcons; + LPCWSTR iconPath; + int iconIdx; - static const WCHAR wszShellIcons[] = { - 'S','o','f','t','w','a','r','e','\\','M','i','c','r','o','s','o','f','t','\\', - 'W','i','n','d','o','w','s','\\','C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\', - 'E','x','p','l','o','r','e','r','\\','S','h','e','l','l',' ','I','c','o','n','s',0 - }; - static const WCHAR wszNumFmt[] = {'%','d',0}; + static const WCHAR wszShellIcons[] = { + 'S','o','f','t','w','a','r','e','\\','M','i','c','r','o','s','o','f','t','\\', + 'W','i','n','d','o','w','s','\\','C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\', + 'E','x','p','l','o','r','e','r','\\','S','h','e','l','l',' ','I','c','o','n','s',0 + }; + static const WCHAR wszNumFmt[] = {'%','d',0}; - iconPath = swShell32Name; /* default: load icon from shell32.dll */ - iconIdx = icon_idx; + iconPath = swShell32Name; /* default: load icon from shell32.dll */ + iconIdx = icon_idx; - if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, wszShellIcons, 0, KEY_READ, &hKeyShellIcons) == ERROR_SUCCESS) - { - DWORD count = sizeof(buffer); + if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, wszShellIcons, 0, KEY_READ, &hKeyShellIcons) == ERROR_SUCCESS) + { + DWORD count = sizeof(buffer); - swprintf(wszIdx, wszNumFmt, icon_idx); + swprintf(wszIdx, wszNumFmt, icon_idx); - /* read icon path and index */ - if (RegQueryValueExW(hKeyShellIcons, wszIdx, NULL, NULL, (LPBYTE)buffer, &count) == ERROR_SUCCESS) - { - LPWSTR p = wcschr(buffer, ','); + /* read icon path and index */ + if (RegQueryValueExW(hKeyShellIcons, wszIdx, NULL, NULL, (LPBYTE)buffer, &count) == ERROR_SUCCESS) + { + LPWSTR p = wcschr(buffer, ','); - if (p) - *p++ = 0; + if (p) + *p++ = 0; - iconPath = buffer; - iconIdx = _wtoi(p); - } + iconPath = buffer; + iconIdx = _wtoi(p); + } - RegCloseKey(hKeyShellIcons); - } + RegCloseKey(hKeyShellIcons); + } - return SIC_LoadIcon(iconPath, iconIdx, 0); + return SIC_LoadIcon(iconPath, iconIdx, 0); } /************************************************************************* - * Shell_GetImageLists [SHELL32.71] + * Shell_GetImageLists [SHELL32.71] * * PARAMETERS * imglist[1|2] [OUT] pointer which receives imagelist handles * */ BOOL WINAPI Shell_GetImageLists(HIMAGELIST * lpBigList, HIMAGELIST * lpSmallList) -{ TRACE("(%p,%p)\n",lpBigList,lpSmallList); - if (lpBigList) - { *lpBigList = ShellBigIconList; - } - if (lpSmallList) - { *lpSmallList = ShellSmallIconList; - } +{ TRACE("(%p,%p)\n",lpBigList,lpSmallList); + if (lpBigList) + { *lpBigList = ShellBigIconList; + } + if (lpSmallList) + { *lpSmallList = ShellSmallIconList; + } - return TRUE; + return TRUE; } /************************************************************************* - * PidlToSicIndex [INTERNAL] + * PidlToSicIndex [INTERNAL] * * PARAMETERS - * sh [IN] IShellFolder - * pidl [IN] - * bBigIcon [IN] - * uFlags [IN] GIL_* - * pIndex [OUT] index within the SIC + * sh [IN] IShellFolder + * pidl [IN] + * bBigIcon [IN] + * uFlags [IN] GIL_* + * pIndex [OUT] index within the SIC * */ BOOL PidlToSicIndex ( - IShellFolder * sh, - LPCITEMIDLIST pidl, - BOOL bBigIcon, - UINT uFlags, - int * pIndex) + IShellFolder * sh, + LPCITEMIDLIST pidl, + BOOL bBigIcon, + UINT uFlags, + int * pIndex) { - CComPtr ei; - WCHAR szIconFile[MAX_PATH]; /* file containing the icon */ - INT iSourceIndex; /* index or resID(negated) in this file */ - BOOL ret = FALSE; - UINT dwFlags = 0; - int iShortcutDefaultIndex = INVALID_INDEX; + CComPtr ei; + WCHAR szIconFile[MAX_PATH]; /* file containing the icon */ + INT iSourceIndex; /* index or resID(negated) in this file */ + BOOL ret = FALSE; + UINT dwFlags = 0; + int iShortcutDefaultIndex = INVALID_INDEX; - TRACE("sf=%p pidl=%p %s\n", sh, pidl, bBigIcon?"Big":"Small"); + TRACE("sf=%p pidl=%p %s\n", sh, pidl, bBigIcon?"Big":"Small"); - if (SUCCEEDED (sh->GetUIObjectOf(0, 1, &pidl, IID_IExtractIconW, 0, (void **)&ei))) - { - if (SUCCEEDED(ei->GetIconLocation(uFlags, szIconFile, MAX_PATH, &iSourceIndex, &dwFlags))) - { - *pIndex = SIC_GetIconIndex(szIconFile, iSourceIndex, uFlags); - ret = TRUE; - } - } + if (SUCCEEDED (sh->GetUIObjectOf(0, 1, &pidl, IID_IExtractIconW, 0, (void **)&ei))) + { + if (SUCCEEDED(ei->GetIconLocation(uFlags, szIconFile, MAX_PATH, &iSourceIndex, &dwFlags))) + { + *pIndex = SIC_GetIconIndex(szIconFile, iSourceIndex, uFlags); + ret = TRUE; + } + } - if (INVALID_INDEX == *pIndex) /* default icon when failed */ - { - if (0 == (uFlags & GIL_FORSHORTCUT)) - { - *pIndex = 0; - } - else - { - if (INVALID_INDEX == iShortcutDefaultIndex) - { - iShortcutDefaultIndex = SIC_LoadIcon(swShell32Name, 0, GIL_FORSHORTCUT); - } - *pIndex = (INVALID_INDEX != iShortcutDefaultIndex ? iShortcutDefaultIndex : 0); - } - } + if (INVALID_INDEX == *pIndex) /* default icon when failed */ + { + if (0 == (uFlags & GIL_FORSHORTCUT)) + { + *pIndex = 0; + } + else + { + if (INVALID_INDEX == iShortcutDefaultIndex) + { + iShortcutDefaultIndex = SIC_LoadIcon(swShell32Name, 0, GIL_FORSHORTCUT); + } + *pIndex = (INVALID_INDEX != iShortcutDefaultIndex ? iShortcutDefaultIndex : 0); + } + } - return ret; + return ret; } /************************************************************************* - * SHMapPIDLToSystemImageListIndex [SHELL32.77] + * SHMapPIDLToSystemImageListIndex [SHELL32.77] * * PARAMETERS - * sh [IN] pointer to an instance of IShellFolder - * pidl [IN] - * pIndex [OUT][OPTIONAL] SIC index for big icon + * sh [IN] pointer to an instance of IShellFolder + * pidl [IN] + * pIndex [OUT][OPTIONAL] SIC index for big icon * */ int WINAPI SHMapPIDLToSystemImageListIndex( - IShellFolder *sh, - LPCITEMIDLIST pidl, - int *pIndex) + IShellFolder *sh, + LPCITEMIDLIST pidl, + int *pIndex) { - int Index; - UINT uGilFlags = 0; + int Index; + UINT uGilFlags = 0; - TRACE("(SF=%p,pidl=%p,%p)\n",sh,pidl,pIndex); - pdump(pidl); + TRACE("(SF=%p,pidl=%p,%p)\n",sh,pidl,pIndex); + pdump(pidl); - if (SHELL_IsShortcut(pidl)) - uGilFlags |= GIL_FORSHORTCUT; + if (SHELL_IsShortcut(pidl)) + uGilFlags |= GIL_FORSHORTCUT; - if (pIndex) - if (!PidlToSicIndex ( sh, pidl, 1, uGilFlags, pIndex)) - *pIndex = -1; + if (pIndex) + if (!PidlToSicIndex ( sh, pidl, 1, uGilFlags, pIndex)) + *pIndex = -1; - if (!PidlToSicIndex ( sh, pidl, 0, uGilFlags, &Index)) - return -1; + if (!PidlToSicIndex ( sh, pidl, 0, uGilFlags, &Index)) + return -1; - return Index; + return Index; } /************************************************************************* @@ -680,42 +680,42 @@ EXTERN_C HRESULT WINAPI SHMapIDListToImageListIndexAsync(IShellTaskScheduler *pt } /************************************************************************* - * Shell_GetCachedImageIndex [SHELL32.72] + * Shell_GetCachedImageIndex [SHELL32.72] * */ INT WINAPI Shell_GetCachedImageIndexA(LPCSTR szPath, INT nIndex, UINT bSimulateDoc) { - INT ret, len; - LPWSTR szTemp; + INT ret, len; + LPWSTR szTemp; - WARN("(%s,%08x,%08x) semi-stub.\n",debugstr_a(szPath), nIndex, bSimulateDoc); + WARN("(%s,%08x,%08x) semi-stub.\n",debugstr_a(szPath), nIndex, bSimulateDoc); - len = MultiByteToWideChar( CP_ACP, 0, szPath, -1, NULL, 0 ); - szTemp = (LPWSTR)HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) ); - MultiByteToWideChar( CP_ACP, 0, szPath, -1, szTemp, len ); + len = MultiByteToWideChar( CP_ACP, 0, szPath, -1, NULL, 0 ); + szTemp = (LPWSTR)HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) ); + MultiByteToWideChar( CP_ACP, 0, szPath, -1, szTemp, len ); - ret = SIC_GetIconIndex( szTemp, nIndex, 0 ); + ret = SIC_GetIconIndex( szTemp, nIndex, 0 ); - HeapFree( GetProcessHeap(), 0, szTemp ); + HeapFree( GetProcessHeap(), 0, szTemp ); - return ret; + return ret; } INT WINAPI Shell_GetCachedImageIndexW(LPCWSTR szPath, INT nIndex, UINT bSimulateDoc) { - WARN("(%s,%08x,%08x) semi-stub.\n",debugstr_w(szPath), nIndex, bSimulateDoc); + WARN("(%s,%08x,%08x) semi-stub.\n",debugstr_w(szPath), nIndex, bSimulateDoc); - return SIC_GetIconIndex(szPath, nIndex, 0); + return SIC_GetIconIndex(szPath, nIndex, 0); } EXTERN_C INT WINAPI Shell_GetCachedImageIndexAW(LPCVOID szPath, INT nIndex, BOOL bSimulateDoc) -{ if( SHELL_OsIsUnicode()) - return Shell_GetCachedImageIndexW((LPCWSTR)szPath, nIndex, bSimulateDoc); - return Shell_GetCachedImageIndexA((LPCSTR)szPath, nIndex, bSimulateDoc); +{ if( SHELL_OsIsUnicode()) + return Shell_GetCachedImageIndexW((LPCWSTR)szPath, nIndex, bSimulateDoc); + return Shell_GetCachedImageIndexA((LPCSTR)szPath, nIndex, bSimulateDoc); } /************************************************************************* - * ExtractIconExW [SHELL32.@] + * ExtractIconExW [SHELL32.@] * RETURNS * 0 no icon found * -1 file is not valid @@ -723,26 +723,26 @@ EXTERN_C INT WINAPI Shell_GetCachedImageIndexAW(LPCVOID szPath, INT nIndex, BOOL */ UINT WINAPI ExtractIconExW(LPCWSTR lpszFile, INT nIconIndex, HICON * phiconLarge, HICON * phiconSmall, UINT nIcons) { - /* get entry point of undocumented function PrivateExtractIconExW() in user32 */ + /* get entry point of undocumented function PrivateExtractIconExW() in user32 */ #if defined(__CYGWIN__) || defined (__MINGW32__) || defined(_MSC_VER) - static UINT (WINAPI*PrivateExtractIconExW)(LPCWSTR,int,HICON*,HICON*,UINT) = NULL; + static UINT (WINAPI*PrivateExtractIconExW)(LPCWSTR,int,HICON*,HICON*,UINT) = NULL; - if (!PrivateExtractIconExW) { - HMODULE hUser32 = GetModuleHandleA("user32"); - PrivateExtractIconExW = (UINT(WINAPI*)(LPCWSTR,int,HICON*,HICON*,UINT)) GetProcAddress(hUser32, "PrivateExtractIconExW"); + if (!PrivateExtractIconExW) { + HMODULE hUser32 = GetModuleHandleA("user32"); + PrivateExtractIconExW = (UINT(WINAPI*)(LPCWSTR,int,HICON*,HICON*,UINT)) GetProcAddress(hUser32, "PrivateExtractIconExW"); - if (!PrivateExtractIconExW) - return 0; - } + if (!PrivateExtractIconExW) + return 0; + } #endif - TRACE("%s %i %p %p %i\n", debugstr_w(lpszFile), nIconIndex, phiconLarge, phiconSmall, nIcons); + TRACE("%s %i %p %p %i\n", debugstr_w(lpszFile), nIconIndex, phiconLarge, phiconSmall, nIcons); - return PrivateExtractIconExW(lpszFile, nIconIndex, phiconLarge, phiconSmall, nIcons); + return PrivateExtractIconExW(lpszFile, nIconIndex, phiconLarge, phiconSmall, nIcons); } /************************************************************************* - * ExtractIconExA [SHELL32.@] + * ExtractIconExA [SHELL32.@] */ UINT WINAPI ExtractIconExA(LPCSTR lpszFile, INT nIconIndex, HICON * phiconLarge, HICON * phiconSmall, UINT nIcons) { @@ -762,7 +762,7 @@ UINT WINAPI ExtractIconExA(LPCSTR lpszFile, INT nIconIndex, HICON * phiconLarge, } /************************************************************************* - * ExtractAssociatedIconA (SHELL32.@) + * ExtractAssociatedIconA (SHELL32.@) * * Return icon for given file (either from file itself or from associated * executable) and patch parameters if needed. @@ -791,7 +791,7 @@ HICON WINAPI ExtractAssociatedIconA(HINSTANCE hInst, LPSTR lpIconPath, LPWORD lp } /************************************************************************* - * ExtractAssociatedIconW (SHELL32.@) + * ExtractAssociatedIconW (SHELL32.@) * * Return icon for given file (either from file itself or from associated * executable) and patch parameters if needed. @@ -833,7 +833,7 @@ HICON WINAPI ExtractAssociatedIconW(HINSTANCE hInst, LPWSTR lpIconPath, LPWORD l } /************************************************************************* - * ExtractAssociatedIconExW (SHELL32.@) + * ExtractAssociatedIconExW (SHELL32.@) * * Return icon for given file (either from file itself or from associated * executable) and patch parameters if needed. @@ -845,7 +845,7 @@ EXTERN_C HICON WINAPI ExtractAssociatedIconExW(HINSTANCE hInst, LPWSTR lpIconPat } /************************************************************************* - * ExtractAssociatedIconExA (SHELL32.@) + * ExtractAssociatedIconExA (SHELL32.@) * * Return icon for given file (either from file itself or from associated * executable) and patch parameters if needed. @@ -866,35 +866,35 @@ EXTERN_C HICON WINAPI ExtractAssociatedIconExA(HINSTANCE hInst, LPSTR lpIconPath /**************************************************************************** - * SHDefExtractIconW [SHELL32.@] + * SHDefExtractIconW [SHELL32.@] */ HRESULT WINAPI SHDefExtractIconW(LPCWSTR pszIconFile, int iIndex, UINT uFlags, HICON* phiconLarge, HICON* phiconSmall, UINT nIconSize) { - UINT ret; - HICON hIcons[2]; - WARN("%s %d 0x%08x %p %p %d, semi-stub\n", debugstr_w(pszIconFile), iIndex, uFlags, phiconLarge, phiconSmall, nIconSize); + UINT ret; + HICON hIcons[2]; + WARN("%s %d 0x%08x %p %p %d, semi-stub\n", debugstr_w(pszIconFile), iIndex, uFlags, phiconLarge, phiconSmall, nIconSize); - ret = PrivateExtractIconsW(pszIconFile, iIndex, nIconSize, nIconSize, hIcons, NULL, 2, LR_DEFAULTCOLOR); - /* FIXME: deal with uFlags parameter which contains GIL_ flags */ - if (ret == 0xFFFFFFFF) - return E_FAIL; - if (ret > 0) { - if (phiconLarge) - *phiconLarge = hIcons[0]; - else - DestroyIcon(hIcons[0]); - if (phiconSmall) - *phiconSmall = hIcons[1]; - else - DestroyIcon(hIcons[1]); - return S_OK; - } - return S_FALSE; + ret = PrivateExtractIconsW(pszIconFile, iIndex, nIconSize, nIconSize, hIcons, NULL, 2, LR_DEFAULTCOLOR); + /* FIXME: deal with uFlags parameter which contains GIL_ flags */ + if (ret == 0xFFFFFFFF) + return E_FAIL; + if (ret > 0) { + if (phiconLarge) + *phiconLarge = hIcons[0]; + else + DestroyIcon(hIcons[0]); + if (phiconSmall) + *phiconSmall = hIcons[1]; + else + DestroyIcon(hIcons[1]); + return S_OK; + } + return S_FALSE; } /**************************************************************************** - * SHDefExtractIconA [SHELL32.@] + * SHDefExtractIconA [SHELL32.@] */ HRESULT WINAPI SHDefExtractIconA(LPCSTR pszIconFile, int iIndex, UINT uFlags, HICON* phiconLarge, HICON* phiconSmall, UINT nIconSize) diff --git a/dll/win32/shell32/pidl.cpp b/dll/win32/shell32/pidl.cpp index c034f13ac3a..d28dbce0424 100644 --- a/dll/win32/shell32/pidl.cpp +++ b/dll/win32/shell32/pidl.cpp @@ -70,8 +70,8 @@ static BOOL ILGetDisplayNameExA(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, LPSTR pat BOOL WINAPI ILGetDisplayNameExW(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, LPWSTR path, DWORD type) { - CComPtr psfParent; - LPSHELLFOLDER lsf = psf; + CComPtr psfParent; + LPSHELLFOLDER lsf = psf; HRESULT ret = NO_ERROR; LPCITEMIDLIST pidllast; STRRET strret; @@ -373,7 +373,7 @@ HRESULT WINAPI SHILCreateFromPathA(LPCSTR path, LPITEMIDLIST * ppidl, DWORD * at HRESULT WINAPI SHILCreateFromPathW(LPCWSTR path, LPITEMIDLIST * ppidl, DWORD * attributes) { - CComPtr sf; + CComPtr sf; DWORD pchEaten; HRESULT ret = E_FAIL; @@ -683,7 +683,7 @@ LPITEMIDLIST WINAPI ILCombine(LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2) */ HRESULT WINAPI SHGetRealIDL(LPSHELLFOLDER lpsf, LPCITEMIDLIST pidlSimple, LPITEMIDLIST *pidlReal) { - CComPtr pDataObj; + CComPtr pDataObj; HRESULT hr; hr = lpsf->GetUIObjectOf(0, 1, &pidlSimple, @@ -967,8 +967,8 @@ EXTERN_C LPITEMIDLIST WINAPI ILCreateFromPathAW (LPCVOID path) static HRESULT _ILParsePathW(LPCWSTR path, LPWIN32_FIND_DATAW lpFindFile, BOOL bBindCtx, LPITEMIDLIST *ppidl, LPDWORD prgfInOut) { - CComPtr pSF; - CComPtr pBC; + CComPtr pSF; + CComPtr pBC; HRESULT ret; TRACE("%s %p %d (%p)->%p (%p)->0x%x\n", debugstr_w(path), lpFindFile, bBindCtx, @@ -1210,7 +1210,7 @@ BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST pidl, LPWSTR pszPath) { HRESULT hr; LPCITEMIDLIST pidlLast; - CComPtr psfFolder; + CComPtr psfFolder; DWORD dwAttributes; STRRET strret; @@ -1244,7 +1244,7 @@ BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST pidl, LPWSTR pszPath) */ HRESULT WINAPI SHBindToParent(LPCITEMIDLIST pidl, REFIID riid, LPVOID *ppv, LPCITEMIDLIST *ppidlLast) { - CComPtr psfDesktop; + CComPtr psfDesktop; HRESULT hr=E_FAIL; TRACE_(shell)("pidl=%p\n", pidl); diff --git a/dll/win32/shell32/ros-systray.cpp b/dll/win32/shell32/ros-systray.cpp index f560b498e03..1400c2ec114 100644 --- a/dll/win32/shell32/ros-systray.cpp +++ b/dll/win32/shell32/ros-systray.cpp @@ -23,51 +23,51 @@ /* copy data structure for tray notifications */ typedef struct TrayNotifyCDS_Dummy { - DWORD cookie; - DWORD notify_code; - DWORD nicon_data[1]; // placeholder for NOTIFYICONDATA structure + DWORD cookie; + DWORD notify_code; + DWORD nicon_data[1]; // placeholder for NOTIFYICONDATA structure } TrayNotifyCDS_Dummy; /* The only difference between Shell_NotifyIconA and Shell_NotifyIconW is the call to SendMessageA/W. */ static BOOL SHELL_NotifyIcon(DWORD dwMessage, void* pnid, HWND nid_hwnd, int nid_size, BOOL unicode) { - HWND hwnd; - COPYDATASTRUCT data; + HWND hwnd; + COPYDATASTRUCT data; - BOOL ret = FALSE; - int len = sizeof(TrayNotifyCDS_Dummy)-sizeof(DWORD)+nid_size; + BOOL ret = FALSE; + int len = sizeof(TrayNotifyCDS_Dummy)-sizeof(DWORD)+nid_size; - TrayNotifyCDS_Dummy* pnotify_data = (TrayNotifyCDS_Dummy*) alloca(len); + TrayNotifyCDS_Dummy* pnotify_data = (TrayNotifyCDS_Dummy*) alloca(len); - pnotify_data->cookie = 1; - pnotify_data->notify_code = dwMessage; - memcpy(&pnotify_data->nicon_data, pnid, nid_size); + pnotify_data->cookie = 1; + pnotify_data->notify_code = dwMessage; + memcpy(&pnotify_data->nicon_data, pnid, nid_size); - data.dwData = 1; - data.cbData = len; - data.lpData = pnotify_data; + data.dwData = 1; + data.cbData = len; + data.lpData = pnotify_data; - for(hwnd=0; (hwnd=FindWindowExW(0, hwnd, L"Shell_TrayWnd", NULL)); ) - if ((unicode?SendMessageW:SendMessageA)(hwnd, WM_COPYDATA, (WPARAM)nid_hwnd, (LPARAM)&data)) - ret = TRUE; + for(hwnd=0; (hwnd=FindWindowExW(0, hwnd, L"Shell_TrayWnd", NULL)); ) + if ((unicode?SendMessageW:SendMessageA)(hwnd, WM_COPYDATA, (WPARAM)nid_hwnd, (LPARAM)&data)) + ret = TRUE; - return ret; + return ret; } /************************************************************************* - * Shell_NotifyIcon [SHELL32.296] - * Shell_NotifyIconA [SHELL32.297] + * Shell_NotifyIcon [SHELL32.296] + * Shell_NotifyIconA [SHELL32.297] */ BOOL WINAPI Shell_NotifyIconA(DWORD dwMessage, PNOTIFYICONDATAA pnid) { - return SHELL_NotifyIcon(dwMessage, pnid, pnid->hWnd, pnid->cbSize, FALSE); + return SHELL_NotifyIcon(dwMessage, pnid, pnid->hWnd, pnid->cbSize, FALSE); } /************************************************************************* - * Shell_NotifyIconW [SHELL32.298] + * Shell_NotifyIconW [SHELL32.298] */ BOOL WINAPI Shell_NotifyIconW(DWORD dwMessage, PNOTIFYICONDATAW pnid) { - return SHELL_NotifyIcon(dwMessage, pnid, pnid->hWnd, pnid->cbSize, TRUE); + return SHELL_NotifyIcon(dwMessage, pnid, pnid->hWnd, pnid->cbSize, TRUE); } diff --git a/dll/win32/shell32/she_ocmenu.cpp b/dll/win32/shell32/she_ocmenu.cpp index d3ed8a4c542..d15bb22d96e 100644 --- a/dll/win32/shell32/she_ocmenu.cpp +++ b/dll/win32/shell32/she_ocmenu.cpp @@ -1,5 +1,5 @@ /* - * Open With Context Menu extension + * Open With Context Menu extension * * Copyright 2007 Johannes Anderwald * Copyright 2009 Andrew Hill @@ -73,7 +73,7 @@ COpenWithMenu::COpenWithMenu() COpenWithMenu::~COpenWithMenu() { - TRACE(" destroying IContextMenu(%p)\n", this); + TRACE(" destroying IContextMenu(%p)\n", this); } VOID @@ -141,11 +141,11 @@ LoadOWItems(POPEN_WITH_CONTEXT pContext, LPCWSTR szName) HRESULT WINAPI COpenWithMenu::QueryContextMenu( - HMENU hmenu, - UINT indexMenu, - UINT idCmdFirst, - UINT idCmdLast, - UINT uFlags) + HMENU hmenu, + UINT indexMenu, + UINT idCmdFirst, + UINT idCmdLast, + UINT uFlags) { MENUITEMINFOW mii; WCHAR szBuffer[100] = {0}; @@ -717,9 +717,9 @@ COpenWithMenu::GetCommandString(UINT_PTR idCmd, UINT uType, } HRESULT WINAPI COpenWithMenu::HandleMenuMsg( - UINT uMsg, - WPARAM wParam, - LPARAM lParam) + UINT uMsg, + WPARAM wParam, + LPARAM lParam) { TRACE("This %p uMsg %x\n",this, uMsg); @@ -737,7 +737,7 @@ GetManufacturer(WCHAR * szAppName, POPEN_ITEM_CONTEXT pContext) LPLANGANDCODEPAGE lplangcode; WCHAR szBuffer[100]; WCHAR * pResult; - BOOL bResult; + BOOL bResult; static const WCHAR wFormat[] = L"\\StringFileInfo\\%04x%04x\\CompanyName"; static const WCHAR wTranslation[] = L"VarFileInfo\\Translation"; @@ -1098,8 +1098,8 @@ COpenWithMenu::Initialize(LPCITEMIDLIST pidlFolder, { TRACE("This %p\n", this); - if (pdtobj == NULL) - return E_INVALIDARG; + if (pdtobj == NULL) + return E_INVALIDARG; return SHEOW_LoadOpenWithItems(pdtobj); } diff --git a/dll/win32/shell32/shellitem.cpp b/dll/win32/shell32/shellitem.cpp index e0620b12388..995d3b235af 100644 --- a/dll/win32/shell32/shellitem.cpp +++ b/dll/win32/shell32/shellitem.cpp @@ -28,12 +28,12 @@ EXTERN_C HRESULT WINAPI SHCreateShellItem(LPCITEMIDLIST pidlParent, ShellItem::ShellItem() { - pidl = NULL; + pidl = NULL; } ShellItem::~ShellItem() { - ILFree(pidl); + ILFree(pidl); } HRESULT ShellItem::get_parent_pidl(LPITEMIDLIST *parent_pidl) @@ -60,7 +60,7 @@ HRESULT ShellItem::get_parent_pidl(LPITEMIDLIST *parent_pidl) HRESULT ShellItem::get_parent_shellfolder(IShellFolder **ppsf) { LPITEMIDLIST parent_pidl; - CComPtr desktop; + CComPtr desktop; HRESULT ret; ret = get_parent_pidl(&parent_pidl); @@ -112,7 +112,7 @@ HRESULT WINAPI ShellItem::GetDisplayName(SIGDN sigdnName, LPWSTR *ppszName) HRESULT WINAPI ShellItem::GetAttributes(SFGAOF sfgaoMask, SFGAOF *psfgaoAttribs) { - CComPtr parent_folder; + CComPtr parent_folder; LPITEMIDLIST child_pidl; HRESULT ret; @@ -179,7 +179,7 @@ HRESULT WINAPI SHCreateShellItem(LPCITEMIDLIST pidlParent, { IShellItem *newShellItem; LPITEMIDLIST new_pidl; - CComPtr newPersistIDList; + CComPtr newPersistIDList; HRESULT ret; TRACE("(%p,%p,%p,%p)\n", pidlParent, psfParent, pidl, ppsi); @@ -193,7 +193,7 @@ HRESULT WINAPI SHCreateShellItem(LPCITEMIDLIST pidlParent, LPITEMIDLIST temp_parent=NULL; if (!pidlParent) { - CComPtr ppf2Parent; + CComPtr ppf2Parent; if (FAILED(psfParent->QueryInterface(IID_IPersistFolder2, (void**)&ppf2Parent))) { @@ -223,26 +223,26 @@ HRESULT WINAPI SHCreateShellItem(LPCITEMIDLIST pidlParent, return E_OUTOFMEMORY; } - ret = ShellItem::_CreatorClass::CreateInstance(NULL, IID_IShellItem, (void**)&newShellItem); + ret = ShellItem::_CreatorClass::CreateInstance(NULL, IID_IShellItem, (void**)&newShellItem); if (FAILED(ret)) { *ppsi = NULL; ILFree(new_pidl); - return ret; + return ret; } - ret = newShellItem->QueryInterface(IID_IPersistIDList, (void **)&newPersistIDList); + ret = newShellItem->QueryInterface(IID_IPersistIDList, (void **)&newPersistIDList); if (FAILED(ret)) - { + { ILFree(new_pidl); - return ret; - } - ret = newPersistIDList->SetIDList(new_pidl); + return ret; + } + ret = newPersistIDList->SetIDList(new_pidl); if (FAILED(ret)) - { + { ILFree(new_pidl); - return ret; - } + return ret; + } ILFree(new_pidl); - *ppsi = newShellItem; + *ppsi = newShellItem; return ret; } diff --git a/dll/win32/shell32/shellole.cpp b/dll/win32/shell32/shellole.cpp index 88d7bc206ff..6d1023fba63 100644 --- a/dll/win32/shell32/shellole.cpp +++ b/dll/win32/shell32/shellole.cpp @@ -1,8 +1,8 @@ /* - * handling of SHELL32.DLL OLE-Objects + * handling of SHELL32.DLL OLE-Objects * - * Copyright 1997 Marcus Meissner - * Copyright 1998 Juergen Schmied + * Copyright 1997 Marcus Meissner + * Copyright 1998 Juergen Schmied * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -38,11 +38,11 @@ HRESULT IDefClF_fnConstructor(LPFNCREATEINSTANCE lpfnCI, PLONG pcRefDll, const I DWORD WINAPI __SHGUIDToStringW (REFGUID guid, LPWSTR str) { WCHAR sFormat[52] = {'{','%','0','8','l','x','-','%','0','4', - 'x','-','%','0','4','x','-','%','0','2', + 'x','-','%','0','4','x','-','%','0','2', 'x','%','0','2','x','-','%','0','2','x', - '%','0','2','x','%','0','2','x','%','0', - '2','x','%','0','2','x','%','0','2','x', - '}','\0'}; + '%','0','2','x','%','0','2','x','%','0', + '2','x','%','0','2','x','%','0','2','x', + '}','\0'}; return swprintf ( str, sFormat, guid.Data1, guid.Data2, guid.Data3, @@ -68,116 +68,116 @@ DWORD WINAPI __SHGUIDToStringW (REFGUID guid, LPWSTR str) * CoCreateInstace, SHLoadOLE */ HRESULT WINAPI SHCoCreateInstance( - LPCWSTR aclsid, - const CLSID *clsid, - LPUNKNOWN pUnkOuter, - REFIID refiid, - LPVOID *ppv) + LPCWSTR aclsid, + const CLSID *clsid, + LPUNKNOWN pUnkOuter, + REFIID refiid, + LPVOID *ppv) { - DWORD hres; - CLSID iid; - const CLSID * myclsid = clsid; - WCHAR sKeyName[MAX_PATH]; - const WCHAR sCLSID[7] = {'C','L','S','I','D','\\','\0'}; - WCHAR sClassID[60]; - const WCHAR sInProcServer32[16] ={'\\','I','n','p','r','o','c','S','e','r','v','e','r','3','2','\0'}; - const WCHAR sLoadWithoutCOM[15] ={'L','o','a','d','W','i','t','h','o','u','t','C','O','M','\0'}; - WCHAR sDllPath[MAX_PATH]; - HKEY hKey; - DWORD dwSize; - BOOLEAN bLoadFromShell32 = FALSE; - BOOLEAN bLoadWithoutCOM = FALSE; - CComPtr pcf; + DWORD hres; + CLSID iid; + const CLSID * myclsid = clsid; + WCHAR sKeyName[MAX_PATH]; + const WCHAR sCLSID[7] = {'C','L','S','I','D','\\','\0'}; + WCHAR sClassID[60]; + const WCHAR sInProcServer32[16] ={'\\','I','n','p','r','o','c','S','e','r','v','e','r','3','2','\0'}; + const WCHAR sLoadWithoutCOM[15] ={'L','o','a','d','W','i','t','h','o','u','t','C','O','M','\0'}; + WCHAR sDllPath[MAX_PATH]; + HKEY hKey; + DWORD dwSize; + BOOLEAN bLoadFromShell32 = FALSE; + BOOLEAN bLoadWithoutCOM = FALSE; + CComPtr pcf; - if(!ppv) return E_POINTER; - *ppv=NULL; + if(!ppv) return E_POINTER; + *ppv=NULL; - /* if the clsid is a string, convert it */ - if (!clsid) - { - if (!aclsid) return REGDB_E_CLASSNOTREG; - CLSIDFromString((LPOLESTR)aclsid, &iid); - myclsid = &iid; - } + /* if the clsid is a string, convert it */ + if (!clsid) + { + if (!aclsid) return REGDB_E_CLASSNOTREG; + CLSIDFromString((LPOLESTR)aclsid, &iid); + myclsid = &iid; + } - TRACE("(%p,%s,unk:%p,%s,%p)\n", - aclsid, shdebugstr_guid(myclsid), pUnkOuter, shdebugstr_guid(&refiid), ppv); + TRACE("(%p,%s,unk:%p,%s,%p)\n", + aclsid, shdebugstr_guid(myclsid), pUnkOuter, shdebugstr_guid(&refiid), ppv); - /* we look up the dll path in the registry */ + /* we look up the dll path in the registry */ __SHGUIDToStringW(*myclsid, sClassID); - wcscpy(sKeyName, sCLSID); - wcscat(sKeyName, sClassID); - wcscat(sKeyName, sInProcServer32); + wcscpy(sKeyName, sCLSID); + wcscat(sKeyName, sClassID); + wcscat(sKeyName, sInProcServer32); - if (ERROR_SUCCESS == RegOpenKeyExW(HKEY_CLASSES_ROOT, sKeyName, 0, KEY_READ, &hKey)) { - dwSize = sizeof(sDllPath); - SHQueryValueExW(hKey, NULL, 0,0, sDllPath, &dwSize ); + if (ERROR_SUCCESS == RegOpenKeyExW(HKEY_CLASSES_ROOT, sKeyName, 0, KEY_READ, &hKey)) { + dwSize = sizeof(sDllPath); + SHQueryValueExW(hKey, NULL, 0,0, sDllPath, &dwSize ); - /* if a special registry key is set, we load a shell extension without help of OLE32 */ - bLoadWithoutCOM = (ERROR_SUCCESS == SHQueryValueExW(hKey, sLoadWithoutCOM, 0, 0, 0, 0)); + /* if a special registry key is set, we load a shell extension without help of OLE32 */ + bLoadWithoutCOM = (ERROR_SUCCESS == SHQueryValueExW(hKey, sLoadWithoutCOM, 0, 0, 0, 0)); - /* if the com object is inside shell32, omit use of ole32 */ - bLoadFromShell32 = (0==lstrcmpiW( PathFindFileNameW(sDllPath), sShell32)); + /* if the com object is inside shell32, omit use of ole32 */ + bLoadFromShell32 = (0==lstrcmpiW( PathFindFileNameW(sDllPath), sShell32)); - RegCloseKey (hKey); - } else { - /* since we can't find it in the registry we try internally */ - bLoadFromShell32 = TRUE; - } + RegCloseKey (hKey); + } else { + /* since we can't find it in the registry we try internally */ + bLoadFromShell32 = TRUE; + } - TRACE("WithoutCom=%u FromShell=%u\n", bLoadWithoutCOM, bLoadFromShell32); + TRACE("WithoutCom=%u FromShell=%u\n", bLoadWithoutCOM, bLoadFromShell32); - /* now we create an instance */ - if (bLoadFromShell32) { - if (! SUCCEEDED(DllGetClassObject(*myclsid, IID_IClassFactory, (LPVOID*)&pcf))) { - ERR("LoadFromShell failed for CLSID=%s\n", shdebugstr_guid(myclsid)); - } - } else if (bLoadWithoutCOM) { + /* now we create an instance */ + if (bLoadFromShell32) { + if (! SUCCEEDED(DllGetClassObject(*myclsid, IID_IClassFactory, (LPVOID*)&pcf))) { + ERR("LoadFromShell failed for CLSID=%s\n", shdebugstr_guid(myclsid)); + } + } else if (bLoadWithoutCOM) { - /* load an external dll without ole32 */ - HINSTANCE hLibrary; - typedef HRESULT (CALLBACK *DllGetClassObjectFunc)(REFCLSID clsid, REFIID iid, LPVOID *ppv); - DllGetClassObjectFunc DllGetClassObject; + /* load an external dll without ole32 */ + HINSTANCE hLibrary; + typedef HRESULT (CALLBACK *DllGetClassObjectFunc)(REFCLSID clsid, REFIID iid, LPVOID *ppv); + DllGetClassObjectFunc DllGetClassObject; - if ((hLibrary = LoadLibraryExW(sDllPath, 0, LOAD_WITH_ALTERED_SEARCH_PATH)) == 0) { - ERR("couldn't load InprocServer32 dll %s\n", debugstr_w(sDllPath)); - hres = E_ACCESSDENIED; - goto end; - } else if (!(DllGetClassObject = (DllGetClassObjectFunc)GetProcAddress(hLibrary, "DllGetClassObject"))) { - ERR("couldn't find function DllGetClassObject in %s\n", debugstr_w(sDllPath)); - FreeLibrary( hLibrary ); - hres = E_ACCESSDENIED; - goto end; - } else if (! SUCCEEDED(hres = DllGetClassObject(*myclsid, IID_IClassFactory, (LPVOID*)&pcf))) { - TRACE("GetClassObject failed 0x%08x\n", hres); - goto end; - } + if ((hLibrary = LoadLibraryExW(sDllPath, 0, LOAD_WITH_ALTERED_SEARCH_PATH)) == 0) { + ERR("couldn't load InprocServer32 dll %s\n", debugstr_w(sDllPath)); + hres = E_ACCESSDENIED; + goto end; + } else if (!(DllGetClassObject = (DllGetClassObjectFunc)GetProcAddress(hLibrary, "DllGetClassObject"))) { + ERR("couldn't find function DllGetClassObject in %s\n", debugstr_w(sDllPath)); + FreeLibrary( hLibrary ); + hres = E_ACCESSDENIED; + goto end; + } else if (! SUCCEEDED(hres = DllGetClassObject(*myclsid, IID_IClassFactory, (LPVOID*)&pcf))) { + TRACE("GetClassObject failed 0x%08x\n", hres); + goto end; + } - } else { + } else { - /* load an external dll in the usual way */ - hres = CoCreateInstance(*myclsid, pUnkOuter, CLSCTX_INPROC_SERVER, refiid, ppv); - goto end; - } + /* load an external dll in the usual way */ + hres = CoCreateInstance(*myclsid, pUnkOuter, CLSCTX_INPROC_SERVER, refiid, ppv); + goto end; + } - /* here we should have a ClassFactory */ - if (!pcf) return E_ACCESSDENIED; + /* here we should have a ClassFactory */ + if (!pcf) return E_ACCESSDENIED; - hres = pcf->CreateInstance(pUnkOuter, refiid, ppv); + hres = pcf->CreateInstance(pUnkOuter, refiid, ppv); end: - if(hres!=S_OK) - { - ERR("failed (0x%08x) to create CLSID:%s IID:%s\n", + if(hres!=S_OK) + { + ERR("failed (0x%08x) to create CLSID:%s IID:%s\n", hres, shdebugstr_guid(myclsid), shdebugstr_guid(&refiid)); - ERR("class not found in registry\n"); - } + ERR("class not found in registry\n"); + } - TRACE("-- instance: %p\n",*ppv); - return hres; + TRACE("-- instance: %p\n",*ppv); + return hres; } /************************************************************************* - * SHCLSIDFromString [SHELL32.147] + * SHCLSIDFromString [SHELL32.147] * * Under Windows 9x this was an ANSI version of CLSIDFromString. It also allowed * to avoid dependency on ole32.dll (see SHLoadOLE for details). @@ -201,19 +201,19 @@ DWORD WINAPI SHCLSIDFromStringA (LPCSTR clsid, CLSID *id) DWORD WINAPI SHCLSIDFromStringW (LPCWSTR clsid, CLSID *id) { - TRACE("(%p(%s) %p)\n", clsid, debugstr_w(clsid), id); - return CLSIDFromString((LPWSTR)clsid, id); + TRACE("(%p(%s) %p)\n", clsid, debugstr_w(clsid), id); + return CLSIDFromString((LPWSTR)clsid, id); } EXTERN_C DWORD WINAPI SHCLSIDFromStringAW (LPCVOID clsid, CLSID *id) { - if (SHELL_OsIsUnicode()) - return SHCLSIDFromStringW ((LPCWSTR)clsid, id); - return SHCLSIDFromStringA ((LPCSTR)clsid, id); + if (SHELL_OsIsUnicode()) + return SHCLSIDFromStringW ((LPCWSTR)clsid, id); + return SHCLSIDFromStringA ((LPCSTR)clsid, id); } /************************************************************************* - * SHGetMalloc [SHELL32.@] + * SHGetMalloc [SHELL32.@] * * Equivalent to CoGetMalloc(MEMCTX_TASK, ...). Under Windows 9x this function * could use the shell32 built-in "mini-COM" without the need to load ole32.dll - @@ -231,12 +231,12 @@ EXTERN_C DWORD WINAPI SHCLSIDFromStringAW (LPCVOID clsid, CLSID *id) */ HRESULT WINAPI SHGetMalloc(LPMALLOC *lpmal) { - TRACE("(%p)\n", lpmal); - return CoGetMalloc(MEMCTX_TASK, lpmal); + TRACE("(%p)\n", lpmal); + return CoGetMalloc(MEMCTX_TASK, lpmal); } /************************************************************************* - * SHAlloc [SHELL32.196] + * SHAlloc [SHELL32.196] * * Equivalent to CoTaskMemAlloc. Under Windows 9x this function could use * the shell32 built-in "mini-COM" without the need to load ole32.dll - @@ -250,15 +250,15 @@ HRESULT WINAPI SHGetMalloc(LPMALLOC *lpmal) */ LPVOID WINAPI SHAlloc(DWORD len) { - LPVOID ret; + LPVOID ret; - ret = CoTaskMemAlloc(len); - TRACE("%u bytes at %p\n",len, ret); - return ret; + ret = CoTaskMemAlloc(len); + TRACE("%u bytes at %p\n",len, ret); + return ret; } /************************************************************************* - * SHFree [SHELL32.195] + * SHFree [SHELL32.195] * * Equivalent to CoTaskMemFree. Under Windows 9x this function could use * the shell32 built-in "mini-COM" without the need to load ole32.dll - @@ -272,24 +272,24 @@ LPVOID WINAPI SHAlloc(DWORD len) */ void WINAPI SHFree(LPVOID pv) { - TRACE("%p\n",pv); - CoTaskMemFree(pv); + TRACE("%p\n",pv); + CoTaskMemFree(pv); } /************************************************************************* - * SHGetDesktopFolder [SHELL32.@] + * SHGetDesktopFolder [SHELL32.@] */ HRESULT WINAPI SHGetDesktopFolder(IShellFolder **psf) { - HRESULT hres = S_OK; - TRACE("\n"); + HRESULT hres = S_OK; + TRACE("\n"); - if(!psf) return E_INVALIDARG; - *psf = NULL; - hres = CDesktopFolder::_CreatorClass::CreateInstance(NULL, IID_IShellFolder, (void**)psf); + if(!psf) return E_INVALIDARG; + *psf = NULL; + hres = CDesktopFolder::_CreatorClass::CreateInstance(NULL, IID_IShellFolder, (void**)psf); - TRACE("-- %p->(%p)\n",psf, *psf); - return hres; + TRACE("-- %p->(%p)\n",psf, *psf); + return hres; } /************************************************************************** * Default ClassFactory Implementation @@ -303,46 +303,46 @@ HRESULT WINAPI SHGetDesktopFolder(IShellFolder **psf) */ class IDefClFImpl : - public CComObjectRootEx, - public IClassFactory + public CComObjectRootEx, + public IClassFactory { private: - CLSID *rclsid; - LPFNCREATEINSTANCE lpfnCI; - const IID *riidInst; - LONG *pcRefDll; /* pointer to refcounter in external dll (ugrrr...) */ + CLSID *rclsid; + LPFNCREATEINSTANCE lpfnCI; + const IID *riidInst; + LONG *pcRefDll; /* pointer to refcounter in external dll (ugrrr...) */ public: - IDefClFImpl(); - HRESULT Initialize(LPFNCREATEINSTANCE lpfnCI, PLONG pcRefDll, const IID *riidInstx); + IDefClFImpl(); + HRESULT Initialize(LPFNCREATEINSTANCE lpfnCI, PLONG pcRefDll, const IID *riidInstx); - // IClassFactory - virtual HRESULT WINAPI CreateInstance(LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObject); - virtual HRESULT WINAPI LockServer(BOOL fLock); + // IClassFactory + virtual HRESULT WINAPI CreateInstance(LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObject); + virtual HRESULT WINAPI LockServer(BOOL fLock); BEGIN_COM_MAP(IDefClFImpl) - COM_INTERFACE_ENTRY_IID(IID_IClassFactory, IClassFactory) + COM_INTERFACE_ENTRY_IID(IID_IClassFactory, IClassFactory) END_COM_MAP() }; IDefClFImpl::IDefClFImpl() { - lpfnCI = NULL; - riidInst = NULL; - pcRefDll = NULL; + lpfnCI = NULL; + riidInst = NULL; + pcRefDll = NULL; rclsid = NULL; } HRESULT IDefClFImpl::Initialize(LPFNCREATEINSTANCE lpfnCIx, PLONG pcRefDllx, const IID *riidInstx) { - lpfnCI = lpfnCIx; - riidInst = riidInstx; - pcRefDll = pcRefDllx; + lpfnCI = lpfnCIx; + riidInst = riidInstx; + pcRefDll = pcRefDllx; - if (pcRefDll) - InterlockedIncrement(pcRefDll); + if (pcRefDll) + InterlockedIncrement(pcRefDll); - TRACE("(%p)%s\n", this, shdebugstr_guid(riidInst)); - return S_OK; + TRACE("(%p)%s\n", this, shdebugstr_guid(riidInst)); + return S_OK; } /****************************************************************************** @@ -350,17 +350,17 @@ HRESULT IDefClFImpl::Initialize(LPFNCREATEINSTANCE lpfnCIx, PLONG pcRefDllx, con */ HRESULT WINAPI IDefClFImpl::CreateInstance(LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObject) { - TRACE("%p->(%p,%s,%p)\n", this, pUnkOuter, shdebugstr_guid(&riid), ppvObject); + TRACE("%p->(%p,%s,%p)\n", this, pUnkOuter, shdebugstr_guid(&riid), ppvObject); - *ppvObject = NULL; + *ppvObject = NULL; - if (riidInst == NULL || IsEqualCLSID(riid, *riidInst) || IsEqualCLSID(riid, IID_IUnknown)) - { - return lpfnCI(pUnkOuter, riid, ppvObject); - } + if (riidInst == NULL || IsEqualCLSID(riid, *riidInst) || IsEqualCLSID(riid, IID_IUnknown)) + { + return lpfnCI(pUnkOuter, riid, ppvObject); + } - ERR("unknown IID requested %s\n", shdebugstr_guid(&riid)); - return E_NOINTERFACE; + ERR("unknown IID requested %s\n", shdebugstr_guid(&riid)); + return E_NOINTERFACE; } /****************************************************************************** @@ -368,8 +368,8 @@ HRESULT WINAPI IDefClFImpl::CreateInstance(LPUNKNOWN pUnkOuter, REFIID riid, LPV */ HRESULT WINAPI IDefClFImpl::LockServer(BOOL fLock) { - TRACE("%p->(0x%x), not implemented\n", this, fLock); - return E_NOTIMPL; + TRACE("%p->(0x%x), not implemented\n", this, fLock); + return E_NOTIMPL; } /************************************************************************** @@ -378,116 +378,116 @@ HRESULT WINAPI IDefClFImpl::LockServer(BOOL fLock) HRESULT IDefClF_fnConstructor(LPFNCREATEINSTANCE lpfnCI, PLONG pcRefDll, const IID *riidInst, IClassFactory **theFactory) { - CComObject *theClassObject; - CComPtr result; - HRESULT hResult; + CComObject *theClassObject; + CComPtr result; + HRESULT hResult; - if (theFactory == NULL) - return E_POINTER; - *theFactory = NULL; - ATLTRY (theClassObject = new CComObject); - if (theClassObject == NULL) - return E_OUTOFMEMORY; - hResult = theClassObject->QueryInterface (IID_IClassFactory, (void **)&result); - if (FAILED (hResult)) - { - delete theClassObject; - return hResult; - } - hResult = theClassObject->Initialize (lpfnCI, pcRefDll, riidInst); - if (FAILED (hResult)) - return hResult; - *theFactory = result.Detach (); - return S_OK; + if (theFactory == NULL) + return E_POINTER; + *theFactory = NULL; + ATLTRY (theClassObject = new CComObject); + if (theClassObject == NULL) + return E_OUTOFMEMORY; + hResult = theClassObject->QueryInterface (IID_IClassFactory, (void **)&result); + if (FAILED (hResult)) + { + delete theClassObject; + return hResult; + } + hResult = theClassObject->Initialize (lpfnCI, pcRefDll, riidInst); + if (FAILED (hResult)) + return hResult; + *theFactory = result.Detach (); + return S_OK; } /****************************************************************************** - * SHCreateDefClassObject [SHELL32.70] + * SHCreateDefClassObject [SHELL32.70] */ HRESULT WINAPI SHCreateDefClassObject( - REFIID riid, - LPVOID* ppv, - LPFNCREATEINSTANCE lpfnCI, /* [in] create instance callback entry */ - LPDWORD pcRefDll, /* [in/out] ref count of the dll */ - REFIID riidInst) /* [in] optional interface to the instance */ + REFIID riid, + LPVOID* ppv, + LPFNCREATEINSTANCE lpfnCI, /* [in] create instance callback entry */ + LPDWORD pcRefDll, /* [in/out] ref count of the dll */ + REFIID riidInst) /* [in] optional interface to the instance */ { - IClassFactory *pcf; - HRESULT hResult; + IClassFactory *pcf; + HRESULT hResult; - TRACE("%s %p %p %p %s\n", shdebugstr_guid(&riid), ppv, lpfnCI, pcRefDll, shdebugstr_guid(&riidInst)); + TRACE("%s %p %p %p %s\n", shdebugstr_guid(&riid), ppv, lpfnCI, pcRefDll, shdebugstr_guid(&riidInst)); - if (!IsEqualCLSID(riid, IID_IClassFactory)) - return E_NOINTERFACE; - hResult = IDefClF_fnConstructor(lpfnCI, (PLONG)pcRefDll, &riidInst, &pcf); - if (FAILED(hResult)) - return hResult; - *ppv = pcf; - return NOERROR; + if (!IsEqualCLSID(riid, IID_IClassFactory)) + return E_NOINTERFACE; + hResult = IDefClF_fnConstructor(lpfnCI, (PLONG)pcRefDll, &riidInst, &pcf); + if (FAILED(hResult)) + return hResult; + *ppv = pcf; + return NOERROR; } /************************************************************************* - * DragAcceptFiles [SHELL32.@] + * DragAcceptFiles [SHELL32.@] */ void WINAPI DragAcceptFiles(HWND hWnd, BOOL b) { - LONG exstyle; + LONG exstyle; - if( !IsWindow(hWnd) ) return; - exstyle = GetWindowLongPtrA(hWnd,GWL_EXSTYLE); - if (b) - exstyle |= WS_EX_ACCEPTFILES; - else - exstyle &= ~WS_EX_ACCEPTFILES; - SetWindowLongPtrA(hWnd,GWL_EXSTYLE,exstyle); + if( !IsWindow(hWnd) ) return; + exstyle = GetWindowLongPtrA(hWnd,GWL_EXSTYLE); + if (b) + exstyle |= WS_EX_ACCEPTFILES; + else + exstyle &= ~WS_EX_ACCEPTFILES; + SetWindowLongPtrA(hWnd,GWL_EXSTYLE,exstyle); } /************************************************************************* - * DragFinish [SHELL32.@] + * DragFinish [SHELL32.@] */ void WINAPI DragFinish(HDROP h) { - TRACE("\n"); - GlobalFree((HGLOBAL)h); + TRACE("\n"); + GlobalFree((HGLOBAL)h); } /************************************************************************* - * DragQueryPoint [SHELL32.@] + * DragQueryPoint [SHELL32.@] */ BOOL WINAPI DragQueryPoint(HDROP hDrop, POINT *p) { DROPFILES *lpDropFileStruct; - BOOL bRet; + BOOL bRet; - TRACE("\n"); + TRACE("\n"); - lpDropFileStruct = (DROPFILES *) GlobalLock(hDrop); + lpDropFileStruct = (DROPFILES *) GlobalLock(hDrop); *p = lpDropFileStruct->pt; - bRet = lpDropFileStruct->fNC; + bRet = lpDropFileStruct->fNC; - GlobalUnlock(hDrop); - return bRet; + GlobalUnlock(hDrop); + return bRet; } /************************************************************************* - * DragQueryFileA [SHELL32.@] - * DragQueryFile [SHELL32.@] + * DragQueryFileA [SHELL32.@] + * DragQueryFile [SHELL32.@] */ UINT WINAPI DragQueryFileA( - HDROP hDrop, - UINT lFile, - LPSTR lpszFile, - UINT lLength) + HDROP hDrop, + UINT lFile, + LPSTR lpszFile, + UINT lLength) { - LPSTR lpDrop; - UINT i = 0; - DROPFILES *lpDropFileStruct = (DROPFILES *) GlobalLock(hDrop); + LPSTR lpDrop; + UINT i = 0; + DROPFILES *lpDropFileStruct = (DROPFILES *) GlobalLock(hDrop); - TRACE("(%p, %x, %p, %u)\n", hDrop,lFile,lpszFile,lLength); + TRACE("(%p, %x, %p, %u)\n", hDrop,lFile,lpszFile,lLength); - if(!lpDropFileStruct) goto end; + if(!lpDropFileStruct) goto end; - lpDrop = (LPSTR) lpDropFileStruct + lpDropFileStruct->pFiles; + lpDrop = (LPSTR) lpDropFileStruct + lpDropFileStruct->pFiles; if(lpDropFileStruct->fWide) { LPWSTR lpszFileW = NULL; @@ -507,42 +507,42 @@ UINT WINAPI DragQueryFileA( goto end; } - while (i++ < lFile) - { - while (*lpDrop++); /* skip filename */ - if (!*lpDrop) - { - i = (lFile == 0xFFFFFFFF) ? i : 0; - goto end; - } - } + while (i++ < lFile) + { + while (*lpDrop++); /* skip filename */ + if (!*lpDrop) + { + i = (lFile == 0xFFFFFFFF) ? i : 0; + goto end; + } + } - i = strlen(lpDrop); - if (!lpszFile ) goto end; /* needed buffer size */ - lstrcpynA (lpszFile, lpDrop, lLength); + i = strlen(lpDrop); + if (!lpszFile ) goto end; /* needed buffer size */ + lstrcpynA (lpszFile, lpDrop, lLength); end: - GlobalUnlock(hDrop); - return i; + GlobalUnlock(hDrop); + return i; } /************************************************************************* - * DragQueryFileW [SHELL32.@] + * DragQueryFileW [SHELL32.@] */ UINT WINAPI DragQueryFileW( - HDROP hDrop, - UINT lFile, - LPWSTR lpszwFile, - UINT lLength) + HDROP hDrop, + UINT lFile, + LPWSTR lpszwFile, + UINT lLength) { - LPWSTR lpwDrop; - UINT i = 0; - DROPFILES *lpDropFileStruct = (DROPFILES *) GlobalLock(hDrop); + LPWSTR lpwDrop; + UINT i = 0; + DROPFILES *lpDropFileStruct = (DROPFILES *) GlobalLock(hDrop); - TRACE("(%p, %x, %p, %u)\n", hDrop,lFile,lpszwFile,lLength); + TRACE("(%p, %x, %p, %u)\n", hDrop,lFile,lpszwFile,lLength); - if(!lpDropFileStruct) goto end; + if(!lpDropFileStruct) goto end; - lpwDrop = (LPWSTR) ((LPSTR)lpDropFileStruct + lpDropFileStruct->pFiles); + lpwDrop = (LPWSTR) ((LPSTR)lpDropFileStruct + lpDropFileStruct->pFiles); if(lpDropFileStruct->fWide == FALSE) { LPSTR lpszFileA = NULL; @@ -562,21 +562,21 @@ UINT WINAPI DragQueryFileW( goto end; } - i = 0; - while (i++ < lFile) - { - while (*lpwDrop++); /* skip filename */ - if (!*lpwDrop) - { - i = (lFile == 0xFFFFFFFF) ? i : 0; - goto end; - } - } + i = 0; + while (i++ < lFile) + { + while (*lpwDrop++); /* skip filename */ + if (!*lpwDrop) + { + i = (lFile == 0xFFFFFFFF) ? i : 0; + goto end; + } + } - i = wcslen(lpwDrop); - if ( !lpszwFile) goto end; /* needed buffer size */ - lstrcpynW (lpszwFile, lpwDrop, lLength); + i = wcslen(lpwDrop); + if ( !lpszwFile) goto end; /* needed buffer size */ + lstrcpynW (lpszwFile, lpwDrop, lLength); end: - GlobalUnlock(hDrop); - return i; + GlobalUnlock(hDrop); + return i; } diff --git a/dll/win32/shell32/shellord.cpp b/dll/win32/shell32/shellord.cpp index f38f27915a3..44fa887c7d6 100644 --- a/dll/win32/shell32/shellord.cpp +++ b/dll/win32/shell32/shellord.cpp @@ -52,41 +52,41 @@ static HMODULE SHELL32_hshlwapi=NULL; /************************************************************************* - * ParseFieldA [internal] + * ParseFieldA [internal] * * copies a field from a ',' delimited string * * first field is nField = 1 */ DWORD WINAPI ParseFieldA( - LPCSTR src, - DWORD nField, - LPSTR dst, - DWORD len) + LPCSTR src, + DWORD nField, + LPSTR dst, + DWORD len) { - WARN("(%s,0x%08x,%p,%d) semi-stub.\n",debugstr_a(src),nField,dst,len); + WARN("(%s,0x%08x,%p,%d) semi-stub.\n",debugstr_a(src),nField,dst,len); - if (!src || !src[0] || !dst || !len) - return 0; + if (!src || !src[0] || !dst || !len) + return 0; - /* skip n fields delimited by ',' */ - while (nField > 1) - { - if (*src=='\0') return FALSE; - if (*(src++)==',') nField--; - } + /* skip n fields delimited by ',' */ + while (nField > 1) + { + if (*src=='\0') return FALSE; + if (*(src++)==',') nField--; + } - /* copy part till the next ',' to dst */ - while ( *src!='\0' && *src!=',' && (len--)>0 ) *(dst++)=*(src++); + /* copy part till the next ',' to dst */ + while ( *src!='\0' && *src!=',' && (len--)>0 ) *(dst++)=*(src++); - /* finalize the string */ - *dst=0x0; + /* finalize the string */ + *dst=0x0; - return TRUE; + return TRUE; } /************************************************************************* - * ParseFieldW [internal] + * ParseFieldW [internal] * * copies a field from a ',' delimited string * @@ -94,49 +94,49 @@ DWORD WINAPI ParseFieldA( */ DWORD WINAPI ParseFieldW(LPCWSTR src, DWORD nField, LPWSTR dst, DWORD len) { - WARN("(%s,0x%08x,%p,%d) semi-stub.\n", debugstr_w(src), nField, dst, len); + WARN("(%s,0x%08x,%p,%d) semi-stub.\n", debugstr_w(src), nField, dst, len); - if (!src || !src[0] || !dst || !len) - return 0; + if (!src || !src[0] || !dst || !len) + return 0; - /* skip n fields delimited by ',' */ - while (nField > 1) - { - if (*src == 0x0) return FALSE; - if (*src++ == ',') nField--; - } + /* skip n fields delimited by ',' */ + while (nField > 1) + { + if (*src == 0x0) return FALSE; + if (*src++ == ',') nField--; + } - /* copy part till the next ',' to dst */ - while ( *src != 0x0 && *src != ',' && (len--)>0 ) *(dst++) = *(src++); + /* copy part till the next ',' to dst */ + while ( *src != 0x0 && *src != ',' && (len--)>0 ) *(dst++) = *(src++); - /* finalize the string */ - *dst = 0x0; + /* finalize the string */ + *dst = 0x0; - return TRUE; + return TRUE; } /************************************************************************* - * ParseField [SHELL32.58] + * ParseField [SHELL32.58] */ EXTERN_C DWORD WINAPI ParseFieldAW(LPCVOID src, DWORD nField, LPVOID dst, DWORD len) { - if (SHELL_OsIsUnicode()) - return ParseFieldW((LPCWSTR)src, nField, (LPWSTR)dst, len); - return ParseFieldA((LPCSTR)src, nField, (LPSTR)dst, len); + if (SHELL_OsIsUnicode()) + return ParseFieldW((LPCWSTR)src, nField, (LPWSTR)dst, len); + return ParseFieldA((LPCSTR)src, nField, (LPSTR)dst, len); } /************************************************************************* - * GetFileNameFromBrowse [SHELL32.63] + * GetFileNameFromBrowse [SHELL32.63] * */ BOOL WINAPI GetFileNameFromBrowse( - HWND hwndOwner, - LPWSTR lpstrFile, - UINT nMaxFile, - LPCWSTR lpstrInitialDir, - LPCWSTR lpstrDefExt, - LPCWSTR lpstrFilter, - LPCWSTR lpstrTitle) + HWND hwndOwner, + LPWSTR lpstrFile, + UINT nMaxFile, + LPCWSTR lpstrInitialDir, + LPCWSTR lpstrDefExt, + LPCWSTR lpstrFilter, + LPCWSTR lpstrTitle) { typedef BOOL (WINAPI *GetOpenFileNameProc)(OPENFILENAMEW *ofn); HMODULE hmodule; @@ -145,16 +145,16 @@ typedef BOOL (WINAPI *GetOpenFileNameProc)(OPENFILENAMEW *ofn); BOOL ret; TRACE("%p, %s, %d, %s, %s, %s, %s)\n", - hwndOwner, debugstr_w(lpstrFile), nMaxFile, lpstrInitialDir, lpstrDefExt, - lpstrFilter, lpstrTitle); + hwndOwner, debugstr_w(lpstrFile), nMaxFile, lpstrInitialDir, lpstrDefExt, + lpstrFilter, lpstrTitle); hmodule = LoadLibraryW(L"comdlg32.dll"); if(!hmodule) return FALSE; pGetOpenFileNameW = (GetOpenFileNameProc)GetProcAddress(hmodule, "GetOpenFileNameW"); if(!pGetOpenFileNameW) { - FreeLibrary(hmodule); - return FALSE; + FreeLibrary(hmodule); + return FALSE; } memset(&ofn, 0, sizeof(ofn)); @@ -175,7 +175,7 @@ typedef BOOL (WINAPI *GetOpenFileNameProc)(OPENFILENAMEW *ofn); } /************************************************************************* - * SHGetSetSettings [SHELL32.68] + * SHGetSetSettings [SHELL32.68] */ EXTERN_C VOID WINAPI SHGetSetSettings(LPSHELLSTATE lpss, DWORD dwMask, BOOL bSet) { @@ -190,7 +190,7 @@ EXTERN_C VOID WINAPI SHGetSetSettings(LPSHELLSTATE lpss, DWORD dwMask, BOOL bSet } /************************************************************************* - * SHGetSettings [SHELL32.@] + * SHGetSettings [SHELL32.@] * * NOTES * the registry path are for win98 (tested) @@ -199,55 +199,55 @@ EXTERN_C VOID WINAPI SHGetSetSettings(LPSHELLSTATE lpss, DWORD dwMask, BOOL bSet */ EXTERN_C VOID WINAPI SHGetSettings(LPSHELLFLAGSTATE lpsfs, DWORD dwMask) { - HKEY hKey; - DWORD dwData; - DWORD dwDataSize = sizeof (DWORD); + HKEY hKey; + DWORD dwData; + DWORD dwDataSize = sizeof (DWORD); - TRACE("(%p 0x%08x)\n",lpsfs,dwMask); + TRACE("(%p 0x%08x)\n",lpsfs,dwMask); - if (RegCreateKeyExA(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced", - 0, 0, 0, KEY_ALL_ACCESS, 0, &hKey, 0)) - return; + if (RegCreateKeyExA(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced", + 0, 0, 0, KEY_ALL_ACCESS, 0, &hKey, 0)) + return; - if ( (SSF_SHOWEXTENSIONS & dwMask) && !RegQueryValueExA(hKey, "HideFileExt", 0, 0, (LPBYTE)&dwData, &dwDataSize)) - lpsfs->fShowExtensions = ((dwData == 0) ? 0 : 1); + if ( (SSF_SHOWEXTENSIONS & dwMask) && !RegQueryValueExA(hKey, "HideFileExt", 0, 0, (LPBYTE)&dwData, &dwDataSize)) + lpsfs->fShowExtensions = ((dwData == 0) ? 0 : 1); - if ( (SSF_SHOWINFOTIP & dwMask) && !RegQueryValueExA(hKey, "ShowInfoTip", 0, 0, (LPBYTE)&dwData, &dwDataSize)) - lpsfs->fShowInfoTip = ((dwData == 0) ? 0 : 1); + if ( (SSF_SHOWINFOTIP & dwMask) && !RegQueryValueExA(hKey, "ShowInfoTip", 0, 0, (LPBYTE)&dwData, &dwDataSize)) + lpsfs->fShowInfoTip = ((dwData == 0) ? 0 : 1); - if ( (SSF_DONTPRETTYPATH & dwMask) && !RegQueryValueExA(hKey, "DontPrettyPath", 0, 0, (LPBYTE)&dwData, &dwDataSize)) - lpsfs->fDontPrettyPath = ((dwData == 0) ? 0 : 1); + if ( (SSF_DONTPRETTYPATH & dwMask) && !RegQueryValueExA(hKey, "DontPrettyPath", 0, 0, (LPBYTE)&dwData, &dwDataSize)) + lpsfs->fDontPrettyPath = ((dwData == 0) ? 0 : 1); - if ( (SSF_HIDEICONS & dwMask) && !RegQueryValueExA(hKey, "HideIcons", 0, 0, (LPBYTE)&dwData, &dwDataSize)) - lpsfs->fHideIcons = ((dwData == 0) ? 0 : 1); + if ( (SSF_HIDEICONS & dwMask) && !RegQueryValueExA(hKey, "HideIcons", 0, 0, (LPBYTE)&dwData, &dwDataSize)) + lpsfs->fHideIcons = ((dwData == 0) ? 0 : 1); - if ( (SSF_MAPNETDRVBUTTON & dwMask) && !RegQueryValueExA(hKey, "MapNetDrvBtn", 0, 0, (LPBYTE)&dwData, &dwDataSize)) - lpsfs->fMapNetDrvBtn = ((dwData == 0) ? 0 : 1); + if ( (SSF_MAPNETDRVBUTTON & dwMask) && !RegQueryValueExA(hKey, "MapNetDrvBtn", 0, 0, (LPBYTE)&dwData, &dwDataSize)) + lpsfs->fMapNetDrvBtn = ((dwData == 0) ? 0 : 1); - if ( (SSF_SHOWATTRIBCOL & dwMask) && !RegQueryValueExA(hKey, "ShowAttribCol", 0, 0, (LPBYTE)&dwData, &dwDataSize)) - lpsfs->fShowAttribCol = ((dwData == 0) ? 0 : 1); + if ( (SSF_SHOWATTRIBCOL & dwMask) && !RegQueryValueExA(hKey, "ShowAttribCol", 0, 0, (LPBYTE)&dwData, &dwDataSize)) + lpsfs->fShowAttribCol = ((dwData == 0) ? 0 : 1); - if (((SSF_SHOWALLOBJECTS | SSF_SHOWSYSFILES) & dwMask) && !RegQueryValueExA(hKey, "Hidden", 0, 0, (LPBYTE)&dwData, &dwDataSize)) - { if (dwData == 0) - { if (SSF_SHOWALLOBJECTS & dwMask) lpsfs->fShowAllObjects = 0; - if (SSF_SHOWSYSFILES & dwMask) lpsfs->fShowSysFiles = 0; - } - else if (dwData == 1) - { if (SSF_SHOWALLOBJECTS & dwMask) lpsfs->fShowAllObjects = 1; - if (SSF_SHOWSYSFILES & dwMask) lpsfs->fShowSysFiles = 0; - } - else if (dwData == 2) - { if (SSF_SHOWALLOBJECTS & dwMask) lpsfs->fShowAllObjects = 0; - if (SSF_SHOWSYSFILES & dwMask) lpsfs->fShowSysFiles = 1; - } - } - RegCloseKey (hKey); + if (((SSF_SHOWALLOBJECTS | SSF_SHOWSYSFILES) & dwMask) && !RegQueryValueExA(hKey, "Hidden", 0, 0, (LPBYTE)&dwData, &dwDataSize)) + { if (dwData == 0) + { if (SSF_SHOWALLOBJECTS & dwMask) lpsfs->fShowAllObjects = 0; + if (SSF_SHOWSYSFILES & dwMask) lpsfs->fShowSysFiles = 0; + } + else if (dwData == 1) + { if (SSF_SHOWALLOBJECTS & dwMask) lpsfs->fShowAllObjects = 1; + if (SSF_SHOWSYSFILES & dwMask) lpsfs->fShowSysFiles = 0; + } + else if (dwData == 2) + { if (SSF_SHOWALLOBJECTS & dwMask) lpsfs->fShowAllObjects = 0; + if (SSF_SHOWSYSFILES & dwMask) lpsfs->fShowSysFiles = 1; + } + } + RegCloseKey (hKey); - TRACE("-- 0x%04x\n", *(WORD*)lpsfs); + TRACE("-- 0x%04x\n", *(WORD*)lpsfs); } /************************************************************************* - * SHShellFolderView_Message [SHELL32.73] + * SHShellFolderView_Message [SHELL32.73] * * Send a message to an explorer cabinet window. * @@ -267,16 +267,16 @@ EXTERN_C VOID WINAPI SHGetSettings(LPSHELLFLAGSTATE lpsfs, DWORD dwMask) * that was clicked. */ LRESULT WINAPI SHShellFolderView_Message( - HWND hwndCabinet, - UINT uMessage, - LPARAM lParam) + HWND hwndCabinet, + UINT uMessage, + LPARAM lParam) { - FIXME("%p %08x %08lx stub\n",hwndCabinet, uMessage, lParam); - return 0; + FIXME("%p %08x %08lx stub\n",hwndCabinet, uMessage, lParam); + return 0; } /************************************************************************* - * RegisterShellHook [SHELL32.181] + * RegisterShellHook [SHELL32.181] * * Register a shell hook. * @@ -288,15 +288,15 @@ LRESULT WINAPI SHShellFolderView_Message( * Exported by ordinal */ BOOL WINAPI RegisterShellHook( - HWND hWnd, - DWORD dwType) + HWND hWnd, + DWORD dwType) { - FIXME("(%p,0x%08x):stub.\n",hWnd, dwType); - return TRUE; + FIXME("(%p,0x%08x):stub.\n",hWnd, dwType); + return TRUE; } /************************************************************************* - * ShellMessageBoxW [SHELL32.182] + * ShellMessageBoxW [SHELL32.182] * * See ShellMessageBoxA. * @@ -307,47 +307,47 @@ BOOL WINAPI RegisterShellHook( * shlwapi as well. */ EXTERN_C int WINAPI ShellMessageBoxW( - HINSTANCE hInstance, - HWND hWnd, - LPCWSTR lpText, - LPCWSTR lpCaption, - UINT uType, - ...) + HINSTANCE hInstance, + HWND hWnd, + LPCWSTR lpText, + LPCWSTR lpCaption, + UINT uType, + ...) { - WCHAR szText[100],szTitle[100]; - LPCWSTR pszText = szText, pszTitle = szTitle; - LPWSTR pszTemp; - va_list args; - int ret; + WCHAR szText[100],szTitle[100]; + LPCWSTR pszText = szText, pszTitle = szTitle; + LPWSTR pszTemp; + va_list args; + int ret; - va_start(args, uType); - /* wvsprintfA(buf,fmt, args); */ + va_start(args, uType); + /* wvsprintfA(buf,fmt, args); */ - TRACE("(%p,%p,%p,%p,%08x)\n", - hInstance,hWnd,lpText,lpCaption,uType); + TRACE("(%p,%p,%p,%p,%08x)\n", + hInstance,hWnd,lpText,lpCaption,uType); - if (IS_INTRESOURCE(lpCaption)) - LoadStringW(hInstance, LOWORD(lpCaption), szTitle, sizeof(szTitle)/sizeof(szTitle[0])); - else - pszTitle = lpCaption; + if (IS_INTRESOURCE(lpCaption)) + LoadStringW(hInstance, LOWORD(lpCaption), szTitle, sizeof(szTitle)/sizeof(szTitle[0])); + else + pszTitle = lpCaption; - if (IS_INTRESOURCE(lpText)) - LoadStringW(hInstance, LOWORD(lpText), szText, sizeof(szText)/sizeof(szText[0])); - else - pszText = lpText; + if (IS_INTRESOURCE(lpText)) + LoadStringW(hInstance, LOWORD(lpText), szText, sizeof(szText)/sizeof(szText[0])); + else + pszText = lpText; - FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_STRING, - pszText, 0, 0, (LPWSTR)&pszTemp, 0, &args); + FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_STRING, + pszText, 0, 0, (LPWSTR)&pszTemp, 0, &args); - va_end(args); + va_end(args); - ret = MessageBoxW(hWnd,pszTemp,pszTitle,uType); - LocalFree(pszTemp); - return ret; + ret = MessageBoxW(hWnd,pszTemp,pszTitle,uType); + LocalFree(pszTemp); + return ret; } /************************************************************************* - * ShellMessageBoxA [SHELL32.183] + * ShellMessageBoxA [SHELL32.183] * * Format and output an error message. * @@ -365,47 +365,47 @@ EXTERN_C int WINAPI ShellMessageBoxW( * Exported by ordinal */ EXTERN_C int WINAPI ShellMessageBoxA( - HINSTANCE hInstance, - HWND hWnd, - LPCSTR lpText, - LPCSTR lpCaption, - UINT uType, - ...) + HINSTANCE hInstance, + HWND hWnd, + LPCSTR lpText, + LPCSTR lpCaption, + UINT uType, + ...) { - char szText[100],szTitle[100]; - LPCSTR pszText = szText, pszTitle = szTitle; - LPSTR pszTemp; - va_list args; - int ret; + char szText[100],szTitle[100]; + LPCSTR pszText = szText, pszTitle = szTitle; + LPSTR pszTemp; + va_list args; + int ret; - va_start(args, uType); - /* wvsprintfA(buf,fmt, args); */ + va_start(args, uType); + /* wvsprintfA(buf,fmt, args); */ - TRACE("(%p,%p,%p,%p,%08x)\n", - hInstance,hWnd,lpText,lpCaption,uType); + TRACE("(%p,%p,%p,%p,%08x)\n", + hInstance,hWnd,lpText,lpCaption,uType); - if (IS_INTRESOURCE(lpCaption)) - LoadStringA(hInstance, LOWORD(lpCaption), szTitle, sizeof(szTitle)); - else - pszTitle = lpCaption; + if (IS_INTRESOURCE(lpCaption)) + LoadStringA(hInstance, LOWORD(lpCaption), szTitle, sizeof(szTitle)); + else + pszTitle = lpCaption; - if (IS_INTRESOURCE(lpText)) - LoadStringA(hInstance, LOWORD(lpText), szText, sizeof(szText)); - else - pszText = lpText; + if (IS_INTRESOURCE(lpText)) + LoadStringA(hInstance, LOWORD(lpText), szText, sizeof(szText)); + else + pszText = lpText; - FormatMessageA(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_STRING, - pszText, 0, 0, (LPSTR)&pszTemp, 0, &args); + FormatMessageA(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_STRING, + pszText, 0, 0, (LPSTR)&pszTemp, 0, &args); - va_end(args); + va_end(args); - ret = MessageBoxA(hWnd,pszTemp,pszTitle,uType); - LocalFree(pszTemp); - return ret; + ret = MessageBoxA(hWnd,pszTemp,pszTitle,uType); + LocalFree(pszTemp); + return ret; } /************************************************************************* - * SHRegisterDragDrop [SHELL32.86] + * SHRegisterDragDrop [SHELL32.86] * * Probably equivalent to RegisterDragDrop but under Windows 95 it could use the * shell32 built-in "mini-COM" without the need to load ole32.dll - see SHLoadOLE @@ -420,15 +420,15 @@ EXTERN_C int WINAPI ShellMessageBoxA( * RegisterDragDrop, SHLoadOLE */ HRESULT WINAPI SHRegisterDragDrop( - HWND hWnd, - LPDROPTARGET pDropTarget) + HWND hWnd, + LPDROPTARGET pDropTarget) { - FIXME("(%p,%p):stub.\n", hWnd, pDropTarget); - return RegisterDragDrop(hWnd, pDropTarget); + FIXME("(%p,%p):stub.\n", hWnd, pDropTarget); + return RegisterDragDrop(hWnd, pDropTarget); } /************************************************************************* - * SHRevokeDragDrop [SHELL32.87] + * SHRevokeDragDrop [SHELL32.87] * * Probably equivalent to RevokeDragDrop but under Windows 9x it could use the * shell32 built-in "mini-COM" without the need to load ole32.dll - see SHLoadOLE @@ -447,7 +447,7 @@ HRESULT WINAPI SHRevokeDragDrop(HWND hWnd) } /************************************************************************* - * SHDoDragDrop [SHELL32.88] + * SHDoDragDrop [SHELL32.88] * * Probably equivalent to DoDragDrop but under Windows 9x it could use the * shell32 built-in "mini-COM" without the need to load ole32.dll - see SHLoadOLE @@ -460,36 +460,36 @@ HRESULT WINAPI SHRevokeDragDrop(HWND hWnd) * DoDragDrop, SHLoadOLE */ HRESULT WINAPI SHDoDragDrop( - HWND hWnd, - LPDATAOBJECT lpDataObject, - LPDROPSOURCE lpDropSource, - DWORD dwOKEffect, - LPDWORD pdwEffect) + HWND hWnd, + LPDATAOBJECT lpDataObject, + LPDROPSOURCE lpDropSource, + DWORD dwOKEffect, + LPDWORD pdwEffect) { FIXME("(%p %p %p 0x%08x %p):stub.\n", hWnd, lpDataObject, lpDropSource, dwOKEffect, pdwEffect); - return DoDragDrop(lpDataObject, lpDropSource, dwOKEffect, pdwEffect); + return DoDragDrop(lpDataObject, lpDropSource, dwOKEffect, pdwEffect); } /************************************************************************* - * ArrangeWindows [SHELL32.184] + * ArrangeWindows [SHELL32.184] * */ WORD WINAPI ArrangeWindows( - HWND hwndParent, - DWORD dwReserved, - LPCRECT lpRect, - WORD cKids, - CONST HWND * lpKids) + HWND hwndParent, + DWORD dwReserved, + LPCRECT lpRect, + WORD cKids, + CONST HWND * lpKids) { /* Unimplemented in WinXP SP3 */ TRACE("(%p 0x%08x %p 0x%04x %p):stub.\n", - hwndParent, dwReserved, lpRect, cKids, lpKids); + hwndParent, dwReserved, lpRect, cKids, lpKids); return 0; } /************************************************************************* - * SignalFileOpen [SHELL32.103] + * SignalFileOpen [SHELL32.103] * * NOTES * exported by ordinal @@ -523,17 +523,17 @@ static INT SHADD_get_policy(LPCSTR policy, LPDWORD type, LPVOID buffer, LPDWORD /* Get the key for the policies location in the registry */ if (RegOpenKeyExA(HKEY_LOCAL_MACHINE, - "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer", - 0, KEY_READ, &Policy_basekey)) { + "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer", + 0, KEY_READ, &Policy_basekey)) { - if (RegOpenKeyExA(HKEY_CURRENT_USER, - "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer", - 0, KEY_READ, &Policy_basekey)) { - TRACE("No Explorer Policies location exists. Policy wanted=%s\n", - policy); - *len = 0; - return ERROR_FILE_NOT_FOUND; - } + if (RegOpenKeyExA(HKEY_CURRENT_USER, + "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer", + 0, KEY_READ, &Policy_basekey)) { + TRACE("No Explorer Policies location exists. Policy wanted=%s\n", + policy); + *len = 0; + return ERROR_FILE_NOT_FOUND; + } } /* Retrieve the data if it exists @@ -590,7 +590,7 @@ static INT SHADD_create_add_mru_data(HANDLE mruhandle, LPCSTR doc_name, LPCSTR n */ /* Create the MRU data structure for "RecentDocs" - */ + */ ptr = buffer; lstrcpyA(ptr, doc_name); ptr += (lstrlenA(buffer) + 1); @@ -613,7 +613,7 @@ static INT SHADD_create_add_mru_data(HANDLE mruhandle, LPCSTR doc_name, LPCSTR n } /************************************************************************* - * SHAddToRecentDocs [SHELL32.@] + * SHAddToRecentDocs [SHELL32.@] * * Modify (add/clear) Shell's list of recently used documents. * @@ -645,7 +645,7 @@ void WINAPI SHAddToRecentDocs (UINT uFlags,LPCVOID pv) CHAR new_lnk_filepath[MAX_PATH]; CHAR new_lnk_name[MAX_PATH]; CHAR * ext; - CComPtr ppM; + CComPtr ppM; LPITEMIDLIST pidl; HWND hwnd = 0; /* FIXME: get real window handle */ INT ret; @@ -668,21 +668,21 @@ void WINAPI SHAddToRecentDocs (UINT uFlags,LPCVOID pv) datalen = 64; ret=SHADD_get_policy( "NoRecentDocsHistory", &type, data, &datalen); if ((ret > 0) && (ret != ERROR_FILE_NOT_FOUND)) { - ERR("Error %d getting policy \"NoRecentDocsHistory\"\n", ret); - return; + ERR("Error %d getting policy \"NoRecentDocsHistory\"\n", ret); + return; } if (ret == ERROR_SUCCESS) { - if (!( (type == REG_DWORD) || - ((type == REG_BINARY) && (datalen == 4)) )) { - ERR("Error policy data for \"NoRecentDocsHistory\" not formatted correctly, type=%d, len=%d\n", - type, datalen); - return; - } + if (!( (type == REG_DWORD) || + ((type == REG_BINARY) && (datalen == 4)) )) { + ERR("Error policy data for \"NoRecentDocsHistory\" not formatted correctly, type=%d, len=%d\n", + type, datalen); + return; + } - TRACE("policy value for NoRecentDocsHistory = %08x\n", data[0]); - /* now test the actual policy value */ - if ( data[0] != 0) - return; + TRACE("policy value for NoRecentDocsHistory = %08x\n", data[0]); + /* now test the actual policy value */ + if ( data[0] != 0) + return; } /* Open key to where the necessary info is @@ -692,59 +692,59 @@ void WINAPI SHAddToRecentDocs (UINT uFlags,LPCVOID pv) * key is stored in the DLL global data. */ if (RegCreateKeyExA(HKEY_CURRENT_USER, - "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer", - 0, 0, 0, KEY_READ, 0, &HCUbasekey, 0)) { - ERR("Failed to create 'Software\\Microsoft\\Windows\\CurrentVersion\\Explorer'\n"); - return; + "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer", + 0, 0, 0, KEY_READ, 0, &HCUbasekey, 0)) { + ERR("Failed to create 'Software\\Microsoft\\Windows\\CurrentVersion\\Explorer'\n"); + return; } /* Get path to user's "Recent" directory */ if(SUCCEEDED(SHGetMalloc(&ppM))) { - if (SUCCEEDED(SHGetSpecialFolderLocation(hwnd, CSIDL_RECENT, - &pidl))) { - SHGetPathFromIDListA(pidl, link_dir); - ppM->Free(pidl); - } - else { - /* serious issues */ - link_dir[0] = 0; - ERR("serious issues 1\n"); - } + if (SUCCEEDED(SHGetSpecialFolderLocation(hwnd, CSIDL_RECENT, + &pidl))) { + SHGetPathFromIDListA(pidl, link_dir); + ppM->Free(pidl); } else { - /* serious issues */ - link_dir[0] = 0; - ERR("serious issues 2\n"); + /* serious issues */ + link_dir[0] = 0; + ERR("serious issues 1\n"); + } + } + else { + /* serious issues */ + link_dir[0] = 0; + ERR("serious issues 2\n"); } TRACE("Users Recent dir %s\n", link_dir); /* If no input, then go clear the lists */ if (!pv) { - /* clear user's Recent dir - */ + /* clear user's Recent dir + */ - /* FIXME: delete all files in "link_dir" - * - * while( more files ) { - * lstrcpyA(old_lnk_name, link_dir); - * PathAppendA(old_lnk_name, filenam); - * DeleteFileA(old_lnk_name); - * } - */ - FIXME("should delete all files in %s\\\n", link_dir); + /* FIXME: delete all files in "link_dir" + * + * while( more files ) { + * lstrcpyA(old_lnk_name, link_dir); + * PathAppendA(old_lnk_name, filenam); + * DeleteFileA(old_lnk_name); + * } + */ + FIXME("should delete all files in %s\\\n", link_dir); - /* clear MRU list - */ - /* MS Bug ?? v4.72.3612.1700 of shell32 does the delete against - * HKEY_LOCAL_MACHINE version of ...CurrentVersion\Explorer - * and naturally it fails w/ rc=2. It should do it against - * HKEY_CURRENT_USER which is where it is stored, and where - * the MRU routines expect it!!!! - */ - RegDeleteKeyA(HCUbasekey, "RecentDocs"); - RegCloseKey(HCUbasekey); - return; + /* clear MRU list + */ + /* MS Bug ?? v4.72.3612.1700 of shell32 does the delete against + * HKEY_LOCAL_MACHINE version of ...CurrentVersion\Explorer + * and naturally it fails w/ rc=2. It should do it against + * HKEY_CURRENT_USER which is where it is stored, and where + * the MRU routines expect it!!!! + */ + RegDeleteKeyA(HCUbasekey, "RecentDocs"); + RegCloseKey(HCUbasekey); + return; } /* Have data to add, the jobs to be done: @@ -760,7 +760,7 @@ void WINAPI SHAddToRecentDocs (UINT uFlags,LPCVOID pv) switch (uFlags) { case SHARD_PIDL: - SHGetPathFromIDListA((LPCITEMIDLIST)pv, doc_name); + SHGetPathFromIDListA((LPCITEMIDLIST)pv, doc_name); break; case SHARD_PATHA: @@ -801,173 +801,173 @@ void WINAPI SHAddToRecentDocs (UINT uFlags,LPCVOID pv) /* *** JOB 1: Update registry for ...\Explorer\RecentDocs list *** */ { /* on input needs: - * doc_name - pure file-spec, no path - * link_dir - path to the user's Recent directory - * HCUbasekey - key of ...Windows\CurrentVersion\Explorer" node - * creates: - * new_lnk_name- pure file-spec, no path for new .lnk file - * new_lnk_filepath - * - path and file name of new .lnk file - */ - CREATEMRULISTA mymru; - HANDLE mruhandle; - INT len, pos, bufused, err; - INT i; - DWORD attr; - CHAR buffer[2048]; - CHAR *ptr; - CHAR old_lnk_name[MAX_PATH]; - short int slen; + * doc_name - pure file-spec, no path + * link_dir - path to the user's Recent directory + * HCUbasekey - key of ...Windows\CurrentVersion\Explorer" node + * creates: + * new_lnk_name- pure file-spec, no path for new .lnk file + * new_lnk_filepath + * - path and file name of new .lnk file + */ + CREATEMRULISTA mymru; + HANDLE mruhandle; + INT len, pos, bufused, err; + INT i; + DWORD attr; + CHAR buffer[2048]; + CHAR *ptr; + CHAR old_lnk_name[MAX_PATH]; + short int slen; - mymru.cbSize = sizeof(CREATEMRULISTA); - mymru.nMaxItems = 15; - mymru.dwFlags = MRUF_BINARY_LIST | MRUF_DELAYED_SAVE; - mymru.hKey = HCUbasekey; - mymru.lpszSubKey = "RecentDocs"; - mymru.lpfnCompare = (PROC)SHADD_compare_mru; - mruhandle = CreateMRUListA(&mymru); - if (!mruhandle) { - /* MRU failed */ - ERR("MRU processing failed, handle zero\n"); - RegCloseKey(HCUbasekey); - return; - } - len = lstrlenA(doc_name); - pos = FindMRUData(mruhandle, doc_name, len, 0); + mymru.cbSize = sizeof(CREATEMRULISTA); + mymru.nMaxItems = 15; + mymru.dwFlags = MRUF_BINARY_LIST | MRUF_DELAYED_SAVE; + mymru.hKey = HCUbasekey; + mymru.lpszSubKey = "RecentDocs"; + mymru.lpfnCompare = (PROC)SHADD_compare_mru; + mruhandle = CreateMRUListA(&mymru); + if (!mruhandle) { + /* MRU failed */ + ERR("MRU processing failed, handle zero\n"); + RegCloseKey(HCUbasekey); + return; + } + len = lstrlenA(doc_name); + pos = FindMRUData(mruhandle, doc_name, len, 0); - /* Now get the MRU entry that will be replaced - * and delete the .lnk file for it - */ - if ((bufused = EnumMRUListA(mruhandle, (pos == -1) ? 14 : pos, + /* Now get the MRU entry that will be replaced + * and delete the .lnk file for it + */ + if ((bufused = EnumMRUListA(mruhandle, (pos == -1) ? 14 : pos, buffer, 2048)) != -1) { - ptr = buffer; - ptr += (lstrlenA(buffer) + 1); - slen = *((short int*)ptr); - ptr += 2; /* skip the length area */ - if (bufused >= slen + (ptr-buffer)) { - /* buffer size looks good */ - ptr += 12; /* get to string */ - len = bufused - (ptr-buffer); /* get length of buf remaining */ - if ((lstrlenA(ptr) > 0) && (lstrlenA(ptr) <= len-1)) { - /* appears to be good string */ - lstrcpyA(old_lnk_name, link_dir); - PathAppendA(old_lnk_name, ptr); - if (!DeleteFileA(old_lnk_name)) { - if ((attr = GetFileAttributesA(old_lnk_name)) == INVALID_FILE_ATTRIBUTES) { - if ((err = GetLastError()) != ERROR_FILE_NOT_FOUND) { - ERR("Delete for %s failed, err=%d, attr=%08x\n", - old_lnk_name, err, attr); - } - else { - TRACE("old .lnk file %s did not exist\n", - old_lnk_name); - } - } - else { - ERR("Delete for %s failed, attr=%08x\n", - old_lnk_name, attr); - } - } - else { - TRACE("deleted old .lnk file %s\n", old_lnk_name); - } - } - } - } + ptr = buffer; + ptr += (lstrlenA(buffer) + 1); + slen = *((short int*)ptr); + ptr += 2; /* skip the length area */ + if (bufused >= slen + (ptr-buffer)) { + /* buffer size looks good */ + ptr += 12; /* get to string */ + len = bufused - (ptr-buffer); /* get length of buf remaining */ + if ((lstrlenA(ptr) > 0) && (lstrlenA(ptr) <= len-1)) { + /* appears to be good string */ + lstrcpyA(old_lnk_name, link_dir); + PathAppendA(old_lnk_name, ptr); + if (!DeleteFileA(old_lnk_name)) { + if ((attr = GetFileAttributesA(old_lnk_name)) == INVALID_FILE_ATTRIBUTES) { + if ((err = GetLastError()) != ERROR_FILE_NOT_FOUND) { + ERR("Delete for %s failed, err=%d, attr=%08x\n", + old_lnk_name, err, attr); + } + else { + TRACE("old .lnk file %s did not exist\n", + old_lnk_name); + } + } + else { + ERR("Delete for %s failed, attr=%08x\n", + old_lnk_name, attr); + } + } + else { + TRACE("deleted old .lnk file %s\n", old_lnk_name); + } + } + } + } - /* Create usable .lnk file name for the "Recent" directory - */ - wsprintfA(new_lnk_name, "%s.lnk", doc_name); - lstrcpyA(new_lnk_filepath, link_dir); - PathAppendA(new_lnk_filepath, new_lnk_name); - i = 1; - olderrormode = SetErrorMode(SEM_FAILCRITICALERRORS); - while (GetFileAttributesA(new_lnk_filepath) != INVALID_FILE_ATTRIBUTES) { - i++; - wsprintfA(new_lnk_name, "%s (%u).lnk", doc_name, i); - lstrcpyA(new_lnk_filepath, link_dir); - PathAppendA(new_lnk_filepath, new_lnk_name); - } - SetErrorMode(olderrormode); - TRACE("new shortcut will be %s\n", new_lnk_filepath); + /* Create usable .lnk file name for the "Recent" directory + */ + wsprintfA(new_lnk_name, "%s.lnk", doc_name); + lstrcpyA(new_lnk_filepath, link_dir); + PathAppendA(new_lnk_filepath, new_lnk_name); + i = 1; + olderrormode = SetErrorMode(SEM_FAILCRITICALERRORS); + while (GetFileAttributesA(new_lnk_filepath) != INVALID_FILE_ATTRIBUTES) { + i++; + wsprintfA(new_lnk_name, "%s (%u).lnk", doc_name, i); + lstrcpyA(new_lnk_filepath, link_dir); + PathAppendA(new_lnk_filepath, new_lnk_name); + } + SetErrorMode(olderrormode); + TRACE("new shortcut will be %s\n", new_lnk_filepath); - /* Now add the new MRU entry and data - */ - pos = SHADD_create_add_mru_data(mruhandle, doc_name, new_lnk_name, - buffer, &len); - FreeMRUList(mruhandle); - TRACE("Updated MRU list, new doc is position %d\n", pos); + /* Now add the new MRU entry and data + */ + pos = SHADD_create_add_mru_data(mruhandle, doc_name, new_lnk_name, + buffer, &len); + FreeMRUList(mruhandle); + TRACE("Updated MRU list, new doc is position %d\n", pos); } /* *** JOB 2: Create shortcut in user's "Recent" directory *** */ { /* on input needs: - * doc_name - pure file-spec, no path - * new_lnk_filepath - * - path and file name of new .lnk file - * uFlags[in] - flags on call to SHAddToRecentDocs - * pv[in] - document path/pidl on call to SHAddToRecentDocs - */ - CComPtr psl; - CComPtr pPf; - HRESULT hres; - CHAR desc[MAX_PATH]; - WCHAR widelink[MAX_PATH]; + * doc_name - pure file-spec, no path + * new_lnk_filepath + * - path and file name of new .lnk file + * uFlags[in] - flags on call to SHAddToRecentDocs + * pv[in] - document path/pidl on call to SHAddToRecentDocs + */ + CComPtr psl; + CComPtr pPf; + HRESULT hres; + CHAR desc[MAX_PATH]; + WCHAR widelink[MAX_PATH]; - CoInitialize(0); + CoInitialize(0); - hres = CoCreateInstance(CLSID_ShellLink, - NULL, - CLSCTX_INPROC_SERVER, - IID_IShellLinkA, - (void **)&psl); - if(SUCCEEDED(hres)) { + hres = CoCreateInstance(CLSID_ShellLink, + NULL, + CLSCTX_INPROC_SERVER, + IID_IShellLinkA, + (void **)&psl); + if(SUCCEEDED(hres)) { - hres = psl->QueryInterface(IID_IPersistFile, - (LPVOID *)&pPf); - if(FAILED(hres)) { - /* bombed */ - ERR("failed QueryInterface for IPersistFile %08x\n", hres); - goto fail; - } + hres = psl->QueryInterface(IID_IPersistFile, + (LPVOID *)&pPf); + if(FAILED(hres)) { + /* bombed */ + ERR("failed QueryInterface for IPersistFile %08x\n", hres); + goto fail; + } - /* Set the document path or pidl */ - if (uFlags == SHARD_PIDL) { - hres = psl->SetIDList((LPCITEMIDLIST) pv); - } else { - hres = psl->SetPath((LPCSTR) pv); - } - if(FAILED(hres)) { - /* bombed */ - ERR("failed Set{IDList|Path} %08x\n", hres); - goto fail; - } + /* Set the document path or pidl */ + if (uFlags == SHARD_PIDL) { + hres = psl->SetIDList((LPCITEMIDLIST) pv); + } else { + hres = psl->SetPath((LPCSTR) pv); + } + if(FAILED(hres)) { + /* bombed */ + ERR("failed Set{IDList|Path} %08x\n", hres); + goto fail; + } - lstrcpyA(desc, "Shortcut to "); - lstrcatA(desc, doc_name); - hres = psl->SetDescription(desc); - if(FAILED(hres)) { - /* bombed */ - ERR("failed SetDescription %08x\n", hres); - goto fail; - } + lstrcpyA(desc, "Shortcut to "); + lstrcatA(desc, doc_name); + hres = psl->SetDescription(desc); + if(FAILED(hres)) { + /* bombed */ + ERR("failed SetDescription %08x\n", hres); + goto fail; + } - MultiByteToWideChar(CP_ACP, 0, new_lnk_filepath, -1, - widelink, MAX_PATH); - /* create the short cut */ - hres = pPf->Save(widelink, TRUE); - if(FAILED(hres)) { - /* bombed */ - ERR("failed IPersistFile::Save %08x\n", hres); - goto fail; - } - hres = pPf->SaveCompleted(widelink); - TRACE("shortcut %s has been created, result=%08x\n", - new_lnk_filepath, hres); - } - else { - ERR("CoCreateInstance failed, hres=%08x\n", hres); - } + MultiByteToWideChar(CP_ACP, 0, new_lnk_filepath, -1, + widelink, MAX_PATH); + /* create the short cut */ + hres = pPf->Save(widelink, TRUE); + if(FAILED(hres)) { + /* bombed */ + ERR("failed IPersistFile::Save %08x\n", hres); + goto fail; + } + hres = pPf->SaveCompleted(widelink); + TRACE("shortcut %s has been created, result=%08x\n", + new_lnk_filepath, hres); + } + else { + ERR("CoCreateInstance failed, hres=%08x\n", hres); + } } fail: @@ -979,7 +979,7 @@ void WINAPI SHAddToRecentDocs (UINT uFlags,LPCVOID pv) } /************************************************************************* - * SHCreateShellFolderViewEx [SHELL32.174] + * SHCreateShellFolderViewEx [SHELL32.174] * * Create a new instance of the default Shell folder view object. * @@ -991,36 +991,36 @@ void WINAPI SHAddToRecentDocs (UINT uFlags,LPCVOID pv) * see IShellFolder::CreateViewObject */ HRESULT WINAPI SHCreateShellFolderViewEx( - LPCSFV psvcbi, /* [in] shelltemplate struct */ - IShellView **ppv) /* [out] IShellView pointer */ + LPCSFV psvcbi, /* [in] shelltemplate struct */ + IShellView **ppv) /* [out] IShellView pointer */ { - IShellView * psf; - HRESULT hRes; + IShellView * psf; + HRESULT hRes; - TRACE("sf=%p pidl=%p cb=%p mode=0x%08x parm=%p\n", - psvcbi->pshf, psvcbi->pidl, psvcbi->pfnCallback, - psvcbi->fvm, psvcbi->psvOuter); + TRACE("sf=%p pidl=%p cb=%p mode=0x%08x parm=%p\n", + psvcbi->pshf, psvcbi->pidl, psvcbi->pfnCallback, + psvcbi->fvm, psvcbi->psvOuter); - hRes = IShellView_Constructor(psvcbi->pshf, &psf); - if (FAILED(hRes)) - return hRes; + hRes = IShellView_Constructor(psvcbi->pshf, &psf); + if (FAILED(hRes)) + return hRes; - if (!psf) - return E_OUTOFMEMORY; + if (!psf) + return E_OUTOFMEMORY; - psf->AddRef(); - hRes = psf->QueryInterface(IID_IShellView, (LPVOID *)ppv); - psf->Release(); + psf->AddRef(); + hRes = psf->QueryInterface(IID_IShellView, (LPVOID *)ppv); + psf->Release(); - return hRes; + return hRes; } /************************************************************************* - * SHWinHelp [SHELL32.127] + * SHWinHelp [SHELL32.127] * */ EXTERN_C HRESULT WINAPI SHWinHelp (DWORD v, DWORD w, DWORD x, DWORD z) -{ FIXME("0x%08x 0x%08x 0x%08x 0x%08x stub\n",v,w,x,z); - return 0; +{ FIXME("0x%08x 0x%08x 0x%08x 0x%08x stub\n",v,w,x,z); + return 0; } /************************************************************************* * SHRunControlPanel [SHELL32.161] @@ -1028,40 +1028,40 @@ EXTERN_C HRESULT WINAPI SHWinHelp (DWORD v, DWORD w, DWORD x, DWORD z) */ EXTERN_C BOOL WINAPI SHRunControlPanel (LPCWSTR lpcszCmdLine, HWND hwndMsgParent) { - FIXME("0x%08x 0x%08x stub\n",lpcszCmdLine,hwndMsgParent); - return 0; + FIXME("0x%08x 0x%08x stub\n",lpcszCmdLine,hwndMsgParent); + return 0; } static LPUNKNOWN SHELL32_IExplorerInterface=0; /************************************************************************* - * SHSetInstanceExplorer [SHELL32.176] + * SHSetInstanceExplorer [SHELL32.176] * * NOTES * Sets the interface */ VOID WINAPI SHSetInstanceExplorer (LPUNKNOWN lpUnknown) -{ TRACE("%p\n", lpUnknown); - SHELL32_IExplorerInterface = lpUnknown; +{ TRACE("%p\n", lpUnknown); + SHELL32_IExplorerInterface = lpUnknown; } /************************************************************************* - * SHGetInstanceExplorer [SHELL32.@] + * SHGetInstanceExplorer [SHELL32.@] * * NOTES * gets the interface pointer of the explorer and a reference */ HRESULT WINAPI SHGetInstanceExplorer (IUnknown **lpUnknown) -{ TRACE("%p\n", lpUnknown); +{ TRACE("%p\n", lpUnknown); - *lpUnknown = SHELL32_IExplorerInterface; + *lpUnknown = SHELL32_IExplorerInterface; - if (!SHELL32_IExplorerInterface) - return E_FAIL; + if (!SHELL32_IExplorerInterface) + return E_FAIL; - SHELL32_IExplorerInterface->AddRef(); - return NOERROR; + SHELL32_IExplorerInterface->AddRef(); + return NOERROR; } /************************************************************************* - * SHFreeUnusedLibraries [SHELL32.123] + * SHFreeUnusedLibraries [SHELL32.123] * * Probably equivalent to CoFreeUnusedLibraries but under Windows 9x it could use * the shell32 built-in "mini-COM" without the need to load ole32.dll - see SHLoadOLE @@ -1075,11 +1075,11 @@ HRESULT WINAPI SHGetInstanceExplorer (IUnknown **lpUnknown) */ void WINAPI SHFreeUnusedLibraries (void) { - FIXME("stub\n"); - CoFreeUnusedLibraries(); + FIXME("stub\n"); + CoFreeUnusedLibraries(); } /************************************************************************* - * DAD_AutoScroll [SHELL32.129] + * DAD_AutoScroll [SHELL32.129] * */ BOOL WINAPI DAD_AutoScroll(HWND hwnd, AUTO_SCROLL_DATA *samples, const POINT * pt) @@ -1088,7 +1088,7 @@ BOOL WINAPI DAD_AutoScroll(HWND hwnd, AUTO_SCROLL_DATA *samples, const POINT * p return 0; } /************************************************************************* - * DAD_DragEnter [SHELL32.130] + * DAD_DragEnter [SHELL32.130] * */ BOOL WINAPI DAD_DragEnter(HWND hwnd) @@ -1097,7 +1097,7 @@ BOOL WINAPI DAD_DragEnter(HWND hwnd) return FALSE; } /************************************************************************* - * DAD_DragEnterEx [SHELL32.131] + * DAD_DragEnterEx [SHELL32.131] * */ BOOL WINAPI DAD_DragEnterEx(HWND hwnd, POINT p) @@ -1106,7 +1106,7 @@ BOOL WINAPI DAD_DragEnterEx(HWND hwnd, POINT p) return FALSE; } /************************************************************************* - * DAD_DragMove [SHELL32.134] + * DAD_DragMove [SHELL32.134] * */ BOOL WINAPI DAD_DragMove(POINT p) @@ -1115,7 +1115,7 @@ BOOL WINAPI DAD_DragMove(POINT p) return FALSE; } /************************************************************************* - * DAD_DragLeave [SHELL32.132] + * DAD_DragLeave [SHELL32.132] * */ BOOL WINAPI DAD_DragLeave(VOID) @@ -1124,28 +1124,28 @@ BOOL WINAPI DAD_DragLeave(VOID) return FALSE; } /************************************************************************* - * DAD_SetDragImage [SHELL32.136] + * DAD_SetDragImage [SHELL32.136] * * NOTES * exported by name */ BOOL WINAPI DAD_SetDragImage( - HIMAGELIST himlTrack, - LPPOINT lppt) + HIMAGELIST himlTrack, + LPPOINT lppt) { - FIXME("%p %p stub\n",himlTrack, lppt); + FIXME("%p %p stub\n",himlTrack, lppt); return 0; } /************************************************************************* - * DAD_ShowDragImage [SHELL32.137] + * DAD_ShowDragImage [SHELL32.137] * * NOTES * exported by name */ BOOL WINAPI DAD_ShowDragImage(BOOL bShow) { - FIXME("0x%08x stub\n",bShow); - return 0; + FIXME("0x%08x stub\n",bShow); + return 0; } static const WCHAR szwCabLocation[] = { @@ -1160,86 +1160,86 @@ static const WCHAR szwCabLocation[] = { static const WCHAR szwSettings[] = { 'S','e','t','t','i','n','g','s',0 }; /************************************************************************* - * ReadCabinetState [SHELL32.651] NT 4.0 + * ReadCabinetState [SHELL32.651] NT 4.0 * */ BOOL WINAPI ReadCabinetState(CABINETSTATE *cs, int length) { - HKEY hkey = 0; - DWORD type, r; + HKEY hkey = 0; + DWORD type, r; - TRACE("%p %d\n", cs, length); + TRACE("%p %d\n", cs, length); - if( (cs == NULL) || (length < (int)sizeof(*cs)) ) - return FALSE; + if( (cs == NULL) || (length < (int)sizeof(*cs)) ) + return FALSE; - r = RegOpenKeyW( HKEY_CURRENT_USER, szwCabLocation, &hkey ); - if( r == ERROR_SUCCESS ) - { - type = REG_BINARY; - r = RegQueryValueExW( hkey, szwSettings, - NULL, &type, (LPBYTE)cs, (LPDWORD)&length ); - RegCloseKey( hkey ); + r = RegOpenKeyW( HKEY_CURRENT_USER, szwCabLocation, &hkey ); + if( r == ERROR_SUCCESS ) + { + type = REG_BINARY; + r = RegQueryValueExW( hkey, szwSettings, + NULL, &type, (LPBYTE)cs, (LPDWORD)&length ); + RegCloseKey( hkey ); - } + } - /* if we can't read from the registry, create default values */ - if ( (r != ERROR_SUCCESS) || (cs->cLength < sizeof(*cs)) || - (cs->cLength != length) ) - { - ERR("Initializing shell cabinet settings\n"); - memset(cs, 0, sizeof(*cs)); - cs->cLength = sizeof(*cs); - cs->nVersion = 2; - cs->fFullPathTitle = FALSE; - cs->fSaveLocalView = TRUE; - cs->fNotShell = FALSE; - cs->fSimpleDefault = TRUE; - cs->fDontShowDescBar = FALSE; - cs->fNewWindowMode = FALSE; - cs->fShowCompColor = FALSE; - cs->fDontPrettyNames = FALSE; - cs->fAdminsCreateCommonGroups = TRUE; - cs->fMenuEnumFilter = 96; - } + /* if we can't read from the registry, create default values */ + if ( (r != ERROR_SUCCESS) || (cs->cLength < sizeof(*cs)) || + (cs->cLength != length) ) + { + ERR("Initializing shell cabinet settings\n"); + memset(cs, 0, sizeof(*cs)); + cs->cLength = sizeof(*cs); + cs->nVersion = 2; + cs->fFullPathTitle = FALSE; + cs->fSaveLocalView = TRUE; + cs->fNotShell = FALSE; + cs->fSimpleDefault = TRUE; + cs->fDontShowDescBar = FALSE; + cs->fNewWindowMode = FALSE; + cs->fShowCompColor = FALSE; + cs->fDontPrettyNames = FALSE; + cs->fAdminsCreateCommonGroups = TRUE; + cs->fMenuEnumFilter = 96; + } - return TRUE; + return TRUE; } /************************************************************************* - * WriteCabinetState [SHELL32.652] NT 4.0 + * WriteCabinetState [SHELL32.652] NT 4.0 * */ BOOL WINAPI WriteCabinetState(CABINETSTATE *cs) { - DWORD r; - HKEY hkey = 0; + DWORD r; + HKEY hkey = 0; - TRACE("%p\n",cs); + TRACE("%p\n",cs); - if( cs == NULL ) - return FALSE; + if( cs == NULL ) + return FALSE; - r = RegCreateKeyExW( HKEY_CURRENT_USER, szwCabLocation, 0, - NULL, 0, KEY_ALL_ACCESS, NULL, &hkey, NULL); - if( r == ERROR_SUCCESS ) - { - r = RegSetValueExW( hkey, szwSettings, 0, - REG_BINARY, (LPBYTE) cs, cs->cLength); + r = RegCreateKeyExW( HKEY_CURRENT_USER, szwCabLocation, 0, + NULL, 0, KEY_ALL_ACCESS, NULL, &hkey, NULL); + if( r == ERROR_SUCCESS ) + { + r = RegSetValueExW( hkey, szwSettings, 0, + REG_BINARY, (LPBYTE) cs, cs->cLength); - RegCloseKey( hkey ); - } + RegCloseKey( hkey ); + } - return (r==ERROR_SUCCESS); + return (r==ERROR_SUCCESS); } /************************************************************************* - * FileIconInit [SHELL32.660] + * FileIconInit [SHELL32.660] * */ BOOL WINAPI FileIconInit(BOOL bFullInit) -{ FIXME("(%s)\n", bFullInit ? "true" : "false"); - return 0; +{ FIXME("(%s)\n", bFullInit ? "true" : "false"); + return 0; } /************************************************************************* @@ -1319,71 +1319,71 @@ BOOL WINAPI IsUserAnAdmin(VOID) } /************************************************************************* - * SHAllocShared [SHELL32.520] + * SHAllocShared [SHELL32.520] * * See shlwapi.SHAllocShared */ HANDLE WINAPI SHAllocShared(LPVOID lpvData, DWORD dwSize, DWORD dwProcId) { - typedef HANDLE (WINAPI *SHAllocSharedProc)(LPCVOID, DWORD, DWORD); - static SHAllocSharedProc pSHAllocShared; + typedef HANDLE (WINAPI *SHAllocSharedProc)(LPCVOID, DWORD, DWORD); + static SHAllocSharedProc pSHAllocShared; GET_FUNC(pSHAllocShared, SHAllocSharedProc, shlwapi, (char*)7, NULL); return pSHAllocShared(lpvData, dwSize, dwProcId); } /************************************************************************* - * SHLockShared [SHELL32.521] + * SHLockShared [SHELL32.521] * * See shlwapi.SHLockShared */ LPVOID WINAPI SHLockShared(HANDLE hShared, DWORD dwProcId) { - typedef HANDLE (WINAPI *SHLockSharedProc)(HANDLE, DWORD); - static SHLockSharedProc pSHLockShared; + typedef HANDLE (WINAPI *SHLockSharedProc)(HANDLE, DWORD); + static SHLockSharedProc pSHLockShared; GET_FUNC(pSHLockShared, SHLockSharedProc, shlwapi, (char*)8, NULL); return pSHLockShared(hShared, dwProcId); } /************************************************************************* - * SHUnlockShared [SHELL32.522] + * SHUnlockShared [SHELL32.522] * * See shlwapi.SHUnlockShared */ BOOL WINAPI SHUnlockShared(LPVOID lpView) { - typedef HANDLE (WINAPI *SHUnlockSharedProc)(LPCVOID); - static SHUnlockSharedProc pSHUnlockShared; + typedef HANDLE (WINAPI *SHUnlockSharedProc)(LPCVOID); + static SHUnlockSharedProc pSHUnlockShared; GET_FUNC(pSHUnlockShared, SHUnlockSharedProc, shlwapi, (char*)9, FALSE); return pSHUnlockShared(lpView) != NULL; } /************************************************************************* - * SHFreeShared [SHELL32.523] + * SHFreeShared [SHELL32.523] * * See shlwapi.SHFreeShared */ BOOL WINAPI SHFreeShared(HANDLE hShared, DWORD dwProcId) { - typedef HANDLE (WINAPI *SHFreeSharedProc)(HANDLE, DWORD); - static SHFreeSharedProc pSHFreeShared; + typedef HANDLE (WINAPI *SHFreeSharedProc)(HANDLE, DWORD); + static SHFreeSharedProc pSHFreeShared; GET_FUNC(pSHFreeShared, SHFreeSharedProc, shlwapi, (char*)10, FALSE); return pSHFreeShared(hShared, dwProcId) != NULL; } /************************************************************************* - * SetAppStartingCursor [SHELL32.99] + * SetAppStartingCursor [SHELL32.99] */ EXTERN_C HRESULT WINAPI SetAppStartingCursor(HWND u, DWORD v) -{ FIXME("hwnd=%p 0x%04x stub\n",u,v ); - return 0; +{ FIXME("hwnd=%p 0x%04x stub\n",u,v ); + return 0; } /************************************************************************* - * SHLoadOLE [SHELL32.151] + * SHLoadOLE [SHELL32.151] * * To reduce the memory usage of Windows 95, its shell32 contained an * internal implementation of a part of COM (see e.g. SHGetMalloc, SHCoCreateInstance, @@ -1402,97 +1402,97 @@ EXTERN_C HRESULT WINAPI SetAppStartingCursor(HWND u, DWORD v) * hack in SHCoCreateInstance) */ HRESULT WINAPI SHLoadOLE(LPARAM lParam) -{ FIXME("0x%08lx stub\n",lParam); - return S_OK; +{ FIXME("0x%08lx stub\n",lParam); + return S_OK; } /************************************************************************* - * DriveType [SHELL32.64] + * DriveType [SHELL32.64] * */ EXTERN_C int WINAPI DriveType(int DriveType) { WCHAR root[] = L"A:\\"; - root[0] = L'A' + DriveType; - return GetDriveTypeW(root); + root[0] = L'A' + DriveType; + return GetDriveTypeW(root); } /************************************************************************* - * InvalidateDriveType [SHELL32.65] + * InvalidateDriveType [SHELL32.65] * Unimplemented in XP SP3 */ EXTERN_C int WINAPI InvalidateDriveType(int u) { - TRACE("0x%08x stub\n",u); - return 0; + TRACE("0x%08x stub\n",u); + return 0; } /************************************************************************* - * SHAbortInvokeCommand [SHELL32.198] + * SHAbortInvokeCommand [SHELL32.198] * */ EXTERN_C HRESULT WINAPI SHAbortInvokeCommand(void) -{ FIXME("stub\n"); - return 1; +{ FIXME("stub\n"); + return 1; } /************************************************************************* - * SHOutOfMemoryMessageBox [SHELL32.126] + * SHOutOfMemoryMessageBox [SHELL32.126] * */ int WINAPI SHOutOfMemoryMessageBox( - HWND hwndOwner, - LPCSTR lpCaption, - UINT uType) + HWND hwndOwner, + LPCSTR lpCaption, + UINT uType) { - FIXME("%p %s 0x%08x stub\n",hwndOwner, lpCaption, uType); - return 0; + FIXME("%p %s 0x%08x stub\n",hwndOwner, lpCaption, uType); + return 0; } /************************************************************************* - * SHFlushClipboard [SHELL32.121] + * SHFlushClipboard [SHELL32.121] * */ EXTERN_C HRESULT WINAPI SHFlushClipboard(void) { - return OleFlushClipboard(); + return OleFlushClipboard(); } /************************************************************************* - * SHWaitForFileToOpen [SHELL32.97] + * SHWaitForFileToOpen [SHELL32.97] * */ BOOL WINAPI SHWaitForFileToOpen( - LPCITEMIDLIST pidl, - DWORD dwFlags, - DWORD dwTimeout) + LPCITEMIDLIST pidl, + DWORD dwFlags, + DWORD dwTimeout) { - FIXME("%p 0x%08x 0x%08x stub\n", pidl, dwFlags, dwTimeout); - return 0; + FIXME("%p 0x%08x 0x%08x stub\n", pidl, dwFlags, dwTimeout); + return 0; } /************************************************************************ - * RLBuildListOfPaths [SHELL32.146] + * RLBuildListOfPaths [SHELL32.146] * * NOTES * builds a DPA */ EXTERN_C DWORD WINAPI RLBuildListOfPaths (void) -{ FIXME("stub\n"); - return 0; +{ FIXME("stub\n"); + return 0; } /************************************************************************ - * SHValidateUNC [SHELL32.173] + * SHValidateUNC [SHELL32.173] * */ EXTERN_C BOOL WINAPI SHValidateUNC (HWND hwndOwner, LPWSTR pszFile, UINT fConnect) { - FIXME("0x%08x 0x%08x 0x%08x stub\n",hwndOwner,pszFile,fConnect); - return 0; + FIXME("0x%08x 0x%08x 0x%08x stub\n",hwndOwner,pszFile,fConnect); + return 0; } /************************************************************************ - * DoEnvironmentSubstA [SHELL32.@] + * DoEnvironmentSubstA [SHELL32.@] * * Replace %KEYWORD% in the str with the value of variable KEYWORD * from environment. If it is not found the %KEYWORD% is left @@ -1528,7 +1528,7 @@ EXTERN_C DWORD WINAPI DoEnvironmentSubstA(LPSTR pszString, UINT cchString) } /************************************************************************ - * DoEnvironmentSubstW [SHELL32.@] + * DoEnvironmentSubstW [SHELL32.@] * * See DoEnvironmentSubstA. */ @@ -1552,7 +1552,7 @@ EXTERN_C DWORD WINAPI DoEnvironmentSubstW(LPWSTR pszString, UINT cchString) } /************************************************************************ - * DoEnvironmentSubst [SHELL32.53] + * DoEnvironmentSubst [SHELL32.53] * * See DoEnvironmentSubstA. */ @@ -1584,21 +1584,21 @@ BOOL WINAPI GUIDFromStringW(LPCWSTR str, LPGUID guid) } /************************************************************************* - * PathIsTemporaryW [SHELL32.714] + * PathIsTemporaryW [SHELL32.714] */ EXTERN_C BOOL WINAPI PathIsTemporaryW(LPWSTR Str) { - FIXME("(%s)stub\n", debugstr_w(Str)); - return FALSE; + FIXME("(%s)stub\n", debugstr_w(Str)); + return FALSE; } /************************************************************************* - * PathIsTemporaryA [SHELL32.713] + * PathIsTemporaryA [SHELL32.713] */ EXTERN_C BOOL WINAPI PathIsTemporaryA(LPSTR Str) { - FIXME("(%s)stub\n", debugstr_a(Str)); - return FALSE; + FIXME("(%s)stub\n", debugstr_a(Str)); + return FALSE; } typedef struct _PSXA @@ -1636,7 +1636,7 @@ static BOOL CALLBACK PsxaCall(HPROPSHEETPAGE hpage, LPARAM lParam) } /************************************************************************* - * SHAddFromPropSheetExtArray [SHELL32.167] + * SHAddFromPropSheetExtArray [SHELL32.167] */ UINT WINAPI SHAddFromPropSheetExtArray(HPSXA hpsxa, LPFNADDPROPSHEETPAGE lpfnAddPage, LPARAM lParam) { @@ -1666,7 +1666,7 @@ UINT WINAPI SHAddFromPropSheetExtArray(HPSXA hpsxa, LPFNADDPROPSHEETPAGE lpfnAdd } /************************************************************************* - * SHCreatePropSheetExtArray [SHELL32.168] + * SHCreatePropSheetExtArray [SHELL32.168] */ HPSXA WINAPI SHCreatePropSheetExtArray(HKEY hKey, LPCWSTR pszSubKey, UINT max_iface) { @@ -1675,7 +1675,7 @@ HPSXA WINAPI SHCreatePropSheetExtArray(HKEY hKey, LPCWSTR pszSubKey, UINT max_if /************************************************************************* - * SHCreatePropSheetExtArrayEx [SHELL32.194] + * SHCreatePropSheetExtArrayEx [SHELL32.194] */ EXTERN_C HPSXA WINAPI SHCreatePropSheetExtArrayEx(HKEY hKey, LPCWSTR pszSubKey, UINT max_iface, IDataObject *pDataObj) { @@ -1739,8 +1739,8 @@ EXTERN_C HPSXA WINAPI SHCreatePropSheetExtArrayEx(HKEY hKey, LPCWSTR pszSubKey, } if (SUCCEEDED(hr)) { - CComPtr psxi; - CComPtr pspsx; + CComPtr psxi; + CComPtr pspsx; /* Attempt to get an IShellPropSheetExt and an IShellExtInit instance. Only if both interfaces are supported it's a real shell extension. @@ -1775,7 +1775,7 @@ EXTERN_C HPSXA WINAPI SHCreatePropSheetExtArrayEx(HKEY hKey, LPCWSTR pszSubKey, } /************************************************************************* - * SHReplaceFromPropSheetExtArray [SHELL32.170] + * SHReplaceFromPropSheetExtArray [SHELL32.170] */ UINT WINAPI SHReplaceFromPropSheetExtArray(HPSXA hpsxa, UINT uPageID, LPFNADDPROPSHEETPAGE lpfnReplaceWith, LPARAM lParam) { @@ -1806,7 +1806,7 @@ UINT WINAPI SHReplaceFromPropSheetExtArray(HPSXA hpsxa, UINT uPageID, LPFNADDPRO } /************************************************************************* - * SHDestroyPropSheetExtArray [SHELL32.169] + * SHDestroyPropSheetExtArray [SHELL32.169] */ void WINAPI SHDestroyPropSheetExtArray(HPSXA hpsxa) { @@ -1827,60 +1827,60 @@ void WINAPI SHDestroyPropSheetExtArray(HPSXA hpsxa) } /************************************************************************* - * CIDLData_CreateFromIDArray [SHELL32.83] + * CIDLData_CreateFromIDArray [SHELL32.83] * * Create IDataObject from PIDLs?? */ HRESULT WINAPI CIDLData_CreateFromIDArray( - LPCITEMIDLIST pidlFolder, - UINT cpidlFiles, - LPCITEMIDLIST *lppidlFiles, - IDataObject **ppdataObject) + LPCITEMIDLIST pidlFolder, + UINT cpidlFiles, + LPCITEMIDLIST *lppidlFiles, + IDataObject **ppdataObject) { - UINT i; - HWND hwnd = 0; /*FIXME: who should be hwnd of owner? set to desktop */ - HRESULT hResult; + UINT i; + HWND hwnd = 0; /*FIXME: who should be hwnd of owner? set to desktop */ + HRESULT hResult; - TRACE("(%p, %d, %p, %p)\n", pidlFolder, cpidlFiles, lppidlFiles, ppdataObject); - if (TRACE_ON(pidl)) - { - pdump (pidlFolder); - for (i = 0; i < cpidlFiles; i++) - pdump(lppidlFiles[i]); - } - hResult = IDataObject_Constructor(hwnd, pidlFolder, lppidlFiles, cpidlFiles, ppdataObject); - return hResult; + TRACE("(%p, %d, %p, %p)\n", pidlFolder, cpidlFiles, lppidlFiles, ppdataObject); + if (TRACE_ON(pidl)) + { + pdump (pidlFolder); + for (i = 0; i < cpidlFiles; i++) + pdump(lppidlFiles[i]); + } + hResult = IDataObject_Constructor(hwnd, pidlFolder, lppidlFiles, cpidlFiles, ppdataObject); + return hResult; } /************************************************************************* - * SHCreateStdEnumFmtEtc [SHELL32.74] + * SHCreateStdEnumFmtEtc [SHELL32.74] * * NOTES * */ HRESULT WINAPI SHCreateStdEnumFmtEtc( - UINT cFormats, - const FORMATETC *lpFormats, - LPENUMFORMATETC *ppenumFormatetc) + UINT cFormats, + const FORMATETC *lpFormats, + LPENUMFORMATETC *ppenumFormatetc) { - IEnumFORMATETC *pef; - HRESULT hRes; - TRACE("cf=%d fe=%p pef=%p\n", cFormats, lpFormats, ppenumFormatetc); + IEnumFORMATETC *pef; + HRESULT hRes; + TRACE("cf=%d fe=%p pef=%p\n", cFormats, lpFormats, ppenumFormatetc); - hRes = IEnumFORMATETC_Constructor(cFormats, lpFormats, &pef); - if (FAILED(hRes)) - return hRes; + hRes = IEnumFORMATETC_Constructor(cFormats, lpFormats, &pef); + if (FAILED(hRes)) + return hRes; - pef->AddRef(); - hRes = pef->QueryInterface(IID_IEnumFORMATETC, (LPVOID*)ppenumFormatetc); - pef->Release(); + pef->AddRef(); + hRes = pef->QueryInterface(IID_IEnumFORMATETC, (LPVOID*)ppenumFormatetc); + pef->Release(); - return hRes; + return hRes; } /************************************************************************* - * SHCreateShellFolderView (SHELL32.256) + * SHCreateShellFolderView (SHELL32.256) */ HRESULT WINAPI SHCreateShellFolderView(const SFV_CREATE *pcsfv, IShellView **ppsv) { @@ -1894,19 +1894,19 @@ HRESULT WINAPI SHCreateShellFolderView(const SFV_CREATE *pcsfv, IShellView **pps { LPVOID lpdata = 0;/*LocalAlloc(LMEM_ZEROINIT, 0x4E4);*/ - if (!lpdata) + if (!lpdata) ret = E_OUTOFMEMORY; - else - { + else + { /* Initialize and return unknown lpdata structure */ - } + } } return ret; } /************************************************************************* - * SHFindFiles (SHELL32.90) + * SHFindFiles (SHELL32.90) */ BOOL WINAPI SHFindFiles( LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidlSaveFile ) { @@ -1915,7 +1915,7 @@ BOOL WINAPI SHFindFiles( LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidlSaveFile ) } /************************************************************************* - * SHUpdateImageW (SHELL32.192) + * SHUpdateImageW (SHELL32.192) * * Notifies the shell that an icon in the system image list has been changed. * @@ -1939,7 +1939,7 @@ void WINAPI SHUpdateImageW(LPCWSTR pszHashItem, int iIndex, UINT uFlags, int iIm } /************************************************************************* - * SHUpdateImageA (SHELL32.191) + * SHUpdateImageA (SHELL32.191) * * See SHUpdateImageW. */ @@ -2074,7 +2074,7 @@ HRESULT WINAPI SHEmptyRecycleBinA(HWND hwnd, LPCSTR pszRootPath, DWORD dwFlags) HRESULT WINAPI SHEmptyRecycleBinW(HWND hwnd, LPCWSTR pszRootPath, DWORD dwFlags) { - WCHAR szPath[MAX_PATH] = {0}; + WCHAR szPath[MAX_PATH] = {0}; DWORD dwSize, dwType; LONG ret; @@ -2255,7 +2255,7 @@ EXTERN_C HRESULT WINAPI SHGetImageList(int iImageList, REFIID riid, void **ppv) EXTERN_C HRESULT WINAPI SHParseDisplayName(LPCWSTR pszName, IBindCtx *pbc, LPITEMIDLIST *ppidl, SFGAOF sfgaoIn, SFGAOF *psfgaoOut) { - CComPtr psfDesktop; + CComPtr psfDesktop; HRESULT hr=E_FAIL; ULONG dwAttr=sfgaoIn; diff --git a/dll/win32/shell32/shellpath.cpp b/dll/win32/shell32/shellpath.cpp index f1418618ac8..34e2a186c27 100644 --- a/dll/win32/shell32/shellpath.cpp +++ b/dll/win32/shell32/shellpath.cpp @@ -29,33 +29,33 @@ WINE_DEFAULT_DEBUG_CHANNEL(shell); /* - ########## Combining and Constructing paths ########## + ########## Combining and Constructing paths ########## */ /************************************************************************* - * PathAppend [SHELL32.36] + * PathAppend [SHELL32.36] */ BOOL WINAPI PathAppendAW( - LPVOID lpszPath1, - LPCVOID lpszPath2) + LPVOID lpszPath1, + LPCVOID lpszPath2) { - if (SHELL_OsIsUnicode()) - return PathAppendW((LPWSTR)lpszPath1, (LPCWSTR)lpszPath2); - return PathAppendA((LPSTR)lpszPath1, (LPCSTR)lpszPath2); + if (SHELL_OsIsUnicode()) + return PathAppendW((LPWSTR)lpszPath1, (LPCWSTR)lpszPath2); + return PathAppendA((LPSTR)lpszPath1, (LPCSTR)lpszPath2); } /************************************************************************* - * PathBuildRoot [SHELL32.30] + * PathBuildRoot [SHELL32.30] */ LPVOID WINAPI PathBuildRootAW(LPVOID lpszPath, int drive) { - if(SHELL_OsIsUnicode()) - return PathBuildRootW((LPWSTR)lpszPath, drive); - return PathBuildRootA((LPSTR)lpszPath, drive); + if(SHELL_OsIsUnicode()) + return PathBuildRootW((LPWSTR)lpszPath, drive); + return PathBuildRootA((LPSTR)lpszPath, drive); } /************************************************************************* - * PathGetExtensionA [internal] + * PathGetExtensionA [internal] * * NOTES * exported by ordinal @@ -63,29 +63,29 @@ LPVOID WINAPI PathBuildRootAW(LPVOID lpszPath, int drive) */ static LPSTR PathGetExtensionA(LPCSTR lpszPath) { - TRACE("(%s)\n",lpszPath); + TRACE("(%s)\n",lpszPath); - lpszPath = PathFindExtensionA(lpszPath); - return (LPSTR)(*lpszPath?(lpszPath+1):lpszPath); + lpszPath = PathFindExtensionA(lpszPath); + return (LPSTR)(*lpszPath?(lpszPath+1):lpszPath); } /************************************************************************* - * PathGetExtensionW [internal] + * PathGetExtensionW [internal] */ LPWSTR PathGetExtensionW(LPCWSTR lpszPath) { - TRACE("(%s)\n",debugstr_w(lpszPath)); + TRACE("(%s)\n",debugstr_w(lpszPath)); - lpszPath = PathFindExtensionW(lpszPath); - return (LPWSTR)(*lpszPath?(lpszPath+1):lpszPath); + lpszPath = PathFindExtensionW(lpszPath); + return (LPWSTR)(*lpszPath?(lpszPath+1):lpszPath); } /************************************************************************* - * SHPathGetExtension [SHELL32.158] + * SHPathGetExtension [SHELL32.158] */ EXTERN_C LPVOID WINAPI SHPathGetExtensionW(LPCWSTR lpszPath, DWORD void1, DWORD void2) { - return PathGetExtensionW(lpszPath); + return PathGetExtensionW(lpszPath); } /************************************************************************* @@ -93,13 +93,13 @@ EXTERN_C LPVOID WINAPI SHPathGetExtensionW(LPCWSTR lpszPath, DWORD void1, DWORD */ BOOL WINAPI PathRemoveFileSpecAW(LPVOID lpszPath) { - if (SHELL_OsIsUnicode()) - return PathRemoveFileSpecW((LPWSTR)lpszPath); - return PathRemoveFileSpecA((LPSTR)lpszPath); + if (SHELL_OsIsUnicode()) + return PathRemoveFileSpecW((LPWSTR)lpszPath); + return PathRemoveFileSpecA((LPSTR)lpszPath); } /* - Path Manipulations + Path Manipulations */ /************************************************************************* @@ -107,14 +107,14 @@ BOOL WINAPI PathRemoveFileSpecAW(LPVOID lpszPath) */ static void PathGetShortPathA(LPSTR pszPath) { - CHAR path[MAX_PATH]; + CHAR path[MAX_PATH]; - TRACE("%s\n", pszPath); + TRACE("%s\n", pszPath); - if (GetShortPathNameA(pszPath, path, MAX_PATH)) - { - lstrcpyA(pszPath, path); - } + if (GetShortPathNameA(pszPath, path, MAX_PATH)) + { + lstrcpyA(pszPath, path); + } } /************************************************************************* @@ -122,14 +122,14 @@ static void PathGetShortPathA(LPSTR pszPath) */ static void PathGetShortPathW(LPWSTR pszPath) { - WCHAR path[MAX_PATH]; + WCHAR path[MAX_PATH]; - TRACE("%s\n", debugstr_w(pszPath)); + TRACE("%s\n", debugstr_w(pszPath)); - if (GetShortPathNameW(pszPath, path, MAX_PATH)) - { - wcscpy(pszPath, path); - } + if (GetShortPathNameW(pszPath, path, MAX_PATH)) + { + wcscpy(pszPath, path); + } } /************************************************************************* @@ -137,175 +137,175 @@ static void PathGetShortPathW(LPWSTR pszPath) */ EXTERN_C VOID WINAPI PathGetShortPathAW(LPVOID pszPath) { - if(SHELL_OsIsUnicode()) - PathGetShortPathW((LPWSTR)pszPath); - PathGetShortPathA((LPSTR)pszPath); + if(SHELL_OsIsUnicode()) + PathGetShortPathW((LPWSTR)pszPath); + PathGetShortPathA((LPSTR)pszPath); } /* - ########## Path Testing ########## + ########## Path Testing ########## */ /************************************************************************* - * PathIsRoot [SHELL32.29] + * PathIsRoot [SHELL32.29] */ BOOL WINAPI PathIsRootAW(LPCVOID lpszPath) { - if (SHELL_OsIsUnicode()) - return PathIsRootW((LPWSTR)lpszPath); - return PathIsRootA((LPSTR)lpszPath); + if (SHELL_OsIsUnicode()) + return PathIsRootW((LPWSTR)lpszPath); + return PathIsRootA((LPSTR)lpszPath); } /************************************************************************* - * PathIsExeA [internal] + * PathIsExeA [internal] */ static BOOL PathIsExeA (LPCSTR lpszPath) { - LPCSTR lpszExtension = PathGetExtensionA(lpszPath); + LPCSTR lpszExtension = PathGetExtensionA(lpszPath); int i; static const char * const lpszExtensions[] = {"exe", "com", "pif", "cmd", "bat", "scf", "scr", NULL }; - TRACE("path=%s\n",lpszPath); + TRACE("path=%s\n",lpszPath); - for(i=0; lpszExtensions[i]; i++) - if (!lstrcmpiA(lpszExtension,lpszExtensions[i])) return TRUE; + for(i=0; lpszExtensions[i]; i++) + if (!lstrcmpiA(lpszExtension,lpszExtensions[i])) return TRUE; - return FALSE; + return FALSE; } /************************************************************************* - * PathIsExeW [internal] + * PathIsExeW [internal] */ static BOOL PathIsExeW (LPCWSTR lpszPath) { - LPCWSTR lpszExtension = PathGetExtensionW(lpszPath); + LPCWSTR lpszExtension = PathGetExtensionW(lpszPath); int i; static const WCHAR lpszExtensions[][4] = {{'e','x','e','\0'}, {'c','o','m','\0'}, {'p','i','f','\0'}, {'c','m','d','\0'}, {'b','a','t','\0'}, {'s','c','f','\0'}, {'s','c','r','\0'}, {'\0'} }; - TRACE("path=%s\n",debugstr_w(lpszPath)); + TRACE("path=%s\n",debugstr_w(lpszPath)); - for(i=0; lpszExtensions[i][0]; i++) - if (!strcmpiW(lpszExtension,lpszExtensions[i])) return TRUE; + for(i=0; lpszExtensions[i][0]; i++) + if (!strcmpiW(lpszExtension,lpszExtensions[i])) return TRUE; - return FALSE; + return FALSE; } /************************************************************************* - * PathIsExe [SHELL32.43] + * PathIsExe [SHELL32.43] */ BOOL WINAPI PathIsExeAW (LPCVOID path) { - if (SHELL_OsIsUnicode()) - return PathIsExeW ((LPWSTR)path); - return PathIsExeA((LPSTR)path); + if (SHELL_OsIsUnicode()) + return PathIsExeW ((LPWSTR)path); + return PathIsExeA((LPSTR)path); } /************************************************************************* - * PathFileExists [SHELL32.45] + * PathFileExists [SHELL32.45] */ BOOL WINAPI PathFileExistsAW (LPCVOID lpszPath) { - if (SHELL_OsIsUnicode()) - return PathFileExistsW ((LPWSTR)lpszPath); - return PathFileExistsA ((LPSTR)lpszPath); + if (SHELL_OsIsUnicode()) + return PathFileExistsW ((LPWSTR)lpszPath); + return PathFileExistsA ((LPSTR)lpszPath); } /************************************************************************* - * PathIsSameRoot [SHELL32.650] + * PathIsSameRoot [SHELL32.650] */ BOOL WINAPI PathIsSameRootAW(LPCVOID lpszPath1, LPCVOID lpszPath2) { - if (SHELL_OsIsUnicode()) - return PathIsSameRootW((LPCWSTR)lpszPath1, (LPCWSTR)lpszPath2); - return PathIsSameRootA((LPCSTR)lpszPath1, (LPCSTR)lpszPath2); + if (SHELL_OsIsUnicode()) + return PathIsSameRootW((LPCWSTR)lpszPath1, (LPCWSTR)lpszPath2); + return PathIsSameRootA((LPCSTR)lpszPath1, (LPCSTR)lpszPath2); } /************************************************************************* - * IsLFNDriveA [SHELL32.41] + * IsLFNDriveA [SHELL32.41] */ EXTERN_C BOOL WINAPI IsLFNDriveA(LPCSTR lpszPath) { - DWORD fnlen; + DWORD fnlen; if (!GetVolumeInformationA(lpszPath, NULL, 0, NULL, &fnlen, NULL, NULL, 0)) - return FALSE; + return FALSE; return fnlen > 12; } /************************************************************************* - * IsLFNDriveW [SHELL32.42] + * IsLFNDriveW [SHELL32.42] */ EXTERN_C BOOL WINAPI IsLFNDriveW(LPCWSTR lpszPath) { - DWORD fnlen; + DWORD fnlen; if (!GetVolumeInformationW(lpszPath, NULL, 0, NULL, &fnlen, NULL, NULL, 0)) - return FALSE; + return FALSE; return fnlen > 12; } /************************************************************************* - * IsLFNDrive [SHELL32.119] + * IsLFNDrive [SHELL32.119] */ EXTERN_C BOOL WINAPI IsLFNDriveAW(LPCVOID lpszPath) { - if (SHELL_OsIsUnicode()) - return IsLFNDriveW((LPCWSTR)lpszPath); - return IsLFNDriveA((LPCSTR)lpszPath); + if (SHELL_OsIsUnicode()) + return IsLFNDriveW((LPCWSTR)lpszPath); + return IsLFNDriveA((LPCSTR)lpszPath); } /* - ########## Creating Something Unique ########## + ########## Creating Something Unique ########## */ /************************************************************************* - * PathMakeUniqueNameA [internal] + * PathMakeUniqueNameA [internal] */ BOOL WINAPI PathMakeUniqueNameA( - LPSTR lpszBuffer, - DWORD dwBuffSize, - LPCSTR lpszShortName, - LPCSTR lpszLongName, - LPCSTR lpszPathName) + LPSTR lpszBuffer, + DWORD dwBuffSize, + LPCSTR lpszShortName, + LPCSTR lpszLongName, + LPCSTR lpszPathName) { - FIXME("%p %u %s %s %s stub\n", - lpszBuffer, dwBuffSize, debugstr_a(lpszShortName), - debugstr_a(lpszLongName), debugstr_a(lpszPathName)); - return TRUE; + FIXME("%p %u %s %s %s stub\n", + lpszBuffer, dwBuffSize, debugstr_a(lpszShortName), + debugstr_a(lpszLongName), debugstr_a(lpszPathName)); + return TRUE; } /************************************************************************* - * PathMakeUniqueNameW [internal] + * PathMakeUniqueNameW [internal] */ BOOL WINAPI PathMakeUniqueNameW( - LPWSTR lpszBuffer, - DWORD dwBuffSize, - LPCWSTR lpszShortName, - LPCWSTR lpszLongName, - LPCWSTR lpszPathName) + LPWSTR lpszBuffer, + DWORD dwBuffSize, + LPCWSTR lpszShortName, + LPCWSTR lpszLongName, + LPCWSTR lpszPathName) { - FIXME("%p %u %s %s %s stub\n", - lpszBuffer, dwBuffSize, debugstr_w(lpszShortName), - debugstr_w(lpszLongName), debugstr_w(lpszPathName)); - return TRUE; + FIXME("%p %u %s %s %s stub\n", + lpszBuffer, dwBuffSize, debugstr_w(lpszShortName), + debugstr_w(lpszLongName), debugstr_w(lpszPathName)); + return TRUE; } /************************************************************************* - * PathMakeUniqueName [SHELL32.47] + * PathMakeUniqueName [SHELL32.47] */ BOOL WINAPI PathMakeUniqueNameAW( - LPVOID lpszBuffer, - DWORD dwBuffSize, - LPCVOID lpszShortName, - LPCVOID lpszLongName, - LPCVOID lpszPathName) + LPVOID lpszBuffer, + DWORD dwBuffSize, + LPCVOID lpszShortName, + LPCVOID lpszLongName, + LPCVOID lpszPathName) { - if (SHELL_OsIsUnicode()) - return PathMakeUniqueNameW((LPWSTR)lpszBuffer, dwBuffSize, (LPCWSTR)lpszShortName, (LPCWSTR)lpszLongName, (LPCWSTR)lpszPathName); - return PathMakeUniqueNameA((LPSTR)lpszBuffer, dwBuffSize, (LPCSTR)lpszShortName, (LPCSTR)lpszLongName, (LPCSTR)lpszPathName); + if (SHELL_OsIsUnicode()) + return PathMakeUniqueNameW((LPWSTR)lpszBuffer, dwBuffSize, (LPCWSTR)lpszShortName, (LPCWSTR)lpszLongName, (LPCWSTR)lpszPathName); + return PathMakeUniqueNameA((LPSTR)lpszBuffer, dwBuffSize, (LPCSTR)lpszShortName, (LPCSTR)lpszLongName, (LPCSTR)lpszPathName); } /************************************************************************* @@ -315,10 +315,10 @@ BOOL WINAPI PathMakeUniqueNameAW( * exported by ordinal */ BOOL WINAPI PathYetAnotherMakeUniqueName( - LPWSTR lpszBuffer, - LPCWSTR lpszPathName, - LPCWSTR lpszShortName, - LPCWSTR lpszLongName) + LPWSTR lpszBuffer, + LPCWSTR lpszPathName, + LPCWSTR lpszShortName, + LPCWSTR lpszLongName) { FIXME("(%p, %s, %s ,%s):stub.\n", lpszBuffer, debugstr_w(lpszPathName), debugstr_w(lpszShortName), debugstr_w(lpszLongName)); @@ -327,11 +327,11 @@ BOOL WINAPI PathYetAnotherMakeUniqueName( /* - ########## cleaning and resolving paths ########## + ########## cleaning and resolving paths ########## */ /************************************************************************* - * PathCleanupSpec [SHELL32.171] + * PathCleanupSpec [SHELL32.171] * * lpszFile is changed in place. */ @@ -405,120 +405,120 @@ int WINAPI PathCleanupSpec( LPCWSTR lpszPathW, LPWSTR lpszFileW ) } /************************************************************************* - * PathQualifyA [SHELL32] + * PathQualifyA [SHELL32] */ BOOL WINAPI PathQualifyA(LPCSTR pszPath) { - FIXME("%s\n",pszPath); - return 0; + FIXME("%s\n",pszPath); + return 0; } /************************************************************************* - * PathQualifyW [SHELL32] + * PathQualifyW [SHELL32] */ BOOL WINAPI PathQualifyW(LPCWSTR pszPath) { - FIXME("%s\n",debugstr_w(pszPath)); - return 0; + FIXME("%s\n",debugstr_w(pszPath)); + return 0; } /************************************************************************* - * PathQualify [SHELL32.49] + * PathQualify [SHELL32.49] */ BOOL WINAPI PathQualifyAW(LPCVOID pszPath) { - if (SHELL_OsIsUnicode()) - return PathQualifyW((LPCWSTR)pszPath); - return PathQualifyA((LPCSTR)pszPath); + if (SHELL_OsIsUnicode()) + return PathQualifyW((LPCWSTR)pszPath); + return PathQualifyA((LPCSTR)pszPath); } /************************************************************************* * PathResolveA [SHELL32.51] */ BOOL WINAPI PathResolveA( - LPSTR lpszPath, - LPCSTR *alpszPaths, - DWORD dwFlags) + LPSTR lpszPath, + LPCSTR *alpszPaths, + DWORD dwFlags) { - FIXME("(%s,%p,0x%08x),stub!\n", - lpszPath, *alpszPaths, dwFlags); - return 0; + FIXME("(%s,%p,0x%08x),stub!\n", + lpszPath, *alpszPaths, dwFlags); + return 0; } /************************************************************************* * PathResolveW [SHELL32] */ BOOL WINAPI PathResolveW( - LPWSTR lpszPath, - LPCWSTR *alpszPaths, - DWORD dwFlags) + LPWSTR lpszPath, + LPCWSTR *alpszPaths, + DWORD dwFlags) { - FIXME("(%s,%p,0x%08x),stub!\n", - debugstr_w(lpszPath), debugstr_w(*alpszPaths), dwFlags); - return 0; + FIXME("(%s,%p,0x%08x),stub!\n", + debugstr_w(lpszPath), debugstr_w(*alpszPaths), dwFlags); + return 0; } /************************************************************************* * PathResolve [SHELL32.51] */ BOOL WINAPI PathResolveAW( - LPVOID lpszPath, - LPCVOID *alpszPaths, - DWORD dwFlags) + LPVOID lpszPath, + LPCVOID *alpszPaths, + DWORD dwFlags) { - if (SHELL_OsIsUnicode()) - return PathResolveW((LPWSTR)lpszPath, (LPCWSTR *)alpszPaths, dwFlags); - return PathResolveA((LPSTR)lpszPath, (LPCSTR *)alpszPaths, dwFlags); + if (SHELL_OsIsUnicode()) + return PathResolveW((LPWSTR)lpszPath, (LPCWSTR *)alpszPaths, dwFlags); + return PathResolveA((LPSTR)lpszPath, (LPCSTR *)alpszPaths, dwFlags); } /************************************************************************* -* PathProcessCommandA [SHELL32.653] +* PathProcessCommandA [SHELL32.653] */ LONG WINAPI PathProcessCommandA ( - LPCSTR lpszPath, - LPSTR lpszBuff, - DWORD dwBuffSize, - DWORD dwFlags) + LPCSTR lpszPath, + LPSTR lpszBuff, + DWORD dwBuffSize, + DWORD dwFlags) { - FIXME("%s %p 0x%04x 0x%04x stub\n", - lpszPath, lpszBuff, dwBuffSize, dwFlags); - if(!lpszPath) return -1; - if(lpszBuff) strcpy(lpszBuff, lpszPath); - return strlen(lpszPath); + FIXME("%s %p 0x%04x 0x%04x stub\n", + lpszPath, lpszBuff, dwBuffSize, dwFlags); + if(!lpszPath) return -1; + if(lpszBuff) strcpy(lpszBuff, lpszPath); + return strlen(lpszPath); } /************************************************************************* -* PathProcessCommandW +* PathProcessCommandW */ LONG WINAPI PathProcessCommandW ( - LPCWSTR lpszPath, - LPWSTR lpszBuff, - DWORD dwBuffSize, - DWORD dwFlags) + LPCWSTR lpszPath, + LPWSTR lpszBuff, + DWORD dwBuffSize, + DWORD dwFlags) { - FIXME("(%s, %p, 0x%04x, 0x%04x) stub\n", - debugstr_w(lpszPath), lpszBuff, dwBuffSize, dwFlags); - if(!lpszPath) return -1; - if(lpszBuff) wcscpy(lpszBuff, lpszPath); - return wcslen(lpszPath); + FIXME("(%s, %p, 0x%04x, 0x%04x) stub\n", + debugstr_w(lpszPath), lpszBuff, dwBuffSize, dwFlags); + if(!lpszPath) return -1; + if(lpszBuff) wcscpy(lpszBuff, lpszPath); + return wcslen(lpszPath); } /************************************************************************* -* PathProcessCommand (SHELL32.653) +* PathProcessCommand (SHELL32.653) */ LONG WINAPI PathProcessCommandAW ( - LPCVOID lpszPath, - LPVOID lpszBuff, - DWORD dwBuffSize, - DWORD dwFlags) + LPCVOID lpszPath, + LPVOID lpszBuff, + DWORD dwBuffSize, + DWORD dwFlags) { - if (SHELL_OsIsUnicode()) - return PathProcessCommandW((LPCWSTR)lpszPath, (LPWSTR)lpszBuff, dwBuffSize, dwFlags); - return PathProcessCommandA((LPCSTR)lpszPath, (LPSTR)lpszBuff, dwBuffSize, dwFlags); + if (SHELL_OsIsUnicode()) + return PathProcessCommandW((LPCWSTR)lpszPath, (LPWSTR)lpszBuff, dwBuffSize, dwFlags); + return PathProcessCommandA((LPCSTR)lpszPath, (LPSTR)lpszBuff, dwBuffSize, dwFlags); } /* - ########## special ########## + ########## special ########## */ static const WCHAR szCurrentVersion[] = {'S','o','f','t','w','a','r','e','\\','M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s','\\','C','u','r','r','e','n','t','V','e','r','s','i','o','n','\0'}; @@ -1011,9 +1011,9 @@ static HRESULT _SHGetUserShellFolderPath(HKEY rootKey, LPCWSTR userPrefix, */ static HRESULT _SHGetDefaultValue(BYTE folder, LPWSTR pszPath) { - DWORD dwSize; + DWORD dwSize; HRESULT hr; - HKEY hKey; + HKEY hKey; WCHAR resourcePath[MAX_PATH]; LPCWSTR pDefaultPath = NULL; @@ -1262,7 +1262,7 @@ static HRESULT _SHGetAllUsersProfilePath(DWORD dwFlags, BYTE folder, } /************************************************************************* - * SHGetFolderPathW [SHELL32.@] + * SHGetFolderPathW [SHELL32.@] * * Convert nFolder to path. * @@ -1282,11 +1282,11 @@ static HRESULT _SHGetAllUsersProfilePath(DWORD dwFlags, BYTE folder, * Furthermore, the HKCU paths take precedence over the HKLM paths. */ HRESULT WINAPI SHGetFolderPathW( - HWND hwndOwner, /* [I] owner window */ - int nFolder, /* [I] CSIDL identifying the folder */ - HANDLE hToken, /* [I] access token */ - DWORD dwFlags, /* [I] which path to return */ - LPWSTR pszPath) /* [O] converted path */ + HWND hwndOwner, /* [I] owner window */ + int nFolder, /* [I] CSIDL identifying the folder */ + HANDLE hToken, /* [I] access token */ + DWORD dwFlags, /* [I] which path to return */ + LPWSTR pszPath) /* [O] converted path */ { HRESULT hr = SHGetFolderPathAndSubDirW(hwndOwner, nFolder, hToken, dwFlags, NULL, pszPath); if(HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND) == hr) @@ -1295,12 +1295,12 @@ HRESULT WINAPI SHGetFolderPathW( } HRESULT WINAPI SHGetFolderPathAndSubDirA( - HWND hwndOwner, /* [I] owner window */ - int nFolder, /* [I] CSIDL identifying the folder */ - HANDLE hToken, /* [I] access token */ - DWORD dwFlags, /* [I] which path to return */ - LPCSTR pszSubPath, /* [I] sub directory of the specified folder */ - LPSTR pszPath) /* [O] converted path */ + HWND hwndOwner, /* [I] owner window */ + int nFolder, /* [I] CSIDL identifying the folder */ + HANDLE hToken, /* [I] access token */ + DWORD dwFlags, /* [I] which path to return */ + LPCSTR pszSubPath, /* [I] sub directory of the specified folder */ + LPSTR pszPath) /* [O] converted path */ { int length; HRESULT hr = S_OK; @@ -1343,12 +1343,12 @@ cleanup: } HRESULT WINAPI SHGetFolderPathAndSubDirW( - HWND hwndOwner, /* [I] owner window */ - int nFolder, /* [I] CSIDL identifying the folder */ - HANDLE hToken, /* [I] access token */ - DWORD dwFlags, /* [I] which path to return */ - LPCWSTR pszSubPath,/* [I] sub directory of the specified folder */ - LPWSTR pszPath) /* [O] converted path */ + HWND hwndOwner, /* [I] owner window */ + int nFolder, /* [I] CSIDL identifying the folder */ + HANDLE hToken, /* [I] access token */ + DWORD dwFlags, /* [I] which path to return */ + LPCWSTR pszSubPath,/* [I] sub directory of the specified folder */ + LPWSTR pszPath) /* [O] converted path */ { HRESULT hr; WCHAR szBuildPath[MAX_PATH], szTemp[MAX_PATH]; @@ -1478,16 +1478,16 @@ end: } /************************************************************************* - * SHGetFolderPathA [SHELL32.@] + * SHGetFolderPathA [SHELL32.@] * * See SHGetFolderPathW. */ HRESULT WINAPI SHGetFolderPathA( - HWND hwndOwner, - int nFolder, - HANDLE hToken, - DWORD dwFlags, - LPSTR pszPath) + HWND hwndOwner, + int nFolder, + HANDLE hToken, + DWORD dwFlags, + LPSTR pszPath) { WCHAR szTemp[MAX_PATH]; HRESULT hr; @@ -1872,34 +1872,34 @@ HRESULT SHELL_RegisterShellFolders(void) * SHGetSpecialFolderPathA [SHELL32.@] */ BOOL WINAPI SHGetSpecialFolderPathA ( - HWND hwndOwner, - LPSTR szPath, - int nFolder, - BOOL bCreate) + HWND hwndOwner, + LPSTR szPath, + int nFolder, + BOOL bCreate) { - return (SHGetFolderPathA( - hwndOwner, - nFolder + (bCreate ? CSIDL_FLAG_CREATE : 0), - NULL, - 0, - szPath)) == S_OK ? TRUE : FALSE; + return (SHGetFolderPathA( + hwndOwner, + nFolder + (bCreate ? CSIDL_FLAG_CREATE : 0), + NULL, + 0, + szPath)) == S_OK ? TRUE : FALSE; } /************************************************************************* * SHGetSpecialFolderPathW */ BOOL WINAPI SHGetSpecialFolderPathW ( - HWND hwndOwner, - LPWSTR szPath, - int nFolder, - BOOL bCreate) + HWND hwndOwner, + LPWSTR szPath, + int nFolder, + BOOL bCreate) { - return (SHGetFolderPathW( - hwndOwner, - nFolder + (bCreate ? CSIDL_FLAG_CREATE : 0), - NULL, - 0, - szPath)) == S_OK ? TRUE : FALSE; + return (SHGetFolderPathW( + hwndOwner, + nFolder + (bCreate ? CSIDL_FLAG_CREATE : 0), + NULL, + 0, + szPath)) == S_OK ? TRUE : FALSE; } /************************************************************************* @@ -1925,11 +1925,11 @@ BOOL WINAPI SHGetSpecialFolderPathW ( * virtual folders that are handled here. */ HRESULT WINAPI SHGetFolderLocation( - HWND hwndOwner, - int nFolder, - HANDLE hToken, - DWORD dwReserved, - LPITEMIDLIST *ppidl) + HWND hwndOwner, + int nFolder, + HANDLE hToken, + DWORD dwReserved, + LPITEMIDLIST *ppidl) { HRESULT hr = E_INVALIDARG; @@ -2007,16 +2007,16 @@ HRESULT WINAPI SHGetFolderLocation( } /************************************************************************* - * SHGetSpecialFolderLocation [SHELL32.@] + * SHGetSpecialFolderLocation [SHELL32.@] * * NOTES * In NT5, SHGetSpecialFolderLocation needs the /Recent * directory. */ HRESULT WINAPI SHGetSpecialFolderLocation( - HWND hwndOwner, - INT nFolder, - LPITEMIDLIST * ppidl) + HWND hwndOwner, + INT nFolder, + LPITEMIDLIST * ppidl) { HRESULT hr = E_INVALIDARG; diff --git a/dll/win32/shell32/shellreg.cpp b/dll/win32/shell32/shellreg.cpp index 5cd665f22c6..b63eabc236d 100644 --- a/dll/win32/shell32/shellreg.cpp +++ b/dll/win32/shell32/shellreg.cpp @@ -23,29 +23,29 @@ WINE_DEFAULT_DEBUG_CHANNEL(shell); /************************************************************************* - * SHRegOpenKeyA [SHELL32.506] + * SHRegOpenKeyA [SHELL32.506] * */ EXTERN_C HRESULT WINAPI SHRegOpenKeyA( - HKEY hKey, - LPSTR lpSubKey, - PHKEY phkResult) + HKEY hKey, + LPSTR lpSubKey, + PHKEY phkResult) { - TRACE("(%p, %s, %p)\n", hKey, debugstr_a(lpSubKey), phkResult); - return RegOpenKeyA(hKey, lpSubKey, phkResult); + TRACE("(%p, %s, %p)\n", hKey, debugstr_a(lpSubKey), phkResult); + return RegOpenKeyA(hKey, lpSubKey, phkResult); } /************************************************************************* - * SHRegOpenKeyW [SHELL32.507] NT 4.0 + * SHRegOpenKeyW [SHELL32.507] NT 4.0 * */ EXTERN_C HRESULT WINAPI SHRegOpenKeyW ( - HKEY hkey, - LPCWSTR lpszSubKey, - PHKEY retkey) + HKEY hkey, + LPCWSTR lpszSubKey, + PHKEY retkey) { - WARN("%p %s %p\n",hkey,debugstr_w(lpszSubKey),retkey); - return RegOpenKeyW( hkey, lpszSubKey, retkey ); + WARN("%p %s %p\n",hkey,debugstr_w(lpszSubKey),retkey); + return RegOpenKeyW( hkey, lpszSubKey, retkey ); } /************************************************************************* @@ -54,8 +54,8 @@ EXTERN_C HRESULT WINAPI SHRegOpenKeyW ( */ EXTERN_C HRESULT WINAPI SHRegQueryValueA(HKEY hkey, LPSTR lpSubKey, LPSTR lpValue, LPDWORD lpcbValue) { - TRACE("(%p %s %p %p)\n", hkey, debugstr_a(lpSubKey), lpValue, lpcbValue); - return RegQueryValueA(hkey, lpSubKey, lpValue, (LONG*)lpcbValue); + TRACE("(%p %s %p %p)\n", hkey, debugstr_a(lpSubKey), lpValue, lpcbValue); + return RegQueryValueA(hkey, lpSubKey, lpValue, (LONG*)lpcbValue); } /************************************************************************* @@ -63,82 +63,82 @@ EXTERN_C HRESULT WINAPI SHRegQueryValueA(HKEY hkey, LPSTR lpSubKey, LPSTR lpValu * */ EXTERN_C HRESULT WINAPI SHRegQueryValueExA( - HKEY hkey, - LPSTR lpValueName, - LPDWORD lpReserved, - LPDWORD lpType, - LPBYTE lpData, - LPDWORD lpcbData) + HKEY hkey, + LPSTR lpValueName, + LPDWORD lpReserved, + LPDWORD lpType, + LPBYTE lpData, + LPDWORD lpcbData) { - TRACE("%p %s %p %p %p %p\n", hkey, lpValueName, lpReserved, lpType, lpData, lpcbData); - return RegQueryValueExA (hkey, lpValueName, lpReserved, lpType, lpData, lpcbData); + TRACE("%p %s %p %p %p %p\n", hkey, lpValueName, lpReserved, lpType, lpData, lpcbData); + return RegQueryValueExA (hkey, lpValueName, lpReserved, lpType, lpData, lpcbData); } /************************************************************************* - * SHRegQueryValueW [SHELL32.510] NT4.0 + * SHRegQueryValueW [SHELL32.510] NT4.0 * */ EXTERN_C HRESULT WINAPI SHRegQueryValueW( - HKEY hkey, - LPWSTR lpszSubKey, - LPWSTR lpszData, - LPDWORD lpcbData ) + HKEY hkey, + LPWSTR lpszSubKey, + LPWSTR lpszData, + LPDWORD lpcbData ) { - WARN("%p %s %p %p semi-stub\n", - hkey, debugstr_w(lpszSubKey), lpszData, lpcbData); - return RegQueryValueW( hkey, lpszSubKey, lpszData, (LONG*)lpcbData ); + WARN("%p %s %p %p semi-stub\n", + hkey, debugstr_w(lpszSubKey), lpszData, lpcbData); + return RegQueryValueW( hkey, lpszSubKey, lpszData, (LONG*)lpcbData ); } /************************************************************************* - * SHRegQueryValueExW [SHELL32.511] NT4.0 + * SHRegQueryValueExW [SHELL32.511] NT4.0 * * FIXME * if the datatype REG_EXPAND_SZ then expand the string and change * *pdwType to REG_SZ. */ EXTERN_C HRESULT WINAPI SHRegQueryValueExW ( - HKEY hkey, - LPWSTR pszValue, - LPDWORD pdwReserved, - LPDWORD pdwType, - LPVOID pvData, - LPDWORD pcbData) + HKEY hkey, + LPWSTR pszValue, + LPDWORD pdwReserved, + LPDWORD pdwType, + LPVOID pvData, + LPDWORD pcbData) { - DWORD ret; - WARN("%p %s %p %p %p %p semi-stub\n", - hkey, debugstr_w(pszValue), pdwReserved, pdwType, pvData, pcbData); - ret = RegQueryValueExW ( hkey, pszValue, pdwReserved, pdwType, (LPBYTE)pvData, pcbData); - return ret; + DWORD ret; + WARN("%p %s %p %p %p %p semi-stub\n", + hkey, debugstr_w(pszValue), pdwReserved, pdwType, pvData, pcbData); + ret = RegQueryValueExW ( hkey, pszValue, pdwReserved, pdwType, (LPBYTE)pvData, pcbData); + return ret; } /************************************************************************* * SHRegDeleteKeyA [SHELL32.?] */ HRESULT WINAPI SHRegDeleteKeyA( - HKEY hkey, - LPCSTR pszSubKey) + HKEY hkey, + LPCSTR pszSubKey) { - FIXME("hkey=%p, %s\n", hkey, debugstr_a(pszSubKey)); - return 0; + FIXME("hkey=%p, %s\n", hkey, debugstr_a(pszSubKey)); + return 0; } /************************************************************************* * SHRegDeleteKeyW [SHELL32.512] */ EXTERN_C HRESULT WINAPI SHRegDeleteKeyW( - HKEY hkey, - LPCWSTR pszSubKey) + HKEY hkey, + LPCWSTR pszSubKey) { - FIXME("hkey=%p, %s\n", hkey, debugstr_w(pszSubKey)); - return 0; + FIXME("hkey=%p, %s\n", hkey, debugstr_w(pszSubKey)); + return 0; } /************************************************************************* - * SHRegCloseKey [SHELL32.505] NT 4.0 + * SHRegCloseKey [SHELL32.505] NT 4.0 * */ EXTERN_C HRESULT WINAPI SHRegCloseKey (HKEY hkey) { - TRACE("%p\n",hkey); - return RegCloseKey( hkey ); + TRACE("%p\n",hkey); + return RegCloseKey( hkey ); } diff --git a/dll/win32/shell32/shellstring.cpp b/dll/win32/shell32/shellstring.cpp index 073270ad149..b283a00b3fa 100644 --- a/dll/win32/shell32/shellstring.cpp +++ b/dll/win32/shell32/shellstring.cpp @@ -24,82 +24,82 @@ WINE_DEFAULT_DEBUG_CHANNEL(shell); BOOL WINAPI StrRetToStrNA(LPSTR dest, DWORD len, LPSTRRET src, const ITEMIDLIST *pidl) { - TRACE("dest=%p len=0x%x strret=%p(%s) pidl=%p\n", - dest,len,src, - (src->uType == STRRET_WSTR) ? "STRRET_WSTR" : - (src->uType == STRRET_CSTR) ? "STRRET_CSTR" : - (src->uType == STRRET_OFFSET) ? "STRRET_OFFSET" : "STRRET_???", - pidl); + TRACE("dest=%p len=0x%x strret=%p(%s) pidl=%p\n", + dest,len,src, + (src->uType == STRRET_WSTR) ? "STRRET_WSTR" : + (src->uType == STRRET_CSTR) ? "STRRET_CSTR" : + (src->uType == STRRET_OFFSET) ? "STRRET_OFFSET" : "STRRET_???", + pidl); if (!dest) return FALSE; - switch (src->uType) - { - case STRRET_WSTR: - WideCharToMultiByte(CP_ACP, 0, src->pOleStr, -1, dest, len, NULL, NULL); - CoTaskMemFree(src->pOleStr); - break; + switch (src->uType) + { + case STRRET_WSTR: + WideCharToMultiByte(CP_ACP, 0, src->pOleStr, -1, dest, len, NULL, NULL); + CoTaskMemFree(src->pOleStr); + break; - case STRRET_CSTR: - lstrcpynA(dest, src->cStr, len); - break; + case STRRET_CSTR: + lstrcpynA(dest, src->cStr, len); + break; - case STRRET_OFFSET: - lstrcpynA(dest, ((LPCSTR)&pidl->mkid)+src->uOffset, len); - break; + case STRRET_OFFSET: + lstrcpynA(dest, ((LPCSTR)&pidl->mkid)+src->uOffset, len); + break; - default: - FIXME("unknown type!\n"); - if (len) *dest = '\0'; - return FALSE; - } - TRACE("-- %s\n", debugstr_a(dest) ); - return TRUE; + default: + FIXME("unknown type!\n"); + if (len) *dest = '\0'; + return FALSE; + } + TRACE("-- %s\n", debugstr_a(dest) ); + return TRUE; } /************************************************************************/ BOOL WINAPI StrRetToStrNW(LPWSTR dest, DWORD len, LPSTRRET src, const ITEMIDLIST *pidl) { - TRACE("dest=%p len=0x%x strret=%p(%s) pidl=%p\n", - dest,len,src, - (src->uType == STRRET_WSTR) ? "STRRET_WSTR" : - (src->uType == STRRET_CSTR) ? "STRRET_CSTR" : - (src->uType == STRRET_OFFSET) ? "STRRET_OFFSET" : "STRRET_???", - pidl); + TRACE("dest=%p len=0x%x strret=%p(%s) pidl=%p\n", + dest,len,src, + (src->uType == STRRET_WSTR) ? "STRRET_WSTR" : + (src->uType == STRRET_CSTR) ? "STRRET_CSTR" : + (src->uType == STRRET_OFFSET) ? "STRRET_OFFSET" : "STRRET_???", + pidl); if (!dest) return FALSE; - switch (src->uType) - { - case STRRET_WSTR: - lstrcpynW(dest, src->pOleStr, len); - CoTaskMemFree(src->pOleStr); - break; + switch (src->uType) + { + case STRRET_WSTR: + lstrcpynW(dest, src->pOleStr, len); + CoTaskMemFree(src->pOleStr); + break; - case STRRET_CSTR: + case STRRET_CSTR: if (!MultiByteToWideChar( CP_ACP, 0, src->cStr, -1, dest, len ) && len) dest[len-1] = 0; - break; + break; - case STRRET_OFFSET: + case STRRET_OFFSET: if (!MultiByteToWideChar( CP_ACP, 0, ((LPCSTR)&pidl->mkid)+src->uOffset, -1, dest, len ) && len) dest[len-1] = 0; - break; + break; - default: - FIXME("unknown type!\n"); - if (len) *dest = '\0'; - return FALSE; - } - return TRUE; + default: + FIXME("unknown type!\n"); + if (len) *dest = '\0'; + return FALSE; + } + return TRUE; } /************************************************************************* - * StrRetToStrN [SHELL32.96] + * StrRetToStrN [SHELL32.96] * * converts a STRRET to a normal string * @@ -108,7 +108,7 @@ BOOL WINAPI StrRetToStrNW(LPWSTR dest, DWORD len, LPSTRRET src, const ITEMIDLIST */ EXTERN_C BOOL WINAPI StrRetToStrNAW(LPVOID dest, DWORD len, LPSTRRET src, const ITEMIDLIST *pidl) { - if(SHELL_OsIsUnicode()) + if(SHELL_OsIsUnicode()) return StrRetToStrNW((LPWSTR)dest, len, src, pidl); else return StrRetToStrNA((LPSTR)dest, len, src, pidl); @@ -117,84 +117,84 @@ EXTERN_C BOOL WINAPI StrRetToStrNAW(LPVOID dest, DWORD len, LPSTRRET src, const /************************* OLESTR functions ****************************/ /************************************************************************ - * StrToOleStr [SHELL32.163] + * StrToOleStr [SHELL32.163] * */ int WINAPI StrToOleStrA (LPWSTR lpWideCharStr, LPCSTR lpMultiByteString) { - TRACE("(%p, %p %s)\n", - lpWideCharStr, lpMultiByteString, debugstr_a(lpMultiByteString)); + TRACE("(%p, %p %s)\n", + lpWideCharStr, lpMultiByteString, debugstr_a(lpMultiByteString)); - return MultiByteToWideChar(0, 0, lpMultiByteString, -1, lpWideCharStr, MAX_PATH); + return MultiByteToWideChar(0, 0, lpMultiByteString, -1, lpWideCharStr, MAX_PATH); } int WINAPI StrToOleStrW (LPWSTR lpWideCharStr, LPCWSTR lpWString) { - TRACE("(%p, %p %s)\n", - lpWideCharStr, lpWString, debugstr_w(lpWString)); + TRACE("(%p, %p %s)\n", + lpWideCharStr, lpWString, debugstr_w(lpWString)); - wcscpy (lpWideCharStr, lpWString ); - return wcslen(lpWideCharStr); + wcscpy (lpWideCharStr, lpWString ); + return wcslen(lpWideCharStr); } EXTERN_C BOOL WINAPI StrToOleStrAW (LPWSTR lpWideCharStr, LPCVOID lpString) { - if (SHELL_OsIsUnicode()) - return StrToOleStrW (lpWideCharStr, (LPCWSTR)lpString); - return StrToOleStrA (lpWideCharStr, (LPCSTR)lpString); + if (SHELL_OsIsUnicode()) + return StrToOleStrW (lpWideCharStr, (LPCWSTR)lpString); + return StrToOleStrA (lpWideCharStr, (LPCSTR)lpString); } /************************************************************************* - * StrToOleStrN [SHELL32.79] + * StrToOleStrN [SHELL32.79] * lpMulti, nMulti, nWide [IN] * lpWide [OUT] */ BOOL WINAPI StrToOleStrNA (LPWSTR lpWide, INT nWide, LPCSTR lpStrA, INT nStr) { - TRACE("(%p, %x, %s, %x)\n", lpWide, nWide, debugstr_an(lpStrA,nStr), nStr); - return MultiByteToWideChar (0, 0, lpStrA, nStr, lpWide, nWide); + TRACE("(%p, %x, %s, %x)\n", lpWide, nWide, debugstr_an(lpStrA,nStr), nStr); + return MultiByteToWideChar (0, 0, lpStrA, nStr, lpWide, nWide); } BOOL WINAPI StrToOleStrNW (LPWSTR lpWide, INT nWide, LPCWSTR lpStrW, INT nStr) { - TRACE("(%p, %x, %s, %x)\n", lpWide, nWide, debugstr_wn(lpStrW, nStr), nStr); + TRACE("(%p, %x, %s, %x)\n", lpWide, nWide, debugstr_wn(lpStrW, nStr), nStr); - if (lstrcpynW (lpWide, lpStrW, nWide)) - { return wcslen (lpWide); - } - return 0; + if (lstrcpynW (lpWide, lpStrW, nWide)) + { return wcslen (lpWide); + } + return 0; } EXTERN_C BOOL WINAPI StrToOleStrNAW (LPWSTR lpWide, INT nWide, LPCVOID lpStr, INT nStr) { - if (SHELL_OsIsUnicode()) - return StrToOleStrNW (lpWide, nWide, (LPCWSTR)lpStr, nStr); - return StrToOleStrNA (lpWide, nWide, (LPCSTR)lpStr, nStr); + if (SHELL_OsIsUnicode()) + return StrToOleStrNW (lpWide, nWide, (LPCWSTR)lpStr, nStr); + return StrToOleStrNA (lpWide, nWide, (LPCSTR)lpStr, nStr); } /************************************************************************* - * OleStrToStrN [SHELL32.78] + * OleStrToStrN [SHELL32.78] */ BOOL WINAPI OleStrToStrNA (LPSTR lpStr, INT nStr, LPCWSTR lpOle, INT nOle) { - TRACE("(%p, %x, %s, %x)\n", lpStr, nStr, debugstr_wn(lpOle,nOle), nOle); - return WideCharToMultiByte (0, 0, lpOle, nOle, lpStr, nStr, NULL, NULL); + TRACE("(%p, %x, %s, %x)\n", lpStr, nStr, debugstr_wn(lpOle,nOle), nOle); + return WideCharToMultiByte (0, 0, lpOle, nOle, lpStr, nStr, NULL, NULL); } BOOL WINAPI OleStrToStrNW (LPWSTR lpwStr, INT nwStr, LPCWSTR lpOle, INT nOle) { - TRACE("(%p, %x, %s, %x)\n", lpwStr, nwStr, debugstr_wn(lpOle,nOle), nOle); + TRACE("(%p, %x, %s, %x)\n", lpwStr, nwStr, debugstr_wn(lpOle,nOle), nOle); - if (lstrcpynW ( lpwStr, lpOle, nwStr)) - { return wcslen (lpwStr); - } - return 0; + if (lstrcpynW ( lpwStr, lpOle, nwStr)) + { return wcslen (lpwStr); + } + return 0; } EXTERN_C BOOL WINAPI OleStrToStrNAW (LPVOID lpOut, INT nOut, LPCVOID lpIn, INT nIn) { - if (SHELL_OsIsUnicode()) - return OleStrToStrNW ((LPWSTR)lpOut, nOut, (LPCWSTR)lpIn, nIn); - return OleStrToStrNA ((LPSTR)lpOut, nOut, (LPCWSTR)lpIn, nIn); + if (SHELL_OsIsUnicode()) + return OleStrToStrNW ((LPWSTR)lpOut, nOut, (LPCWSTR)lpIn, nIn); + return OleStrToStrNA ((LPSTR)lpOut, nOut, (LPCWSTR)lpIn, nIn); } @@ -215,22 +215,22 @@ EXTERN_C BOOL WINAPI OleStrToStrNAW (LPVOID lpOut, INT nOut, LPCVOID lpIn, INT n * Not really sure if this function returns actually a value at all. */ DWORD WINAPI CheckEscapesA( - LPSTR string, /* [I/O] string to check ??*/ - DWORD len) /* [I] is 0 */ + LPSTR string, /* [I/O] string to check ??*/ + DWORD len) /* [I] is 0 */ { - LPWSTR wString; - DWORD ret = 0; + LPWSTR wString; + DWORD ret = 0; - TRACE("(%s %d)\n", debugstr_a(string), len); - wString = (LPWSTR)LocalAlloc(LPTR, len * sizeof(WCHAR)); - if (wString) - { - MultiByteToWideChar(CP_ACP, 0, string, len, wString, len); - ret = CheckEscapesW(wString, len); - WideCharToMultiByte(CP_ACP, 0, wString, len, string, len, NULL, NULL); - LocalFree(wString); - } - return ret; + TRACE("(%s %d)\n", debugstr_a(string), len); + wString = (LPWSTR)LocalAlloc(LPTR, len * sizeof(WCHAR)); + if (wString) + { + MultiByteToWideChar(CP_ACP, 0, string, len, wString, len); + ret = CheckEscapesW(wString, len); + WideCharToMultiByte(CP_ACP, 0, wString, len, string, len, NULL, NULL); + LocalFree(wString); + } + return ret; } static const WCHAR strEscapedChars[] = {' ','"',',',';','^',0}; @@ -241,24 +241,24 @@ static const WCHAR strEscapedChars[] = {' ','"',',',';','^',0}; * See CheckEscapesA. */ DWORD WINAPI CheckEscapesW( - LPWSTR string, - DWORD len) + LPWSTR string, + DWORD len) { - DWORD size = wcslen(string); - LPWSTR s, d; + DWORD size = wcslen(string); + LPWSTR s, d; - TRACE("(%s %d) stub\n", debugstr_w(string), len); + TRACE("(%s %d) stub\n", debugstr_w(string), len); - if (StrPBrkW(string, strEscapedChars) && size + 2 <= len) - { - s = &string[size - 1]; - d = &string[size + 2]; - *d-- = 0; - *d-- = '"'; - for (;d > string;) - *d-- = *s--; - *d = '"'; - return size + 2; - } - return size; + if (StrPBrkW(string, strEscapedChars) && size + 2 <= len) + { + s = &string[size - 1]; + d = &string[size + 2]; + *d-- = 0; + *d-- = '"'; + for (;d > string;) + *d-- = *s--; + *d = '"'; + return size + 2; + } + return size; } diff --git a/dll/win32/shell32/shfldr_admintools.cpp b/dll/win32/shell32/shfldr_admintools.cpp index e9762f388d4..8c056c6e0b5 100644 --- a/dll/win32/shell32/shfldr_admintools.cpp +++ b/dll/win32/shell32/shfldr_admintools.cpp @@ -38,16 +38,16 @@ This folder should not exist. It is just a file system folder... */ class CDesktopFolderEnumY : - public IEnumIDListImpl + public IEnumIDListImpl { private: public: - CDesktopFolderEnumY(); - ~CDesktopFolderEnumY(); - HRESULT WINAPI Initialize(LPWSTR szTarget, DWORD dwFlags); + CDesktopFolderEnumY(); + ~CDesktopFolderEnumY(); + HRESULT WINAPI Initialize(LPWSTR szTarget, DWORD dwFlags); BEGIN_COM_MAP(CDesktopFolderEnumY) - COM_INTERFACE_ENTRY_IID(IID_IEnumIDList, IEnumIDList) + COM_INTERFACE_ENTRY_IID(IID_IEnumIDList, IEnumIDList) END_COM_MAP() }; @@ -82,34 +82,34 @@ HRESULT WINAPI CDesktopFolderEnumY::Initialize(LPWSTR szTarget, DWORD dwFlags) CAdminToolsFolder::CAdminToolsFolder() { - pclsid = NULL; + pclsid = NULL; - pidlRoot = NULL; /* absolute pidl */ - szTarget = NULL; + pidlRoot = NULL; /* absolute pidl */ + szTarget = NULL; - dwAttributes = 0; /* attributes returned by GetAttributesOf FIXME: use it */ + dwAttributes = 0; /* attributes returned by GetAttributesOf FIXME: use it */ } CAdminToolsFolder::~CAdminToolsFolder() { - TRACE ("-- destroying IShellFolder(%p)\n", this); - if (pidlRoot) - SHFree(pidlRoot); - HeapFree(GetProcessHeap(), 0, szTarget); + TRACE ("-- destroying IShellFolder(%p)\n", this); + if (pidlRoot) + SHFree(pidlRoot); + HeapFree(GetProcessHeap(), 0, szTarget); } HRESULT WINAPI CAdminToolsFolder::FinalConstruct() { - szTarget = (LPWSTR)HeapAlloc(GetProcessHeap(), 0, MAX_PATH * sizeof(WCHAR)); - if (szTarget == NULL) - return E_OUTOFMEMORY; - if (!SHGetSpecialFolderPathW(NULL, szTarget, CSIDL_COMMON_ADMINTOOLS, FALSE)) - return E_FAIL; + szTarget = (LPWSTR)HeapAlloc(GetProcessHeap(), 0, MAX_PATH * sizeof(WCHAR)); + if (szTarget == NULL) + return E_OUTOFMEMORY; + if (!SHGetSpecialFolderPathW(NULL, szTarget, CSIDL_COMMON_ADMINTOOLS, FALSE)) + return E_FAIL; - pidlRoot = _ILCreateAdminTools(); /* my qualified pidl */ - if (pidlRoot == NULL) - return E_OUTOFMEMORY; - return S_OK; + pidlRoot = _ILCreateAdminTools(); /* my qualified pidl */ + if (pidlRoot == NULL) + return E_OUTOFMEMORY; + return S_OK; } /************************************************************************** @@ -127,7 +127,7 @@ HRESULT WINAPI CAdminToolsFolder::ParseDisplayName (HWND hwndOwner, LPBC pbc, LP if (pchEaten) *pchEaten = 0; - MessageBoxW(NULL, lpszDisplayName, L"ParseDisplayName", MB_OK); + MessageBoxW(NULL, lpszDisplayName, L"ParseDisplayName", MB_OK); return E_NOTIMPL; } @@ -137,32 +137,32 @@ HRESULT WINAPI CAdminToolsFolder::ParseDisplayName (HWND hwndOwner, LPBC pbc, LP */ HRESULT WINAPI CAdminToolsFolder::EnumObjects(HWND hwndOwner, DWORD dwFlags, LPENUMIDLIST *ppEnumIDList) { - CComObject *theEnumerator; - CComPtr result; - HRESULT hResult; + CComObject *theEnumerator; + CComPtr result; + HRESULT hResult; - TRACE ("(%p)->(HWND=%p flags=0x%08x pplist=%p)\n", this, hwndOwner, dwFlags, ppEnumIDList); + TRACE ("(%p)->(HWND=%p flags=0x%08x pplist=%p)\n", this, hwndOwner, dwFlags, ppEnumIDList); - if (ppEnumIDList == NULL) - return E_POINTER; - *ppEnumIDList = NULL; - ATLTRY (theEnumerator = new CComObject); - if (theEnumerator == NULL) - return E_OUTOFMEMORY; - hResult = theEnumerator->QueryInterface (IID_IEnumIDList, (void **)&result); - if (FAILED (hResult)) - { - delete theEnumerator; - return hResult; - } - hResult = theEnumerator->Initialize (szTarget, dwFlags); - if (FAILED (hResult)) - return hResult; - *ppEnumIDList = result.Detach (); + if (ppEnumIDList == NULL) + return E_POINTER; + *ppEnumIDList = NULL; + ATLTRY (theEnumerator = new CComObject); + if (theEnumerator == NULL) + return E_OUTOFMEMORY; + hResult = theEnumerator->QueryInterface (IID_IEnumIDList, (void **)&result); + if (FAILED (hResult)) + { + delete theEnumerator; + return hResult; + } + hResult = theEnumerator->Initialize (szTarget, dwFlags); + if (FAILED (hResult)) + return hResult; + *ppEnumIDList = result.Detach (); TRACE ("-- (%p)->(new ID List: %p)\n", this, *ppEnumIDList); - return S_OK; + return S_OK; } /************************************************************************** @@ -206,8 +206,8 @@ HRESULT WINAPI CAdminToolsFolder::CompareIDs(LPARAM lParam, LPCITEMIDLIST pidl1, */ HRESULT WINAPI CAdminToolsFolder::CreateViewObject(HWND hwndOwner, REFIID riid, LPVOID *ppvOut) { - CComPtr pShellView; - HRESULT hr = E_INVALIDARG; + CComPtr pShellView; + HRESULT hr = E_INVALIDARG; TRACE ("(%p)->(hwnd=%p,%s,%p)\n", this, hwndOwner, shdebugstr_guid (&riid), ppvOut); @@ -291,7 +291,7 @@ HRESULT WINAPI CAdminToolsFolder::GetUIObjectOf(HWND hwndOwner, UINT cidl, LPCIT REFIID riid, UINT * prgfInOut, LPVOID * ppvOut) { LPITEMIDLIST pidl; - CComPtr pObj; + CComPtr pObj; HRESULT hr = E_INVALIDARG; TRACE ("(%p)->(%p,%u,apidl=%p,%s,%p,%p)\n", diff --git a/dll/win32/shell32/shfldr_fs.cpp b/dll/win32/shell32/shfldr_fs.cpp index 81f7cf7a2fd..4151ced5e13 100644 --- a/dll/win32/shell32/shfldr_fs.cpp +++ b/dll/win32/shell32/shfldr_fs.cpp @@ -36,16 +36,16 @@ be inserted in a removable drive. */ class CFileSysEnum : - public IEnumIDListImpl + public IEnumIDListImpl { private: public: - CFileSysEnum(); - ~CFileSysEnum(); - HRESULT WINAPI Initialize(LPWSTR sPathTarget, DWORD dwFlags); + CFileSysEnum(); + ~CFileSysEnum(); + HRESULT WINAPI Initialize(LPWSTR sPathTarget, DWORD dwFlags); BEGIN_COM_MAP(CFileSysEnum) - COM_INTERFACE_ENTRY_IID(IID_IEnumIDList, IEnumIDList) + COM_INTERFACE_ENTRY_IID(IID_IEnumIDList, IEnumIDList) END_COM_MAP() }; @@ -59,7 +59,7 @@ CFileSysEnum::~CFileSysEnum() HRESULT WINAPI CFileSysEnum::Initialize(LPWSTR sPathTarget, DWORD dwFlags) { - return CreateFolderEnumList(sPathTarget, dwFlags); + return CreateFolderEnumList(sPathTarget, dwFlags); } /************************************************************************** @@ -76,11 +76,11 @@ void CFSFolder::SF_RegisterClipFmt() CFSFolder::CFSFolder() { - pclsid = (CLSID *)&CLSID_ShellFSFolder; - sPathTarget = NULL; - pidlRoot = NULL; - cfShellIDList = 0; - fAcceptFmt = FALSE; + pclsid = (CLSID *)&CLSID_ShellFSFolder; + sPathTarget = NULL; + pidlRoot = NULL; + cfShellIDList = 0; + fAcceptFmt = FALSE; } CFSFolder::~CFSFolder() @@ -252,32 +252,32 @@ HRESULT WINAPI CFSFolder::ParseDisplayName(HWND hwndOwner, HRESULT WINAPI CFSFolder::EnumObjects (HWND hwndOwner, DWORD dwFlags, LPENUMIDLIST * ppEnumIDList) { - CComObject *theEnumerator; - CComPtr result; - HRESULT hResult; + CComObject *theEnumerator; + CComPtr result; + HRESULT hResult; - TRACE ("(%p)->(HWND=%p flags=0x%08x pplist=%p)\n", this, hwndOwner, dwFlags, ppEnumIDList); + TRACE ("(%p)->(HWND=%p flags=0x%08x pplist=%p)\n", this, hwndOwner, dwFlags, ppEnumIDList); - if (ppEnumIDList == NULL) - return E_POINTER; - *ppEnumIDList = NULL; - ATLTRY (theEnumerator = new CComObject); - if (theEnumerator == NULL) - return E_OUTOFMEMORY; - hResult = theEnumerator->QueryInterface (IID_IEnumIDList, (void **)&result); - if (FAILED (hResult)) - { - delete theEnumerator; - return hResult; - } - hResult = theEnumerator->Initialize (sPathTarget, dwFlags); - if (FAILED (hResult)) - return hResult; - *ppEnumIDList = result.Detach (); + if (ppEnumIDList == NULL) + return E_POINTER; + *ppEnumIDList = NULL; + ATLTRY (theEnumerator = new CComObject); + if (theEnumerator == NULL) + return E_OUTOFMEMORY; + hResult = theEnumerator->QueryInterface (IID_IEnumIDList, (void **)&result); + if (FAILED (hResult)) + { + delete theEnumerator; + return hResult; + } + hResult = theEnumerator->Initialize (sPathTarget, dwFlags); + if (FAILED (hResult)) + return hResult; + *ppEnumIDList = result.Detach (); TRACE ("-- (%p)->(new ID List: %p)\n", this, *ppEnumIDList); - return S_OK; + return S_OK; } /************************************************************************** @@ -454,13 +454,13 @@ HRESULT WINAPI CFSFolder::GetUIObjectOf(HWND hwndOwner, if (IsEqualIID (riid, IID_IContextMenu) && (cidl >= 1)) { hr = CDefFolderMenu_Create2(pidlRoot, hwndOwner, cidl, apidl, (IShellFolder*)this, NULL, 0, NULL, (IContextMenu**)&pObj); } else if (IsEqualIID (riid, IID_IDataObject)){ - if (cidl >= 1) { + if (cidl >= 1) { hr = IDataObject_Constructor (hwndOwner, pidlRoot, apidl, cidl, (IDataObject **)&pObj); - } - else - { + } + else + { hr = IDataObject_Constructor (hwndOwner, pidlRoot, (LPCITEMIDLIST*)&pidlRoot, 1, (IDataObject **)&pObj); - } + } } else if (IsEqualIID (riid, IID_IExtractIconA) && (cidl == 1)) { pidl = ILCombine (pidlRoot, apidl[0]); pObj = (LPUNKNOWN) IExtractIconA_Constructor (pidl); diff --git a/dll/win32/shell32/shfldr_mycomp.cpp b/dll/win32/shell32/shfldr_mycomp.cpp index b2f58798006..5ac02816f3e 100644 --- a/dll/win32/shell32/shfldr_mycomp.cpp +++ b/dll/win32/shell32/shfldr_mycomp.cpp @@ -40,17 +40,17 @@ CDrivesFolderEnum is only responsible for returning the physical items. */ class CDrivesFolderEnum : - public IEnumIDListImpl + public IEnumIDListImpl { private: public: - CDrivesFolderEnum(); - ~CDrivesFolderEnum(); - HRESULT WINAPI Initialize(HWND hwndOwner, DWORD dwFlags); - BOOL CreateMyCompEnumList(DWORD dwFlags); + CDrivesFolderEnum(); + ~CDrivesFolderEnum(); + HRESULT WINAPI Initialize(HWND hwndOwner, DWORD dwFlags); + BOOL CreateMyCompEnumList(DWORD dwFlags); BEGIN_COM_MAP(CDrivesFolderEnum) - COM_INTERFACE_ENTRY_IID(IID_IEnumIDList, IEnumIDList) + COM_INTERFACE_ENTRY_IID(IID_IEnumIDList, IEnumIDList) END_COM_MAP() }; @@ -79,9 +79,9 @@ HRESULT WINAPI CDrivesFolderEnum::Initialize(HWND hwndOwner, DWORD dwFlags) { DbgPrint("[shell32, CDrivesFolderEnum::Initialize] Called with flags = %d\n", dwFlags); - if (CreateMyCompEnumList(dwFlags) == FALSE) - return E_FAIL; - return S_OK; + if (CreateMyCompEnumList(dwFlags) == FALSE) + return E_FAIL; + return S_OK; } /************************************************************************** @@ -137,9 +137,9 @@ BOOL CDrivesFolderEnum::CreateMyCompEnumList(DWORD dwFlags) { /* FIXME: shell extensions, shouldn't the type be * PT_SHELLEXT? */ - LPITEMIDLIST pidl = _ILCreateGuidFromStrW(iid); - if (pidl != NULL) - ret = AddToEnumList(pidl); + LPITEMIDLIST pidl = _ILCreateGuidFromStrW(iid); + if (pidl != NULL) + ret = AddToEnumList(pidl); i++; } else if (ERROR_NO_MORE_ITEMS == r) @@ -162,8 +162,8 @@ CDrivesFolder::CDrivesFolder() CDrivesFolder::~CDrivesFolder() { - TRACE ("-- destroying IShellFolder(%p)\n", this); - SHFree(pidlRoot); + TRACE ("-- destroying IShellFolder(%p)\n", this); + SHFree(pidlRoot); } HRESULT WINAPI CDrivesFolder::FinalConstruct() @@ -172,8 +172,8 @@ HRESULT WINAPI CDrivesFolder::FinalConstruct() WCHAR szName[MAX_PATH]; pidlRoot = _ILCreateMyComputer(); /* my qualified pidl */ - if (pidlRoot == NULL) - return E_OUTOFMEMORY; + if (pidlRoot == NULL) + return E_OUTOFMEMORY; dwSize = sizeof(szName); if (RegGetValueW(HKEY_CURRENT_USER, @@ -188,7 +188,7 @@ HRESULT WINAPI CDrivesFolder::FinalConstruct() } TRACE("sName %s\n", debugstr_w(sName)); } - return S_OK; + return S_OK; } /************************************************************************** @@ -254,40 +254,40 @@ HRESULT WINAPI CDrivesFolder::ParseDisplayName (HWND hwndOwner, LPBC pbc, LPOLES */ HRESULT WINAPI CDrivesFolder::EnumObjects (HWND hwndOwner, DWORD dwFlags, LPENUMIDLIST *ppEnumIDList) { - CComObject *theEnumerator; - CComPtr result; - HRESULT hResult; + CComObject *theEnumerator; + CComPtr result; + HRESULT hResult; - TRACE ("(%p)->(HWND=%p flags=0x%08x pplist=%p)\n", this, hwndOwner, dwFlags, ppEnumIDList); + TRACE ("(%p)->(HWND=%p flags=0x%08x pplist=%p)\n", this, hwndOwner, dwFlags, ppEnumIDList); DbgPrint("[shell32, CDrivesFolder::EnumObjects] Called with flags = %d\n", dwFlags); - if (ppEnumIDList == NULL) - return E_POINTER; - + if (ppEnumIDList == NULL) + return E_POINTER; + *ppEnumIDList = NULL; - ATLTRY (theEnumerator = new CComObject); - + ATLTRY (theEnumerator = new CComObject); + if (theEnumerator == NULL) - return E_OUTOFMEMORY; - + return E_OUTOFMEMORY; + hResult = theEnumerator->QueryInterface (IID_IEnumIDList, (void **)&result); - if (FAILED (hResult)) - { - delete theEnumerator; - return hResult; - } + if (FAILED (hResult)) + { + delete theEnumerator; + return hResult; + } - DbgPrint("[shell32, CDrivesFolder::EnumObjects] Calling theEnumerator->Initialize\n"); + DbgPrint("[shell32, CDrivesFolder::EnumObjects] Calling theEnumerator->Initialize\n"); hResult = theEnumerator->Initialize (hwndOwner, dwFlags); - if (FAILED (hResult)) - return hResult; - *ppEnumIDList = result.Detach (); + if (FAILED (hResult)) + return hResult; + *ppEnumIDList = result.Detach (); TRACE ("-- (%p)->(new ID List: %p)\n", this, *ppEnumIDList); - return S_OK; + return S_OK; } /************************************************************************** diff --git a/dll/win32/shell32/shfldr_netplaces.cpp b/dll/win32/shell32/shfldr_netplaces.cpp index d72d1432239..9406b738f52 100644 --- a/dll/win32/shell32/shfldr_netplaces.cpp +++ b/dll/win32/shell32/shfldr_netplaces.cpp @@ -1,10 +1,10 @@ /* - * Network Places (Neighbourhood) folder + * Network Places (Neighbourhood) folder * - * Copyright 1997 Marcus Meissner - * Copyright 1998, 1999, 2002 Juergen Schmied - * Copyright 2003 Mike McCormack for Codeweavers - * Copyright 2009 Andrew Hill + * Copyright 1997 Marcus Meissner + * Copyright 1998, 1999, 2002 Juergen Schmied + * Copyright 2003 Mike McCormack for Codeweavers + * Copyright 2009 Andrew Hill * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -33,7 +33,7 @@ static shvheader NetworkPlacesSFHeader[] = { {IDS_SHV_COLUMN8, SHCOLSTATE_TYPE_STR | SHCOLSTATE_ONBYDEFAULT, LVCFMT_RIGHT, 15}, {IDS_SHV_COLUMN13, SHCOLSTATE_TYPE_STR | SHCOLSTATE_ONBYDEFAULT, LVCFMT_RIGHT, 10}, {IDS_SHV_COLUMN_WORKGROUP, SHCOLSTATE_TYPE_STR | SHCOLSTATE_ONBYDEFAULT, LVCFMT_RIGHT, 15}, - {IDS_SHV_NETWORKLOCATION, SHCOLSTATE_TYPE_STR | SHCOLSTATE_ONBYDEFAULT, LVCFMT_RIGHT, 15} + {IDS_SHV_NETWORKLOCATION, SHCOLSTATE_TYPE_STR | SHCOLSTATE_ONBYDEFAULT, LVCFMT_RIGHT, 15} }; #define COLUMN_NAME 0 @@ -50,20 +50,20 @@ CNetFolder::CNetFolder() CNetFolder::~CNetFolder() { - TRACE("-- destroying IShellFolder(%p)\n", this); - SHFree(pidlRoot); + TRACE("-- destroying IShellFolder(%p)\n", this); + SHFree(pidlRoot); } HRESULT WINAPI CNetFolder::FinalConstruct() { - pidlRoot = _ILCreateNetHood(); /* my qualified pidl */ - if (pidlRoot == NULL) - return E_OUTOFMEMORY; - return S_OK; + pidlRoot = _ILCreateNetHood(); /* my qualified pidl */ + if (pidlRoot == NULL) + return E_OUTOFMEMORY; + return S_OK; } /************************************************************************** -* ISF_NetworkPlaces_fnParseDisplayName +* ISF_NetworkPlaces_fnParseDisplayName */ HRESULT WINAPI CNetFolder::ParseDisplayName(HWND hwndOwner, LPBC pbcReserved, LPOLESTR lpszDisplayName, DWORD * pchEaten, LPITEMIDLIST * ppidl, DWORD * pdwAttributes) @@ -76,7 +76,7 @@ HRESULT WINAPI CNetFolder::ParseDisplayName(HWND hwndOwner, LPBC pbcReserved, LP *ppidl = 0; if (pchEaten) - *pchEaten = 0; /* strange but like the original */ + *pchEaten = 0; /* strange but like the original */ TRACE ("(%p)->(-- ret=0x%08x)\n", this, hr); @@ -84,7 +84,7 @@ HRESULT WINAPI CNetFolder::ParseDisplayName(HWND hwndOwner, LPBC pbcReserved, LP } /************************************************************************** -* ISF_NetworkPlaces_fnEnumObjects +* ISF_NetworkPlaces_fnEnumObjects */ HRESULT WINAPI CNetFolder::EnumObjects(HWND hwndOwner, DWORD dwFlags, LPENUMIDLIST *ppEnumIDList) { @@ -99,7 +99,7 @@ HRESULT WINAPI CNetFolder::EnumObjects(HWND hwndOwner, DWORD dwFlags, LPENUMIDLI } /************************************************************************** -* ISF_NetworkPlaces_fnBindToObject +* ISF_NetworkPlaces_fnBindToObject */ HRESULT WINAPI CNetFolder::BindToObject(LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, LPVOID *ppvOut) { @@ -110,7 +110,7 @@ HRESULT WINAPI CNetFolder::BindToObject(LPCITEMIDLIST pidl, LPBC pbcReserved, RE } /************************************************************************** -* ISF_NetworkPlaces_fnBindToStorage +* ISF_NetworkPlaces_fnBindToStorage */ HRESULT WINAPI CNetFolder::BindToStorage(LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, LPVOID *ppvOut) { @@ -122,7 +122,7 @@ HRESULT WINAPI CNetFolder::BindToStorage(LPCITEMIDLIST pidl, LPBC pbcReserved, R } /************************************************************************** -* ISF_NetworkPlaces_fnCompareIDs +* ISF_NetworkPlaces_fnCompareIDs */ HRESULT WINAPI CNetFolder::CompareIDs(LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2) @@ -136,7 +136,7 @@ HRESULT WINAPI CNetFolder::CompareIDs(LPARAM lParam, LPCITEMIDLIST pidl1, LPCITE } /************************************************************************** -* ISF_NetworkPlaces_fnCreateViewObject +* ISF_NetworkPlaces_fnCreateViewObject */ HRESULT WINAPI CNetFolder::CreateViewObject(HWND hwndOwner, REFIID riid, LPVOID *ppvOut) { @@ -149,26 +149,26 @@ HRESULT WINAPI CNetFolder::CreateViewObject(HWND hwndOwner, REFIID riid, LPVOID if (!ppvOut) return hr; - *ppvOut = NULL; + *ppvOut = NULL; - if (IsEqualIID (riid, IID_IDropTarget)) + if (IsEqualIID (riid, IID_IDropTarget)) { - WARN ("IDropTarget not implemented\n"); - hr = E_NOTIMPL; - } + WARN ("IDropTarget not implemented\n"); + hr = E_NOTIMPL; + } else if (IsEqualIID (riid, IID_IContextMenu)) { - WARN ("IContextMenu not implemented\n"); - hr = E_NOTIMPL; - } + WARN ("IContextMenu not implemented\n"); + hr = E_NOTIMPL; + } else if (IsEqualIID (riid, IID_IShellView)) { - hr = IShellView_Constructor ((IShellFolder *)this, &pShellView); - if (pShellView) + hr = IShellView_Constructor ((IShellFolder *)this, &pShellView); + if (pShellView) { hr = pShellView->QueryInterface(riid, ppvOut); pShellView->Release(); - } + } } TRACE ("-- (%p)->(interface=%p)\n", this, ppvOut); return hr; @@ -217,7 +217,7 @@ HRESULT WINAPI CNetFolder::GetAttributesOf(UINT cidl, LPCITEMIDLIST *apidl, DWOR } /************************************************************************** -* ISF_NetworkPlaces_fnGetUIObjectOf +* ISF_NetworkPlaces_fnGetUIObjectOf * * PARAMETERS * hwndOwner [in] Parent window for any output @@ -241,47 +241,47 @@ HRESULT WINAPI CNetFolder::GetUIObjectOf(HWND hwndOwner, UINT cidl, LPCITEMIDLIS if (!ppvOut) return hr; - *ppvOut = NULL; + *ppvOut = NULL; - if (IsEqualIID (riid, IID_IContextMenu) && (cidl >= 1)) + if (IsEqualIID (riid, IID_IContextMenu) && (cidl >= 1)) { hr = CDefFolderMenu_Create2(pidlRoot, hwndOwner, cidl, apidl, (IShellFolder*)this, NULL, 0, NULL, (IContextMenu**)&pObj); - } + } else if (IsEqualIID (riid, IID_IDataObject) && (cidl >= 1)) { - hr = IDataObject_Constructor (hwndOwner, pidlRoot, apidl, cidl, (IDataObject **)&pObj); - } + hr = IDataObject_Constructor (hwndOwner, pidlRoot, apidl, cidl, (IDataObject **)&pObj); + } else if (IsEqualIID (riid, IID_IExtractIconA) && (cidl == 1)) { - pidl = ILCombine (pidlRoot, apidl[0]); - pObj = (LPUNKNOWN) IExtractIconA_Constructor (pidl); - SHFree (pidl); - hr = S_OK; - } + pidl = ILCombine (pidlRoot, apidl[0]); + pObj = (LPUNKNOWN) IExtractIconA_Constructor (pidl); + SHFree (pidl); + hr = S_OK; + } else if (IsEqualIID (riid, IID_IExtractIconW) && (cidl == 1)) { - pidl = ILCombine (pidlRoot, apidl[0]); - pObj = (LPUNKNOWN) IExtractIconW_Constructor (pidl); - SHFree (pidl); - hr = S_OK; - } + pidl = ILCombine (pidlRoot, apidl[0]); + pObj = (LPUNKNOWN) IExtractIconW_Constructor (pidl); + SHFree (pidl); + hr = S_OK; + } else if (IsEqualIID (riid, IID_IDropTarget) && (cidl >= 1)) { - hr = this->QueryInterface(IID_IDropTarget, (LPVOID *) & pObj); - } + hr = this->QueryInterface(IID_IDropTarget, (LPVOID *) & pObj); + } else - hr = E_NOINTERFACE; + hr = E_NOINTERFACE; - if (SUCCEEDED(hr) && !pObj) - hr = E_OUTOFMEMORY; + if (SUCCEEDED(hr) && !pObj) + hr = E_OUTOFMEMORY; - *ppvOut = pObj; + *ppvOut = pObj; TRACE ("(%p)->hr=0x%08x\n", this, hr); return hr; } /************************************************************************** -* ISF_NetworkPlaces_fnGetDisplayNameOf +* ISF_NetworkPlaces_fnGetDisplayNameOf * */ HRESULT WINAPI CNetFolder::GetDisplayNameOf(LPCITEMIDLIST pidl, DWORD dwFlags, LPSTRRET strRet) @@ -307,7 +307,7 @@ HRESULT WINAPI CNetFolder::GetDisplayNameOf(LPCITEMIDLIST pidl, DWORD dwFlags, L * dwFlags [in] SHGNO formatting flags * ppidlOut [out] simple pidl returned */ -HRESULT WINAPI CNetFolder::SetNameOf (HWND hwndOwner, LPCITEMIDLIST pidl, /*simple pidl */ +HRESULT WINAPI CNetFolder::SetNameOf (HWND hwndOwner, LPCITEMIDLIST pidl, /*simple pidl */ LPCOLESTR lpName, DWORD dwFlags, LPITEMIDLIST * pPidlOut) { FIXME ("(%p)->(%p,pidl=%p,%s,%u,%p)\n", this, @@ -390,7 +390,7 @@ HRESULT WINAPI CNetFolder::MapColumnToSCID(UINT column, SHCOLUMNID *pscid) } /************************************************************************ - * INPFldr_PersistFolder2_GetClassID + * INPFldr_PersistFolder2_GetClassID */ HRESULT WINAPI CNetFolder::GetClassID(CLSID *lpClassId) { @@ -405,7 +405,7 @@ HRESULT WINAPI CNetFolder::GetClassID(CLSID *lpClassId) } /************************************************************************ - * INPFldr_PersistFolder2_Initialize + * INPFldr_PersistFolder2_Initialize * * NOTES: it makes no sense to change the pidl */ @@ -417,7 +417,7 @@ HRESULT WINAPI CNetFolder::Initialize(LPCITEMIDLIST pidl) } /************************************************************************** - * IPersistFolder2_fnGetCurFolder + * IPersistFolder2_fnGetCurFolder */ HRESULT WINAPI CNetFolder::GetCurFolder(LPITEMIDLIST *pidl) { diff --git a/dll/win32/shell32/shfldr_recyclebin.cpp b/dll/win32/shell32/shfldr_recyclebin.cpp index 0482704b9a4..6dc121753d0 100644 --- a/dll/win32/shell32/shfldr_recyclebin.cpp +++ b/dll/win32/shell32/shfldr_recyclebin.cpp @@ -61,67 +61,67 @@ static const columninfo CBitBucketColumns[] = */ class CBitBucketEnum : - public IEnumIDListImpl + public IEnumIDListImpl { private: public: - CBitBucketEnum(); - ~CBitBucketEnum(); - HRESULT WINAPI Initialize(DWORD dwFlags); - static BOOL WINAPI CBEnumBitBucket(IN PVOID Context, IN HANDLE hDeletedFile); - BOOL WINAPI CBEnumBitBucket(IN HANDLE hDeletedFile); + CBitBucketEnum(); + ~CBitBucketEnum(); + HRESULT WINAPI Initialize(DWORD dwFlags); + static BOOL WINAPI CBEnumBitBucket(IN PVOID Context, IN HANDLE hDeletedFile); + BOOL WINAPI CBEnumBitBucket(IN HANDLE hDeletedFile); BEGIN_COM_MAP(CBitBucketEnum) - COM_INTERFACE_ENTRY_IID(IID_IEnumIDList, IEnumIDList) + COM_INTERFACE_ENTRY_IID(IID_IEnumIDList, IEnumIDList) END_COM_MAP() }; class CCBitBucketBackgroundContextMenu : - public CComObjectRootEx, - public IContextMenu2 + public CComObjectRootEx, + public IContextMenu2 { private: - INT iIdEmpty; + INT iIdEmpty; public: - CCBitBucketBackgroundContextMenu(); - ~CCBitBucketBackgroundContextMenu(); + CCBitBucketBackgroundContextMenu(); + ~CCBitBucketBackgroundContextMenu(); - // IContextMenu - virtual HRESULT WINAPI QueryContextMenu(HMENU hMenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags); - virtual HRESULT WINAPI InvokeCommand(LPCMINVOKECOMMANDINFO lpcmi); - virtual HRESULT WINAPI GetCommandString(UINT_PTR idCommand,UINT uFlags, UINT *lpReserved, LPSTR lpszName, UINT uMaxNameLen); + // IContextMenu + virtual HRESULT WINAPI QueryContextMenu(HMENU hMenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags); + virtual HRESULT WINAPI InvokeCommand(LPCMINVOKECOMMANDINFO lpcmi); + virtual HRESULT WINAPI GetCommandString(UINT_PTR idCommand,UINT uFlags, UINT *lpReserved, LPSTR lpszName, UINT uMaxNameLen); - // IContextMenu2 - virtual HRESULT WINAPI HandleMenuMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); + // IContextMenu2 + virtual HRESULT WINAPI HandleMenuMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); BEGIN_COM_MAP(CCBitBucketBackgroundContextMenu) - COM_INTERFACE_ENTRY_IID(IID_IContextMenu, IContextMenu) - COM_INTERFACE_ENTRY_IID(IID_IContextMenu2, IContextMenu2) + COM_INTERFACE_ENTRY_IID(IID_IContextMenu, IContextMenu) + COM_INTERFACE_ENTRY_IID(IID_IContextMenu2, IContextMenu2) END_COM_MAP() }; class CCBitBucketItemContextMenu : - public CComObjectRootEx, - public IContextMenu2 + public CComObjectRootEx, + public IContextMenu2 { private: - LPITEMIDLIST apidl; + LPITEMIDLIST apidl; public: - CCBitBucketItemContextMenu(); - ~CCBitBucketItemContextMenu(); - HRESULT WINAPI Initialize(LPCITEMIDLIST pidl); + CCBitBucketItemContextMenu(); + ~CCBitBucketItemContextMenu(); + HRESULT WINAPI Initialize(LPCITEMIDLIST pidl); - // IContextMenu - virtual HRESULT WINAPI QueryContextMenu(HMENU hMenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags); - virtual HRESULT WINAPI InvokeCommand(LPCMINVOKECOMMANDINFO lpcmi); - virtual HRESULT WINAPI GetCommandString(UINT_PTR idCommand,UINT uFlags, UINT *lpReserved, LPSTR lpszName, UINT uMaxNameLen); + // IContextMenu + virtual HRESULT WINAPI QueryContextMenu(HMENU hMenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags); + virtual HRESULT WINAPI InvokeCommand(LPCMINVOKECOMMANDINFO lpcmi); + virtual HRESULT WINAPI GetCommandString(UINT_PTR idCommand,UINT uFlags, UINT *lpReserved, LPSTR lpszName, UINT uMaxNameLen); - // IContextMenu2 - virtual HRESULT WINAPI HandleMenuMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); + // IContextMenu2 + virtual HRESULT WINAPI HandleMenuMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); BEGIN_COM_MAP(CCBitBucketItemContextMenu) - COM_INTERFACE_ENTRY_IID(IID_IContextMenu, IContextMenu) - COM_INTERFACE_ENTRY_IID(IID_IContextMenu2, IContextMenu2) + COM_INTERFACE_ENTRY_IID(IID_IContextMenu, IContextMenu) + COM_INTERFACE_ENTRY_IID(IID_IContextMenu2, IContextMenu2) END_COM_MAP() }; @@ -209,21 +209,21 @@ HRESULT WINAPI CBitBucketEnum::Initialize(DWORD dwFlags) { static LPCWSTR szDrive = L"C:\\"; - if (dwFlags & SHCONTF_NONFOLDERS) - { - TRACE("Starting Enumeration\n"); + if (dwFlags & SHCONTF_NONFOLDERS) + { + TRACE("Starting Enumeration\n"); - if (!EnumerateRecycleBinW(szDrive /* FIXME */ , CBEnumBitBucket, (PVOID)this)) - { - WARN("Error: EnumerateCBitBucketW failed\n"); - return E_FAIL; - } - } - else - { - // do nothing - } - return S_OK; + if (!EnumerateRecycleBinW(szDrive /* FIXME */ , CBEnumBitBucket, (PVOID)this)) + { + WARN("Error: EnumerateCBitBucketW failed\n"); + return E_FAIL; + } + } + else + { + // do nothing + } + return S_OK; } static LPITEMIDLIST _ILCreateRecycleItem(PDELETED_FILE_DETAILS_W pFileDetails) @@ -253,7 +253,7 @@ static LPITEMIDLIST _ILCreateRecycleItem(PDELETED_FILE_DETAILS_W pFileDetails) BOOL WINAPI CBitBucketEnum::CBEnumBitBucket(IN PVOID Context, IN HANDLE hDeletedFile) { - return ((CBitBucketEnum *)Context)->CBEnumBitBucket(hDeletedFile); + return ((CBitBucketEnum *)Context)->CBEnumBitBucket(hDeletedFile); } BOOL WINAPI CBitBucketEnum::CBEnumBitBucket(IN HANDLE hDeletedFile) @@ -314,7 +314,7 @@ BOOL WINAPI CBitBucketEnum::CBEnumBitBucket(IN HANDLE hDeletedFile) CCBitBucketBackgroundContextMenu::CCBitBucketBackgroundContextMenu() { - iIdEmpty = 0; + iIdEmpty = 0; } CCBitBucketBackgroundContextMenu::~CCBitBucketBackgroundContextMenu() @@ -323,95 +323,95 @@ CCBitBucketBackgroundContextMenu::~CCBitBucketBackgroundContextMenu() HRESULT WINAPI CCBitBucketBackgroundContextMenu::QueryContextMenu(HMENU hMenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) { - WCHAR szBuffer[100]; - MENUITEMINFOW mii; - int id = 1; + WCHAR szBuffer[100]; + MENUITEMINFOW mii; + int id = 1; - TRACE("%p %p %u %u %u %u\n", this, hMenu, indexMenu, idCmdFirst, idCmdLast, uFlags ); + TRACE("%p %p %u %u %u %u\n", this, hMenu, indexMenu, idCmdFirst, idCmdLast, uFlags ); - if (!hMenu) - return E_INVALIDARG; + if (!hMenu) + return E_INVALIDARG; - memset(&mii, 0, sizeof(mii)); - mii.cbSize = sizeof(mii); - mii.fMask = MIIM_TYPE | MIIM_ID | MIIM_STATE; - mii.fState = MFS_ENABLED; - szBuffer[0] = L'\0'; - LoadStringW(shell32_hInstance, IDS_EMPTY_BITBUCKET, szBuffer, sizeof(szBuffer)/sizeof(WCHAR)); - szBuffer[(sizeof(szBuffer)/sizeof(WCHAR))-1] = L'\0'; - mii.dwTypeData = szBuffer; - mii.cch = wcslen( mii.dwTypeData ); - mii.wID = idCmdFirst + id++; - mii.fType = MFT_STRING; - iIdEmpty = 1; + memset(&mii, 0, sizeof(mii)); + mii.cbSize = sizeof(mii); + mii.fMask = MIIM_TYPE | MIIM_ID | MIIM_STATE; + mii.fState = MFS_ENABLED; + szBuffer[0] = L'\0'; + LoadStringW(shell32_hInstance, IDS_EMPTY_BITBUCKET, szBuffer, sizeof(szBuffer)/sizeof(WCHAR)); + szBuffer[(sizeof(szBuffer)/sizeof(WCHAR))-1] = L'\0'; + mii.dwTypeData = szBuffer; + mii.cch = wcslen( mii.dwTypeData ); + mii.wID = idCmdFirst + id++; + mii.fType = MFT_STRING; + iIdEmpty = 1; - if (!InsertMenuItemW(hMenu, indexMenu, TRUE, &mii)) - return E_FAIL; + if (!InsertMenuItemW(hMenu, indexMenu, TRUE, &mii)) + return E_FAIL; - return MAKE_HRESULT(SEVERITY_SUCCESS, 0, id); + return MAKE_HRESULT(SEVERITY_SUCCESS, 0, id); } HRESULT WINAPI CCBitBucketBackgroundContextMenu::InvokeCommand(LPCMINVOKECOMMANDINFO lpcmi) { - HRESULT hr; - LPSHELLBROWSER lpSB; - LPSHELLVIEW lpSV = NULL; + HRESULT hr; + LPSHELLBROWSER lpSB; + LPSHELLVIEW lpSV = NULL; - TRACE("%p %p verb %p\n", this, lpcmi, lpcmi->lpVerb); + TRACE("%p %p verb %p\n", this, lpcmi, lpcmi->lpVerb); - if (LOWORD(lpcmi->lpVerb) == iIdEmpty) - { - // FIXME - // path & flags - hr = SHEmptyRecycleBinW(lpcmi->hwnd, L"C:\\", 0); - TRACE("result %x\n", hr); - if (hr != S_OK) - return hr; + if (LOWORD(lpcmi->lpVerb) == iIdEmpty) + { + // FIXME + // path & flags + hr = SHEmptyRecycleBinW(lpcmi->hwnd, L"C:\\", 0); + TRACE("result %x\n", hr); + if (hr != S_OK) + return hr; - lpSB = (LPSHELLBROWSER)SendMessageA(lpcmi->hwnd, CWM_GETISHELLBROWSER, 0, 0); - if (lpSB && SUCCEEDED(lpSB->QueryActiveShellView(&lpSV))) - lpSV->Refresh(); - } - return S_OK; + lpSB = (LPSHELLBROWSER)SendMessageA(lpcmi->hwnd, CWM_GETISHELLBROWSER, 0, 0); + if (lpSB && SUCCEEDED(lpSB->QueryActiveShellView(&lpSV))) + lpSV->Refresh(); + } + return S_OK; } HRESULT WINAPI CCBitBucketBackgroundContextMenu::GetCommandString(UINT_PTR idCommand, UINT uFlags, UINT *lpReserved, LPSTR lpszName, UINT uMaxNameLen) { - FIXME("%p %lu %u %p %p %u\n", this, idCommand, uFlags, lpReserved, lpszName, uMaxNameLen); + FIXME("%p %lu %u %p %p %u\n", this, idCommand, uFlags, lpReserved, lpszName, uMaxNameLen); - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT WINAPI CCBitBucketBackgroundContextMenu::HandleMenuMsg(UINT uMsg, WPARAM wParam, LPARAM lParam) { - TRACE("CBitBucket_IContextMenu2Item_IContextMenu2Folder_HandleMenuMsg (%p)->(msg=%x wp=%lx lp=%lx)\n", this, uMsg, wParam, lParam); + TRACE("CBitBucket_IContextMenu2Item_IContextMenu2Folder_HandleMenuMsg (%p)->(msg=%x wp=%lx lp=%lx)\n", this, uMsg, wParam, lParam); - return E_NOTIMPL; + return E_NOTIMPL; } static HRESULT WINAPI CBitBucketBackgroundContextMenuConstructor(REFIID riid, LPVOID *ppv) { - CComObject *theMenu; - CComPtr result; - HRESULT hResult; + CComObject *theMenu; + CComPtr result; + HRESULT hResult; - TRACE("%s\n", shdebugstr_guid(&riid)); + TRACE("%s\n", shdebugstr_guid(&riid)); - if (ppv == NULL) - return E_POINTER; - *ppv = NULL; - ATLTRY(theMenu = new CComObject); - if (theMenu == NULL) - return E_OUTOFMEMORY; - hResult = theMenu->QueryInterface(riid, (void **)&result); - if (FAILED(hResult)) - { - delete theMenu; - return hResult; - } - *ppv = result.Detach(); - TRACE ("--(%p)\n", *ppv); - return S_OK; + if (ppv == NULL) + return E_POINTER; + *ppv = NULL; + ATLTRY(theMenu = new CComObject); + if (theMenu == NULL) + return E_OUTOFMEMORY; + hResult = theMenu->QueryInterface(riid, (void **)&result); + if (FAILED(hResult)) + { + delete theMenu; + return hResult; + } + *ppv = result.Detach(); + TRACE ("--(%p)\n", *ppv); + return S_OK; } /************************************************************************** @@ -420,144 +420,144 @@ static HRESULT WINAPI CBitBucketBackgroundContextMenuConstructor(REFIID riid, LP CCBitBucketItemContextMenu::CCBitBucketItemContextMenu() { - apidl = NULL; + apidl = NULL; } CCBitBucketItemContextMenu::~CCBitBucketItemContextMenu() { - ILFree(apidl); + ILFree(apidl); } HRESULT WINAPI CCBitBucketItemContextMenu::Initialize(LPCITEMIDLIST pidl) { - apidl = ILClone(pidl); - if (apidl == NULL) - return E_OUTOFMEMORY; - return S_OK; + apidl = ILClone(pidl); + if (apidl == NULL) + return E_OUTOFMEMORY; + return S_OK; } HRESULT WINAPI CCBitBucketItemContextMenu::QueryContextMenu(HMENU hMenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) { - WCHAR szBuffer[30] = {0}; - ULONG Count = 1; + WCHAR szBuffer[30] = {0}; + ULONG Count = 1; - TRACE("(%p)->(hmenu=%p indexmenu=%x cmdfirst=%x cmdlast=%x flags=%x )\n", this, hMenu, indexMenu, idCmdFirst, idCmdLast, uFlags); + TRACE("(%p)->(hmenu=%p indexmenu=%x cmdfirst=%x cmdlast=%x flags=%x )\n", this, hMenu, indexMenu, idCmdFirst, idCmdLast, uFlags); - if (LoadStringW(shell32_hInstance, IDS_RESTORE, szBuffer, sizeof(szBuffer)/sizeof(WCHAR))) - { - szBuffer[(sizeof(szBuffer)/sizeof(WCHAR))-1] = L'\0'; - _InsertMenuItemW(hMenu, indexMenu++, TRUE, idCmdFirst + Count, MFT_STRING, szBuffer, MFS_ENABLED); - Count++; - } + if (LoadStringW(shell32_hInstance, IDS_RESTORE, szBuffer, sizeof(szBuffer)/sizeof(WCHAR))) + { + szBuffer[(sizeof(szBuffer)/sizeof(WCHAR))-1] = L'\0'; + _InsertMenuItemW(hMenu, indexMenu++, TRUE, idCmdFirst + Count, MFT_STRING, szBuffer, MFS_ENABLED); + Count++; + } - if (LoadStringW(shell32_hInstance, IDS_CUT, szBuffer, sizeof(szBuffer)/sizeof(WCHAR))) - { - _InsertMenuItemW(hMenu, indexMenu++, TRUE, idCmdFirst + Count++, MFT_SEPARATOR, NULL, MFS_ENABLED); - szBuffer[(sizeof(szBuffer)/sizeof(WCHAR))-1] = L'\0'; - _InsertMenuItemW(hMenu, indexMenu++, TRUE, idCmdFirst + Count++, MFT_STRING, szBuffer, MFS_ENABLED); - } + if (LoadStringW(shell32_hInstance, IDS_CUT, szBuffer, sizeof(szBuffer)/sizeof(WCHAR))) + { + _InsertMenuItemW(hMenu, indexMenu++, TRUE, idCmdFirst + Count++, MFT_SEPARATOR, NULL, MFS_ENABLED); + szBuffer[(sizeof(szBuffer)/sizeof(WCHAR))-1] = L'\0'; + _InsertMenuItemW(hMenu, indexMenu++, TRUE, idCmdFirst + Count++, MFT_STRING, szBuffer, MFS_ENABLED); + } - if (LoadStringW(shell32_hInstance, IDS_DELETE, szBuffer, sizeof(szBuffer)/sizeof(WCHAR))) - { - szBuffer[(sizeof(szBuffer)/sizeof(WCHAR))-1] = L'\0'; - _InsertMenuItemW(hMenu, indexMenu++, TRUE, idCmdFirst + Count++, MFT_SEPARATOR, NULL, MFS_ENABLED); - _InsertMenuItemW(hMenu, indexMenu++, TRUE, idCmdFirst + Count++, MFT_STRING, szBuffer, MFS_ENABLED); - } + if (LoadStringW(shell32_hInstance, IDS_DELETE, szBuffer, sizeof(szBuffer)/sizeof(WCHAR))) + { + szBuffer[(sizeof(szBuffer)/sizeof(WCHAR))-1] = L'\0'; + _InsertMenuItemW(hMenu, indexMenu++, TRUE, idCmdFirst + Count++, MFT_SEPARATOR, NULL, MFS_ENABLED); + _InsertMenuItemW(hMenu, indexMenu++, TRUE, idCmdFirst + Count++, MFT_STRING, szBuffer, MFS_ENABLED); + } - if (LoadStringW(shell32_hInstance, IDS_PROPERTIES, szBuffer, sizeof(szBuffer)/sizeof(WCHAR))) - { - szBuffer[(sizeof(szBuffer)/sizeof(WCHAR))-1] = L'\0'; - _InsertMenuItemW(hMenu, indexMenu++, TRUE, idCmdFirst + Count++, MFT_SEPARATOR, NULL, MFS_ENABLED); - _InsertMenuItemW(hMenu, indexMenu++, TRUE, idCmdFirst + Count, MFT_STRING, szBuffer, MFS_DEFAULT); - } + if (LoadStringW(shell32_hInstance, IDS_PROPERTIES, szBuffer, sizeof(szBuffer)/sizeof(WCHAR))) + { + szBuffer[(sizeof(szBuffer)/sizeof(WCHAR))-1] = L'\0'; + _InsertMenuItemW(hMenu, indexMenu++, TRUE, idCmdFirst + Count++, MFT_SEPARATOR, NULL, MFS_ENABLED); + _InsertMenuItemW(hMenu, indexMenu++, TRUE, idCmdFirst + Count, MFT_STRING, szBuffer, MFS_DEFAULT); + } - return MAKE_HRESULT(SEVERITY_SUCCESS, 0, Count); + return MAKE_HRESULT(SEVERITY_SUCCESS, 0, Count); } HRESULT WINAPI CCBitBucketItemContextMenu::InvokeCommand(LPCMINVOKECOMMANDINFO lpcmi) { - SEARCH_CONTEXT Context; - static LPCWSTR szDrive = L"C:\\"; + SEARCH_CONTEXT Context; + static LPCWSTR szDrive = L"C:\\"; - TRACE("(%p)->(invcom=%p verb=%p wnd=%p)\n",this,lpcmi,lpcmi->lpVerb, lpcmi->hwnd); + TRACE("(%p)->(invcom=%p verb=%p wnd=%p)\n",this,lpcmi,lpcmi->lpVerb, lpcmi->hwnd); - if (lpcmi->lpVerb == MAKEINTRESOURCEA(1) || lpcmi->lpVerb == MAKEINTRESOURCEA(5)) - { - Context.pFileDetails = _ILGetRecycleStruct(apidl); - Context.bFound = FALSE; + if (lpcmi->lpVerb == MAKEINTRESOURCEA(1) || lpcmi->lpVerb == MAKEINTRESOURCEA(5)) + { + Context.pFileDetails = _ILGetRecycleStruct(apidl); + Context.bFound = FALSE; - EnumerateRecycleBinW(szDrive, CBSearchBitBucket, (PVOID)&Context); - if (!Context.bFound) - return E_FAIL; + EnumerateRecycleBinW(szDrive, CBSearchBitBucket, (PVOID)&Context); + if (!Context.bFound) + return E_FAIL; - if (lpcmi->lpVerb == MAKEINTRESOURCEA(1)) - { - /* restore file */ - if (RestoreFile(Context.hDeletedFile)) - return S_OK; - else - return E_FAIL; - } - else - { - DeleteFileHandleToRecycleBin(Context.hDeletedFile); - return E_NOTIMPL; - } - } - else if (lpcmi->lpVerb == MAKEINTRESOURCEA(3)) - { - FIXME("implement cut\n"); - return E_NOTIMPL; - } - else if (lpcmi->lpVerb == MAKEINTRESOURCEA(7)) - { - FIXME("implement properties\n"); - return E_NOTIMPL; - } + if (lpcmi->lpVerb == MAKEINTRESOURCEA(1)) + { + /* restore file */ + if (RestoreFile(Context.hDeletedFile)) + return S_OK; + else + return E_FAIL; + } + else + { + DeleteFileHandleToRecycleBin(Context.hDeletedFile); + return E_NOTIMPL; + } + } + else if (lpcmi->lpVerb == MAKEINTRESOURCEA(3)) + { + FIXME("implement cut\n"); + return E_NOTIMPL; + } + else if (lpcmi->lpVerb == MAKEINTRESOURCEA(7)) + { + FIXME("implement properties\n"); + return E_NOTIMPL; + } - return S_OK; + return S_OK; } HRESULT WINAPI CCBitBucketItemContextMenu::GetCommandString(UINT_PTR idCommand,UINT uFlags, UINT *lpReserved, LPSTR lpszName, UINT uMaxNameLen) { - TRACE("(%p)->(idcom=%lx flags=%x %p name=%p len=%x)\n",this, idCommand, uFlags, lpReserved, lpszName, uMaxNameLen); + TRACE("(%p)->(idcom=%lx flags=%x %p name=%p len=%x)\n",this, idCommand, uFlags, lpReserved, lpszName, uMaxNameLen); - return E_FAIL; + return E_FAIL; } HRESULT WINAPI CCBitBucketItemContextMenu::HandleMenuMsg(UINT uMsg, WPARAM wParam, LPARAM lParam) { - TRACE("CBitBucket_IContextMenu2Item_HandleMenuMsg (%p)->(msg=%x wp=%lx lp=%lx)\n",this, uMsg, wParam, lParam); + TRACE("CBitBucket_IContextMenu2Item_HandleMenuMsg (%p)->(msg=%x wp=%lx lp=%lx)\n",this, uMsg, wParam, lParam); - return E_NOTIMPL; + return E_NOTIMPL; } static HRESULT WINAPI CBitBucketItemContextMenuConstructor(REFIID riid, LPCITEMIDLIST pidl, LPVOID *ppv) { - CComObject *theMenu; - CComPtr result; - HRESULT hResult; + CComObject *theMenu; + CComPtr result; + HRESULT hResult; - TRACE("%s\n", shdebugstr_guid(&riid)); + TRACE("%s\n", shdebugstr_guid(&riid)); - if (ppv == NULL) - return E_POINTER; - *ppv = NULL; - ATLTRY(theMenu = new CComObject); - if (theMenu == NULL) - return E_OUTOFMEMORY; - hResult = theMenu->QueryInterface(riid, (void **)&result); - if (FAILED(hResult)) - { - delete theMenu; - return hResult; - } - hResult = theMenu->Initialize(pidl); - if (FAILED(hResult)) - return hResult; - *ppv = result.Detach(); - TRACE ("--(%p)\n", *ppv); - return S_OK; + if (ppv == NULL) + return E_POINTER; + *ppv = NULL; + ATLTRY(theMenu = new CComObject); + if (theMenu == NULL) + return E_OUTOFMEMORY; + hResult = theMenu->QueryInterface(riid, (void **)&result); + if (FAILED(hResult)) + { + delete theMenu; + return hResult; + } + hResult = theMenu->Initialize(pidl); + if (FAILED(hResult)) + return hResult; + *ppv = result.Detach(); + TRACE ("--(%p)\n", *ppv); + return S_OK; } CBitBucket::CBitBucket() @@ -568,7 +568,7 @@ CBitBucket::CBitBucket() CBitBucket::~CBitBucket() { /* InterlockedDecrement(&objCount);*/ - SHFree(pidl); + SHFree(pidl); } HRESULT WINAPI CBitBucket::ParseDisplayName(HWND hwnd, LPBC pbc, @@ -588,32 +588,32 @@ UnpackDetailsFromPidl(LPCITEMIDLIST pidl) HRESULT WINAPI CBitBucket::EnumObjects(HWND hwndOwner, DWORD dwFlags, LPENUMIDLIST *ppEnumIDList) { - CComObject *theEnumerator; - CComPtr result; - HRESULT hResult; + CComObject *theEnumerator; + CComPtr result; + HRESULT hResult; - TRACE ("(%p)->(HWND=%p flags=0x%08x pplist=%p)\n", this, hwndOwner, dwFlags, ppEnumIDList); + TRACE ("(%p)->(HWND=%p flags=0x%08x pplist=%p)\n", this, hwndOwner, dwFlags, ppEnumIDList); - if (ppEnumIDList == NULL) - return E_POINTER; - *ppEnumIDList = NULL; - ATLTRY (theEnumerator = new CComObject); - if (theEnumerator == NULL) - return E_OUTOFMEMORY; - hResult = theEnumerator->QueryInterface(IID_IEnumIDList, (void **)&result); - if (FAILED (hResult)) - { - delete theEnumerator; - return hResult; - } - hResult = theEnumerator->Initialize(dwFlags); - if (FAILED (hResult)) - return hResult; - *ppEnumIDList = result.Detach(); + if (ppEnumIDList == NULL) + return E_POINTER; + *ppEnumIDList = NULL; + ATLTRY (theEnumerator = new CComObject); + if (theEnumerator == NULL) + return E_OUTOFMEMORY; + hResult = theEnumerator->QueryInterface(IID_IEnumIDList, (void **)&result); + if (FAILED (hResult)) + { + delete theEnumerator; + return hResult; + } + hResult = theEnumerator->Initialize(dwFlags); + if (FAILED (hResult)) + return hResult; + *ppEnumIDList = result.Detach(); TRACE ("-- (%p)->(new ID List: %p)\n", this, *ppEnumIDList); - return S_OK; + return S_OK; } HRESULT WINAPI CBitBucket::BindToObject(LPCITEMIDLIST pidl, LPBC pbc, REFIID riid, void **ppv) @@ -656,7 +656,7 @@ HRESULT WINAPI CBitBucket::CreateViewObject(HWND hwndOwner, REFIID riid, void ** } else if (IsEqualIID (riid, IID_IContextMenu) || IsEqualIID (riid, IID_IContextMenu2)) { - hr = CBitBucketBackgroundContextMenuConstructor(riid, ppv); + hr = CBitBucketBackgroundContextMenuConstructor(riid, ppv); } else if (IsEqualIID (riid, IID_IShellView)) { @@ -677,8 +677,8 @@ HRESULT WINAPI CBitBucket::CreateViewObject(HWND hwndOwner, REFIID riid, void ** HRESULT WINAPI CBitBucket::GetAttributesOf(UINT cidl, LPCITEMIDLIST *apidl, SFGAOF *rgfInOut) { - TRACE("(%p, %d, {%p, ...}, {%x})\n", this, cidl, apidl ? apidl[0] : NULL, (unsigned int)*rgfInOut); - *rgfInOut &= SFGAO_CANMOVE|SFGAO_CANDELETE|SFGAO_HASPROPSHEET|SFGAO_FILESYSTEM | SFGAO_FOLDER; + TRACE("(%p, %d, {%p, ...}, {%x})\n", this, cidl, apidl ? apidl[0] : NULL, (unsigned int)*rgfInOut); + *rgfInOut &= SFGAO_CANMOVE|SFGAO_CANDELETE|SFGAO_HASPROPSHEET|SFGAO_FILESYSTEM | SFGAO_FOLDER; return S_OK; } @@ -698,7 +698,7 @@ HRESULT WINAPI CBitBucket::GetUIObjectOf(HWND hwndOwner, UINT cidl, LPCITEMIDLIS if ((IsEqualIID (riid, IID_IContextMenu) || IsEqualIID(riid, IID_IContextMenu2)) && (cidl >= 1)) { - hr = CBitBucketItemContextMenuConstructor(riid, apidl[0], (void **)&pObj); + hr = CBitBucketItemContextMenuConstructor(riid, apidl[0], (void **)&pObj); } else if (IsEqualIID (riid, IID_IDropTarget) && (cidl >= 1)) { @@ -1189,7 +1189,7 @@ BitBucketDlg( switch(uMsg) { - case WM_INITDIALOG: + case WM_INITDIALOG: page = (PROPSHEETPAGE*)lParam; InitializeBitBucketDlg(hwndDlg, (WCHAR)page->lParam); dwStyle = (DWORD) SendDlgItemMessage(hwndDlg, 14000, LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0); diff --git a/dll/win32/shell32/shlfolder.cpp b/dll/win32/shell32/shlfolder.cpp index 9e62002b781..9850246bbff 100644 --- a/dll/win32/shell32/shlfolder.cpp +++ b/dll/win32/shell32/shlfolder.cpp @@ -1,10 +1,10 @@ /* - * Shell Folder stuff + * Shell Folder stuff * - * Copyright 1997 Marcus Meissner - * Copyright 1998, 1999, 2002 Juergen Schmied + * Copyright 1997 Marcus Meissner + * Copyright 1998, 1999, 2002 Juergen Schmied * - * IShellFolder2 and related interfaces + * IShellFolder2 and related interfaces * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -105,25 +105,25 @@ LPCWSTR GetNextElementW (LPCWSTR pszNext, LPWSTR pszOut, DWORD dwOut) *pszOut = 0x0000; if (!pszNext || !*pszNext) - return NULL; + return NULL; while (*pszTail && (*pszTail != (WCHAR) '\\')) - pszTail++; + pszTail++; dwCopy = pszTail - pszNext + 1; lstrcpynW (pszOut, pszNext, (dwOut < dwCopy) ? dwOut : dwCopy); if (*pszTail) - pszTail++; + pszTail++; else - pszTail = NULL; + pszTail = NULL; TRACE ("--(%s %s 0x%08x %p)\n", debugstr_w (pszNext), debugstr_w (pszOut), dwOut, pszTail); return pszTail; } HRESULT SHELL32_ParseNextElement (IShellFolder2 * psf, HWND hwndOwner, LPBC pbc, - LPITEMIDLIST * pidlInOut, LPOLESTR szNext, DWORD * pEaten, DWORD * pdwAttributes) + LPITEMIDLIST * pidlInOut, LPOLESTR szNext, DWORD * pEaten, DWORD * pdwAttributes) { HRESULT hr = E_INVALIDARG; LPITEMIDLIST pidlOut = NULL, @@ -136,18 +136,18 @@ HRESULT SHELL32_ParseNextElement (IShellFolder2 * psf, HWND hwndOwner, LPBC pbc, hr = psf->BindToObject(*pidlInOut, pbc, IID_IShellFolder, (LPVOID *)&psfChild); if (SUCCEEDED(hr)) { - hr = psfChild->ParseDisplayName(hwndOwner, pbc, szNext, pEaten, &pidlOut, pdwAttributes); - psfChild->Release(); + hr = psfChild->ParseDisplayName(hwndOwner, pbc, szNext, pEaten, &pidlOut, pdwAttributes); + psfChild->Release(); - if (SUCCEEDED(hr)) { - pidlTemp = ILCombine (*pidlInOut, pidlOut); + if (SUCCEEDED(hr)) { + pidlTemp = ILCombine (*pidlInOut, pidlOut); - if (!pidlTemp) - hr = E_OUTOFMEMORY; - } + if (!pidlTemp) + hr = E_OUTOFMEMORY; + } - if (pidlOut) - ILFree (pidlOut); + if (pidlOut) + ILFree (pidlOut); } ILFree (*pidlInOut); @@ -158,7 +158,7 @@ HRESULT SHELL32_ParseNextElement (IShellFolder2 * psf, HWND hwndOwner, LPBC pbc, } /*********************************************************************** - * SHELL32_CoCreateInitSF + * SHELL32_CoCreateInitSF * * Creates a shell folder and initializes it with a pidl and a root folder * via IPersistFolder3 or IPersistFolder. @@ -177,52 +177,52 @@ static HRESULT SHELL32_CoCreateInitSF (LPCITEMIDLIST pidlRoot, LPCWSTR pathRoot, hr = SHCoCreateInstance(NULL, &clsid, NULL, IID_IShellFolder, ppvOut); if (SUCCEEDED (hr)) { - LPITEMIDLIST pidlAbsolute = ILCombine (pidlRoot, pidlChild); - IPersistFolder *pPF; - IPersistFolder3 *ppf; + LPITEMIDLIST pidlAbsolute = ILCombine (pidlRoot, pidlChild); + IPersistFolder *pPF; + IPersistFolder3 *ppf; if (_ILIsFolder(pidlChild) && SUCCEEDED (((IUnknown *)(*ppvOut))->QueryInterface(IID_IPersistFolder3, (LPVOID *) & ppf))) { - PERSIST_FOLDER_TARGET_INFO ppfti; + PERSIST_FOLDER_TARGET_INFO ppfti; - ZeroMemory (&ppfti, sizeof (ppfti)); + ZeroMemory (&ppfti, sizeof (ppfti)); - /* fill the PERSIST_FOLDER_TARGET_INFO */ - ppfti.dwAttributes = -1; - ppfti.csidl = -1; + /* fill the PERSIST_FOLDER_TARGET_INFO */ + ppfti.dwAttributes = -1; + ppfti.csidl = -1; - /* build path */ - if (pathRoot) + /* build path */ + if (pathRoot) { - lstrcpynW (ppfti.szTargetParsingName, pathRoot, MAX_PATH - 1); - PathAddBackslashW(ppfti.szTargetParsingName); /* FIXME: why have drives a backslash here ? */ - } + lstrcpynW (ppfti.szTargetParsingName, pathRoot, MAX_PATH - 1); + PathAddBackslashW(ppfti.szTargetParsingName); /* FIXME: why have drives a backslash here ? */ + } - if (pidlChild) + if (pidlChild) { int len = wcslen(ppfti.szTargetParsingName); - if (!_ILSimpleGetTextW(pidlChild, ppfti.szTargetParsingName + len, MAX_PATH - len)) - hr = E_INVALIDARG; - } + if (!_ILSimpleGetTextW(pidlChild, ppfti.szTargetParsingName + len, MAX_PATH - len)) + hr = E_INVALIDARG; + } - ppf->InitializeEx(NULL, pidlAbsolute, &ppfti); - ppf->Release(); - } - else if (SUCCEEDED ((hr = ((IUnknown *)(*ppvOut))->QueryInterface (IID_IPersistFolder, (LPVOID *) & pPF)))) + ppf->InitializeEx(NULL, pidlAbsolute, &ppfti); + ppf->Release(); + } + else if (SUCCEEDED ((hr = ((IUnknown *)(*ppvOut))->QueryInterface (IID_IPersistFolder, (LPVOID *) & pPF)))) { - pPF->Initialize(pidlAbsolute); - pPF->Release(); - } - ILFree (pidlAbsolute); + pPF->Initialize(pidlAbsolute); + pPF->Release(); + } + ILFree (pidlAbsolute); } TRACE ("-- (%p) ret=0x%08x\n", *ppvOut, hr); return hr; } /*********************************************************************** - * SHELL32_BindToChild [Internal] + * SHELL32_BindToChild [Internal] * * Common code for IShellFolder_BindToObject. * @@ -296,7 +296,7 @@ HRESULT SHELL32_BindToChild (LPCITEMIDLIST pidlRoot, } /*********************************************************************** - * SHELL32_GetDisplayNameOfChild + * SHELL32_GetDisplayNameOfChild * * Retrieves the display name of a child object of a shellfolder. * @@ -310,7 +310,7 @@ HRESULT SHELL32_BindToChild (LPCITEMIDLIST pidlRoot, * virtual folders with the registry key WantsFORPARSING set. */ HRESULT SHELL32_GetDisplayNameOfChild (IShellFolder2 * psf, - LPCITEMIDLIST pidl, DWORD dwFlags, LPWSTR szOut, DWORD dwOutLen) + LPCITEMIDLIST pidl, DWORD dwFlags, LPWSTR szOut, DWORD dwOutLen) { LPITEMIDLIST pidlFirst; HRESULT hr = E_INVALIDARG; @@ -320,23 +320,23 @@ HRESULT SHELL32_GetDisplayNameOfChild (IShellFolder2 * psf, pidlFirst = ILCloneFirst (pidl); if (pidlFirst) { - IShellFolder2 *psfChild; + IShellFolder2 *psfChild; - hr = psf->BindToObject(pidlFirst, NULL, IID_IShellFolder, (LPVOID *) & psfChild); - if (SUCCEEDED (hr)) { - STRRET strTemp; - LPITEMIDLIST pidlNext = ILGetNext (pidl); + hr = psf->BindToObject(pidlFirst, NULL, IID_IShellFolder, (LPVOID *) & psfChild); + if (SUCCEEDED (hr)) { + STRRET strTemp; + LPITEMIDLIST pidlNext = ILGetNext (pidl); - hr = psfChild->GetDisplayNameOf(pidlNext, dwFlags, &strTemp); - if (SUCCEEDED (hr)) { - if(!StrRetToStrNW (szOut, dwOutLen, &strTemp, pidlNext)) + hr = psfChild->GetDisplayNameOf(pidlNext, dwFlags, &strTemp); + if (SUCCEEDED (hr)) { + if(!StrRetToStrNW (szOut, dwOutLen, &strTemp, pidlNext)) hr = E_FAIL; - } - psfChild->Release(); - } - ILFree (pidlFirst); + } + psfChild->Release(); + } + ILFree (pidlFirst); } else - hr = E_OUTOFMEMORY; + hr = E_OUTOFMEMORY; TRACE ("-- ret=0x%08x %s\n", hr, debugstr_w(szOut)); @@ -348,10 +348,10 @@ HRESULT SHELL32_GetDisplayNameOfChild (IShellFolder2 * psf, * * NOTES * Observed values: - * folder: 0xE0000177 FILESYSTEM | HASSUBFOLDER | FOLDER - * file: 0x40000177 FILESYSTEM - * drive: 0xf0000144 FILESYSTEM | HASSUBFOLDER | FOLDER | FILESYSANCESTOR - * mycomputer: 0xb0000154 HASSUBFOLDER | FOLDER | FILESYSANCESTOR + * folder: 0xE0000177 FILESYSTEM | HASSUBFOLDER | FOLDER + * file: 0x40000177 FILESYSTEM + * drive: 0xf0000144 FILESYSTEM | HASSUBFOLDER | FOLDER | FILESYSANCESTOR + * mycomputer: 0xb0000154 HASSUBFOLDER | FOLDER | FILESYSANCESTOR * (seems to be default for shell extensions if no registry entry exists) * * win2k: @@ -396,75 +396,75 @@ HRESULT SHELL32_GetItemAttributes (IShellFolder * psf, LPCITEMIDLIST pidl, LPDWO if (_ILIsDrive (pidl)) { *pdwAttributes &= SFGAO_HASSUBFOLDER|SFGAO_FILESYSTEM|SFGAO_FOLDER|SFGAO_FILESYSANCESTOR| - SFGAO_DROPTARGET|SFGAO_HASPROPSHEET|SFGAO_CANRENAME; + SFGAO_DROPTARGET|SFGAO_HASPROPSHEET|SFGAO_CANRENAME; } else if (has_guid && HCR_GetFolderAttributes(pidl, &dwAttributes)) { - *pdwAttributes = dwAttributes; + *pdwAttributes = dwAttributes; } else if (_ILGetDataPointer (pidl)) { - dwAttributes = _ILGetFileAttributes (pidl, NULL, 0); + dwAttributes = _ILGetFileAttributes (pidl, NULL, 0); if (!dwAttributes && has_guid) { - WCHAR path[MAX_PATH]; - STRRET strret; + WCHAR path[MAX_PATH]; + STRRET strret; - /* File attributes are not present in the internal PIDL structure, so get them from the file system. */ + /* File attributes are not present in the internal PIDL structure, so get them from the file system. */ - HRESULT hr = psf->GetDisplayNameOf(pidl, SHGDN_FORPARSING, &strret); + HRESULT hr = psf->GetDisplayNameOf(pidl, SHGDN_FORPARSING, &strret); - if (SUCCEEDED(hr)) { - hr = StrRetToBufW(&strret, pidl, path, MAX_PATH); + if (SUCCEEDED(hr)) { + hr = StrRetToBufW(&strret, pidl, path, MAX_PATH); - /* call GetFileAttributes() only for file system paths, not for parsing names like "::{...}" */ - if (SUCCEEDED(hr) && path[0]!=':') - dwAttributes = GetFileAttributesW(path); - } - } + /* call GetFileAttributes() only for file system paths, not for parsing names like "::{...}" */ + if (SUCCEEDED(hr) && path[0]!=':') + dwAttributes = GetFileAttributesW(path); + } + } /* Set common attributes */ *pdwAttributes |= SFGAO_FILESYSTEM | SFGAO_DROPTARGET | SFGAO_HASPROPSHEET | SFGAO_CANDELETE | SFGAO_CANRENAME | SFGAO_CANLINK | SFGAO_CANMOVE | SFGAO_CANCOPY; - if (dwAttributes & FILE_ATTRIBUTE_DIRECTORY) - { - *pdwAttributes |= (SFGAO_FOLDER | SFGAO_HASSUBFOLDER | SFGAO_FILESYSANCESTOR); - *pdwAttributes &= ~SFGAO_CANLINK; - } - else - *pdwAttributes &= ~(SFGAO_FOLDER | SFGAO_HASSUBFOLDER | SFGAO_FILESYSANCESTOR); + if (dwAttributes & FILE_ATTRIBUTE_DIRECTORY) + { + *pdwAttributes |= (SFGAO_FOLDER | SFGAO_HASSUBFOLDER | SFGAO_FILESYSANCESTOR); + *pdwAttributes &= ~SFGAO_CANLINK; + } + else + *pdwAttributes &= ~(SFGAO_FOLDER | SFGAO_HASSUBFOLDER | SFGAO_FILESYSANCESTOR); - if (dwAttributes & FILE_ATTRIBUTE_HIDDEN) - *pdwAttributes |= SFGAO_HIDDEN; - else - *pdwAttributes &= ~SFGAO_HIDDEN; + if (dwAttributes & FILE_ATTRIBUTE_HIDDEN) + *pdwAttributes |= SFGAO_HIDDEN; + else + *pdwAttributes &= ~SFGAO_HIDDEN; - if (dwAttributes & FILE_ATTRIBUTE_READONLY) - *pdwAttributes |= SFGAO_READONLY; - else - *pdwAttributes &= ~SFGAO_READONLY; + if (dwAttributes & FILE_ATTRIBUTE_READONLY) + *pdwAttributes |= SFGAO_READONLY; + else + *pdwAttributes &= ~SFGAO_READONLY; - if (SFGAO_LINK & *pdwAttributes) { - char ext[MAX_PATH]; + if (SFGAO_LINK & *pdwAttributes) { + char ext[MAX_PATH]; - if (!_ILGetExtension(pidl, ext, MAX_PATH) || lstrcmpiA(ext, "lnk")) - *pdwAttributes &= ~SFGAO_LINK; - } + if (!_ILGetExtension(pidl, ext, MAX_PATH) || lstrcmpiA(ext, "lnk")) + *pdwAttributes &= ~SFGAO_LINK; + } - if (SFGAO_HASSUBFOLDER & *pdwAttributes) - { - IShellFolder *psf2; - if (SUCCEEDED(psf->BindToObject(pidl, 0, IID_IShellFolder, (LPVOID *)&psf2))) - { - IEnumIDList *pEnumIL = NULL; - if (SUCCEEDED(psf2->EnumObjects(0, SHCONTF_FOLDERS, &pEnumIL))) - { - if (pEnumIL->Skip(1) != S_OK) - *pdwAttributes &= ~SFGAO_HASSUBFOLDER; - pEnumIL->Release(); - } - psf2->Release(); - } - } + if (SFGAO_HASSUBFOLDER & *pdwAttributes) + { + IShellFolder *psf2; + if (SUCCEEDED(psf->BindToObject(pidl, 0, IID_IShellFolder, (LPVOID *)&psf2))) + { + IEnumIDList *pEnumIL = NULL; + if (SUCCEEDED(psf2->EnumObjects(0, SHCONTF_FOLDERS, &pEnumIL))) + { + if (pEnumIL->Skip(1) != S_OK) + *pdwAttributes &= ~SFGAO_HASSUBFOLDER; + pEnumIL->Release(); + } + psf2->Release(); + } + } } else { - *pdwAttributes &= SFGAO_HASSUBFOLDER|SFGAO_FOLDER|SFGAO_FILESYSANCESTOR|SFGAO_DROPTARGET|SFGAO_HASPROPSHEET|SFGAO_CANRENAME|SFGAO_CANLINK; + *pdwAttributes &= SFGAO_HASSUBFOLDER|SFGAO_FOLDER|SFGAO_FILESYSANCESTOR|SFGAO_DROPTARGET|SFGAO_HASPROPSHEET|SFGAO_CANRENAME|SFGAO_CANLINK; } TRACE ("-- 0x%08x\n", *pdwAttributes); return S_OK; @@ -531,8 +531,8 @@ HRESULT SHELL32_CompareIDs (IShellFolder * iface, LPARAM lParam, LPCITEMIDLIST p return MAKE_HRESULT( SEVERITY_SUCCESS, 0, 1 ); /* optimizing end */ } else if (SUCCEEDED (iface->BindToObject(firstpidl, NULL, IID_IShellFolder, (LPVOID *)&psf))) { - nReturn = psf->CompareIDs(lParam, nextpidl1, nextpidl2); - psf->Release(); + nReturn = psf->CompareIDs(lParam, nextpidl1, nextpidl2); + psf->Release(); } ILFree (firstpidl); return nReturn; diff --git a/dll/win32/shell32/shlfsbind.cpp b/dll/win32/shell32/shlfsbind.cpp index c194a8df7bf..af48a54c553 100644 --- a/dll/win32/shell32/shlfsbind.cpp +++ b/dll/win32/shell32/shlfsbind.cpp @@ -28,14 +28,14 @@ WINE_DEFAULT_DEBUG_CHANNEL(pidl); * IFileSystemBindData implementation */ class IFileSystemBindDataImpl : - public CComObjectRootEx, - public IFileSystemBindData + public CComObjectRootEx, + public IFileSystemBindData { private: WIN32_FIND_DATAW findFile; public: - IFileSystemBindDataImpl(); - ~IFileSystemBindDataImpl(); + IFileSystemBindDataImpl(); + ~IFileSystemBindDataImpl(); // *** IFileSystemBindData methods *** virtual HRESULT STDMETHODCALLTYPE SetFindData(const WIN32_FIND_DATAW *pfd); @@ -45,7 +45,7 @@ DECLARE_NOT_AGGREGATABLE(IFileSystemBindDataImpl) DECLARE_PROTECT_FINAL_CONSTRUCT() BEGIN_COM_MAP(IFileSystemBindDataImpl) - COM_INTERFACE_ENTRY_IID(IID_IFileSystemBindData, IFileSystemBindData) + COM_INTERFACE_ENTRY_IID(IID_IFileSystemBindData, IFileSystemBindData) END_COM_MAP() }; @@ -54,10 +54,10 @@ static const WCHAR wFileSystemBindData[] = { HRESULT WINAPI IFileSystemBindData_Constructor(const WIN32_FIND_DATAW *pfd, LPBC *ppV) { - CComPtr fileSystemBindData; - CComPtr bindContext; - BIND_OPTS bindOpts; - HRESULT hResult; + CComPtr fileSystemBindData; + CComPtr bindContext; + BIND_OPTS bindOpts; + HRESULT hResult; TRACE("%p, %p\n", pfd, ppV); @@ -66,37 +66,37 @@ HRESULT WINAPI IFileSystemBindData_Constructor(const WIN32_FIND_DATAW *pfd, LPBC *ppV = NULL; - hResult = IFileSystemBindDataImpl::_CreatorClass::CreateInstance(NULL, IID_IFileSystemBindData, (void **)&fileSystemBindData); - if (FAILED(hResult)) - return hResult; + hResult = IFileSystemBindDataImpl::_CreatorClass::CreateInstance(NULL, IID_IFileSystemBindData, (void **)&fileSystemBindData); + if (FAILED(hResult)) + return hResult; hResult = fileSystemBindData->SetFindData(pfd); - if (FAILED(hResult)) - return hResult; + if (FAILED(hResult)) + return hResult; - hResult = CreateBindCtx(0, &bindContext); - if (FAILED(hResult)) - return hResult; + hResult = CreateBindCtx(0, &bindContext); + if (FAILED(hResult)) + return hResult; bindOpts.cbStruct = sizeof(BIND_OPTS); bindOpts.grfFlags = 0; bindOpts.grfMode = STGM_CREATE; bindOpts.dwTickCountDeadline = 0; hResult = bindContext->SetBindOptions(&bindOpts); - if (FAILED(hResult)) - return hResult; + if (FAILED(hResult)) + return hResult; hResult = bindContext->RegisterObjectParam((LPOLESTR)wFileSystemBindData, fileSystemBindData); - if (FAILED(hResult)) - return hResult; + if (FAILED(hResult)) + return hResult; - *ppV = bindContext.Detach(); + *ppV = bindContext.Detach(); return S_OK; } HRESULT WINAPI FileSystemBindData_GetFindData(LPBC pbc, WIN32_FIND_DATAW *pfd) { - CComPtr pUnk; - CComPtr pfsbd; - HRESULT ret; + CComPtr pUnk; + CComPtr pfsbd; + HRESULT ret; TRACE("%p, %p\n", pbc, pfd); @@ -115,9 +115,9 @@ HRESULT WINAPI FileSystemBindData_GetFindData(LPBC pbc, WIN32_FIND_DATAW *pfd) HRESULT WINAPI FileSystemBindData_SetFindData(LPBC pbc, const WIN32_FIND_DATAW *pfd) { - CComPtr pUnk; - CComPtr pfsbd; - HRESULT ret; + CComPtr pUnk; + CComPtr pfsbd; + HRESULT ret; TRACE("%p, %p\n", pbc, pfd); @@ -133,12 +133,12 @@ HRESULT WINAPI FileSystemBindData_SetFindData(LPBC pbc, const WIN32_FIND_DATAW * IFileSystemBindDataImpl::IFileSystemBindDataImpl() { - memset(&findFile, 0, sizeof(WIN32_FIND_DATAW)); + memset(&findFile, 0, sizeof(WIN32_FIND_DATAW)); } IFileSystemBindDataImpl::~IFileSystemBindDataImpl() { - TRACE(" destroying ISFBindPidl(%p)\n", this); + TRACE(" destroying ISFBindPidl(%p)\n", this); } HRESULT WINAPI IFileSystemBindDataImpl::GetFindData(WIN32_FIND_DATAW *pfd) diff --git a/dll/win32/shell32/shlmenu.cpp b/dll/win32/shell32/shlmenu.cpp index 63abcb7b862..04d95d7aad7 100644 --- a/dll/win32/shell32/shlmenu.cpp +++ b/dll/win32/shell32/shlmenu.cpp @@ -30,601 +30,601 @@ static BOOL FileMenu_AppendItemW(HMENU hMenu, LPCWSTR lpText, UINT uID, int icon typedef struct { - BOOL bInitialized; - BOOL bFixedItems; - /* create */ - COLORREF crBorderColor; - int nBorderWidth; - HBITMAP hBorderBmp; + BOOL bInitialized; + BOOL bFixedItems; + /* create */ + COLORREF crBorderColor; + int nBorderWidth; + HBITMAP hBorderBmp; - /* insert using pidl */ - LPITEMIDLIST pidl; - UINT uID; - UINT uFlags; - UINT uEnumFlags; - LPFNFMCALLBACK lpfnCallback; + /* insert using pidl */ + LPITEMIDLIST pidl; + UINT uID; + UINT uFlags; + UINT uEnumFlags; + LPFNFMCALLBACK lpfnCallback; } FMINFO, *LPFMINFO; typedef struct -{ int cchItemText; - int iIconIndex; - HMENU hMenu; - WCHAR szItemText[1]; +{ int cchItemText; + int iIconIndex; + HMENU hMenu; + WCHAR szItemText[1]; } FMITEM, * LPFMITEM; static BOOL bAbortInit; -#define CCH_MAXITEMTEXT 256 +#define CCH_MAXITEMTEXT 256 WINE_DEFAULT_DEBUG_CHANNEL(shell); static LPFMINFO FM_GetMenuInfo(HMENU hmenu) { - MENUINFO MenuInfo; - LPFMINFO menudata; + MENUINFO MenuInfo; + LPFMINFO menudata; - MenuInfo.cbSize = sizeof(MENUINFO); - MenuInfo.fMask = MIM_MENUDATA; + MenuInfo.cbSize = sizeof(MENUINFO); + MenuInfo.fMask = MIM_MENUDATA; - if (! GetMenuInfo(hmenu, &MenuInfo)) - return NULL; + if (! GetMenuInfo(hmenu, &MenuInfo)) + return NULL; - menudata = (LPFMINFO)MenuInfo.dwMenuData; + menudata = (LPFMINFO)MenuInfo.dwMenuData; - if ((menudata == 0) || (MenuInfo.cbSize != sizeof(MENUINFO))) - { - ERR("menudata corrupt: %p %u\n", menudata, MenuInfo.cbSize); - return 0; - } + if ((menudata == 0) || (MenuInfo.cbSize != sizeof(MENUINFO))) + { + ERR("menudata corrupt: %p %u\n", menudata, MenuInfo.cbSize); + return 0; + } - return menudata; + return menudata; } /************************************************************************* - * FM_SetMenuParameter [internal] + * FM_SetMenuParameter [internal] * */ static LPFMINFO FM_SetMenuParameter( - HMENU hmenu, - UINT uID, - LPCITEMIDLIST pidl, - UINT uFlags, - UINT uEnumFlags, - LPFNFMCALLBACK lpfnCallback) + HMENU hmenu, + UINT uID, + LPCITEMIDLIST pidl, + UINT uFlags, + UINT uEnumFlags, + LPFNFMCALLBACK lpfnCallback) { - LPFMINFO menudata; + LPFMINFO menudata; - TRACE("\n"); + TRACE("\n"); - menudata = FM_GetMenuInfo(hmenu); + menudata = FM_GetMenuInfo(hmenu); - SHFree(menudata->pidl); + SHFree(menudata->pidl); - menudata->uID = uID; - menudata->pidl = ILClone(pidl); - menudata->uFlags = uFlags; - menudata->uEnumFlags = uEnumFlags; - menudata->lpfnCallback = lpfnCallback; + menudata->uID = uID; + menudata->pidl = ILClone(pidl); + menudata->uFlags = uFlags; + menudata->uEnumFlags = uEnumFlags; + menudata->lpfnCallback = lpfnCallback; - return menudata; + return menudata; } /************************************************************************* - * FM_InitMenuPopup [internal] + * FM_InitMenuPopup [internal] * */ static int FM_InitMenuPopup(HMENU hmenu, LPCITEMIDLIST pAlternatePidl) -{ IShellFolder *lpsf, *lpsf2; - ULONG ulItemAttr = SFGAO_FOLDER; - UINT uID, uEnumFlags; - LPFNFMCALLBACK lpfnCallback; - LPCITEMIDLIST pidl; - WCHAR sTemp[MAX_PATH]; - int NumberOfItems = 0, iIcon; - MENUINFO MenuInfo; - LPFMINFO menudata; +{ IShellFolder *lpsf, *lpsf2; + ULONG ulItemAttr = SFGAO_FOLDER; + UINT uID, uEnumFlags; + LPFNFMCALLBACK lpfnCallback; + LPCITEMIDLIST pidl; + WCHAR sTemp[MAX_PATH]; + int NumberOfItems = 0, iIcon; + MENUINFO MenuInfo; + LPFMINFO menudata; - TRACE("%p %p\n", hmenu, pAlternatePidl); + TRACE("%p %p\n", hmenu, pAlternatePidl); - MenuInfo.cbSize = sizeof(MENUINFO); - MenuInfo.fMask = MIM_MENUDATA; + MenuInfo.cbSize = sizeof(MENUINFO); + MenuInfo.fMask = MIM_MENUDATA; - if (! GetMenuInfo(hmenu, &MenuInfo)) - return FALSE; + if (! GetMenuInfo(hmenu, &MenuInfo)) + return FALSE; - menudata = (LPFMINFO)MenuInfo.dwMenuData; + menudata = (LPFMINFO)MenuInfo.dwMenuData; - if ((menudata == 0) || (MenuInfo.cbSize != sizeof(MENUINFO))) - { - ERR("menudata corrupt: %p %u\n", menudata, MenuInfo.cbSize); - return 0; - } + if ((menudata == 0) || (MenuInfo.cbSize != sizeof(MENUINFO))) + { + ERR("menudata corrupt: %p %u\n", menudata, MenuInfo.cbSize); + return 0; + } - if (menudata->bInitialized) - return 0; + if (menudata->bInitialized) + return 0; - pidl = (pAlternatePidl? pAlternatePidl: menudata->pidl); - if (!pidl) - return 0; + pidl = (pAlternatePidl? pAlternatePidl: menudata->pidl); + if (!pidl) + return 0; - uID = menudata->uID; - uEnumFlags = menudata->uEnumFlags; - lpfnCallback = menudata->lpfnCallback; - menudata->bInitialized = FALSE; + uID = menudata->uID; + uEnumFlags = menudata->uEnumFlags; + lpfnCallback = menudata->lpfnCallback; + menudata->bInitialized = FALSE; - SetMenuInfo(hmenu, &MenuInfo); + SetMenuInfo(hmenu, &MenuInfo); - if (SUCCEEDED (SHGetDesktopFolder(&lpsf))) - { - if (SUCCEEDED(lpsf->BindToObject(pidl, 0, IID_IShellFolder, (LPVOID *)&lpsf2))) - { - IEnumIDList *lpe = NULL; + if (SUCCEEDED (SHGetDesktopFolder(&lpsf))) + { + if (SUCCEEDED(lpsf->BindToObject(pidl, 0, IID_IShellFolder, (LPVOID *)&lpsf2))) + { + IEnumIDList *lpe = NULL; - if (SUCCEEDED (lpsf2->EnumObjects(0, uEnumFlags, &lpe ))) - { + if (SUCCEEDED (lpsf2->EnumObjects(0, uEnumFlags, &lpe ))) + { - LPITEMIDLIST pidlTemp = NULL; - ULONG ulFetched; + LPITEMIDLIST pidlTemp = NULL; + ULONG ulFetched; - while ((!bAbortInit) && (NOERROR == lpe->Next(1,&pidlTemp,&ulFetched))) - { - if (SUCCEEDED (lpsf->GetAttributesOf(1, (LPCITEMIDLIST*)&pidlTemp, &ulItemAttr))) - { - ILGetDisplayNameExW(NULL, pidlTemp, sTemp, ILGDN_FORPARSING); - if (! (PidlToSicIndex(lpsf, pidlTemp, FALSE, 0, &iIcon))) - iIcon = FM_BLANK_ICON; - if ( SFGAO_FOLDER & ulItemAttr) - { - LPFMINFO lpFmMi; - MENUINFO MenuInfo; - HMENU hMenuPopup = CreatePopupMenu(); + while ((!bAbortInit) && (NOERROR == lpe->Next(1,&pidlTemp,&ulFetched))) + { + if (SUCCEEDED (lpsf->GetAttributesOf(1, (LPCITEMIDLIST*)&pidlTemp, &ulItemAttr))) + { + ILGetDisplayNameExW(NULL, pidlTemp, sTemp, ILGDN_FORPARSING); + if (! (PidlToSicIndex(lpsf, pidlTemp, FALSE, 0, &iIcon))) + iIcon = FM_BLANK_ICON; + if ( SFGAO_FOLDER & ulItemAttr) + { + LPFMINFO lpFmMi; + MENUINFO MenuInfo; + HMENU hMenuPopup = CreatePopupMenu(); - lpFmMi = (LPFMINFO)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(FMINFO)); + lpFmMi = (LPFMINFO)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(FMINFO)); - lpFmMi->pidl = ILCombine(pidl, pidlTemp); - lpFmMi->uEnumFlags = SHCONTF_FOLDERS | SHCONTF_NONFOLDERS; + lpFmMi->pidl = ILCombine(pidl, pidlTemp); + lpFmMi->uEnumFlags = SHCONTF_FOLDERS | SHCONTF_NONFOLDERS; - MenuInfo.cbSize = sizeof(MENUINFO); - MenuInfo.fMask = MIM_MENUDATA; - MenuInfo.dwMenuData = (ULONG_PTR) lpFmMi; - SetMenuInfo (hMenuPopup, &MenuInfo); + MenuInfo.cbSize = sizeof(MENUINFO); + MenuInfo.fMask = MIM_MENUDATA; + MenuInfo.dwMenuData = (ULONG_PTR) lpFmMi; + SetMenuInfo (hMenuPopup, &MenuInfo); - FileMenu_AppendItemW (hmenu, sTemp, uID, iIcon, hMenuPopup, FM_DEFAULT_HEIGHT); - } - else - { - LPWSTR pExt = PathFindExtensionW(sTemp); - if (pExt) - *pExt = 0; - FileMenu_AppendItemW (hmenu, sTemp, uID, iIcon, 0, FM_DEFAULT_HEIGHT); - } - } + FileMenu_AppendItemW (hmenu, sTemp, uID, iIcon, hMenuPopup, FM_DEFAULT_HEIGHT); + } + else + { + LPWSTR pExt = PathFindExtensionW(sTemp); + if (pExt) + *pExt = 0; + FileMenu_AppendItemW (hmenu, sTemp, uID, iIcon, 0, FM_DEFAULT_HEIGHT); + } + } - if (lpfnCallback) - { - TRACE("enter callback\n"); - lpfnCallback ( pidl, pidlTemp); - TRACE("leave callback\n"); - } + if (lpfnCallback) + { + TRACE("enter callback\n"); + lpfnCallback ( pidl, pidlTemp); + TRACE("leave callback\n"); + } - NumberOfItems++; - } - lpe->Release(); - } - lpsf2->Release(); - } - lpsf->Release(); - } + NumberOfItems++; + } + lpe->Release(); + } + lpsf2->Release(); + } + lpsf->Release(); + } - if ( GetMenuItemCount (hmenu) == 0 ) - { + if ( GetMenuItemCount (hmenu) == 0 ) + { static const WCHAR szEmpty[] = { '(','e','m','p','t','y',')',0 }; - FileMenu_AppendItemW (hmenu, szEmpty, uID, FM_BLANK_ICON, 0, FM_DEFAULT_HEIGHT); - NumberOfItems++; - } + FileMenu_AppendItemW (hmenu, szEmpty, uID, FM_BLANK_ICON, 0, FM_DEFAULT_HEIGHT); + NumberOfItems++; + } - menudata->bInitialized = TRUE; - SetMenuInfo(hmenu, &MenuInfo); + menudata->bInitialized = TRUE; + SetMenuInfo(hmenu, &MenuInfo); - return NumberOfItems; + return NumberOfItems; } /************************************************************************* - * FileMenu_Create [SHELL32.114] + * FileMenu_Create [SHELL32.114] * * NOTES * for non-root menus values are * (ffffffff,00000000,00000000,00000000,00000000) */ HMENU WINAPI FileMenu_Create ( - COLORREF crBorderColor, - int nBorderWidth, - HBITMAP hBorderBmp, - int nSelHeight, - UINT uFlags) + COLORREF crBorderColor, + int nBorderWidth, + HBITMAP hBorderBmp, + int nSelHeight, + UINT uFlags) { - MENUINFO MenuInfo; - LPFMINFO menudata; + MENUINFO MenuInfo; + LPFMINFO menudata; - HMENU hMenu = CreatePopupMenu(); + HMENU hMenu = CreatePopupMenu(); - TRACE("0x%08x 0x%08x %p 0x%08x 0x%08x hMenu=%p\n", - crBorderColor, nBorderWidth, hBorderBmp, nSelHeight, uFlags, hMenu); + TRACE("0x%08x 0x%08x %p 0x%08x 0x%08x hMenu=%p\n", + crBorderColor, nBorderWidth, hBorderBmp, nSelHeight, uFlags, hMenu); - menudata = (LPFMINFO)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(FMINFO)); - menudata->crBorderColor = crBorderColor; - menudata->nBorderWidth = nBorderWidth; - menudata->hBorderBmp = hBorderBmp; + menudata = (LPFMINFO)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(FMINFO)); + menudata->crBorderColor = crBorderColor; + menudata->nBorderWidth = nBorderWidth; + menudata->hBorderBmp = hBorderBmp; - MenuInfo.cbSize = sizeof(MENUINFO); - MenuInfo.fMask = MIM_MENUDATA; - MenuInfo.dwMenuData = (ULONG_PTR) menudata; - SetMenuInfo (hMenu, &MenuInfo); + MenuInfo.cbSize = sizeof(MENUINFO); + MenuInfo.fMask = MIM_MENUDATA; + MenuInfo.dwMenuData = (ULONG_PTR) menudata; + SetMenuInfo (hMenu, &MenuInfo); - return hMenu; + return hMenu; } /************************************************************************* - * FileMenu_Destroy [SHELL32.118] + * FileMenu_Destroy [SHELL32.118] * * NOTES * exported by name */ void WINAPI FileMenu_Destroy (HMENU hmenu) { - LPFMINFO menudata; + LPFMINFO menudata; - TRACE("%p\n", hmenu); + TRACE("%p\n", hmenu); - FileMenu_DeleteAllItems (hmenu); + FileMenu_DeleteAllItems (hmenu); - menudata = FM_GetMenuInfo(hmenu); + menudata = FM_GetMenuInfo(hmenu); - SHFree( menudata->pidl); - HeapFree(GetProcessHeap(), 0, menudata); + SHFree( menudata->pidl); + HeapFree(GetProcessHeap(), 0, menudata); - DestroyMenu (hmenu); + DestroyMenu (hmenu); } /************************************************************************* - * FileMenu_AppendItem [SHELL32.115] + * FileMenu_AppendItem [SHELL32.115] * */ static BOOL FileMenu_AppendItemW( - HMENU hMenu, - LPCWSTR lpText, - UINT uID, - int icon, - HMENU hMenuPopup, - int nItemHeight) + HMENU hMenu, + LPCWSTR lpText, + UINT uID, + int icon, + HMENU hMenuPopup, + int nItemHeight) { - MENUITEMINFOW mii; - LPFMITEM myItem; - LPFMINFO menudata; - MENUINFO MenuInfo; + MENUITEMINFOW mii; + LPFMITEM myItem; + LPFMINFO menudata; + MENUINFO MenuInfo; - TRACE("%p %s 0x%08x 0x%08x %p 0x%08x\n", - hMenu, (lpText!=FM_SEPARATOR) ? debugstr_w(lpText) : NULL, - uID, icon, hMenuPopup, nItemHeight); + TRACE("%p %s 0x%08x 0x%08x %p 0x%08x\n", + hMenu, (lpText!=FM_SEPARATOR) ? debugstr_w(lpText) : NULL, + uID, icon, hMenuPopup, nItemHeight); - ZeroMemory (&mii, sizeof(MENUITEMINFOW)); + ZeroMemory (&mii, sizeof(MENUITEMINFOW)); - mii.cbSize = sizeof(MENUITEMINFOW); + mii.cbSize = sizeof(MENUITEMINFOW); - if (lpText != FM_SEPARATOR) - { - int len = strlenW (lpText); - myItem = (LPFMITEM)SHAlloc(sizeof(FMITEM) + len*sizeof(WCHAR)); - wcscpy (myItem->szItemText, lpText); - myItem->cchItemText = len; - myItem->iIconIndex = icon; - myItem->hMenu = hMenu; - mii.fMask = MIIM_DATA; - mii.dwItemData = (ULONG_PTR) myItem; - } + if (lpText != FM_SEPARATOR) + { + int len = strlenW (lpText); + myItem = (LPFMITEM)SHAlloc(sizeof(FMITEM) + len*sizeof(WCHAR)); + wcscpy (myItem->szItemText, lpText); + myItem->cchItemText = len; + myItem->iIconIndex = icon; + myItem->hMenu = hMenu; + mii.fMask = MIIM_DATA; + mii.dwItemData = (ULONG_PTR) myItem; + } - if ( hMenuPopup ) - { /* sub menu */ - mii.fMask |= MIIM_TYPE | MIIM_SUBMENU; - mii.fType = MFT_OWNERDRAW; - mii.hSubMenu = hMenuPopup; - } - else if (lpText == FM_SEPARATOR ) - { mii.fMask |= MIIM_ID | MIIM_TYPE; - mii.fType = MFT_SEPARATOR; - } - else - { /* normal item */ - mii.fMask |= MIIM_ID | MIIM_TYPE | MIIM_STATE; - mii.fState = MFS_ENABLED | MFS_DEFAULT; - mii.fType = MFT_OWNERDRAW; - } - mii.wID = uID; + if ( hMenuPopup ) + { /* sub menu */ + mii.fMask |= MIIM_TYPE | MIIM_SUBMENU; + mii.fType = MFT_OWNERDRAW; + mii.hSubMenu = hMenuPopup; + } + else if (lpText == FM_SEPARATOR ) + { mii.fMask |= MIIM_ID | MIIM_TYPE; + mii.fType = MFT_SEPARATOR; + } + else + { /* normal item */ + mii.fMask |= MIIM_ID | MIIM_TYPE | MIIM_STATE; + mii.fState = MFS_ENABLED | MFS_DEFAULT; + mii.fType = MFT_OWNERDRAW; + } + mii.wID = uID; - InsertMenuItemW (hMenu, (UINT)-1, TRUE, &mii); + InsertMenuItemW (hMenu, (UINT)-1, TRUE, &mii); - /* set bFixedItems to true */ - MenuInfo.cbSize = sizeof(MENUINFO); - MenuInfo.fMask = MIM_MENUDATA; + /* set bFixedItems to true */ + MenuInfo.cbSize = sizeof(MENUINFO); + MenuInfo.fMask = MIM_MENUDATA; - if (! GetMenuInfo(hMenu, &MenuInfo)) - return FALSE; + if (! GetMenuInfo(hMenu, &MenuInfo)) + return FALSE; - menudata = (LPFMINFO)MenuInfo.dwMenuData; - if ((menudata == 0) || (MenuInfo.cbSize != sizeof(MENUINFO))) - { - ERR("menudata corrupt: %p %u\n", menudata, MenuInfo.cbSize); - return 0; - } + menudata = (LPFMINFO)MenuInfo.dwMenuData; + if ((menudata == 0) || (MenuInfo.cbSize != sizeof(MENUINFO))) + { + ERR("menudata corrupt: %p %u\n", menudata, MenuInfo.cbSize); + return 0; + } - menudata->bFixedItems = TRUE; - SetMenuInfo(hMenu, &MenuInfo); + menudata->bFixedItems = TRUE; + SetMenuInfo(hMenu, &MenuInfo); - return TRUE; + return TRUE; } /**********************************************************************/ EXTERN_C BOOL WINAPI FileMenu_AppendItemAW( - HMENU hMenu, - LPCVOID lpText, - UINT uID, - int icon, - HMENU hMenuPopup, - int nItemHeight) + HMENU hMenu, + LPCVOID lpText, + UINT uID, + int icon, + HMENU hMenuPopup, + int nItemHeight) { - BOOL ret; + BOOL ret; if (!lpText) return FALSE; - if (SHELL_OsIsUnicode() || lpText == FM_SEPARATOR) - ret = FileMenu_AppendItemW(hMenu, (LPWSTR)lpText, uID, icon, hMenuPopup, nItemHeight); + if (SHELL_OsIsUnicode() || lpText == FM_SEPARATOR) + ret = FileMenu_AppendItemW(hMenu, (LPWSTR)lpText, uID, icon, hMenuPopup, nItemHeight); else - { - DWORD len = MultiByteToWideChar( CP_ACP, 0, (LPSTR)lpText, -1, NULL, 0 ); - LPWSTR lpszText = (LPWSTR)HeapAlloc ( GetProcessHeap(), 0, len*sizeof(WCHAR) ); - if (!lpszText) return FALSE; - MultiByteToWideChar( CP_ACP, 0, (LPSTR)lpText, -1, lpszText, len ); - ret = FileMenu_AppendItemW(hMenu, lpszText, uID, icon, hMenuPopup, nItemHeight); - HeapFree( GetProcessHeap(), 0, lpszText ); - } + { + DWORD len = MultiByteToWideChar( CP_ACP, 0, (LPSTR)lpText, -1, NULL, 0 ); + LPWSTR lpszText = (LPWSTR)HeapAlloc ( GetProcessHeap(), 0, len*sizeof(WCHAR) ); + if (!lpszText) return FALSE; + MultiByteToWideChar( CP_ACP, 0, (LPSTR)lpText, -1, lpszText, len ); + ret = FileMenu_AppendItemW(hMenu, lpszText, uID, icon, hMenuPopup, nItemHeight); + HeapFree( GetProcessHeap(), 0, lpszText ); + } - return ret; + return ret; } /************************************************************************* - * FileMenu_InsertUsingPidl [SHELL32.110] + * FileMenu_InsertUsingPidl [SHELL32.110] * * NOTES - * uEnumFlags any SHCONTF flag + * uEnumFlags any SHCONTF flag */ int WINAPI FileMenu_InsertUsingPidl ( - HMENU hmenu, - UINT uID, - LPCITEMIDLIST pidl, - UINT uFlags, - UINT uEnumFlags, - LPFNFMCALLBACK lpfnCallback) + HMENU hmenu, + UINT uID, + LPCITEMIDLIST pidl, + UINT uFlags, + UINT uEnumFlags, + LPFNFMCALLBACK lpfnCallback) { - TRACE("%p 0x%08x %p 0x%08x 0x%08x %p\n", - hmenu, uID, pidl, uFlags, uEnumFlags, lpfnCallback); + TRACE("%p 0x%08x %p 0x%08x 0x%08x %p\n", + hmenu, uID, pidl, uFlags, uEnumFlags, lpfnCallback); - pdump (pidl); + pdump (pidl); - bAbortInit = FALSE; + bAbortInit = FALSE; - FM_SetMenuParameter(hmenu, uID, pidl, uFlags, uEnumFlags, lpfnCallback); + FM_SetMenuParameter(hmenu, uID, pidl, uFlags, uEnumFlags, lpfnCallback); - return FM_InitMenuPopup(hmenu, NULL); + return FM_InitMenuPopup(hmenu, NULL); } /************************************************************************* - * FileMenu_ReplaceUsingPidl [SHELL32.113] + * FileMenu_ReplaceUsingPidl [SHELL32.113] * * FIXME: the static items are deleted but won't be refreshed */ int WINAPI FileMenu_ReplaceUsingPidl( - HMENU hmenu, - UINT uID, - LPCITEMIDLIST pidl, - UINT uEnumFlags, - LPFNFMCALLBACK lpfnCallback) + HMENU hmenu, + UINT uID, + LPCITEMIDLIST pidl, + UINT uEnumFlags, + LPFNFMCALLBACK lpfnCallback) { - TRACE("%p 0x%08x %p 0x%08x %p\n", - hmenu, uID, pidl, uEnumFlags, lpfnCallback); + TRACE("%p 0x%08x %p 0x%08x %p\n", + hmenu, uID, pidl, uEnumFlags, lpfnCallback); - FileMenu_DeleteAllItems (hmenu); + FileMenu_DeleteAllItems (hmenu); - FM_SetMenuParameter(hmenu, uID, pidl, 0, uEnumFlags, lpfnCallback); + FM_SetMenuParameter(hmenu, uID, pidl, 0, uEnumFlags, lpfnCallback); - return FM_InitMenuPopup(hmenu, NULL); + return FM_InitMenuPopup(hmenu, NULL); } /************************************************************************* - * FileMenu_Invalidate [SHELL32.111] + * FileMenu_Invalidate [SHELL32.111] */ void WINAPI FileMenu_Invalidate (HMENU hMenu) { - FIXME("%p\n",hMenu); + FIXME("%p\n",hMenu); } /************************************************************************* - * FileMenu_FindSubMenuByPidl [SHELL32.106] + * FileMenu_FindSubMenuByPidl [SHELL32.106] */ HMENU WINAPI FileMenu_FindSubMenuByPidl( - HMENU hMenu, - LPCITEMIDLIST pidl) + HMENU hMenu, + LPCITEMIDLIST pidl) { - FIXME("%p %p\n",hMenu, pidl); - return 0; + FIXME("%p %p\n",hMenu, pidl); + return 0; } /************************************************************************* - * FileMenu_AppendFilesForPidl [SHELL32.124] + * FileMenu_AppendFilesForPidl [SHELL32.124] */ int WINAPI FileMenu_AppendFilesForPidl( - HMENU hmenu, - LPCITEMIDLIST pidl, - BOOL bAddSeparator) + HMENU hmenu, + LPCITEMIDLIST pidl, + BOOL bAddSeparator) { - LPFMINFO menudata; + LPFMINFO menudata; - menudata = FM_GetMenuInfo(hmenu); + menudata = FM_GetMenuInfo(hmenu); - menudata->bInitialized = FALSE; + menudata->bInitialized = FALSE; - FM_InitMenuPopup(hmenu, pidl); + FM_InitMenuPopup(hmenu, pidl); - if (bAddSeparator) - FileMenu_AppendItemW (hmenu, FM_SEPARATOR, 0, 0, 0, FM_DEFAULT_HEIGHT); + if (bAddSeparator) + FileMenu_AppendItemW (hmenu, FM_SEPARATOR, 0, 0, 0, FM_DEFAULT_HEIGHT); - TRACE("%p %p 0x%08x\n",hmenu, pidl,bAddSeparator); + TRACE("%p %p 0x%08x\n",hmenu, pidl,bAddSeparator); - return 0; + return 0; } /************************************************************************* - * FileMenu_AddFilesForPidl [SHELL32.125] + * FileMenu_AddFilesForPidl [SHELL32.125] * * NOTES - * uEnumFlags any SHCONTF flag + * uEnumFlags any SHCONTF flag */ int WINAPI FileMenu_AddFilesForPidl ( - HMENU hmenu, - UINT uReserved, - UINT uID, - LPCITEMIDLIST pidl, - UINT uFlags, - UINT uEnumFlags, - LPFNFMCALLBACK lpfnCallback) + HMENU hmenu, + UINT uReserved, + UINT uID, + LPCITEMIDLIST pidl, + UINT uFlags, + UINT uEnumFlags, + LPFNFMCALLBACK lpfnCallback) { - TRACE("%p 0x%08x 0x%08x %p 0x%08x 0x%08x %p\n", - hmenu, uReserved, uID, pidl, uFlags, uEnumFlags, lpfnCallback); + TRACE("%p 0x%08x 0x%08x %p 0x%08x 0x%08x %p\n", + hmenu, uReserved, uID, pidl, uFlags, uEnumFlags, lpfnCallback); - return FileMenu_InsertUsingPidl ( hmenu, uID, pidl, uFlags, uEnumFlags, lpfnCallback); + return FileMenu_InsertUsingPidl ( hmenu, uID, pidl, uFlags, uEnumFlags, lpfnCallback); } /************************************************************************* - * FileMenu_TrackPopupMenuEx [SHELL32.116] + * FileMenu_TrackPopupMenuEx [SHELL32.116] */ BOOL WINAPI FileMenu_TrackPopupMenuEx ( - HMENU hMenu, - UINT uFlags, - int x, - int y, - HWND hWnd, - LPTPMPARAMS lptpm) + HMENU hMenu, + UINT uFlags, + int x, + int y, + HWND hWnd, + LPTPMPARAMS lptpm) { - TRACE("%p 0x%08x 0x%x 0x%x %p %p\n", - hMenu, uFlags, x, y, hWnd, lptpm); - return TrackPopupMenuEx(hMenu, uFlags, x, y, hWnd, lptpm); + TRACE("%p 0x%08x 0x%x 0x%x %p %p\n", + hMenu, uFlags, x, y, hWnd, lptpm); + return TrackPopupMenuEx(hMenu, uFlags, x, y, hWnd, lptpm); } /************************************************************************* - * FileMenu_GetLastSelectedItemPidls [SHELL32.107] + * FileMenu_GetLastSelectedItemPidls [SHELL32.107] */ BOOL WINAPI FileMenu_GetLastSelectedItemPidls( - UINT uReserved, - LPCITEMIDLIST *ppidlFolder, - LPCITEMIDLIST *ppidlItem) + UINT uReserved, + LPCITEMIDLIST *ppidlFolder, + LPCITEMIDLIST *ppidlItem) { - FIXME("0x%08x %p %p\n",uReserved, ppidlFolder, ppidlItem); - return 0; + FIXME("0x%08x %p %p\n",uReserved, ppidlFolder, ppidlItem); + return 0; } -#define FM_ICON_SIZE 16 -#define FM_Y_SPACE 4 -#define FM_SPACE1 4 -#define FM_SPACE2 2 -#define FM_LEFTBORDER 2 -#define FM_RIGHTBORDER 8 +#define FM_ICON_SIZE 16 +#define FM_Y_SPACE 4 +#define FM_SPACE1 4 +#define FM_SPACE2 2 +#define FM_LEFTBORDER 2 +#define FM_RIGHTBORDER 8 /************************************************************************* - * FileMenu_MeasureItem [SHELL32.112] + * FileMenu_MeasureItem [SHELL32.112] */ LRESULT WINAPI FileMenu_MeasureItem( - HWND hWnd, - LPMEASUREITEMSTRUCT lpmis) + HWND hWnd, + LPMEASUREITEMSTRUCT lpmis) { - LPFMITEM pMyItem = (LPFMITEM)(lpmis->itemData); - HDC hdc = GetDC(hWnd); - SIZE size; - LPFMINFO menuinfo; + LPFMITEM pMyItem = (LPFMITEM)(lpmis->itemData); + HDC hdc = GetDC(hWnd); + SIZE size; + LPFMINFO menuinfo; - TRACE("%p %p %s\n", hWnd, lpmis, debugstr_w(pMyItem->szItemText)); + TRACE("%p %p %s\n", hWnd, lpmis, debugstr_w(pMyItem->szItemText)); - GetTextExtentPoint32W(hdc, pMyItem->szItemText, pMyItem->cchItemText, &size); + GetTextExtentPoint32W(hdc, pMyItem->szItemText, pMyItem->cchItemText, &size); - lpmis->itemWidth = size.cx + FM_LEFTBORDER + FM_ICON_SIZE + FM_SPACE1 + FM_SPACE2 + FM_RIGHTBORDER; - lpmis->itemHeight = (size.cy > (FM_ICON_SIZE + FM_Y_SPACE)) ? size.cy : (FM_ICON_SIZE + FM_Y_SPACE); + lpmis->itemWidth = size.cx + FM_LEFTBORDER + FM_ICON_SIZE + FM_SPACE1 + FM_SPACE2 + FM_RIGHTBORDER; + lpmis->itemHeight = (size.cy > (FM_ICON_SIZE + FM_Y_SPACE)) ? size.cy : (FM_ICON_SIZE + FM_Y_SPACE); - /* add the menubitmap */ - menuinfo = FM_GetMenuInfo(pMyItem->hMenu); - if (menuinfo->nBorderWidth) - lpmis->itemWidth += menuinfo->nBorderWidth; + /* add the menubitmap */ + menuinfo = FM_GetMenuInfo(pMyItem->hMenu); + if (menuinfo->nBorderWidth) + lpmis->itemWidth += menuinfo->nBorderWidth; - TRACE("-- 0x%04x 0x%04x\n", lpmis->itemWidth, lpmis->itemHeight); - ReleaseDC (hWnd, hdc); - return 0; + TRACE("-- 0x%04x 0x%04x\n", lpmis->itemWidth, lpmis->itemHeight); + ReleaseDC (hWnd, hdc); + return 0; } /************************************************************************* - * FileMenu_DrawItem [SHELL32.105] + * FileMenu_DrawItem [SHELL32.105] */ LRESULT WINAPI FileMenu_DrawItem( - HWND hWnd, - LPDRAWITEMSTRUCT lpdis) + HWND hWnd, + LPDRAWITEMSTRUCT lpdis) { - LPFMITEM pMyItem = (LPFMITEM)(lpdis->itemData); - COLORREF clrPrevText, clrPrevBkgnd; - int xi,yi,xt,yt; - HIMAGELIST hImageList; - RECT TextRect; - LPFMINFO menuinfo; + LPFMITEM pMyItem = (LPFMITEM)(lpdis->itemData); + COLORREF clrPrevText, clrPrevBkgnd; + int xi,yi,xt,yt; + HIMAGELIST hImageList; + RECT TextRect; + LPFMINFO menuinfo; - TRACE("%p %p %s\n", hWnd, lpdis, debugstr_w(pMyItem->szItemText)); + TRACE("%p %p %s\n", hWnd, lpdis, debugstr_w(pMyItem->szItemText)); - if (lpdis->itemState & ODS_SELECTED) - { - clrPrevText = SetTextColor(lpdis->hDC, GetSysColor (COLOR_HIGHLIGHTTEXT)); - clrPrevBkgnd = SetBkColor(lpdis->hDC, GetSysColor (COLOR_HIGHLIGHT)); - } - else - { - clrPrevText = SetTextColor(lpdis->hDC, GetSysColor (COLOR_MENUTEXT)); - clrPrevBkgnd = SetBkColor(lpdis->hDC, GetSysColor (COLOR_MENU)); - } + if (lpdis->itemState & ODS_SELECTED) + { + clrPrevText = SetTextColor(lpdis->hDC, GetSysColor (COLOR_HIGHLIGHTTEXT)); + clrPrevBkgnd = SetBkColor(lpdis->hDC, GetSysColor (COLOR_HIGHLIGHT)); + } + else + { + clrPrevText = SetTextColor(lpdis->hDC, GetSysColor (COLOR_MENUTEXT)); + clrPrevBkgnd = SetBkColor(lpdis->hDC, GetSysColor (COLOR_MENU)); + } - CopyRect(&TextRect, &(lpdis->rcItem)); + CopyRect(&TextRect, &(lpdis->rcItem)); - /* add the menubitmap */ - menuinfo = FM_GetMenuInfo(pMyItem->hMenu); - if (menuinfo->nBorderWidth) - TextRect.left += menuinfo->nBorderWidth; + /* add the menubitmap */ + menuinfo = FM_GetMenuInfo(pMyItem->hMenu); + if (menuinfo->nBorderWidth) + TextRect.left += menuinfo->nBorderWidth; - TextRect.left += FM_LEFTBORDER; - xi = TextRect.left + FM_SPACE1; - yi = TextRect.top + FM_Y_SPACE/2; - TextRect.bottom -= FM_Y_SPACE/2; + TextRect.left += FM_LEFTBORDER; + xi = TextRect.left + FM_SPACE1; + yi = TextRect.top + FM_Y_SPACE/2; + TextRect.bottom -= FM_Y_SPACE/2; - xt = xi + FM_ICON_SIZE + FM_SPACE2; - yt = yi; + xt = xi + FM_ICON_SIZE + FM_SPACE2; + yt = yi; - ExtTextOutW (lpdis->hDC, xt , yt, ETO_OPAQUE, &TextRect, pMyItem->szItemText, pMyItem->cchItemText, NULL); + ExtTextOutW (lpdis->hDC, xt , yt, ETO_OPAQUE, &TextRect, pMyItem->szItemText, pMyItem->cchItemText, NULL); - Shell_GetImageLists(0, &hImageList); - ImageList_Draw(hImageList, pMyItem->iIconIndex, lpdis->hDC, xi, yi, ILD_NORMAL); + Shell_GetImageLists(0, &hImageList); + ImageList_Draw(hImageList, pMyItem->iIconIndex, lpdis->hDC, xi, yi, ILD_NORMAL); - TRACE("-- 0x%04x 0x%04x 0x%04x 0x%04x\n", TextRect.left, TextRect.top, TextRect.right, TextRect.bottom); + TRACE("-- 0x%04x 0x%04x 0x%04x 0x%04x\n", TextRect.left, TextRect.top, TextRect.right, TextRect.bottom); - SetTextColor(lpdis->hDC, clrPrevText); - SetBkColor(lpdis->hDC, clrPrevBkgnd); + SetTextColor(lpdis->hDC, clrPrevText); + SetBkColor(lpdis->hDC, clrPrevBkgnd); - return TRUE; + return TRUE; } /************************************************************************* - * FileMenu_InitMenuPopup [SHELL32.109] + * FileMenu_InitMenuPopup [SHELL32.109] * * NOTES * The filemenu is an ownerdrawn menu. Call this function responding to @@ -633,186 +633,186 @@ LRESULT WINAPI FileMenu_DrawItem( */ BOOL WINAPI FileMenu_InitMenuPopup (HMENU hmenu) { - FM_InitMenuPopup(hmenu, NULL); - return TRUE; + FM_InitMenuPopup(hmenu, NULL); + return TRUE; } /************************************************************************* - * FileMenu_HandleMenuChar [SHELL32.108] + * FileMenu_HandleMenuChar [SHELL32.108] */ LRESULT WINAPI FileMenu_HandleMenuChar( - HMENU hMenu, - WPARAM wParam) + HMENU hMenu, + WPARAM wParam) { - FIXME("%p 0x%08lx\n",hMenu,wParam); - return 0; + FIXME("%p 0x%08lx\n",hMenu,wParam); + return 0; } /************************************************************************* - * FileMenu_DeleteAllItems [SHELL32.104] + * FileMenu_DeleteAllItems [SHELL32.104] * * NOTES * exported by name */ BOOL WINAPI FileMenu_DeleteAllItems (HMENU hmenu) { - MENUITEMINFOW mii; - LPFMINFO menudata; + MENUITEMINFOW mii; + LPFMINFO menudata; - int i; + int i; - TRACE("%p\n", hmenu); + TRACE("%p\n", hmenu); - ZeroMemory ( &mii, sizeof(MENUITEMINFOW)); - mii.cbSize = sizeof(MENUITEMINFOW); - mii.fMask = MIIM_SUBMENU|MIIM_DATA; + ZeroMemory ( &mii, sizeof(MENUITEMINFOW)); + mii.cbSize = sizeof(MENUITEMINFOW); + mii.fMask = MIIM_SUBMENU|MIIM_DATA; - for (i = 0; i < GetMenuItemCount( hmenu ); i++) - { GetMenuItemInfoW(hmenu, i, TRUE, &mii ); + for (i = 0; i < GetMenuItemCount( hmenu ); i++) + { GetMenuItemInfoW(hmenu, i, TRUE, &mii ); - SHFree((LPFMINFO)mii.dwItemData); + SHFree((LPFMINFO)mii.dwItemData); - if (mii.hSubMenu) - FileMenu_Destroy(mii.hSubMenu); - } + if (mii.hSubMenu) + FileMenu_Destroy(mii.hSubMenu); + } - while (DeleteMenu (hmenu, 0, MF_BYPOSITION)){}; + while (DeleteMenu (hmenu, 0, MF_BYPOSITION)){}; - menudata = FM_GetMenuInfo(hmenu); + menudata = FM_GetMenuInfo(hmenu); - menudata->bInitialized = FALSE; + menudata->bInitialized = FALSE; - return TRUE; + return TRUE; } /************************************************************************* - * FileMenu_DeleteItemByCmd [SHELL32.117] + * FileMenu_DeleteItemByCmd [SHELL32.117] * */ BOOL WINAPI FileMenu_DeleteItemByCmd (HMENU hMenu, UINT uID) { - MENUITEMINFOW mii; + MENUITEMINFOW mii; - TRACE("%p 0x%08x\n", hMenu, uID); + TRACE("%p 0x%08x\n", hMenu, uID); - ZeroMemory ( &mii, sizeof(MENUITEMINFOW)); - mii.cbSize = sizeof(MENUITEMINFOW); - mii.fMask = MIIM_SUBMENU; + ZeroMemory ( &mii, sizeof(MENUITEMINFOW)); + mii.cbSize = sizeof(MENUITEMINFOW); + mii.fMask = MIIM_SUBMENU; - GetMenuItemInfoW(hMenu, uID, FALSE, &mii ); - if ( mii.hSubMenu ) - { - /* FIXME: Do what? */ - } + GetMenuItemInfoW(hMenu, uID, FALSE, &mii ); + if ( mii.hSubMenu ) + { + /* FIXME: Do what? */ + } - DeleteMenu(hMenu, MF_BYCOMMAND, uID); - return TRUE; + DeleteMenu(hMenu, MF_BYCOMMAND, uID); + return TRUE; } /************************************************************************* - * FileMenu_DeleteItemByIndex [SHELL32.140] + * FileMenu_DeleteItemByIndex [SHELL32.140] */ BOOL WINAPI FileMenu_DeleteItemByIndex ( HMENU hMenu, UINT uPos) { - MENUITEMINFOW mii; + MENUITEMINFOW mii; - TRACE("%p 0x%08x\n", hMenu, uPos); + TRACE("%p 0x%08x\n", hMenu, uPos); - ZeroMemory ( &mii, sizeof(MENUITEMINFOW)); - mii.cbSize = sizeof(MENUITEMINFOW); - mii.fMask = MIIM_SUBMENU; + ZeroMemory ( &mii, sizeof(MENUITEMINFOW)); + mii.cbSize = sizeof(MENUITEMINFOW); + mii.fMask = MIIM_SUBMENU; - GetMenuItemInfoW(hMenu, uPos, TRUE, &mii ); - if ( mii.hSubMenu ) - { - /* FIXME: Do what? */ - } + GetMenuItemInfoW(hMenu, uPos, TRUE, &mii ); + if ( mii.hSubMenu ) + { + /* FIXME: Do what? */ + } - DeleteMenu(hMenu, MF_BYPOSITION, uPos); - return TRUE; + DeleteMenu(hMenu, MF_BYPOSITION, uPos); + return TRUE; } /************************************************************************* - * FileMenu_DeleteItemByFirstID [SHELL32.141] + * FileMenu_DeleteItemByFirstID [SHELL32.141] */ EXTERN_C BOOL WINAPI FileMenu_DeleteItemByFirstID( - HMENU hMenu, - UINT uID) + HMENU hMenu, + UINT uID) { - TRACE("%p 0x%08x\n", hMenu, uID); - return 0; + TRACE("%p 0x%08x\n", hMenu, uID); + return 0; } /************************************************************************* - * FileMenu_DeleteSeparator [SHELL32.142] + * FileMenu_DeleteSeparator [SHELL32.142] */ BOOL WINAPI FileMenu_DeleteSeparator(HMENU hMenu) { - TRACE("%p\n", hMenu); - return 0; + TRACE("%p\n", hMenu); + return 0; } /************************************************************************* - * FileMenu_EnableItemByCmd [SHELL32.143] + * FileMenu_EnableItemByCmd [SHELL32.143] */ BOOL WINAPI FileMenu_EnableItemByCmd( - HMENU hMenu, - UINT uID, - BOOL bEnable) + HMENU hMenu, + UINT uID, + BOOL bEnable) { - TRACE("%p 0x%08x 0x%08x\n", hMenu, uID,bEnable); - return 0; + TRACE("%p 0x%08x 0x%08x\n", hMenu, uID,bEnable); + return 0; } /************************************************************************* - * FileMenu_GetItemExtent [SHELL32.144] + * FileMenu_GetItemExtent [SHELL32.144] * * NOTES * if the menu is too big, entries are getting cut away!! */ DWORD WINAPI FileMenu_GetItemExtent (HMENU hMenu, UINT uPos) -{ RECT rect; +{ RECT rect; - FIXME("%p 0x%08x\n", hMenu, uPos); + FIXME("%p 0x%08x\n", hMenu, uPos); - if (GetMenuItemRect(0, hMenu, uPos, &rect)) - { FIXME("0x%04x 0x%04x 0x%04x 0x%04x\n", - rect.right, rect.left, rect.top, rect.bottom); - return ((rect.right-rect.left)<<16) + (rect.top-rect.bottom); - } - return 0x00100010; /*FIXME*/ + if (GetMenuItemRect(0, hMenu, uPos, &rect)) + { FIXME("0x%04x 0x%04x 0x%04x 0x%04x\n", + rect.right, rect.left, rect.top, rect.bottom); + return ((rect.right-rect.left)<<16) + (rect.top-rect.bottom); + } + return 0x00100010; /*FIXME*/ } /************************************************************************* - * FileMenu_AbortInitMenu [SHELL32.120] + * FileMenu_AbortInitMenu [SHELL32.120] * */ void WINAPI FileMenu_AbortInitMenu (void) -{ TRACE("\n"); - bAbortInit = TRUE; +{ TRACE("\n"); + bAbortInit = TRUE; } /************************************************************************* - * SHFind_InitMenuPopup [SHELL32.149] + * SHFind_InitMenuPopup [SHELL32.149] * * Get the IContextMenu instance for the submenu of options displayed * for the Search entry in the Classic style Start menu. * * PARAMETERS - * hMenu [in] handle of menu previously created - * hWndParent [in] parent window - * w [in] no pointer (0x209 over here) perhaps menu IDs ??? - * x [in] no pointer (0x226 over here) + * hMenu [in] handle of menu previously created + * hWndParent [in] parent window + * w [in] no pointer (0x209 over here) perhaps menu IDs ??? + * x [in] no pointer (0x226 over here) * * RETURNS - * LPXXXXX pointer to struct containing a func addr at offset 8 - * or NULL at failure. + * LPXXXXX pointer to struct containing a func addr at offset 8 + * or NULL at failure. */ EXTERN_C IContextMenu * WINAPI SHFind_InitMenuPopup (HMENU hMenu, HWND hWndParent, UINT w, UINT x) { - FIXME("hmenu=%p hwnd=%p 0x%08x 0x%08x stub\n", - hMenu,hWndParent,w,x); - return NULL; /* this is supposed to be a pointer */ + FIXME("hmenu=%p hwnd=%p 0x%08x 0x%08x stub\n", + hMenu,hWndParent,w,x); + return NULL; /* this is supposed to be a pointer */ } /************************************************************************* @@ -820,163 +820,163 @@ EXTERN_C IContextMenu * WINAPI SHFind_InitMenuPopup (HMENU hMenu, HWND hWndParen */ static BOOL _SHIsMenuSeparator(HMENU hm, int i) { - MENUITEMINFOW mii; + MENUITEMINFOW mii; - mii.cbSize = sizeof(MENUITEMINFOW); - mii.fMask = MIIM_TYPE; - mii.cch = 0; /* WARNING: We MUST initialize it to 0*/ - if (!GetMenuItemInfoW(hm, i, TRUE, &mii)) - { - return(FALSE); - } + mii.cbSize = sizeof(MENUITEMINFOW); + mii.fMask = MIIM_TYPE; + mii.cch = 0; /* WARNING: We MUST initialize it to 0*/ + if (!GetMenuItemInfoW(hm, i, TRUE, &mii)) + { + return(FALSE); + } - if (mii.fType & MFT_SEPARATOR) - { - return(TRUE); - } + if (mii.fType & MFT_SEPARATOR) + { + return(TRUE); + } - return(FALSE); + return(FALSE); } /************************************************************************* - * Shell_MergeMenus [SHELL32.67] + * Shell_MergeMenus [SHELL32.67] */ UINT WINAPI Shell_MergeMenus (HMENU hmDst, HMENU hmSrc, UINT uInsert, UINT uIDAdjust, UINT uIDAdjustMax, ULONG uFlags) { - int nItem; - HMENU hmSubMenu; - BOOL bAlreadySeparated; - MENUITEMINFOW miiSrc; - WCHAR szName[256]; - UINT uTemp, uIDMax = uIDAdjust; + int nItem; + HMENU hmSubMenu; + BOOL bAlreadySeparated; + MENUITEMINFOW miiSrc; + WCHAR szName[256]; + UINT uTemp, uIDMax = uIDAdjust; - TRACE("hmenu1=%p hmenu2=%p 0x%04x 0x%04x 0x%04x 0x%04x\n", - hmDst, hmSrc, uInsert, uIDAdjust, uIDAdjustMax, uFlags); + TRACE("hmenu1=%p hmenu2=%p 0x%04x 0x%04x 0x%04x 0x%04x\n", + hmDst, hmSrc, uInsert, uIDAdjust, uIDAdjustMax, uFlags); - if (!hmDst || !hmSrc) - return uIDMax; + if (!hmDst || !hmSrc) + return uIDMax; - nItem = GetMenuItemCount(hmDst); + nItem = GetMenuItemCount(hmDst); - if (uInsert >= (UINT)nItem) /* insert position inside menu? */ - { - uInsert = (UINT)nItem; /* append on the end */ - bAlreadySeparated = TRUE; - } - else - { - bAlreadySeparated = _SHIsMenuSeparator(hmDst, uInsert); - } + if (uInsert >= (UINT)nItem) /* insert position inside menu? */ + { + uInsert = (UINT)nItem; /* append on the end */ + bAlreadySeparated = TRUE; + } + else + { + bAlreadySeparated = _SHIsMenuSeparator(hmDst, uInsert); + } - if ((uFlags & MM_ADDSEPARATOR) && !bAlreadySeparated) - { - /* Add a separator between the menus */ - InsertMenuA(hmDst, uInsert, MF_BYPOSITION | MF_SEPARATOR, 0, NULL); - bAlreadySeparated = TRUE; - } + if ((uFlags & MM_ADDSEPARATOR) && !bAlreadySeparated) + { + /* Add a separator between the menus */ + InsertMenuA(hmDst, uInsert, MF_BYPOSITION | MF_SEPARATOR, 0, NULL); + bAlreadySeparated = TRUE; + } - /* Go through the menu items and clone them*/ - for (nItem = GetMenuItemCount(hmSrc) - 1; nItem >= 0; nItem--) - { - miiSrc.cbSize = sizeof(MENUITEMINFOW); - miiSrc.fMask = MIIM_STATE | MIIM_ID | MIIM_SUBMENU | MIIM_CHECKMARKS | MIIM_TYPE | MIIM_DATA; + /* Go through the menu items and clone them*/ + for (nItem = GetMenuItemCount(hmSrc) - 1; nItem >= 0; nItem--) + { + miiSrc.cbSize = sizeof(MENUITEMINFOW); + miiSrc.fMask = MIIM_STATE | MIIM_ID | MIIM_SUBMENU | MIIM_CHECKMARKS | MIIM_TYPE | MIIM_DATA; - /* We need to reset this every time through the loop in case menus DON'T have IDs*/ - miiSrc.fType = MFT_STRING; - miiSrc.dwTypeData = szName; - miiSrc.dwItemData = 0; - miiSrc.cch = sizeof(szName)/sizeof(WCHAR); + /* We need to reset this every time through the loop in case menus DON'T have IDs*/ + miiSrc.fType = MFT_STRING; + miiSrc.dwTypeData = szName; + miiSrc.dwItemData = 0; + miiSrc.cch = sizeof(szName)/sizeof(WCHAR); - if (!GetMenuItemInfoW(hmSrc, nItem, TRUE, &miiSrc)) - { - continue; - } + if (!GetMenuItemInfoW(hmSrc, nItem, TRUE, &miiSrc)) + { + continue; + } -/* TRACE("found menu=0x%04x %s id=0x%04x mask=0x%08x smenu=0x%04x\n", hmSrc, debugstr_a(miiSrc.dwTypeData), miiSrc.wID, miiSrc.fMask, miiSrc.hSubMenu); +/* TRACE("found menu=0x%04x %s id=0x%04x mask=0x%08x smenu=0x%04x\n", hmSrc, debugstr_a(miiSrc.dwTypeData), miiSrc.wID, miiSrc.fMask, miiSrc.hSubMenu); */ - if (miiSrc.fType & MFT_SEPARATOR) - { - /* This is a separator; don't put two of them in a row */ - if (bAlreadySeparated) - continue; - bAlreadySeparated = TRUE; - } - else if (miiSrc.hSubMenu) - { - if ((uFlags & MM_SUBMENUSHAVEIDS) != 0 && miiSrc.wID != (UINT)miiSrc.hSubMenu) - { - miiSrc.wID += uIDAdjust; /* add uIDAdjust to the ID */ + if (miiSrc.fType & MFT_SEPARATOR) + { + /* This is a separator; don't put two of them in a row */ + if (bAlreadySeparated) + continue; + bAlreadySeparated = TRUE; + } + else if (miiSrc.hSubMenu) + { + if ((uFlags & MM_SUBMENUSHAVEIDS) != 0 && miiSrc.wID != (UINT)miiSrc.hSubMenu) + { + miiSrc.wID += uIDAdjust; /* add uIDAdjust to the ID */ - if (miiSrc.wID > uIDAdjustMax && miiSrc.wID > uIDAdjustMax) /* skip ID's higher uIDAdjustMax */ - continue; - if (uIDMax <= miiSrc.wID) /* remember the highest ID */ - uIDMax = miiSrc.wID + 1; - } - else - { - miiSrc.fMask &= ~MIIM_ID; /* Don't set IDs for submenus that didn't have them already */ - } - hmSubMenu = miiSrc.hSubMenu; + if (miiSrc.wID > uIDAdjustMax && miiSrc.wID > uIDAdjustMax) /* skip ID's higher uIDAdjustMax */ + continue; + if (uIDMax <= miiSrc.wID) /* remember the highest ID */ + uIDMax = miiSrc.wID + 1; + } + else + { + miiSrc.fMask &= ~MIIM_ID; /* Don't set IDs for submenus that didn't have them already */ + } + hmSubMenu = miiSrc.hSubMenu; - miiSrc.hSubMenu = CreatePopupMenu(); + miiSrc.hSubMenu = CreatePopupMenu(); - if (!miiSrc.hSubMenu) return(uIDMax); + if (!miiSrc.hSubMenu) return(uIDMax); - uTemp = Shell_MergeMenus(miiSrc.hSubMenu, hmSubMenu, 0, uIDAdjust, uIDAdjustMax, uFlags & MM_SUBMENUSHAVEIDS); + uTemp = Shell_MergeMenus(miiSrc.hSubMenu, hmSubMenu, 0, uIDAdjust, uIDAdjustMax, uFlags & MM_SUBMENUSHAVEIDS); - if (uIDMax <= uTemp) - uIDMax = uTemp; + if (uIDMax <= uTemp) + uIDMax = uTemp; - bAlreadySeparated = FALSE; - } - else /* normal menu item */ - { - miiSrc.wID += uIDAdjust; /* add uIDAdjust to the ID */ + bAlreadySeparated = FALSE; + } + else /* normal menu item */ + { + miiSrc.wID += uIDAdjust; /* add uIDAdjust to the ID */ - if (miiSrc.wID > uIDAdjustMax && miiSrc.wID > uIDAdjustMax) /* skip ID's higher uIDAdjustMax */{ - continue; - } - if (uIDMax <= miiSrc.wID) /* remember the highest ID */ - uIDMax = miiSrc.wID + 1; + if (miiSrc.wID > uIDAdjustMax && miiSrc.wID > uIDAdjustMax) /* skip ID's higher uIDAdjustMax */{ + continue; + } + if (uIDMax <= miiSrc.wID) /* remember the highest ID */ + uIDMax = miiSrc.wID + 1; - bAlreadySeparated = FALSE; - } + bAlreadySeparated = FALSE; + } -/* TRACE("inserting menu=0x%04x %s id=0x%04x mask=0x%08x smenu=0x%04x\n", hmDst, debugstr_a(miiSrc.dwTypeData), miiSrc.wID, miiSrc.fMask, miiSrc.hSubMenu); +/* TRACE("inserting menu=0x%04x %s id=0x%04x mask=0x%08x smenu=0x%04x\n", hmDst, debugstr_a(miiSrc.dwTypeData), miiSrc.wID, miiSrc.fMask, miiSrc.hSubMenu); */ - if (!InsertMenuItemW(hmDst, uInsert, TRUE, &miiSrc)) - { - return(uIDMax); - } - } + if (!InsertMenuItemW(hmDst, uInsert, TRUE, &miiSrc)) + { + return(uIDMax); + } + } - /* Ensure the correct number of separators at the beginning of the - inserted menu items*/ - if (uInsert == 0) - { - if (bAlreadySeparated) - { - DeleteMenu(hmDst, uInsert, MF_BYPOSITION); - } - } - else - { - if (_SHIsMenuSeparator(hmDst, uInsert-1)) - { - if (bAlreadySeparated) - { - DeleteMenu(hmDst, uInsert, MF_BYPOSITION); - } - } - else - { - if ((uFlags & MM_ADDSEPARATOR) && !bAlreadySeparated) - { - /* Add a separator between the menus*/ - InsertMenuW(hmDst, uInsert, MF_BYPOSITION | MF_SEPARATOR, 0, NULL); - } - } - } - return(uIDMax); + /* Ensure the correct number of separators at the beginning of the + inserted menu items*/ + if (uInsert == 0) + { + if (bAlreadySeparated) + { + DeleteMenu(hmDst, uInsert, MF_BYPOSITION); + } + } + else + { + if (_SHIsMenuSeparator(hmDst, uInsert-1)) + { + if (bAlreadySeparated) + { + DeleteMenu(hmDst, uInsert, MF_BYPOSITION); + } + } + else + { + if ((uFlags & MM_ADDSEPARATOR) && !bAlreadySeparated) + { + /* Add a separator between the menus*/ + InsertMenuW(hmDst, uInsert, MF_BYPOSITION | MF_SEPARATOR, 0, NULL); + } + } + } + return(uIDMax); } diff --git a/dll/win32/shell32/shlview.cpp b/dll/win32/shell32/shlview.cpp index 796129be5b8..27bb22daf30 100644 --- a/dll/win32/shell32/shlview.cpp +++ b/dll/win32/shell32/shlview.cpp @@ -1,7 +1,7 @@ /* - * ShellView + * ShellView * - * Copyright 1998,1999 + * Copyright 1998,1999 * * This is the view visualizing the data provided by the shellfolder. * No direct access to data from pidls should be done from here. @@ -34,7 +34,7 @@ TODO: 2. Let the shell folder sort items. 3. Code to merge menus in the shellbrowser is incorrect. 4. Move the background context menu creation into shell view. It should store the - shell view HWND to send commands. + shell view HWND to send commands. 5. Send init, measure, and draw messages to context menu during tracking. 6. Shell view should do SetCommandTarget on internet toolbar. 7. When editing starts on item, set edit text to for editing value. @@ -42,9 +42,9 @@ TODO: 9. Shell view should update status bar. 10. Fix shell view to handle view mode popup exec. 11. The background context menu should have a pidl just like foreground menus. This - causes crashes when dynamic handlers try to use the NULL pidl. + causes crashes when dynamic handlers try to use the NULL pidl. 12. The SHELLDLL_DefView should not be filled with blue unconditionally. This causes - annoying flashing of blue even on XP, and is not correct. + annoying flashing of blue even on XP, and is not correct. 13. Reorder of columns doesn't work - might be bug in comctl32 */ @@ -65,208 +65,208 @@ typedef struct #define SHV_CHANGE_NOTIFY WM_USER + 0x1111 class CDefView : - public CWindowImpl, - public CComObjectRootEx, - public IShellView, - public IFolderView, - public IOleCommandTarget, - public IDropTarget, - public IDropSource, - public IViewObject, - public IServiceProvider + public CWindowImpl, + public CComObjectRootEx, + public IShellView, + public IFolderView, + public IOleCommandTarget, + public IDropTarget, + public IDropSource, + public IViewObject, + public IServiceProvider { private: - CComPtr pSFParent; - CComPtr pSF2Parent; - CComPtr pShellBrowser; - CComPtr pCommDlgBrowser; - HWND hWndList; /* ListView control */ - HWND hWndParent; - FOLDERSETTINGS FolderSettings; - HMENU hMenu; - UINT uState; - UINT cidl; - LPITEMIDLIST *apidl; - LISTVIEW_SORT_INFO ListViewSortInfo; - ULONG hNotify; /* change notification handle */ - HANDLE hAccel; - DWORD dwAspects; - DWORD dwAdvf; - CComPtr pAdvSink; - // for drag and drop - CComPtr pCurDropTarget; /* The sub-item, which is currently dragged over */ - CComPtr pCurDataObject; /* The dragged data-object */ - LONG iDragOverItem; /* Dragged over item's index, iff pCurDropTarget != NULL */ - UINT cScrollDelay; /* Send a WM_*SCROLL msg every 250 ms during drag-scroll */ - POINT ptLastMousePos; /* Mouse position at last DragOver call */ - // - CComPtr pCM; + CComPtr pSFParent; + CComPtr pSF2Parent; + CComPtr pShellBrowser; + CComPtr pCommDlgBrowser; + HWND hWndList; /* ListView control */ + HWND hWndParent; + FOLDERSETTINGS FolderSettings; + HMENU hMenu; + UINT uState; + UINT cidl; + LPITEMIDLIST *apidl; + LISTVIEW_SORT_INFO ListViewSortInfo; + ULONG hNotify; /* change notification handle */ + HANDLE hAccel; + DWORD dwAspects; + DWORD dwAdvf; + CComPtr pAdvSink; + // for drag and drop + CComPtr pCurDropTarget; /* The sub-item, which is currently dragged over */ + CComPtr pCurDataObject; /* The dragged data-object */ + LONG iDragOverItem; /* Dragged over item's index, iff pCurDropTarget != NULL */ + UINT cScrollDelay; /* Send a WM_*SCROLL msg every 250 ms during drag-scroll */ + POINT ptLastMousePos; /* Mouse position at last DragOver call */ + // + CComPtr pCM; public: - CDefView(); - ~CDefView(); - HRESULT WINAPI Initialize(IShellFolder *shellFolder); - HRESULT IncludeObject(LPCITEMIDLIST pidl); - HRESULT OnDefaultCommand(); - HRESULT OnStateChange(UINT uFlags); - void CheckToolbar(); - void SetStyle(DWORD dwAdd, DWORD dwRemove); - BOOL CreateList(); - BOOL InitList(); - static INT CALLBACK CompareItems(LPVOID lParam1, LPVOID lParam2, LPARAM lpData); - static INT CALLBACK ListViewCompareItems(LPVOID lParam1, LPVOID lParam2, LPARAM lpData); - int LV_FindItemByPidl(LPCITEMIDLIST pidl); - BOOLEAN LV_AddItem(LPCITEMIDLIST pidl); - BOOLEAN LV_DeleteItem(LPCITEMIDLIST pidl); - BOOLEAN LV_RenameItem(LPCITEMIDLIST pidlOld, LPCITEMIDLIST pidlNew); - static INT CALLBACK fill_list(LPVOID ptr, LPVOID arg); - HRESULT FillList(); - HMENU BuildFileMenu(); - void MergeFileMenu(HMENU hSubMenu); - void MergeViewMenu(HMENU hSubMenu); - UINT GetSelections(); - HRESULT OpenSelectedItems(); - void OnDeactivate(); - void DoActivate(UINT uState); - HRESULT drag_notify_subitem(DWORD grfKeyState, POINTL pt, DWORD *pdwEffect); + CDefView(); + ~CDefView(); + HRESULT WINAPI Initialize(IShellFolder *shellFolder); + HRESULT IncludeObject(LPCITEMIDLIST pidl); + HRESULT OnDefaultCommand(); + HRESULT OnStateChange(UINT uFlags); + void CheckToolbar(); + void SetStyle(DWORD dwAdd, DWORD dwRemove); + BOOL CreateList(); + BOOL InitList(); + static INT CALLBACK CompareItems(LPVOID lParam1, LPVOID lParam2, LPARAM lpData); + static INT CALLBACK ListViewCompareItems(LPVOID lParam1, LPVOID lParam2, LPARAM lpData); + int LV_FindItemByPidl(LPCITEMIDLIST pidl); + BOOLEAN LV_AddItem(LPCITEMIDLIST pidl); + BOOLEAN LV_DeleteItem(LPCITEMIDLIST pidl); + BOOLEAN LV_RenameItem(LPCITEMIDLIST pidlOld, LPCITEMIDLIST pidlNew); + static INT CALLBACK fill_list(LPVOID ptr, LPVOID arg); + HRESULT FillList(); + HMENU BuildFileMenu(); + void MergeFileMenu(HMENU hSubMenu); + void MergeViewMenu(HMENU hSubMenu); + UINT GetSelections(); + HRESULT OpenSelectedItems(); + void OnDeactivate(); + void DoActivate(UINT uState); + HRESULT drag_notify_subitem(DWORD grfKeyState, POINTL pt, DWORD *pdwEffect); - // *** IOleWindow methods *** - virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND *lphwnd); - virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode); + // *** IOleWindow methods *** + virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND *lphwnd); + virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode); - // *** IShellView methods *** - virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(MSG *pmsg); - virtual HRESULT STDMETHODCALLTYPE EnableModeless(BOOL fEnable); - virtual HRESULT STDMETHODCALLTYPE UIActivate(UINT uState); - virtual HRESULT STDMETHODCALLTYPE Refresh(); - virtual HRESULT STDMETHODCALLTYPE CreateViewWindow(IShellView *psvPrevious, LPCFOLDERSETTINGS pfs, IShellBrowser *psb, RECT *prcView, HWND *phWnd); - virtual HRESULT STDMETHODCALLTYPE DestroyViewWindow(); - virtual HRESULT STDMETHODCALLTYPE GetCurrentInfo(LPFOLDERSETTINGS pfs); - virtual HRESULT STDMETHODCALLTYPE AddPropertySheetPages(DWORD dwReserved, LPFNSVADDPROPSHEETPAGE pfn, LPARAM lparam); - virtual HRESULT STDMETHODCALLTYPE SaveViewState(); - virtual HRESULT STDMETHODCALLTYPE SelectItem(LPCITEMIDLIST pidlItem, SVSIF uFlags); - virtual HRESULT STDMETHODCALLTYPE GetItemObject(UINT uItem, REFIID riid, void **ppv); + // *** IShellView methods *** + virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(MSG *pmsg); + virtual HRESULT STDMETHODCALLTYPE EnableModeless(BOOL fEnable); + virtual HRESULT STDMETHODCALLTYPE UIActivate(UINT uState); + virtual HRESULT STDMETHODCALLTYPE Refresh(); + virtual HRESULT STDMETHODCALLTYPE CreateViewWindow(IShellView *psvPrevious, LPCFOLDERSETTINGS pfs, IShellBrowser *psb, RECT *prcView, HWND *phWnd); + virtual HRESULT STDMETHODCALLTYPE DestroyViewWindow(); + virtual HRESULT STDMETHODCALLTYPE GetCurrentInfo(LPFOLDERSETTINGS pfs); + virtual HRESULT STDMETHODCALLTYPE AddPropertySheetPages(DWORD dwReserved, LPFNSVADDPROPSHEETPAGE pfn, LPARAM lparam); + virtual HRESULT STDMETHODCALLTYPE SaveViewState(); + virtual HRESULT STDMETHODCALLTYPE SelectItem(LPCITEMIDLIST pidlItem, SVSIF uFlags); + virtual HRESULT STDMETHODCALLTYPE GetItemObject(UINT uItem, REFIID riid, void **ppv); - // *** IFolderView methods *** - virtual HRESULT STDMETHODCALLTYPE GetCurrentViewMode(UINT *pViewMode); - virtual HRESULT STDMETHODCALLTYPE SetCurrentViewMode(UINT ViewMode); - virtual HRESULT STDMETHODCALLTYPE GetFolder(REFIID riid, void **ppv); - virtual HRESULT STDMETHODCALLTYPE Item(int iItemIndex, LPITEMIDLIST *ppidl); - virtual HRESULT STDMETHODCALLTYPE ItemCount(UINT uFlags, int *pcItems); - virtual HRESULT STDMETHODCALLTYPE Items(UINT uFlags, REFIID riid, void **ppv); - virtual HRESULT STDMETHODCALLTYPE GetSelectionMarkedItem(int *piItem); - virtual HRESULT STDMETHODCALLTYPE GetFocusedItem(int *piItem); - virtual HRESULT STDMETHODCALLTYPE GetItemPosition(LPCITEMIDLIST pidl, POINT *ppt); - virtual HRESULT STDMETHODCALLTYPE GetSpacing(POINT *ppt); - virtual HRESULT STDMETHODCALLTYPE GetDefaultSpacing(POINT *ppt); - virtual HRESULT STDMETHODCALLTYPE GetAutoArrange(); - virtual HRESULT STDMETHODCALLTYPE SelectItem(int iItem, DWORD dwFlags); - virtual HRESULT STDMETHODCALLTYPE SelectAndPositionItems(UINT cidl, LPCITEMIDLIST *apidl, POINT *apt, DWORD dwFlags); + // *** IFolderView methods *** + virtual HRESULT STDMETHODCALLTYPE GetCurrentViewMode(UINT *pViewMode); + virtual HRESULT STDMETHODCALLTYPE SetCurrentViewMode(UINT ViewMode); + virtual HRESULT STDMETHODCALLTYPE GetFolder(REFIID riid, void **ppv); + virtual HRESULT STDMETHODCALLTYPE Item(int iItemIndex, LPITEMIDLIST *ppidl); + virtual HRESULT STDMETHODCALLTYPE ItemCount(UINT uFlags, int *pcItems); + virtual HRESULT STDMETHODCALLTYPE Items(UINT uFlags, REFIID riid, void **ppv); + virtual HRESULT STDMETHODCALLTYPE GetSelectionMarkedItem(int *piItem); + virtual HRESULT STDMETHODCALLTYPE GetFocusedItem(int *piItem); + virtual HRESULT STDMETHODCALLTYPE GetItemPosition(LPCITEMIDLIST pidl, POINT *ppt); + virtual HRESULT STDMETHODCALLTYPE GetSpacing(POINT *ppt); + virtual HRESULT STDMETHODCALLTYPE GetDefaultSpacing(POINT *ppt); + virtual HRESULT STDMETHODCALLTYPE GetAutoArrange(); + virtual HRESULT STDMETHODCALLTYPE SelectItem(int iItem, DWORD dwFlags); + virtual HRESULT STDMETHODCALLTYPE SelectAndPositionItems(UINT cidl, LPCITEMIDLIST *apidl, POINT *apt, DWORD dwFlags); - // *** IOleCommandTarget methods *** - virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText); - virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut); + // *** IOleCommandTarget methods *** + virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText); + virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut); - // *** IDropTarget methods *** - virtual HRESULT STDMETHODCALLTYPE DragEnter(IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect); - virtual HRESULT STDMETHODCALLTYPE DragOver(DWORD grfKeyState, POINTL pt, DWORD *pdwEffect); - virtual HRESULT STDMETHODCALLTYPE DragLeave(); - virtual HRESULT STDMETHODCALLTYPE Drop(IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect); + // *** IDropTarget methods *** + virtual HRESULT STDMETHODCALLTYPE DragEnter(IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect); + virtual HRESULT STDMETHODCALLTYPE DragOver(DWORD grfKeyState, POINTL pt, DWORD *pdwEffect); + virtual HRESULT STDMETHODCALLTYPE DragLeave(); + virtual HRESULT STDMETHODCALLTYPE Drop(IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect); - // *** IDropSource methods *** - virtual HRESULT STDMETHODCALLTYPE QueryContinueDrag(BOOL fEscapePressed, DWORD grfKeyState); - virtual HRESULT STDMETHODCALLTYPE GiveFeedback(DWORD dwEffect); + // *** IDropSource methods *** + virtual HRESULT STDMETHODCALLTYPE QueryContinueDrag(BOOL fEscapePressed, DWORD grfKeyState); + virtual HRESULT STDMETHODCALLTYPE GiveFeedback(DWORD dwEffect); - // *** IViewObject methods *** - virtual HRESULT STDMETHODCALLTYPE Draw(DWORD dwDrawAspect, LONG lindex, void *pvAspect, DVTARGETDEVICE *ptd, - HDC hdcTargetDev, HDC hdcDraw, LPCRECTL lprcBounds, LPCRECTL lprcWBounds, - BOOL ( STDMETHODCALLTYPE *pfnContinue )(ULONG_PTR dwContinue), ULONG_PTR dwContinue); - virtual HRESULT STDMETHODCALLTYPE GetColorSet(DWORD dwDrawAspect, LONG lindex, void *pvAspect, - DVTARGETDEVICE *ptd, HDC hicTargetDev, LOGPALETTE **ppColorSet); - virtual HRESULT STDMETHODCALLTYPE Freeze(DWORD dwDrawAspect, LONG lindex, void *pvAspect, DWORD *pdwFreeze); - virtual HRESULT STDMETHODCALLTYPE Unfreeze(DWORD dwFreeze); - virtual HRESULT STDMETHODCALLTYPE SetAdvise(DWORD aspects, DWORD advf, IAdviseSink *pAdvSink); - virtual HRESULT STDMETHODCALLTYPE GetAdvise(DWORD *pAspects, DWORD *pAdvf, IAdviseSink **ppAdvSink); + // *** IViewObject methods *** + virtual HRESULT STDMETHODCALLTYPE Draw(DWORD dwDrawAspect, LONG lindex, void *pvAspect, DVTARGETDEVICE *ptd, + HDC hdcTargetDev, HDC hdcDraw, LPCRECTL lprcBounds, LPCRECTL lprcWBounds, + BOOL ( STDMETHODCALLTYPE *pfnContinue )(ULONG_PTR dwContinue), ULONG_PTR dwContinue); + virtual HRESULT STDMETHODCALLTYPE GetColorSet(DWORD dwDrawAspect, LONG lindex, void *pvAspect, + DVTARGETDEVICE *ptd, HDC hicTargetDev, LOGPALETTE **ppColorSet); + virtual HRESULT STDMETHODCALLTYPE Freeze(DWORD dwDrawAspect, LONG lindex, void *pvAspect, DWORD *pdwFreeze); + virtual HRESULT STDMETHODCALLTYPE Unfreeze(DWORD dwFreeze); + virtual HRESULT STDMETHODCALLTYPE SetAdvise(DWORD aspects, DWORD advf, IAdviseSink *pAdvSink); + virtual HRESULT STDMETHODCALLTYPE GetAdvise(DWORD *pAspects, DWORD *pAdvf, IAdviseSink **ppAdvSink); - // *** IServiceProvider methods *** - virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void **ppvObject); + // *** IServiceProvider methods *** + virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void **ppvObject); - // message handlers - LRESULT OnShowWindow(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnGetDlgCode(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnEraseBackground(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnSysColorChange(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnGetShellBrowser(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnContextMenu(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnActivate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnSetFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnKillFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnChangeNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnCustomItem(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + // message handlers + LRESULT OnShowWindow(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnGetDlgCode(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnEraseBackground(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnSysColorChange(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnGetShellBrowser(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnContextMenu(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnActivate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnSetFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnKillFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnChangeNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnCustomItem(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - static ATL::CWndClassInfo& GetWndClassInfo() - { - static ATL::CWndClassInfo wc = - { - { sizeof(WNDCLASSEX), CS_HREDRAW | CS_VREDRAW, StartWindowProc, - 0, 0, NULL, NULL, - LoadCursor(NULL, IDC_ARROW), (HBRUSH)(COLOR_BACKGROUND + 1), NULL, SV_CLASS_NAME, NULL }, - NULL, NULL, IDC_ARROW, TRUE, 0, _T("") - }; - return wc; - } + static ATL::CWndClassInfo& GetWndClassInfo() + { + static ATL::CWndClassInfo wc = + { + { sizeof(WNDCLASSEX), CS_HREDRAW | CS_VREDRAW, StartWindowProc, + 0, 0, NULL, NULL, + LoadCursor(NULL, IDC_ARROW), (HBRUSH)(COLOR_BACKGROUND + 1), NULL, SV_CLASS_NAME, NULL }, + NULL, NULL, IDC_ARROW, TRUE, 0, _T("") + }; + return wc; + } - virtual WNDPROC GetWindowProc() - { - return WindowProc; - } + virtual WNDPROC GetWindowProc() + { + return WindowProc; + } - static LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) - { - CDefView *pThis; - LRESULT result; + static LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) + { + CDefView *pThis; + LRESULT result; - // must hold a reference during message handling - pThis = reinterpret_cast(hWnd); - pThis->AddRef(); - result = CWindowImpl::WindowProc(hWnd, uMsg, wParam, lParam); - pThis->Release(); - return result; - } + // must hold a reference during message handling + pThis = reinterpret_cast(hWnd); + pThis->AddRef(); + result = CWindowImpl::WindowProc(hWnd, uMsg, wParam, lParam); + pThis->Release(); + return result; + } BEGIN_MSG_MAP(CDefView) - MESSAGE_HANDLER(WM_SIZE, OnSize) - MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus) - MESSAGE_HANDLER(WM_KILLFOCUS, OnKillFocus) - MESSAGE_HANDLER(WM_CREATE, OnCreate) - MESSAGE_HANDLER(WM_ACTIVATE, OnActivate) - MESSAGE_HANDLER(WM_NOTIFY, OnNotify) - MESSAGE_HANDLER(WM_COMMAND, OnCommand) - MESSAGE_HANDLER(SHV_CHANGE_NOTIFY, OnChangeNotify) - MESSAGE_HANDLER(WM_CONTEXTMENU, OnContextMenu) - MESSAGE_HANDLER(WM_DRAWITEM, OnCustomItem) - MESSAGE_HANDLER(WM_MEASUREITEM, OnCustomItem) - MESSAGE_HANDLER(WM_SHOWWINDOW, OnShowWindow) - MESSAGE_HANDLER(WM_GETDLGCODE, OnGetDlgCode) - MESSAGE_HANDLER(WM_DESTROY, OnDestroy) - MESSAGE_HANDLER(WM_ERASEBKGND, OnEraseBackground) - MESSAGE_HANDLER(WM_SYSCOLORCHANGE, OnSysColorChange) - MESSAGE_HANDLER(CWM_GETISHELLBROWSER, OnGetShellBrowser) + MESSAGE_HANDLER(WM_SIZE, OnSize) + MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus) + MESSAGE_HANDLER(WM_KILLFOCUS, OnKillFocus) + MESSAGE_HANDLER(WM_CREATE, OnCreate) + MESSAGE_HANDLER(WM_ACTIVATE, OnActivate) + MESSAGE_HANDLER(WM_NOTIFY, OnNotify) + MESSAGE_HANDLER(WM_COMMAND, OnCommand) + MESSAGE_HANDLER(SHV_CHANGE_NOTIFY, OnChangeNotify) + MESSAGE_HANDLER(WM_CONTEXTMENU, OnContextMenu) + MESSAGE_HANDLER(WM_DRAWITEM, OnCustomItem) + MESSAGE_HANDLER(WM_MEASUREITEM, OnCustomItem) + MESSAGE_HANDLER(WM_SHOWWINDOW, OnShowWindow) + MESSAGE_HANDLER(WM_GETDLGCODE, OnGetDlgCode) + MESSAGE_HANDLER(WM_DESTROY, OnDestroy) + MESSAGE_HANDLER(WM_ERASEBKGND, OnEraseBackground) + MESSAGE_HANDLER(WM_SYSCOLORCHANGE, OnSysColorChange) + MESSAGE_HANDLER(CWM_GETISHELLBROWSER, OnGetShellBrowser) END_MSG_MAP() BEGIN_COM_MAP(CDefView) - COM_INTERFACE_ENTRY_IID(IID_IOleWindow, IOleWindow) - COM_INTERFACE_ENTRY_IID(IID_IShellView, IShellView) - COM_INTERFACE_ENTRY_IID(IID_IFolderView, IFolderView) - COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget) - COM_INTERFACE_ENTRY_IID(IID_IDropTarget, IDropTarget) - COM_INTERFACE_ENTRY_IID(IID_IDropSource, IDropSource) - COM_INTERFACE_ENTRY_IID(IID_IViewObject, IViewObject) - COM_INTERFACE_ENTRY_IID(IID_IServiceProvider, IServiceProvider) + COM_INTERFACE_ENTRY_IID(IID_IOleWindow, IOleWindow) + COM_INTERFACE_ENTRY_IID(IID_IShellView, IShellView) + COM_INTERFACE_ENTRY_IID(IID_IFolderView, IFolderView) + COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget) + COM_INTERFACE_ENTRY_IID(IID_IDropTarget, IDropTarget) + COM_INTERFACE_ENTRY_IID(IID_IDropSource, IDropSource) + COM_INTERFACE_ENTRY_IID(IID_IViewObject, IViewObject) + COM_INTERFACE_ENTRY_IID(IID_IServiceProvider, IServiceProvider) END_COM_MAP() }; @@ -314,39 +314,39 @@ typedef void (CALLBACK *PFNSHGETSETTINGSPROC)(LPSHELLFLAGSTATE lpsfs, DWORD dwMa CDefView::CDefView() { - hWndList = NULL; - hWndParent = NULL; - FolderSettings.fFlags = 0; - FolderSettings.ViewMode = 0; - hMenu = NULL; - uState = 0; - cidl = 0; - apidl = NULL; - ListViewSortInfo.bIsAscending = FALSE; - ListViewSortInfo.nHeaderID = 0; - ListViewSortInfo.nLastHeaderID = 0; - hNotify = 0; - hAccel = NULL; - dwAspects = 0; - dwAdvf = 0; - iDragOverItem = 0; - cScrollDelay = 0; - ptLastMousePos.x = 0; - ptLastMousePos.y = 0; + hWndList = NULL; + hWndParent = NULL; + FolderSettings.fFlags = 0; + FolderSettings.ViewMode = 0; + hMenu = NULL; + uState = 0; + cidl = 0; + apidl = NULL; + ListViewSortInfo.bIsAscending = FALSE; + ListViewSortInfo.nHeaderID = 0; + ListViewSortInfo.nLastHeaderID = 0; + hNotify = 0; + hAccel = NULL; + dwAspects = 0; + dwAdvf = 0; + iDragOverItem = 0; + cScrollDelay = 0; + ptLastMousePos.x = 0; + ptLastMousePos.y = 0; } CDefView::~CDefView() { - TRACE(" destroying IShellView(%p)\n", this); + TRACE(" destroying IShellView(%p)\n", this); - SHFree(apidl); + SHFree(apidl); } HRESULT WINAPI CDefView::Initialize(IShellFolder *shellFolder) { - pSFParent = shellFolder; - shellFolder->QueryInterface(IID_IShellFolder2, (LPVOID *)&pSF2Parent); - + pSFParent = shellFolder; + shellFolder->QueryInterface(IID_IShellFolder2, (LPVOID *)&pSF2Parent); + return S_OK; } @@ -356,59 +356,59 @@ HRESULT WINAPI CDefView::Initialize(IShellFolder *shellFolder) */ HRESULT CDefView::IncludeObject(LPCITEMIDLIST pidl) { - HRESULT ret = S_OK; + HRESULT ret = S_OK; - if (pCommDlgBrowser.p != NULL) - { + if (pCommDlgBrowser.p != NULL) + { TRACE("ICommDlgBrowser::IncludeObject pidl=%p\n", pidl); ret = pCommDlgBrowser->IncludeObject((IShellView *)this, pidl); TRACE("--0x%08x\n", ret); - } + } - return ret; + return ret; } HRESULT CDefView::OnDefaultCommand() { - HRESULT ret = S_FALSE; + HRESULT ret = S_FALSE; - if (pCommDlgBrowser.p != NULL) - { + if (pCommDlgBrowser.p != NULL) + { TRACE("ICommDlgBrowser::OnDefaultCommand\n"); ret = pCommDlgBrowser->OnDefaultCommand((IShellView *)this); TRACE("-- returns %08x\n", ret); - } + } - return ret; + return ret; } HRESULT CDefView::OnStateChange(UINT uFlags) { - HRESULT ret = S_FALSE; + HRESULT ret = S_FALSE; - if (pCommDlgBrowser.p != NULL) - { + if (pCommDlgBrowser.p != NULL) + { TRACE("ICommDlgBrowser::OnStateChange flags=%x\n", uFlags); ret = pCommDlgBrowser->OnStateChange((IShellView *)this, uFlags); TRACE("--\n"); - } + } - return ret; + return ret; } /********************************************************** - * set the toolbar of the filedialog buttons + * set the toolbar of the filedialog buttons * * - activates the buttons from the shellbrowser according to * the view state */ void CDefView::CheckToolbar() { - LRESULT result; + LRESULT result; - TRACE("\n"); + TRACE("\n"); - if (pCommDlgBrowser != NULL) - { + if (pCommDlgBrowser != NULL) + { pShellBrowser->SendControlMsg(FCW_TOOLBAR, TB_CHECKBUTTON, FCIDM_TB_SMALLICON, (FolderSettings.ViewMode==FVM_LIST)? TRUE : FALSE, &result); pShellBrowser->SendControlMsg(FCW_TOOLBAR, TB_CHECKBUTTON, @@ -417,7 +417,7 @@ void CDefView::CheckToolbar() FCIDM_TB_SMALLICON, TRUE, &result); pShellBrowser->SendControlMsg(FCW_TOOLBAR, TB_ENABLEBUTTON, FCIDM_TB_REPORTVIEW, TRUE, &result); - } + } } /********************************************************** @@ -425,16 +425,16 @@ void CDefView::CheckToolbar() * ##### helperfunctions for initializing the view ##### */ /********************************************************** - * change the style of the listview control + * change the style of the listview control */ void CDefView::SetStyle(DWORD dwAdd, DWORD dwRemove) { - DWORD tmpstyle; + DWORD tmpstyle; - TRACE("(%p)\n", this); + TRACE("(%p)\n", this); - tmpstyle = ::GetWindowLongPtrW(hWndList, GWL_STYLE); - ::SetWindowLongPtrW(hWndList, GWL_STYLE, dwAdd | (tmpstyle & ~dwRemove)); + tmpstyle = ::GetWindowLongPtrW(hWndList, GWL_STYLE); + ::SetWindowLongPtrW(hWndList, GWL_STYLE, dwAdd | (tmpstyle & ~dwRemove)); } /********************************************************** @@ -443,11 +443,11 @@ void CDefView::SetStyle(DWORD dwAdd, DWORD dwRemove) * - creates the list view window */ BOOL CDefView::CreateList() -{ DWORD dwStyle, dwExStyle; +{ DWORD dwStyle, dwExStyle; - TRACE("%p\n",this); + TRACE("%p\n",this); - dwStyle = WS_TABSTOP | WS_VISIBLE | WS_CHILDWINDOW | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | + dwStyle = WS_TABSTOP | WS_VISIBLE | WS_CHILDWINDOW | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | LVS_SHAREIMAGELISTS | LVS_EDITLABELS | LVS_AUTOARRANGE; dwExStyle = WS_EX_CLIENTEDGE; @@ -456,8 +456,8 @@ BOOL CDefView::CreateList() else dwStyle |= LVS_ALIGNTOP; - switch (FolderSettings.ViewMode) - { + switch (FolderSettings.ViewMode) + { case FVM_ICON: dwStyle |= LVS_ICON; break; @@ -477,31 +477,31 @@ BOOL CDefView::CreateList() default: dwStyle |= LVS_LIST; break; - } + } - if (FolderSettings.fFlags & FWF_AUTOARRANGE) + if (FolderSettings.fFlags & FWF_AUTOARRANGE) dwStyle |= LVS_AUTOARRANGE; - + if (FolderSettings.fFlags & FWF_DESKTOP) - FolderSettings.fFlags |= FWF_NOCLIENTEDGE | FWF_NOSCROLL; - + FolderSettings.fFlags |= FWF_NOCLIENTEDGE | FWF_NOSCROLL; + if (FolderSettings.fFlags & FWF_SINGLESEL) dwStyle |= LVS_SINGLESEL; - + if (FolderSettings.fFlags & FWF_NOCLIENTEDGE) - dwExStyle &= ~WS_EX_CLIENTEDGE; + dwExStyle &= ~WS_EX_CLIENTEDGE; - hWndList=CreateWindowExW( dwExStyle, - WC_LISTVIEWW, - NULL, - dwStyle, - 0,0,0,0, - m_hWnd, - (HMENU)ID_LISTVIEW, - shell32_hInstance, - NULL); + hWndList=CreateWindowExW( dwExStyle, + WC_LISTVIEWW, + NULL, + dwStyle, + 0,0,0,0, + m_hWnd, + (HMENU)ID_LISTVIEW, + shell32_hInstance, + NULL); - if (!hWndList) + if (!hWndList) return FALSE; ListViewSortInfo.bIsAscending = TRUE; @@ -530,7 +530,7 @@ BOOL CDefView::CreateList() } /* UpdateShellSettings(); */ - return TRUE; + return TRUE; } /********************************************************** @@ -540,39 +540,39 @@ BOOL CDefView::CreateList() */ BOOL CDefView::InitList() { - LVCOLUMNW lvColumn; - SHELLDETAILS sd; - WCHAR szTemp[50]; + LVCOLUMNW lvColumn; + SHELLDETAILS sd; + WCHAR szTemp[50]; - TRACE("%p\n",this); + TRACE("%p\n",this); - SendMessageW(hWndList, LVM_DELETEALLITEMS, 0, 0); + SendMessageW(hWndList, LVM_DELETEALLITEMS, 0, 0); - lvColumn.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT; - lvColumn.pszText = szTemp; + lvColumn.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT; + lvColumn.pszText = szTemp; - if (pSF2Parent) - { + if (pSF2Parent) + { for (int i=0; 1; i++) { if (FAILED(pSF2Parent->GetDetailsOf(NULL, i, &sd))) - break; + break; lvColumn.fmt = sd.fmt; lvColumn.cx = sd.cxChar*8; /* chars->pixel */ StrRetToStrNW( szTemp, 50, &sd.str, NULL); SendMessageW(hWndList, LVM_INSERTCOLUMNW, i, (LPARAM) &lvColumn); } - } - else - { - FIXME("no SF2\n"); - } + } + else + { + FIXME("no SF2\n"); + } - SendMessageW(hWndList, LVM_SETIMAGELIST, LVSIL_SMALL, (LPARAM)ShellSmallIconList); - SendMessageW(hWndList, LVM_SETIMAGELIST, LVSIL_NORMAL, (LPARAM)ShellBigIconList); + SendMessageW(hWndList, LVM_SETIMAGELIST, LVSIL_SMALL, (LPARAM)ShellSmallIconList); + SendMessageW(hWndList, LVM_SETIMAGELIST, LVSIL_NORMAL, (LPARAM)ShellBigIconList); - return TRUE; + return TRUE; } /********************************************************** @@ -583,15 +583,15 @@ BOOL CDefView::InitList() */ INT CALLBACK CDefView::CompareItems(LPVOID lParam1, LPVOID lParam2, LPARAM lpData) { - int ret; - TRACE("pidl1=%p pidl2=%p lpsf=%p\n", lParam1, lParam2, (LPVOID) lpData); + int ret; + TRACE("pidl1=%p pidl2=%p lpsf=%p\n", lParam1, lParam2, (LPVOID) lpData); - if (!lpData) + if (!lpData) return 0; - ret = (SHORT)SCODE_CODE(((IShellFolder *)lpData)->CompareIDs(0, (LPITEMIDLIST)lParam1, (LPITEMIDLIST)lParam2)); - TRACE("ret=%i\n",ret); - + ret = (SHORT)SCODE_CODE(((IShellFolder *)lpData)->CompareIDs(0, (LPITEMIDLIST)lParam1, (LPITEMIDLIST)lParam2)); + TRACE("ret=%i\n",ret); + return ret; } @@ -611,13 +611,13 @@ INT CALLBACK CDefView::CompareItems(LPVOID lParam1, LPVOID lParam2, LPARAM lpDat * or zero if the two items are equivalent * * NOTES - * FIXME: function does what ShellView_CompareItems is supposed to do. - * unify it and figure out how to use the undocumented first parameter - * of IShellFolder_CompareIDs to do the job this function does and - * move this code to IShellFolder. - * make LISTVIEW_SORT_INFO obsolete - * the way this function works is only usable if we had only - * filesystemfolders (25/10/99 jsch) + * FIXME: function does what ShellView_CompareItems is supposed to do. + * unify it and figure out how to use the undocumented first parameter + * of IShellFolder_CompareIDs to do the job this function does and + * move this code to IShellFolder. + * make LISTVIEW_SORT_INFO obsolete + * the way this function works is only usable if we had only + * filesystemfolders (25/10/99 jsch) */ INT CALLBACK CDefView::ListViewCompareItems(LPVOID lParam1, LPVOID lParam2, LPARAM lpData) { @@ -700,14 +700,14 @@ INT CALLBACK CDefView::ListViewCompareItems(LPVOID lParam1, LPVOID lParam2, LPAR */ int CDefView::LV_FindItemByPidl(LPCITEMIDLIST pidl) { - LVITEMW lvItem; - lvItem.iSubItem = 0; - lvItem.mask = LVIF_PARAM; - + LVITEMW lvItem; + lvItem.iSubItem = 0; + lvItem.mask = LVIF_PARAM; + for (lvItem.iItem = 0; - SendMessageW(hWndList, LVM_GETITEMW, 0, (LPARAM) &lvItem); - lvItem.iItem++) - { + SendMessageW(hWndList, LVM_GETITEMW, 0, (LPARAM) &lvItem); + lvItem.iItem++) + { LPITEMIDLIST currentpidl = (LPITEMIDLIST) lvItem.lParam; HRESULT hr = pSFParent->CompareIDs(0, pidl, currentpidl); @@ -715,8 +715,8 @@ int CDefView::LV_FindItemByPidl(LPCITEMIDLIST pidl) { return lvItem.iItem; } - } - return -1; + } + return -1; } /********************************************************** @@ -724,21 +724,21 @@ int CDefView::LV_FindItemByPidl(LPCITEMIDLIST pidl) */ BOOLEAN CDefView::LV_AddItem(LPCITEMIDLIST pidl) { - LVITEMW lvItem; + LVITEMW lvItem; - TRACE("(%p)(pidl=%p)\n", this, pidl); + TRACE("(%p)(pidl=%p)\n", this, pidl); - lvItem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM; /*set the mask*/ - lvItem.iItem = ListView_GetItemCount(hWndList); /*add the item to the end of the list*/ - lvItem.iSubItem = 0; - lvItem.lParam = (LPARAM) ILClone(ILFindLastID(pidl)); /*set the item's data*/ - lvItem.pszText = LPSTR_TEXTCALLBACKW; /*get text on a callback basis*/ - lvItem.iImage = I_IMAGECALLBACK; /*get the image on a callback basis*/ - + lvItem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM; /*set the mask*/ + lvItem.iItem = ListView_GetItemCount(hWndList); /*add the item to the end of the list*/ + lvItem.iSubItem = 0; + lvItem.lParam = (LPARAM) ILClone(ILFindLastID(pidl)); /*set the item's data*/ + lvItem.pszText = LPSTR_TEXTCALLBACKW; /*get text on a callback basis*/ + lvItem.iImage = I_IMAGECALLBACK; /*get the image on a callback basis*/ + if (SendMessageW(hWndList, LVM_INSERTITEMW, 0, (LPARAM)&lvItem) == -1) return FALSE; - else - return TRUE; + else + return TRUE; } /********************************************************** @@ -746,12 +746,12 @@ BOOLEAN CDefView::LV_AddItem(LPCITEMIDLIST pidl) */ BOOLEAN CDefView::LV_DeleteItem(LPCITEMIDLIST pidl) { - int nIndex; + int nIndex; - TRACE("(%p)(pidl=%p)\n", this, pidl); + TRACE("(%p)(pidl=%p)\n", this, pidl); - nIndex = LV_FindItemByPidl(ILFindLastID(pidl)); - + nIndex = LV_FindItemByPidl(ILFindLastID(pidl)); + return (-1 == ListView_DeleteItem(hWndList, nIndex)) ? FALSE : TRUE; } @@ -760,28 +760,28 @@ BOOLEAN CDefView::LV_DeleteItem(LPCITEMIDLIST pidl) */ BOOLEAN CDefView::LV_RenameItem(LPCITEMIDLIST pidlOld, LPCITEMIDLIST pidlNew) { - int nItem; - LVITEMW lvItem; + int nItem; + LVITEMW lvItem; - TRACE("(%p)(pidlold=%p pidlnew=%p)\n", this, pidlOld, pidlNew); + TRACE("(%p)(pidlold=%p pidlnew=%p)\n", this, pidlOld, pidlNew); - nItem = LV_FindItemByPidl(ILFindLastID(pidlOld)); - + nItem = LV_FindItemByPidl(ILFindLastID(pidlOld)); + if ( -1 != nItem ) - { - lvItem.mask = LVIF_PARAM; /* only the pidl */ + { + lvItem.mask = LVIF_PARAM; /* only the pidl */ lvItem.iItem = nItem; SendMessageW(hWndList, LVM_GETITEMW, 0, (LPARAM) &lvItem); SHFree((LPITEMIDLIST)lvItem.lParam); lvItem.mask = LVIF_PARAM; lvItem.iItem = nItem; - lvItem.lParam = (LPARAM) ILClone(ILFindLastID(pidlNew)); /* set the item's data */ + lvItem.lParam = (LPARAM) ILClone(ILFindLastID(pidlNew)); /* set the item's data */ SendMessageW(hWndList, LVM_SETITEMW, 0, (LPARAM) &lvItem); SendMessageW(hWndList, LVM_UPDATE, nItem, 0); - return TRUE; /* FIXME: better handling */ - } - + return TRUE; /* FIXME: better handling */ + } + return FALSE; } @@ -806,93 +806,93 @@ INT CALLBACK CDefView::fill_list( LPVOID ptr, LPVOID arg ) HRESULT CDefView::FillList() { - LPENUMIDLIST pEnumIDList; - LPITEMIDLIST pidl; - DWORD dwFetched; - HRESULT hRes; - HDPA hdpa; + LPENUMIDLIST pEnumIDList; + LPITEMIDLIST pidl; + DWORD dwFetched; + HRESULT hRes; + HDPA hdpa; - TRACE("%p\n",this); + TRACE("%p\n",this); - /* get the itemlist from the shfolder*/ - hRes = pSFParent->EnumObjects(m_hWnd, SHCONTF_NONFOLDERS | SHCONTF_FOLDERS, &pEnumIDList); - if (hRes != S_OK) - { + /* get the itemlist from the shfolder*/ + hRes = pSFParent->EnumObjects(m_hWnd, SHCONTF_NONFOLDERS | SHCONTF_FOLDERS, &pEnumIDList); + if (hRes != S_OK) + { if (hRes==S_FALSE) return(NOERROR); return(hRes); - } + } - /* create a pointer array */ - hdpa = DPA_Create(16); - if (!hdpa) - { - return(E_OUTOFMEMORY); - } + /* create a pointer array */ + hdpa = DPA_Create(16); + if (!hdpa) + { + return(E_OUTOFMEMORY); + } - /* copy the items into the array*/ - while((S_OK == pEnumIDList->Next(1, &pidl, &dwFetched)) && dwFetched) - { - if (DPA_InsertPtr(hdpa, 0x7fff, pidl) == -1) - { - SHFree(pidl); - } - } + /* copy the items into the array*/ + while((S_OK == pEnumIDList->Next(1, &pidl, &dwFetched)) && dwFetched) + { + if (DPA_InsertPtr(hdpa, 0x7fff, pidl) == -1) + { + SHFree(pidl); + } + } - /* sort the array */ - DPA_Sort(hdpa, CompareItems, (LPARAM)pSFParent.p); + /* sort the array */ + DPA_Sort(hdpa, CompareItems, (LPARAM)pSFParent.p); - /*turn the listview's redrawing off*/ - SendMessageA(hWndList, WM_SETREDRAW, FALSE, 0); + /*turn the listview's redrawing off*/ + SendMessageA(hWndList, WM_SETREDRAW, FALSE, 0); DPA_DestroyCallback( hdpa, fill_list, (void *)this); - /*turn the listview's redrawing back on and force it to draw*/ - SendMessageA(hWndList, WM_SETREDRAW, TRUE, 0); + /*turn the listview's redrawing back on and force it to draw*/ + SendMessageA(hWndList, WM_SETREDRAW, TRUE, 0); - pEnumIDList->Release(); /* destroy the list*/ + pEnumIDList->Release(); /* destroy the list*/ - return S_OK; + return S_OK; } LRESULT CDefView::OnShowWindow(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - ::UpdateWindow(hWndList); - bHandled = FALSE; - return 0; + ::UpdateWindow(hWndList); + bHandled = FALSE; + return 0; } LRESULT CDefView::OnGetDlgCode(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - return SendMessageW(hWndList, uMsg, 0, 0); + return SendMessageW(hWndList, uMsg, 0, 0); } LRESULT CDefView::OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - RevokeDragDrop(m_hWnd); - SHChangeNotifyDeregister(hNotify); - bHandled = FALSE; - return 0; + RevokeDragDrop(m_hWnd); + SHChangeNotifyDeregister(hNotify); + bHandled = FALSE; + return 0; } LRESULT CDefView::OnEraseBackground(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - if (FolderSettings.fFlags & (FWF_DESKTOP | FWF_TRANSPARENT)) - return SendMessageW(GetParent(), WM_ERASEBKGND, wParam, lParam); /* redirect to parent */ + if (FolderSettings.fFlags & (FWF_DESKTOP | FWF_TRANSPARENT)) + return SendMessageW(GetParent(), WM_ERASEBKGND, wParam, lParam); /* redirect to parent */ - bHandled = FALSE; - return 0; + bHandled = FALSE; + return 0; } LRESULT CDefView::OnSysColorChange(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - /* Forward WM_SYSCOLORCHANGE to common controls */ - return SendMessageW(hWndList, uMsg, 0, 0); + /* Forward WM_SYSCOLORCHANGE to common controls */ + return SendMessageW(hWndList, uMsg, 0, 0); } LRESULT CDefView::OnGetShellBrowser(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - return (LRESULT)pShellBrowser.p; + return (LRESULT)pShellBrowser.p; } /********************************************************** @@ -900,88 +900,88 @@ LRESULT CDefView::OnGetShellBrowser(UINT uMsg, WPARAM wParam, LPARAM lParam, BOO */ LRESULT CDefView::OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - CComPtr pdt; - SHChangeNotifyEntry ntreg; - CComPtr ppf2; + CComPtr pdt; + SHChangeNotifyEntry ntreg; + CComPtr ppf2; - TRACE("%p\n",this); + TRACE("%p\n",this); DbgPrint("[shell32, CDefView::OnCreate] Called\n"); - if(CreateList()) - { + if(CreateList()) + { if(InitList()) { FillList(); } - } + } if (SUCCEEDED(this->QueryInterface(IID_IDropTarget, (LPVOID*)&pdt))) - RegisterDragDrop(m_hWnd, pdt); + RegisterDragDrop(m_hWnd, pdt); - /* register for receiving notifications */ - pSFParent->QueryInterface(IID_IPersistFolder2, (LPVOID*)&ppf2); - if (ppf2) - { - ppf2->GetCurFolder((LPITEMIDLIST*)&ntreg.pidl); - ntreg.fRecursive = TRUE; - hNotify = SHChangeNotifyRegister(m_hWnd, SHCNF_IDLIST, SHCNE_ALLEVENTS, SHV_CHANGE_NOTIFY, 1, &ntreg); - SHFree((LPITEMIDLIST)ntreg.pidl); - } + /* register for receiving notifications */ + pSFParent->QueryInterface(IID_IPersistFolder2, (LPVOID*)&ppf2); + if (ppf2) + { + ppf2->GetCurFolder((LPITEMIDLIST*)&ntreg.pidl); + ntreg.fRecursive = TRUE; + hNotify = SHChangeNotifyRegister(m_hWnd, SHCNF_IDLIST, SHCNE_ALLEVENTS, SHV_CHANGE_NOTIFY, 1, &ntreg); + SHFree((LPITEMIDLIST)ntreg.pidl); + } - hAccel = LoadAcceleratorsA(shell32_hInstance, "shv_accel"); + hAccel = LoadAcceleratorsA(shell32_hInstance, "shv_accel"); - return S_OK; + return S_OK; } /********************************************************** - * #### Handling of the menus #### + * #### Handling of the menus #### */ /********************************************************** * ShellView_BuildFileMenu() */ HMENU CDefView::BuildFileMenu() -{ WCHAR szText[MAX_PATH]; - MENUITEMINFOW mii; - int nTools,i; - HMENU hSubMenu; +{ WCHAR szText[MAX_PATH]; + MENUITEMINFOW mii; + int nTools,i; + HMENU hSubMenu; - TRACE("(%p)\n",this); + TRACE("(%p)\n",this); - hSubMenu = CreatePopupMenu(); - if (hSubMenu) - { + hSubMenu = CreatePopupMenu(); + if (hSubMenu) + { /*get the number of items in our global array*/ - for(nTools = 0; Tools[nTools].idCommand != -1; nTools++){} + for(nTools = 0; Tools[nTools].idCommand != -1; nTools++){} - /*add the menu items*/ - for(i = 0; i < nTools; i++) - { - LoadStringW(shell32_hInstance, Tools[i].idMenuString, szText, MAX_PATH); + /*add the menu items*/ + for(i = 0; i < nTools; i++) + { + LoadStringW(shell32_hInstance, Tools[i].idMenuString, szText, MAX_PATH); - ZeroMemory(&mii, sizeof(mii)); - mii.cbSize = sizeof(mii); - mii.fMask = MIIM_TYPE | MIIM_ID | MIIM_STATE; + ZeroMemory(&mii, sizeof(mii)); + mii.cbSize = sizeof(mii); + mii.fMask = MIIM_TYPE | MIIM_ID | MIIM_STATE; - if(BTNS_SEP != Tools[i].bStyle) /* no separator*/ - { - mii.fType = MFT_STRING; - mii.fState = MFS_ENABLED; - mii.dwTypeData = szText; - mii.wID = Tools[i].idCommand; - } - else - { - mii.fType = MFT_SEPARATOR; - } - /* tack This item onto the end of the menu */ - InsertMenuItemW(hSubMenu, (UINT)-1, TRUE, &mii); - } - } + if(BTNS_SEP != Tools[i].bStyle) /* no separator*/ + { + mii.fType = MFT_STRING; + mii.fState = MFS_ENABLED; + mii.dwTypeData = szText; + mii.wID = Tools[i].idCommand; + } + else + { + mii.fType = MFT_SEPARATOR; + } + /* tack This item onto the end of the menu */ + InsertMenuItemW(hSubMenu, (UINT)-1, TRUE, &mii); + } + } - TRACE("-- return (menu=%p)\n",hSubMenu); - return hSubMenu; + TRACE("-- return (menu=%p)\n",hSubMenu); + return hSubMenu; } /********************************************************** @@ -991,13 +991,13 @@ void CDefView::MergeFileMenu(HMENU hSubMenu) { TRACE("(%p)->(submenu=%p) stub\n",this,hSubMenu); - if (hSubMenu) - { /*insert This item at the beginning of the menu */ - _InsertMenuItemW(hSubMenu, 0, TRUE, 0, MFT_SEPARATOR, NULL, MFS_ENABLED); - _InsertMenuItemW(hSubMenu, 0, TRUE, IDM_MYFILEITEM, MFT_STRING, L"dummy45", MFS_ENABLED); - } + if (hSubMenu) + { /*insert This item at the beginning of the menu */ + _InsertMenuItemW(hSubMenu, 0, TRUE, 0, MFT_SEPARATOR, NULL, MFS_ENABLED); + _InsertMenuItemW(hSubMenu, 0, TRUE, IDM_MYFILEITEM, MFT_STRING, L"dummy45", MFS_ENABLED); + } - TRACE("--\n"); + TRACE("--\n"); } /********************************************************** @@ -1005,24 +1005,24 @@ void CDefView::MergeFileMenu(HMENU hSubMenu) */ void CDefView::MergeViewMenu(HMENU hSubMenu) { - TRACE("(%p)->(submenu=%p)\n",this,hSubMenu); + TRACE("(%p)->(submenu=%p)\n",this,hSubMenu); - if (hSubMenu) - { + if (hSubMenu) + { /*add a separator at the correct position in the menu*/ - MENUITEMINFOW mii; - static WCHAR view[] = L"View"; + MENUITEMINFOW mii; + static WCHAR view[] = L"View"; - _InsertMenuItemW(hSubMenu, FCIDM_MENU_VIEW_SEP_OPTIONS, FALSE, 0, MFT_SEPARATOR, NULL, MFS_ENABLED); + _InsertMenuItemW(hSubMenu, FCIDM_MENU_VIEW_SEP_OPTIONS, FALSE, 0, MFT_SEPARATOR, NULL, MFS_ENABLED); - ZeroMemory(&mii, sizeof(mii)); - mii.cbSize = sizeof(mii); - mii.fMask = MIIM_SUBMENU | MIIM_TYPE | MIIM_DATA; - mii.fType = MFT_STRING; - mii.dwTypeData = view; - mii.hSubMenu = LoadMenuW(shell32_hInstance, L"MENU_001"); - InsertMenuItemW(hSubMenu, FCIDM_MENU_VIEW_SEP_OPTIONS, FALSE, &mii); - } + ZeroMemory(&mii, sizeof(mii)); + mii.cbSize = sizeof(mii); + mii.fMask = MIIM_SUBMENU | MIIM_TYPE | MIIM_DATA; + mii.fType = MFT_STRING; + mii.dwTypeData = view; + mii.hSubMenu = LoadMenuW(shell32_hInstance, L"MENU_001"); + InsertMenuItemW(hSubMenu, FCIDM_MENU_VIEW_SEP_OPTIONS, FALSE, &mii); + } } /********************************************************** @@ -1035,320 +1035,320 @@ void CDefView::MergeViewMenu(HMENU hSubMenu) */ UINT CDefView::GetSelections() { - LVITEMW lvItem; - UINT i = 0; + LVITEMW lvItem; + UINT i = 0; - SHFree(apidl); + SHFree(apidl); - cidl = ListView_GetSelectedCount(hWndList); - apidl = (LPITEMIDLIST*)SHAlloc(cidl * sizeof(LPITEMIDLIST)); + cidl = ListView_GetSelectedCount(hWndList); + apidl = (LPITEMIDLIST*)SHAlloc(cidl * sizeof(LPITEMIDLIST)); - TRACE("selected=%i\n", cidl); + TRACE("selected=%i\n", cidl); - if (apidl) - { - TRACE("-- Items selected =%u\n", cidl); + if (apidl) + { + TRACE("-- Items selected =%u\n", cidl); - lvItem.mask = LVIF_STATE | LVIF_PARAM; - lvItem.stateMask = LVIS_SELECTED; - lvItem.iItem = 0; - lvItem.iSubItem = 0; + lvItem.mask = LVIF_STATE | LVIF_PARAM; + lvItem.stateMask = LVIS_SELECTED; + lvItem.iItem = 0; + lvItem.iSubItem = 0; lvItem.state = 0; - while(SendMessageW(hWndList, LVM_GETITEMW, 0, (LPARAM)&lvItem) && (i < cidl)) - { - if(lvItem.state & LVIS_SELECTED) - { - apidl[i] = (LPITEMIDLIST)lvItem.lParam; - i++; - if (i == cidl) - break; - TRACE("-- selected Item found\n"); - } - lvItem.iItem++; - } - } + while(SendMessageW(hWndList, LVM_GETITEMW, 0, (LPARAM)&lvItem) && (i < cidl)) + { + if(lvItem.state & LVIS_SELECTED) + { + apidl[i] = (LPITEMIDLIST)lvItem.lParam; + i++; + if (i == cidl) + break; + TRACE("-- selected Item found\n"); + } + lvItem.iItem++; + } + } - return cidl; + return cidl; } /********************************************************** - * ShellView_OpenSelectedItems() + * ShellView_OpenSelectedItems() */ HRESULT CDefView::OpenSelectedItems() { - static UINT CF_IDLIST = 0; - HRESULT hr; - CComPtr selection; - CComPtr cm; - HMENU hmenu; - FORMATETC fetc; - STGMEDIUM stgm; - LPIDA pIDList; - LPCITEMIDLIST parent_pidl; - WCHAR parent_path[MAX_PATH]; - LPCWSTR parent_dir = NULL; - SFGAOF attribs; - int i; - CMINVOKECOMMANDINFOEX ici; - MENUITEMINFOW info; + static UINT CF_IDLIST = 0; + HRESULT hr; + CComPtr selection; + CComPtr cm; + HMENU hmenu; + FORMATETC fetc; + STGMEDIUM stgm; + LPIDA pIDList; + LPCITEMIDLIST parent_pidl; + WCHAR parent_path[MAX_PATH]; + LPCWSTR parent_dir = NULL; + SFGAOF attribs; + int i; + CMINVOKECOMMANDINFOEX ici; + MENUITEMINFOW info; - if (0 == GetSelections()) - { - return S_OK; - } + if (0 == GetSelections()) + { + return S_OK; + } - hr = pSFParent->GetUIObjectOf(m_hWnd, cidl, - (LPCITEMIDLIST*)apidl, IID_IContextMenu, - 0, (LPVOID *)&cm); + hr = pSFParent->GetUIObjectOf(m_hWnd, cidl, + (LPCITEMIDLIST*)apidl, IID_IContextMenu, + 0, (LPVOID *)&cm); - if (SUCCEEDED(hr)) - { - hmenu = CreatePopupMenu(); - if (hmenu) - { - hr = IUnknown_SetSite(cm, (IShellView *)this); - if (SUCCEEDED(cm->QueryContextMenu(hmenu, 0, 0x20, 0x7fff, CMF_DEFAULTONLY))) - { - INT def = -1, n = GetMenuItemCount(hmenu); + if (SUCCEEDED(hr)) + { + hmenu = CreatePopupMenu(); + if (hmenu) + { + hr = IUnknown_SetSite(cm, (IShellView *)this); + if (SUCCEEDED(cm->QueryContextMenu(hmenu, 0, 0x20, 0x7fff, CMF_DEFAULTONLY))) + { + INT def = -1, n = GetMenuItemCount(hmenu); - for ( i = 0; i < n; i++ ) - { - memset( &info, 0, sizeof info ); - info.cbSize = sizeof info; - info.fMask = MIIM_FTYPE | MIIM_STATE | MIIM_ID; - if (GetMenuItemInfoW( hmenu, i, TRUE, &info)) - { - if (info.fState & MFS_DEFAULT) - { - def = info.wID; - break; - } - } - } - if (def != -1) - { - memset( &ici, 0, sizeof ici ); - ici.cbSize = sizeof ici; - ici.lpVerb = MAKEINTRESOURCEA( def ); - ici.hwnd = m_hWnd; + for ( i = 0; i < n; i++ ) + { + memset( &info, 0, sizeof info ); + info.cbSize = sizeof info; + info.fMask = MIIM_FTYPE | MIIM_STATE | MIIM_ID; + if (GetMenuItemInfoW( hmenu, i, TRUE, &info)) + { + if (info.fState & MFS_DEFAULT) + { + def = info.wID; + break; + } + } + } + if (def != -1) + { + memset( &ici, 0, sizeof ici ); + ici.cbSize = sizeof ici; + ici.lpVerb = MAKEINTRESOURCEA( def ); + ici.hwnd = m_hWnd; - if (cm->InvokeCommand((LPCMINVOKECOMMANDINFO) &ici ) == S_OK) - { - DestroyMenu( hmenu ); - hr = IUnknown_SetSite(cm, NULL); - return S_OK; - } - } - - } - DestroyMenu( hmenu ); - hr = IUnknown_SetSite(cm, NULL); - } - cm->Release(); - } + if (cm->InvokeCommand((LPCMINVOKECOMMANDINFO) &ici ) == S_OK) + { + DestroyMenu( hmenu ); + hr = IUnknown_SetSite(cm, NULL); + return S_OK; + } + } + + } + DestroyMenu( hmenu ); + hr = IUnknown_SetSite(cm, NULL); + } + cm->Release(); + } - hr = pSFParent->GetUIObjectOf(m_hWnd, cidl, - (LPCITEMIDLIST*)apidl, IID_IDataObject, - 0, (LPVOID *)&selection); + hr = pSFParent->GetUIObjectOf(m_hWnd, cidl, + (LPCITEMIDLIST*)apidl, IID_IDataObject, + 0, (LPVOID *)&selection); - if (FAILED(hr)) - return hr; + if (FAILED(hr)) + return hr; - if (0 == CF_IDLIST) - { - CF_IDLIST = RegisterClipboardFormatW(CFSTR_SHELLIDLIST); - } - + if (0 == CF_IDLIST) + { + CF_IDLIST = RegisterClipboardFormatW(CFSTR_SHELLIDLIST); + } + fetc.cfFormat = CF_IDLIST; - fetc.ptd = NULL; - fetc.dwAspect = DVASPECT_CONTENT; - fetc.lindex = -1; - fetc.tymed = TYMED_HGLOBAL; + fetc.ptd = NULL; + fetc.dwAspect = DVASPECT_CONTENT; + fetc.lindex = -1; + fetc.tymed = TYMED_HGLOBAL; - hr = selection->QueryGetData(&fetc); - if (FAILED(hr)) - return hr; + hr = selection->QueryGetData(&fetc); + if (FAILED(hr)) + return hr; - hr = selection->GetData(&fetc, &stgm); - if (FAILED(hr)) - return hr; + hr = selection->GetData(&fetc, &stgm); + if (FAILED(hr)) + return hr; - pIDList = (LPIDA)GlobalLock(stgm.hGlobal); + pIDList = (LPIDA)GlobalLock(stgm.hGlobal); - parent_pidl = (LPCITEMIDLIST) ((LPBYTE)pIDList+pIDList->aoffset[0]); - hr = pSFParent->GetAttributesOf(1, &parent_pidl, &attribs); - if (SUCCEEDED(hr) && (attribs & SFGAO_FILESYSTEM) && - SHGetPathFromIDListW(parent_pidl, parent_path)) - { - parent_dir = parent_path; - } + parent_pidl = (LPCITEMIDLIST) ((LPBYTE)pIDList+pIDList->aoffset[0]); + hr = pSFParent->GetAttributesOf(1, &parent_pidl, &attribs); + if (SUCCEEDED(hr) && (attribs & SFGAO_FILESYSTEM) && + SHGetPathFromIDListW(parent_pidl, parent_path)) + { + parent_dir = parent_path; + } - for (i = pIDList->cidl; i > 0; --i) - { - LPCITEMIDLIST pidl; + for (i = pIDList->cidl; i > 0; --i) + { + LPCITEMIDLIST pidl; - pidl = (LPCITEMIDLIST)((LPBYTE)pIDList+pIDList->aoffset[i]); + pidl = (LPCITEMIDLIST)((LPBYTE)pIDList+pIDList->aoffset[i]); - attribs = SFGAO_FOLDER; - hr = pSFParent->GetAttributesOf(1, &pidl, &attribs); + attribs = SFGAO_FOLDER; + hr = pSFParent->GetAttributesOf(1, &pidl, &attribs); - if (SUCCEEDED(hr) && ! (attribs & SFGAO_FOLDER)) - { - SHELLEXECUTEINFOW shexinfo; + if (SUCCEEDED(hr) && ! (attribs & SFGAO_FOLDER)) + { + SHELLEXECUTEINFOW shexinfo; - shexinfo.cbSize = sizeof(SHELLEXECUTEINFOW); - shexinfo.fMask = SEE_MASK_INVOKEIDLIST; /* SEE_MASK_IDLIST is also possible. */ - shexinfo.hwnd = NULL; - shexinfo.lpVerb = NULL; - shexinfo.lpFile = NULL; - shexinfo.lpParameters = NULL; - shexinfo.lpDirectory = parent_dir; - shexinfo.nShow = SW_NORMAL; - shexinfo.lpIDList = ILCombine(parent_pidl, pidl); + shexinfo.cbSize = sizeof(SHELLEXECUTEINFOW); + shexinfo.fMask = SEE_MASK_INVOKEIDLIST; /* SEE_MASK_IDLIST is also possible. */ + shexinfo.hwnd = NULL; + shexinfo.lpVerb = NULL; + shexinfo.lpFile = NULL; + shexinfo.lpParameters = NULL; + shexinfo.lpDirectory = parent_dir; + shexinfo.nShow = SW_NORMAL; + shexinfo.lpIDList = ILCombine(parent_pidl, pidl); - ShellExecuteExW(&shexinfo); /* Discard error/success info */ + ShellExecuteExW(&shexinfo); /* Discard error/success info */ - ILFree((LPITEMIDLIST)shexinfo.lpIDList); - } - } + ILFree((LPITEMIDLIST)shexinfo.lpIDList); + } + } - GlobalUnlock(stgm.hGlobal); - ReleaseStgMedium(&stgm); + GlobalUnlock(stgm.hGlobal); + ReleaseStgMedium(&stgm); - return S_OK; + return S_OK; } /********************************************************** - * ShellView_DoContextMenu() + * ShellView_DoContextMenu() */ LRESULT CDefView::OnContextMenu(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - WORD x; - WORD y; - BOOL bDefault; - UINT uCommand; - DWORD wFlags; - HMENU hMenu; - BOOL fExplore; - HWND hwndTree; - CMINVOKECOMMANDINFO cmi; - HRESULT hResult; + WORD x; + WORD y; + BOOL bDefault; + UINT uCommand; + DWORD wFlags; + HMENU hMenu; + BOOL fExplore; + HWND hwndTree; + CMINVOKECOMMANDINFO cmi; + HRESULT hResult; - // for some reason I haven't figured out, we sometimes recurse into this method - if (pCM != NULL) - return 0; + // for some reason I haven't figured out, we sometimes recurse into this method + if (pCM != NULL) + return 0; - x = LOWORD(lParam); - y = HIWORD(lParam); - bDefault = FALSE; + x = LOWORD(lParam); + y = HIWORD(lParam); + bDefault = FALSE; - TRACE("(%p)->(0x%08x 0x%08x 0x%08x) stub\n",this, x, y, bDefault); + TRACE("(%p)->(0x%08x 0x%08x 0x%08x) stub\n",this, x, y, bDefault); - fExplore = FALSE; - hwndTree = NULL; + fExplore = FALSE; + hwndTree = NULL; - /* look, what's selected and create a context menu object of it*/ - if (GetSelections()) - { - pSFParent->GetUIObjectOf(hWndParent, cidl, (LPCITEMIDLIST*)apidl, IID_IContextMenu, NULL, (LPVOID *)&pCM); + /* look, what's selected and create a context menu object of it*/ + if (GetSelections()) + { + pSFParent->GetUIObjectOf(hWndParent, cidl, (LPCITEMIDLIST*)apidl, IID_IContextMenu, NULL, (LPVOID *)&pCM); - if (pCM) - { - TRACE("-- pContextMenu\n"); - hMenu = CreatePopupMenu(); + if (pCM) + { + TRACE("-- pContextMenu\n"); + hMenu = CreatePopupMenu(); - if (hMenu) - { - hResult = IUnknown_SetSite(pCM, (IShellView *)this); - + if (hMenu) + { + hResult = IUnknown_SetSite(pCM, (IShellView *)this); + /* See if we are in Explore or Open mode. If the browser's tree is present, we are in Explore mode.*/ - if (SUCCEEDED(pShellBrowser->GetControlWindow(FCW_TREE, &hwndTree)) && hwndTree) - { - TRACE("-- explore mode\n"); - fExplore = TRUE; - } + if (SUCCEEDED(pShellBrowser->GetControlWindow(FCW_TREE, &hwndTree)) && hwndTree) + { + TRACE("-- explore mode\n"); + fExplore = TRUE; + } - /* build the flags depending on what we can do with the selected item */ - wFlags = CMF_NORMAL | (cidl != 1 ? 0 : CMF_CANRENAME) | (fExplore ? CMF_EXPLORE : 0); + /* build the flags depending on what we can do with the selected item */ + wFlags = CMF_NORMAL | (cidl != 1 ? 0 : CMF_CANRENAME) | (fExplore ? CMF_EXPLORE : 0); - /* let the ContextMenu merge its items in */ - if (SUCCEEDED(pCM->QueryContextMenu(hMenu, 0, FCIDM_SHVIEWFIRST, FCIDM_SHVIEWLAST, wFlags ))) - { - if (FolderSettings.fFlags & FWF_DESKTOP) - SetMenuDefaultItem(hMenu, FCIDM_SHVIEW_OPEN, MF_BYCOMMAND); + /* let the ContextMenu merge its items in */ + if (SUCCEEDED(pCM->QueryContextMenu(hMenu, 0, FCIDM_SHVIEWFIRST, FCIDM_SHVIEWLAST, wFlags ))) + { + if (FolderSettings.fFlags & FWF_DESKTOP) + SetMenuDefaultItem(hMenu, FCIDM_SHVIEW_OPEN, MF_BYCOMMAND); - if (bDefault) - { - TRACE("-- get menu default command\n"); - uCommand = GetMenuDefaultItem(hMenu, FALSE, GMDI_GOINTOPOPUPS); - } - else - { - TRACE("-- track popup\n"); - uCommand = TrackPopupMenu( hMenu,TPM_LEFTALIGN | TPM_RETURNCMD,x,y,0,m_hWnd,NULL); - } + if (bDefault) + { + TRACE("-- get menu default command\n"); + uCommand = GetMenuDefaultItem(hMenu, FALSE, GMDI_GOINTOPOPUPS); + } + else + { + TRACE("-- track popup\n"); + uCommand = TrackPopupMenu( hMenu,TPM_LEFTALIGN | TPM_RETURNCMD,x,y,0,m_hWnd,NULL); + } - if (uCommand > 0) - { - TRACE("-- uCommand=%u\n", uCommand); - + if (uCommand > 0) + { + TRACE("-- uCommand=%u\n", uCommand); + if (uCommand==FCIDM_SHVIEW_OPEN && pCommDlgBrowser.p != NULL) - { - TRACE("-- dlg: OnDefaultCommand\n"); - if (OnDefaultCommand() != S_OK) - { - OpenSelectedItems(); - } - } - else - { - TRACE("-- explore -- invoke command\n"); - ZeroMemory(&cmi, sizeof(cmi)); - cmi.cbSize = sizeof(cmi); - cmi.hwnd = hWndParent; /* this window has to answer CWM_GETISHELLBROWSER */ - cmi.lpVerb = (LPCSTR)MAKEINTRESOURCEA(uCommand); - pCM->InvokeCommand(&cmi); - } - } - + { + TRACE("-- dlg: OnDefaultCommand\n"); + if (OnDefaultCommand() != S_OK) + { + OpenSelectedItems(); + } + } + else + { + TRACE("-- explore -- invoke command\n"); + ZeroMemory(&cmi, sizeof(cmi)); + cmi.cbSize = sizeof(cmi); + cmi.hwnd = hWndParent; /* this window has to answer CWM_GETISHELLBROWSER */ + cmi.lpVerb = (LPCSTR)MAKEINTRESOURCEA(uCommand); + pCM->InvokeCommand(&cmi); + } + } + hResult = IUnknown_SetSite(pCM, NULL); - DestroyMenu(hMenu); - } - } - pCM.Release(); - } - } - else /* background context menu */ - { - hMenu = CreatePopupMenu(); + DestroyMenu(hMenu); + } + } + pCM.Release(); + } + } + else /* background context menu */ + { + hMenu = CreatePopupMenu(); - CDefFolderMenu_Create2(NULL, NULL, cidl, (LPCITEMIDLIST*)apidl, pSFParent, NULL, 0, NULL, (IContextMenu**)&pCM); - pCM->QueryContextMenu(hMenu, 0, FCIDM_SHVIEWFIRST, FCIDM_SHVIEWLAST, 0); + CDefFolderMenu_Create2(NULL, NULL, cidl, (LPCITEMIDLIST*)apidl, pSFParent, NULL, 0, NULL, (IContextMenu**)&pCM); + pCM->QueryContextMenu(hMenu, 0, FCIDM_SHVIEWFIRST, FCIDM_SHVIEWLAST, 0); - uCommand = TrackPopupMenu( hMenu, TPM_LEFTALIGN | TPM_RETURNCMD,x,y,0,m_hWnd,NULL); - DestroyMenu(hMenu); + uCommand = TrackPopupMenu( hMenu, TPM_LEFTALIGN | TPM_RETURNCMD,x,y,0,m_hWnd,NULL); + DestroyMenu(hMenu); - TRACE("-- (%p)->(uCommand=0x%08x )\n",this, uCommand); + TRACE("-- (%p)->(uCommand=0x%08x )\n",this, uCommand); - ZeroMemory(&cmi, sizeof(cmi)); - cmi.cbSize = sizeof(cmi); - cmi.lpVerb = (LPCSTR)MAKEINTRESOURCEA(uCommand); - cmi.hwnd = hWndParent; - pCM->InvokeCommand(&cmi); + ZeroMemory(&cmi, sizeof(cmi)); + cmi.cbSize = sizeof(cmi); + cmi.lpVerb = (LPCSTR)MAKEINTRESOURCEA(uCommand); + cmi.hwnd = hWndParent; + pCM->InvokeCommand(&cmi); - pCM.Release(); - } + pCM.Release(); + } - return 0; + return 0; } /********************************************************** - * ##### message handling ##### + * ##### message handling ##### */ /********************************************************** @@ -1356,21 +1356,21 @@ LRESULT CDefView::OnContextMenu(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &b */ LRESULT CDefView::OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - WORD wWidth; - WORD wHeight; + WORD wWidth; + WORD wHeight; - wWidth = LOWORD(lParam); - wHeight = HIWORD(lParam); + wWidth = LOWORD(lParam); + wHeight = HIWORD(lParam); - TRACE("%p width=%u height=%u\n", this, wWidth, wHeight); + TRACE("%p width=%u height=%u\n", this, wWidth, wHeight); - /*resize the ListView to fit our window*/ - if (hWndList) - { - ::MoveWindow(hWndList, 0, 0, wWidth, wHeight, TRUE); - } + /*resize the ListView to fit our window*/ + if (hWndList) + { + ::MoveWindow(hWndList, 0, 0, wWidth, wHeight, TRUE); + } - return 0; + return 0; } /********************************************************** @@ -1381,96 +1381,96 @@ LRESULT CDefView::OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled */ void CDefView::OnDeactivate() { - TRACE("%p\n",this); + TRACE("%p\n",this); - if (uState != SVUIA_DEACTIVATE) - { - if (hMenu) - { - pShellBrowser->SetMenuSB(0, 0, 0); - pShellBrowser->RemoveMenusSB(hMenu); - DestroyMenu(hMenu); - hMenu = 0; - } + if (uState != SVUIA_DEACTIVATE) + { + if (hMenu) + { + pShellBrowser->SetMenuSB(0, 0, 0); + pShellBrowser->RemoveMenusSB(hMenu); + DestroyMenu(hMenu); + hMenu = 0; + } - uState = SVUIA_DEACTIVATE; - } + uState = SVUIA_DEACTIVATE; + } } void CDefView::DoActivate(UINT uState) { - OLEMENUGROUPWIDTHS omw = { {0, 0, 0, 0, 0, 0} }; - MENUITEMINFOA mii; - CHAR szText[MAX_PATH]; + OLEMENUGROUPWIDTHS omw = { {0, 0, 0, 0, 0, 0} }; + MENUITEMINFOA mii; + CHAR szText[MAX_PATH]; - TRACE("%p uState=%x\n", this, uState); + TRACE("%p uState=%x\n", this, uState); - /*don't do anything if the state isn't really changing */ - if (uState == uState) - { - return; - } + /*don't do anything if the state isn't really changing */ + if (uState == uState) + { + return; + } - OnDeactivate(); + OnDeactivate(); - /*only do This if we are active */ - if(uState != SVUIA_DEACTIVATE) - { - /*merge the menus */ - hMenu = CreateMenu(); + /*only do This if we are active */ + if(uState != SVUIA_DEACTIVATE) + { + /*merge the menus */ + hMenu = CreateMenu(); - if(hMenu) - { - pShellBrowser->InsertMenusSB(hMenu, &omw); - TRACE("-- after fnInsertMenusSB\n"); + if(hMenu) + { + pShellBrowser->InsertMenusSB(hMenu, &omw); + TRACE("-- after fnInsertMenusSB\n"); - /*build the top level menu get the menu item's text*/ - strcpy(szText,"dummy 31"); + /*build the top level menu get the menu item's text*/ + strcpy(szText,"dummy 31"); - ZeroMemory(&mii, sizeof(mii)); - mii.cbSize = sizeof(mii); - mii.fMask = MIIM_SUBMENU | MIIM_TYPE | MIIM_STATE; - mii.fType = MFT_STRING; - mii.fState = MFS_ENABLED; - mii.dwTypeData = szText; - mii.hSubMenu = BuildFileMenu(); + ZeroMemory(&mii, sizeof(mii)); + mii.cbSize = sizeof(mii); + mii.fMask = MIIM_SUBMENU | MIIM_TYPE | MIIM_STATE; + mii.fType = MFT_STRING; + mii.fState = MFS_ENABLED; + mii.dwTypeData = szText; + mii.hSubMenu = BuildFileMenu(); - /*insert our menu into the menu bar*/ - if (mii.hSubMenu) - { - InsertMenuItemA(hMenu, FCIDM_MENU_HELP, FALSE, &mii); - } + /*insert our menu into the menu bar*/ + if (mii.hSubMenu) + { + InsertMenuItemA(hMenu, FCIDM_MENU_HELP, FALSE, &mii); + } - /*get the view menu so we can merge with it*/ - ZeroMemory(&mii, sizeof(mii)); - mii.cbSize = sizeof(mii); - mii.fMask = MIIM_SUBMENU; + /*get the view menu so we can merge with it*/ + ZeroMemory(&mii, sizeof(mii)); + mii.cbSize = sizeof(mii); + mii.fMask = MIIM_SUBMENU; - if (GetMenuItemInfoA(hMenu, FCIDM_MENU_VIEW, FALSE, &mii)) - { - MergeViewMenu(mii.hSubMenu); - } + if (GetMenuItemInfoA(hMenu, FCIDM_MENU_VIEW, FALSE, &mii)) + { + MergeViewMenu(mii.hSubMenu); + } - /*add the items that should only be added if we have the focus*/ - if (SVUIA_ACTIVATE_FOCUS == uState) - { - /*get the file menu so we can merge with it */ - ZeroMemory(&mii, sizeof(mii)); - mii.cbSize = sizeof(mii); - mii.fMask = MIIM_SUBMENU; + /*add the items that should only be added if we have the focus*/ + if (SVUIA_ACTIVATE_FOCUS == uState) + { + /*get the file menu so we can merge with it */ + ZeroMemory(&mii, sizeof(mii)); + mii.cbSize = sizeof(mii); + mii.fMask = MIIM_SUBMENU; - if (GetMenuItemInfoA(hMenu, FCIDM_MENU_FILE, FALSE, &mii)) - { - MergeFileMenu(mii.hSubMenu); - } - } + if (GetMenuItemInfoA(hMenu, FCIDM_MENU_FILE, FALSE, &mii)) + { + MergeFileMenu(mii.hSubMenu); + } + } - TRACE("-- before fnSetMenuSB\n"); - pShellBrowser->SetMenuSB(hMenu, 0, m_hWnd); - } - } - uState = uState; - TRACE("--\n"); + TRACE("-- before fnSetMenuSB\n"); + pShellBrowser->SetMenuSB(hMenu, 0, m_hWnd); + } + } + uState = uState; + TRACE("--\n"); } /********************************************************** @@ -1478,8 +1478,8 @@ void CDefView::DoActivate(UINT uState) */ LRESULT CDefView::OnActivate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - DoActivate(SVUIA_ACTIVATE_FOCUS); - return 0; + DoActivate(SVUIA_ACTIVATE_FOCUS); + return 0; } /********************************************************** @@ -1488,22 +1488,22 @@ LRESULT CDefView::OnActivate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHan */ LRESULT CDefView::OnSetFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - TRACE("%p\n", this); + TRACE("%p\n", this); - /* Tell the browser one of our windows has received the focus. This - should always be done before merging menus (OnActivate merges the - menus) if one of our windows has the focus.*/ + /* Tell the browser one of our windows has received the focus. This + should always be done before merging menus (OnActivate merges the + menus) if one of our windows has the focus.*/ - pShellBrowser->OnViewWindowActive((IShellView *)this); - DoActivate(SVUIA_ACTIVATE_FOCUS); + pShellBrowser->OnViewWindowActive((IShellView *)this); + DoActivate(SVUIA_ACTIVATE_FOCUS); - /* Set the focus to the listview */ - ::SetFocus(hWndList); + /* Set the focus to the listview */ + ::SetFocus(hWndList); - /* Notify the ICommDlgBrowser interface */ - OnStateChange(CDBOSC_SETFOCUS); + /* Notify the ICommDlgBrowser interface */ + OnStateChange(CDBOSC_SETFOCUS); - return 0; + return 0; } /********************************************************** @@ -1511,75 +1511,75 @@ LRESULT CDefView::OnSetFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHan */ LRESULT CDefView::OnKillFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - TRACE("(%p) stub\n", this); + TRACE("(%p) stub\n", this); - DoActivate(SVUIA_ACTIVATE_NOFOCUS); - /* Notify the ICommDlgBrowser */ - OnStateChange(CDBOSC_KILLFOCUS); + DoActivate(SVUIA_ACTIVATE_NOFOCUS); + /* Notify the ICommDlgBrowser */ + OnStateChange(CDBOSC_KILLFOCUS); - return 0; + return 0; } /********************************************************** * ShellView_OnCommand() * * NOTES -* the CmdID's are the ones from the context menu +* the CmdID's are the ones from the context menu */ LRESULT CDefView::OnCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - DWORD dwCmdID; - DWORD dwCmd; - HWND hwndCmd; + DWORD dwCmdID; + DWORD dwCmd; + HWND hwndCmd; - dwCmdID = GET_WM_COMMAND_ID(wParam, lParam); - dwCmd = GET_WM_COMMAND_CMD(wParam, lParam); - hwndCmd = GET_WM_COMMAND_HWND(wParam, lParam); + dwCmdID = GET_WM_COMMAND_ID(wParam, lParam); + dwCmd = GET_WM_COMMAND_CMD(wParam, lParam); + hwndCmd = GET_WM_COMMAND_HWND(wParam, lParam); - TRACE("(%p)->(0x%08x 0x%08x %p) stub\n",this, dwCmdID, dwCmd, hwndCmd); + TRACE("(%p)->(0x%08x 0x%08x %p) stub\n",this, dwCmdID, dwCmd, hwndCmd); - switch (dwCmdID) - { - case FCIDM_SHVIEW_SMALLICON: - FolderSettings.ViewMode = FVM_SMALLICON; - SetStyle (LVS_SMALLICON, LVS_TYPEMASK); - CheckToolbar(); - break; + switch (dwCmdID) + { + case FCIDM_SHVIEW_SMALLICON: + FolderSettings.ViewMode = FVM_SMALLICON; + SetStyle (LVS_SMALLICON, LVS_TYPEMASK); + CheckToolbar(); + break; - case FCIDM_SHVIEW_BIGICON: - FolderSettings.ViewMode = FVM_ICON; - SetStyle (LVS_ICON, LVS_TYPEMASK); - CheckToolbar(); - break; + case FCIDM_SHVIEW_BIGICON: + FolderSettings.ViewMode = FVM_ICON; + SetStyle (LVS_ICON, LVS_TYPEMASK); + CheckToolbar(); + break; - case FCIDM_SHVIEW_LISTVIEW: - FolderSettings.ViewMode = FVM_LIST; - SetStyle (LVS_LIST, LVS_TYPEMASK); - CheckToolbar(); - break; + case FCIDM_SHVIEW_LISTVIEW: + FolderSettings.ViewMode = FVM_LIST; + SetStyle (LVS_LIST, LVS_TYPEMASK); + CheckToolbar(); + break; - case FCIDM_SHVIEW_REPORTVIEW: - FolderSettings.ViewMode = FVM_DETAILS; - SetStyle (LVS_REPORT, LVS_TYPEMASK); - CheckToolbar(); - break; + case FCIDM_SHVIEW_REPORTVIEW: + FolderSettings.ViewMode = FVM_DETAILS; + SetStyle (LVS_REPORT, LVS_TYPEMASK); + CheckToolbar(); + break; - /* the menu-ID's for sorting are 0x30... see shrec.rc */ - case 0x30: - case 0x31: - case 0x32: - case 0x33: - ListViewSortInfo.nHeaderID = (LPARAM) (dwCmdID - 0x30); - ListViewSortInfo.bIsAscending = TRUE; - ListViewSortInfo.nLastHeaderID = ListViewSortInfo.nHeaderID; - SendMessageA(hWndList, LVM_SORTITEMS, (WPARAM) &ListViewSortInfo, (LPARAM)ListViewCompareItems); - break; + /* the menu-ID's for sorting are 0x30... see shrec.rc */ + case 0x30: + case 0x31: + case 0x32: + case 0x33: + ListViewSortInfo.nHeaderID = (LPARAM) (dwCmdID - 0x30); + ListViewSortInfo.bIsAscending = TRUE; + ListViewSortInfo.nLastHeaderID = ListViewSortInfo.nHeaderID; + SendMessageA(hWndList, LVM_SORTITEMS, (WPARAM) &ListViewSortInfo, (LPARAM)ListViewCompareItems); + break; - default: - TRACE("-- COMMAND 0x%04x unhandled\n", dwCmdID); - } + default: + TRACE("-- COMMAND 0x%04x unhandled\n", dwCmdID); + } - return 0; + return 0; } /********************************************************** @@ -1588,49 +1588,49 @@ LRESULT CDefView::OnCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHand LRESULT CDefView::OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - UINT CtlID; - LPNMHDR lpnmh; - LPNMLISTVIEW lpnmlv; - NMLVDISPINFOW *lpdi; - LPITEMIDLIST pidl; - BOOL unused; + UINT CtlID; + LPNMHDR lpnmh; + LPNMLISTVIEW lpnmlv; + NMLVDISPINFOW *lpdi; + LPITEMIDLIST pidl; + BOOL unused; - CtlID = wParam; - lpnmh = (LPNMHDR)lParam; - lpnmlv = (LPNMLISTVIEW)lpnmh; - lpdi = (NMLVDISPINFOW *)lpnmh; + CtlID = wParam; + lpnmh = (LPNMHDR)lParam; + lpnmlv = (LPNMLISTVIEW)lpnmh; + lpdi = (NMLVDISPINFOW *)lpnmh; - TRACE("%p CtlID=%u lpnmh->code=%x\n",this,CtlID,lpnmh->code); + TRACE("%p CtlID=%u lpnmh->code=%x\n",this,CtlID,lpnmh->code); - switch (lpnmh->code) - { - case NM_SETFOCUS: - TRACE("-- NM_SETFOCUS %p\n", this); - OnSetFocus(0, 0, 0, unused); - break; + switch (lpnmh->code) + { + case NM_SETFOCUS: + TRACE("-- NM_SETFOCUS %p\n", this); + OnSetFocus(0, 0, 0, unused); + break; - case NM_KILLFOCUS: - TRACE("-- NM_KILLFOCUS %p\n", this); - OnDeactivate(); - /* Notify the ICommDlgBrowser interface */ - OnStateChange(CDBOSC_KILLFOCUS); - break; + case NM_KILLFOCUS: + TRACE("-- NM_KILLFOCUS %p\n", this); + OnDeactivate(); + /* Notify the ICommDlgBrowser interface */ + OnStateChange(CDBOSC_KILLFOCUS); + break; - case NM_CUSTOMDRAW: - TRACE("-- NM_CUSTOMDRAW %p\n", this); - return CDRF_DODEFAULT; + case NM_CUSTOMDRAW: + TRACE("-- NM_CUSTOMDRAW %p\n", this); + return CDRF_DODEFAULT; - case NM_RELEASEDCAPTURE: - TRACE("-- NM_RELEASEDCAPTURE %p\n", this); - break; + case NM_RELEASEDCAPTURE: + TRACE("-- NM_RELEASEDCAPTURE %p\n", this); + break; - case NM_CLICK: - TRACE("-- NM_CLICK %p\n", this); - break; + case NM_CLICK: + TRACE("-- NM_CLICK %p\n", this); + break; - case NM_RCLICK: - TRACE("-- NM_RCLICK %p\n", this); - break; + case NM_RCLICK: + TRACE("-- NM_RCLICK %p\n", this); + break; case NM_DBLCLK: TRACE("-- NM_DBLCLK %p\n", this); @@ -1642,56 +1642,56 @@ LRESULT CDefView::OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandl if (OnDefaultCommand() != S_OK) OpenSelectedItems(); break; - case HDN_ENDTRACKW: - TRACE("-- HDN_ENDTRACKW %p\n", this); - /*nColumn1 = ListView_GetColumnWidth(hWndList, 0); - nColumn2 = ListView_GetColumnWidth(hWndList, 1);*/ - break; + case HDN_ENDTRACKW: + TRACE("-- HDN_ENDTRACKW %p\n", this); + /*nColumn1 = ListView_GetColumnWidth(hWndList, 0); + nColumn2 = ListView_GetColumnWidth(hWndList, 1);*/ + break; - case LVN_DELETEITEM: - TRACE("-- LVN_DELETEITEM %p\n", this); - SHFree((LPITEMIDLIST)lpnmlv->lParam); /*delete the pidl because we made a copy of it*/ - break; + case LVN_DELETEITEM: + TRACE("-- LVN_DELETEITEM %p\n", this); + SHFree((LPITEMIDLIST)lpnmlv->lParam); /*delete the pidl because we made a copy of it*/ + break; - case LVN_DELETEALLITEMS: - TRACE("-- LVN_DELETEALLITEMS %p\n", this); - return FALSE; + case LVN_DELETEALLITEMS: + TRACE("-- LVN_DELETEALLITEMS %p\n", this); + return FALSE; - case LVN_INSERTITEM: - TRACE("-- LVN_INSERTITEM (STUB)%p\n", this); - break; + case LVN_INSERTITEM: + TRACE("-- LVN_INSERTITEM (STUB)%p\n", this); + break; - case LVN_ITEMACTIVATE: - TRACE("-- LVN_ITEMACTIVATE %p\n", this); - OnStateChange(CDBOSC_SELCHANGE); /* the browser will get the IDataObject now */ - break; + case LVN_ITEMACTIVATE: + TRACE("-- LVN_ITEMACTIVATE %p\n", this); + OnStateChange(CDBOSC_SELCHANGE); /* the browser will get the IDataObject now */ + break; - case LVN_COLUMNCLICK: - ListViewSortInfo.nHeaderID = lpnmlv->iSubItem; - if (ListViewSortInfo.nLastHeaderID == ListViewSortInfo.nHeaderID) - { - ListViewSortInfo.bIsAscending = !ListViewSortInfo.bIsAscending; - } - else - { - ListViewSortInfo.bIsAscending = TRUE; - } - ListViewSortInfo.nLastHeaderID = ListViewSortInfo.nHeaderID; + case LVN_COLUMNCLICK: + ListViewSortInfo.nHeaderID = lpnmlv->iSubItem; + if (ListViewSortInfo.nLastHeaderID == ListViewSortInfo.nHeaderID) + { + ListViewSortInfo.bIsAscending = !ListViewSortInfo.bIsAscending; + } + else + { + ListViewSortInfo.bIsAscending = TRUE; + } + ListViewSortInfo.nLastHeaderID = ListViewSortInfo.nHeaderID; - SendMessageW(lpnmlv->hdr.hwndFrom, LVM_SORTITEMS, (WPARAM) &ListViewSortInfo, (LPARAM)ListViewCompareItems); - break; + SendMessageW(lpnmlv->hdr.hwndFrom, LVM_SORTITEMS, (WPARAM) &ListViewSortInfo, (LPARAM)ListViewCompareItems); + break; - case LVN_GETDISPINFOA: + case LVN_GETDISPINFOA: case LVN_GETDISPINFOW: - TRACE("-- LVN_GETDISPINFO %p\n", this); - pidl = (LPITEMIDLIST)lpdi->item.lParam; + TRACE("-- LVN_GETDISPINFO %p\n", this); + pidl = (LPITEMIDLIST)lpdi->item.lParam; - if (lpdi->item.mask & LVIF_TEXT) /* text requested */ - { - if (pSF2Parent) - { - SHELLDETAILS sd; - pSF2Parent->GetDetailsOf(pidl, lpdi->item.iSubItem, &sd); + if (lpdi->item.mask & LVIF_TEXT) /* text requested */ + { + if (pSF2Parent) + { + SHELLDETAILS sd; + pSF2Parent->GetDetailsOf(pidl, lpdi->item.iSubItem, &sd); if (lpnmh->code == LVN_GETDISPINFOA) { /* shouldn't happen */ @@ -1704,109 +1704,109 @@ LRESULT CDefView::OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandl StrRetToStrNW( lpdi->item.pszText, lpdi->item.cchTextMax, &sd.str, NULL); TRACE("-- text=%s\n",debugstr_w(lpdi->item.pszText)); } - } - else - { - FIXME("no SF2\n"); - } - } - if(lpdi->item.mask & LVIF_IMAGE) /* image requested */ - { - lpdi->item.iImage = SHMapPIDLToSystemImageListIndex(pSFParent, pidl, 0); - } - lpdi->item.mask |= LVIF_DI_SETITEM; - break; + } + else + { + FIXME("no SF2\n"); + } + } + if(lpdi->item.mask & LVIF_IMAGE) /* image requested */ + { + lpdi->item.iImage = SHMapPIDLToSystemImageListIndex(pSFParent, pidl, 0); + } + lpdi->item.mask |= LVIF_DI_SETITEM; + break; - case LVN_ITEMCHANGED: - TRACE("-- LVN_ITEMCHANGED %p\n", this); - OnStateChange(CDBOSC_SELCHANGE); /* the browser will get the IDataObject now */ - break; + case LVN_ITEMCHANGED: + TRACE("-- LVN_ITEMCHANGED %p\n", this); + OnStateChange(CDBOSC_SELCHANGE); /* the browser will get the IDataObject now */ + break; - case LVN_BEGINDRAG: - case LVN_BEGINRDRAG: - TRACE("-- LVN_BEGINDRAG\n"); + case LVN_BEGINDRAG: + case LVN_BEGINRDRAG: + TRACE("-- LVN_BEGINDRAG\n"); - if (GetSelections()) - { - IDataObject * pda; - DWORD dwAttributes = SFGAO_CANLINK; - DWORD dwEffect = DROPEFFECT_COPY | DROPEFFECT_MOVE; + if (GetSelections()) + { + IDataObject * pda; + DWORD dwAttributes = SFGAO_CANLINK; + DWORD dwEffect = DROPEFFECT_COPY | DROPEFFECT_MOVE; - if (SUCCEEDED(pSFParent->GetUIObjectOf(m_hWnd, cidl, (LPCITEMIDLIST*)apidl, IID_IDataObject,0,(LPVOID *)&pda))) - { - IDropSource * pds = (IDropSource *)this; /* own DropSource interface */ + if (SUCCEEDED(pSFParent->GetUIObjectOf(m_hWnd, cidl, (LPCITEMIDLIST*)apidl, IID_IDataObject,0,(LPVOID *)&pda))) + { + IDropSource * pds = (IDropSource *)this; /* own DropSource interface */ - if (SUCCEEDED(pSFParent->GetAttributesOf(cidl, (LPCITEMIDLIST*)apidl, &dwAttributes))) - { - if (dwAttributes & SFGAO_CANLINK) - { - dwEffect |= DROPEFFECT_LINK; - } - } + if (SUCCEEDED(pSFParent->GetAttributesOf(cidl, (LPCITEMIDLIST*)apidl, &dwAttributes))) + { + if (dwAttributes & SFGAO_CANLINK) + { + dwEffect |= DROPEFFECT_LINK; + } + } - if (pds) - { - DWORD dwEffect2; - DoDragDrop(pda, pds, dwEffect, &dwEffect2); - } - pda->Release(); - } - } - break; + if (pds) + { + DWORD dwEffect2; + DoDragDrop(pda, pds, dwEffect, &dwEffect2); + } + pda->Release(); + } + } + break; - case LVN_BEGINLABELEDITW: - { - DWORD dwAttr = SFGAO_CANRENAME; - pidl = (LPITEMIDLIST)lpdi->item.lParam; + case LVN_BEGINLABELEDITW: + { + DWORD dwAttr = SFGAO_CANRENAME; + pidl = (LPITEMIDLIST)lpdi->item.lParam; - TRACE("-- LVN_BEGINLABELEDITW %p\n", this); + TRACE("-- LVN_BEGINLABELEDITW %p\n", this); - pSFParent->GetAttributesOf(1, (LPCITEMIDLIST*)&pidl, &dwAttr); - if (SFGAO_CANRENAME & dwAttr) - { - return FALSE; - } - return TRUE; - } + pSFParent->GetAttributesOf(1, (LPCITEMIDLIST*)&pidl, &dwAttr); + if (SFGAO_CANRENAME & dwAttr) + { + return FALSE; + } + return TRUE; + } - case LVN_ENDLABELEDITW: - { - TRACE("-- LVN_ENDLABELEDITW %p\n", this); - if (lpdi->item.pszText) - { - HRESULT hr; - LVITEMW lvItem; + case LVN_ENDLABELEDITW: + { + TRACE("-- LVN_ENDLABELEDITW %p\n", this); + if (lpdi->item.pszText) + { + HRESULT hr; + LVITEMW lvItem; - lvItem.iItem = lpdi->item.iItem; - lvItem.iSubItem = 0; - lvItem.mask = LVIF_PARAM; - SendMessageW(hWndList, LVM_GETITEMW, 0, (LPARAM) &lvItem); + lvItem.iItem = lpdi->item.iItem; + lvItem.iSubItem = 0; + lvItem.mask = LVIF_PARAM; + SendMessageW(hWndList, LVM_GETITEMW, 0, (LPARAM) &lvItem); - pidl = (LPITEMIDLIST)lpdi->item.lParam; - hr = pSFParent->SetNameOf(0, pidl, lpdi->item.pszText, SHGDN_INFOLDER, &pidl); + pidl = (LPITEMIDLIST)lpdi->item.lParam; + hr = pSFParent->SetNameOf(0, pidl, lpdi->item.pszText, SHGDN_INFOLDER, &pidl); - if (SUCCEEDED(hr) && pidl) - { - lvItem.mask = LVIF_PARAM; - lvItem.lParam = (LPARAM)pidl; - SendMessageW(hWndList, LVM_SETITEMW, 0, (LPARAM) &lvItem); - + if (SUCCEEDED(hr) && pidl) + { + lvItem.mask = LVIF_PARAM; + lvItem.lParam = (LPARAM)pidl; + SendMessageW(hWndList, LVM_SETITEMW, 0, (LPARAM) &lvItem); + return TRUE; - } - } - + } + } + return FALSE; - } + } - case LVN_KEYDOWN: - { - /* MSG msg; - msg.hwnd = m_hWnd; - msg.message = WM_KEYDOWN; - msg.wParam = plvKeyDown->wVKey; - msg.lParam = 0; - msg.time = 0; - msg.pt = 0;*/ + case LVN_KEYDOWN: + { + /* MSG msg; + msg.hwnd = m_hWnd; + msg.message = WM_KEYDOWN; + msg.wParam = plvKeyDown->wVKey; + msg.lParam = 0; + msg.time = 0; + msg.pt = 0;*/ LPNMLVKEYDOWN plvKeyDown = (LPNMLVKEYDOWN) lpnmh; SHORT ctrl = GetKeyState(VK_CONTROL) & 0x8000; @@ -1828,52 +1828,52 @@ LRESULT CDefView::OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandl } } #if 0 - TranslateAccelerator(m_hWnd, hAccel, &msg) + TranslateAccelerator(m_hWnd, hAccel, &msg) #endif - else if(plvKeyDown->wVKey == VK_DELETE) + else if(plvKeyDown->wVKey == VK_DELETE) { - UINT i; - int item_index; - LVITEMA item; - LPITEMIDLIST* pItems; - ISFHelper *psfhlp; + UINT i; + int item_index; + LVITEMA item; + LPITEMIDLIST* pItems; + ISFHelper *psfhlp; - pSFParent->QueryInterface(IID_ISFHelper, - (LPVOID*)&psfhlp); + pSFParent->QueryInterface(IID_ISFHelper, + (LPVOID*)&psfhlp); - if (psfhlp == NULL) - break; + if (psfhlp == NULL) + break; - if (!(i = ListView_GetSelectedCount(hWndList))) - break; + if (!(i = ListView_GetSelectedCount(hWndList))) + break; - /* allocate memory for the pidl array */ - pItems = (LPITEMIDLIST *)HeapAlloc(GetProcessHeap(), 0, - sizeof(LPITEMIDLIST) * i); + /* allocate memory for the pidl array */ + pItems = (LPITEMIDLIST *)HeapAlloc(GetProcessHeap(), 0, + sizeof(LPITEMIDLIST) * i); - /* retrieve all selected items */ - i = 0; - item_index = -1; - while (ListView_GetSelectedCount(hWndList) > i) - { - /* get selected item */ - item_index = ListView_GetNextItem(hWndList, - item_index, LVNI_SELECTED); - item.iItem = item_index; - item.mask = LVIF_PARAM; - SendMessageA(hWndList, LVM_GETITEMA, 0, (LPARAM) &item); + /* retrieve all selected items */ + i = 0; + item_index = -1; + while (ListView_GetSelectedCount(hWndList) > i) + { + /* get selected item */ + item_index = ListView_GetNextItem(hWndList, + item_index, LVNI_SELECTED); + item.iItem = item_index; + item.mask = LVIF_PARAM; + SendMessageA(hWndList, LVM_GETITEMA, 0, (LPARAM) &item); - /* get item pidl */ - pItems[i] = (LPITEMIDLIST)item.lParam; + /* get item pidl */ + pItems[i] = (LPITEMIDLIST)item.lParam; - i++; - } + i++; + } - /* perform the item deletion */ - psfhlp->DeleteItems(i, (LPCITEMIDLIST*)pItems); + /* perform the item deletion */ + psfhlp->DeleteItems(i, (LPCITEMIDLIST*)pItems); - /* free pidl array memory */ - HeapFree(GetProcessHeap(), 0, pItems); + /* free pidl array memory */ + HeapFree(GetProcessHeap(), 0, pItems); } /* Initiate a refresh */ else if (plvKeyDown->wVKey == VK_F5) @@ -2015,18 +2015,18 @@ LRESULT CDefView::OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandl TRACE("paste end hr %x\n", hr); break; - } + } else FIXME("LVN_KEYDOWN key=0x%08x\n",plvKeyDown->wVKey); } break; - default: - TRACE("-- %p WM_COMMAND %x unhandled\n", this, lpnmh->code); - break; - } + default: + TRACE("-- %p WM_COMMAND %x unhandled\n", this, lpnmh->code); + break; + } - return 0; + return 0; } /********************************************************** @@ -2034,34 +2034,34 @@ LRESULT CDefView::OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandl */ LRESULT CDefView::OnChangeNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - LPITEMIDLIST *Pidls; + LPITEMIDLIST *Pidls; - Pidls = (LPITEMIDLIST *)wParam; + Pidls = (LPITEMIDLIST *)wParam; - TRACE("(%p)(%p,%p,0x%08x)\n", this, Pidls[0], Pidls[1], lParam); + TRACE("(%p)(%p,%p,0x%08x)\n", this, Pidls[0], Pidls[1], lParam); - switch (lParam) - { - case SHCNE_MKDIR: - case SHCNE_CREATE: - LV_AddItem(Pidls[0]); - break; + switch (lParam) + { + case SHCNE_MKDIR: + case SHCNE_CREATE: + LV_AddItem(Pidls[0]); + break; - case SHCNE_RMDIR: - case SHCNE_DELETE: - LV_DeleteItem(Pidls[0]); - break; + case SHCNE_RMDIR: + case SHCNE_DELETE: + LV_DeleteItem(Pidls[0]); + break; - case SHCNE_RENAMEFOLDER: - case SHCNE_RENAMEITEM: - LV_RenameItem(Pidls[0], Pidls[1]); - break; + case SHCNE_RENAMEFOLDER: + case SHCNE_RENAMEITEM: + LV_RenameItem(Pidls[0], Pidls[1]); + break; - case SHCNE_UPDATEITEM: - break; - } + case SHCNE_UPDATEITEM: + break; + } - return TRUE; + return TRUE; } /********************************************************** @@ -2096,18 +2096,18 @@ LRESULT CDefView::OnCustomItem(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bH */ HRESULT WINAPI CDefView::GetWindow(HWND *phWnd) { - TRACE("(%p)\n",this); + TRACE("(%p)\n",this); - *phWnd = m_hWnd; + *phWnd = m_hWnd; - return S_OK; + return S_OK; } HRESULT WINAPI CDefView::ContextSensitiveHelp(BOOL fEnterMode) { - FIXME("(%p) stub\n",this); + FIXME("(%p) stub\n",this); - return E_NOTIMPL; + return E_NOTIMPL; } /********************************************************** @@ -2119,320 +2119,320 @@ HRESULT WINAPI CDefView::ContextSensitiveHelp(BOOL fEnterMode) HRESULT WINAPI CDefView::TranslateAccelerator(LPMSG lpmsg) { #if 0 - FIXME("(%p)->(%p: hwnd=%x msg=%x lp=%x wp=%x) stub\n",this,lpmsg, lpmsg->hwnd, lpmsg->message, lpmsg->lParam, lpmsg->wParam); + FIXME("(%p)->(%p: hwnd=%x msg=%x lp=%x wp=%x) stub\n",this,lpmsg, lpmsg->hwnd, lpmsg->message, lpmsg->lParam, lpmsg->wParam); #endif - if (lpmsg->message >= WM_KEYFIRST && lpmsg->message >= WM_KEYLAST) - { + if (lpmsg->message >= WM_KEYFIRST && lpmsg->message >= WM_KEYLAST) + { TRACE("-- key=0x04%lx\n",lpmsg->wParam) ; - } + } - return S_FALSE; /* not handled */ + return S_FALSE; /* not handled */ } HRESULT WINAPI CDefView::EnableModeless(BOOL fEnable) { - FIXME("(%p) stub\n",this); + FIXME("(%p) stub\n",this); - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT WINAPI CDefView::UIActivate(UINT uState) { /* - CHAR szName[MAX_PATH]; + CHAR szName[MAX_PATH]; */ - LRESULT lResult; - int nPartArray[1] = {-1}; + LRESULT lResult; + int nPartArray[1] = {-1}; - TRACE("(%p)->(state=%x) stub\n",this, uState); + TRACE("(%p)->(state=%x) stub\n",this, uState); - /*don't do anything if the state isn't really changing*/ - if (uState == uState) - { + /*don't do anything if the state isn't really changing*/ + if (uState == uState) + { return S_OK; - } + } - /*OnActivate handles the menu merging and internal state*/ - DoActivate(uState); + /*OnActivate handles the menu merging and internal state*/ + DoActivate(uState); - /*only do This if we are active*/ - if (uState != SVUIA_DEACTIVATE) - { + /*only do This if we are active*/ + if (uState != SVUIA_DEACTIVATE) + { /* - GetFolderPath is not a method of IShellFolder - IShellFolder_GetFolderPath( pSFParent, szName, sizeof(szName) ); + GetFolderPath is not a method of IShellFolder + IShellFolder_GetFolderPath( pSFParent, szName, sizeof(szName) ); */ - /* set the number of parts */ - pShellBrowser->SendControlMsg(FCW_STATUS, SB_SETPARTS, 1, (LPARAM)nPartArray, &lResult); + /* set the number of parts */ + pShellBrowser->SendControlMsg(FCW_STATUS, SB_SETPARTS, 1, (LPARAM)nPartArray, &lResult); - /* set the text for the parts */ + /* set the text for the parts */ /* - pShellBrowser->SendControlMsg(FCW_STATUS, SB_SETTEXTA, 0, (LPARAM)szName, &lResult); + pShellBrowser->SendControlMsg(FCW_STATUS, SB_SETTEXTA, 0, (LPARAM)szName, &lResult); */ - } + } - return S_OK; + return S_OK; } HRESULT WINAPI CDefView::Refresh() { - TRACE("(%p)\n",this); + TRACE("(%p)\n",this); - SendMessageW(hWndList, LVM_DELETEALLITEMS, 0, 0); - FillList(); + SendMessageW(hWndList, LVM_DELETEALLITEMS, 0, 0); + FillList(); - return S_OK; + return S_OK; } HRESULT WINAPI CDefView::CreateViewWindow(IShellView *lpPrevView, LPCFOLDERSETTINGS lpfs, IShellBrowser *psb, RECT *prcView, HWND *phWnd) { - *phWnd = 0; + *phWnd = 0; - TRACE("(%p)->(shlview=%p set=%p shlbrs=%p rec=%p hwnd=%p) incomplete\n",this, lpPrevView,lpfs, psb, prcView, phWnd); + TRACE("(%p)->(shlview=%p set=%p shlbrs=%p rec=%p hwnd=%p) incomplete\n",this, lpPrevView,lpfs, psb, prcView, phWnd); DbgPrint("[shell32, CDefView::CreateViewWindow] Called lpfs = 0x%x, psb = 0x%x\n", lpfs, psb); - if (lpfs != NULL) - TRACE("-- vmode=%x flags=%x\n", lpfs->ViewMode, lpfs->fFlags); - if (prcView != NULL) - TRACE("-- left=%i top=%i right=%i bottom=%i\n", prcView->left, prcView->top, prcView->right, prcView->bottom); + if (lpfs != NULL) + TRACE("-- vmode=%x flags=%x\n", lpfs->ViewMode, lpfs->fFlags); + if (prcView != NULL) + TRACE("-- left=%i top=%i right=%i bottom=%i\n", prcView->left, prcView->top, prcView->right, prcView->bottom); - /* Validate the Shell Browser */ - if (psb == NULL) - return E_UNEXPECTED; + /* Validate the Shell Browser */ + if (psb == NULL) + return E_UNEXPECTED; - /*set up the member variables*/ - pShellBrowser = psb; - FolderSettings = *lpfs; + /*set up the member variables*/ + pShellBrowser = psb; + FolderSettings = *lpfs; - /*get our parent window*/ - pShellBrowser->GetWindow(&hWndParent); + /*get our parent window*/ + pShellBrowser->GetWindow(&hWndParent); - /* try to get the ICommDlgBrowserInterface, adds a reference !!! */ - pCommDlgBrowser = NULL; - if (SUCCEEDED(pShellBrowser->QueryInterface(IID_ICommDlgBrowser, (LPVOID *)&pCommDlgBrowser))) - { - TRACE("-- CommDlgBrowser\n"); - } + /* try to get the ICommDlgBrowserInterface, adds a reference !!! */ + pCommDlgBrowser = NULL; + if (SUCCEEDED(pShellBrowser->QueryInterface(IID_ICommDlgBrowser, (LPVOID *)&pCommDlgBrowser))) + { + TRACE("-- CommDlgBrowser\n"); + } DbgPrint("[shell32, CDefView::CreateViewWindow] About to call the create function\n"); - Create(hWndParent, prcView, NULL, WS_CHILD | WS_TABSTOP, 0, 0U); - if (m_hWnd == NULL) - return E_FAIL; + Create(hWndParent, prcView, NULL, WS_CHILD | WS_TABSTOP, 0, 0U); + if (m_hWnd == NULL) + return E_FAIL; - *phWnd = m_hWnd; + *phWnd = m_hWnd; - CheckToolbar(); + CheckToolbar(); - if (!*phWnd) - return E_FAIL; + if (!*phWnd) + return E_FAIL; - SetWindowPos(HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW); - UpdateWindow(); + SetWindowPos(HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW); + UpdateWindow(); - return S_OK; + return S_OK; } HRESULT WINAPI CDefView::DestroyViewWindow() { - TRACE("(%p)\n",this); + TRACE("(%p)\n",this); - /*Make absolutely sure all our UI is cleaned up.*/ - UIActivate(SVUIA_DEACTIVATE); + /*Make absolutely sure all our UI is cleaned up.*/ + UIActivate(SVUIA_DEACTIVATE); - if (hMenu) - { + if (hMenu) + { DestroyMenu(hMenu); - } + } - DestroyWindow(); - pShellBrowser.Release(); - pCommDlgBrowser.Release(); + DestroyWindow(); + pShellBrowser.Release(); + pCommDlgBrowser.Release(); - return S_OK; + return S_OK; } HRESULT WINAPI CDefView::GetCurrentInfo(LPFOLDERSETTINGS lpfs) { - TRACE("(%p)->(%p) vmode=%x flags=%x\n",this, lpfs, - FolderSettings.ViewMode, FolderSettings.fFlags); + TRACE("(%p)->(%p) vmode=%x flags=%x\n",this, lpfs, + FolderSettings.ViewMode, FolderSettings.fFlags); - if (!lpfs) + if (!lpfs) return E_INVALIDARG; - *lpfs = FolderSettings; - return NOERROR; + *lpfs = FolderSettings; + return NOERROR; } HRESULT WINAPI CDefView::AddPropertySheetPages(DWORD dwReserved,LPFNADDPROPSHEETPAGE lpfn, LPARAM lparam) { - FIXME("(%p) stub\n",this); + FIXME("(%p) stub\n",this); - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT WINAPI CDefView::SaveViewState() { - FIXME("(%p) stub\n",this); + FIXME("(%p) stub\n",this); - return S_OK; + return S_OK; } HRESULT WINAPI CDefView::SelectItem(LPCITEMIDLIST pidl, UINT uFlags) { - int i; + int i; - TRACE("(%p)->(pidl=%p, 0x%08x) stub\n",this, pidl, uFlags); + TRACE("(%p)->(pidl=%p, 0x%08x) stub\n",this, pidl, uFlags); - i = LV_FindItemByPidl(pidl); + i = LV_FindItemByPidl(pidl); - if (i != -1) - { - LVITEMW lvItem; + if (i != -1) + { + LVITEMW lvItem; - if(uFlags & SVSI_ENSUREVISIBLE) - SendMessageW(hWndList, LVM_ENSUREVISIBLE, i, 0); + if(uFlags & SVSI_ENSUREVISIBLE) + SendMessageW(hWndList, LVM_ENSUREVISIBLE, i, 0); - lvItem.mask = LVIF_STATE; - lvItem.stateMask = LVIS_SELECTED | LVIS_FOCUSED; - lvItem.iItem = 0; - lvItem.iSubItem = 0; + lvItem.mask = LVIF_STATE; + lvItem.stateMask = LVIS_SELECTED | LVIS_FOCUSED; + lvItem.iItem = 0; + lvItem.iSubItem = 0; while (SendMessageW(hWndList, LVM_GETITEMW, 0, (LPARAM) &lvItem)) - { - if (lvItem.iItem == i) - { - if (uFlags & SVSI_SELECT) - lvItem.state |= LVIS_SELECTED; - else - lvItem.state &= ~LVIS_SELECTED; + { + if (lvItem.iItem == i) + { + if (uFlags & SVSI_SELECT) + lvItem.state |= LVIS_SELECTED; + else + lvItem.state &= ~LVIS_SELECTED; - if (uFlags & SVSI_FOCUSED) - lvItem.state &= ~LVIS_FOCUSED; - } - else - { - if (uFlags & SVSI_DESELECTOTHERS) - lvItem.state &= ~LVIS_SELECTED; - } + if (uFlags & SVSI_FOCUSED) + lvItem.state &= ~LVIS_FOCUSED; + } + else + { + if (uFlags & SVSI_DESELECTOTHERS) + lvItem.state &= ~LVIS_SELECTED; + } - SendMessageW(hWndList, LVM_SETITEMW, 0, (LPARAM) &lvItem); - lvItem.iItem++; - } + SendMessageW(hWndList, LVM_SETITEMW, 0, (LPARAM) &lvItem); + lvItem.iItem++; + } - if(uFlags & SVSI_EDIT) - SendMessageW(hWndList, LVM_EDITLABELW, i, 0); - } + if(uFlags & SVSI_EDIT) + SendMessageW(hWndList, LVM_EDITLABELW, i, 0); + } - return S_OK; + return S_OK; } HRESULT WINAPI CDefView::GetItemObject(UINT uItem, REFIID riid, LPVOID *ppvOut) { - HRESULT hr = E_FAIL; + HRESULT hr = E_FAIL; - TRACE("(%p)->(uItem=0x%08x,\n\tIID=%s, ppv=%p)\n",this, uItem, debugstr_guid(&riid), ppvOut); + TRACE("(%p)->(uItem=0x%08x,\n\tIID=%s, ppv=%p)\n",this, uItem, debugstr_guid(&riid), ppvOut); - *ppvOut = NULL; + *ppvOut = NULL; - switch (uItem) - { - case SVGIO_BACKGROUND: - if (IsEqualIID(riid, IID_IContextMenu)) - { - //*ppvOut = ISvBgCm_Constructor(pSFParent, FALSE); - CDefFolderMenu_Create2(NULL, NULL, cidl, (LPCITEMIDLIST*)apidl, pSFParent, NULL, 0, NULL, (IContextMenu**)ppvOut); - if (!ppvOut) - hr = E_OUTOFMEMORY; - } - break; + switch (uItem) + { + case SVGIO_BACKGROUND: + if (IsEqualIID(riid, IID_IContextMenu)) + { + //*ppvOut = ISvBgCm_Constructor(pSFParent, FALSE); + CDefFolderMenu_Create2(NULL, NULL, cidl, (LPCITEMIDLIST*)apidl, pSFParent, NULL, 0, NULL, (IContextMenu**)ppvOut); + if (!ppvOut) + hr = E_OUTOFMEMORY; + } + break; - case SVGIO_SELECTION: - GetSelections(); - hr = pSFParent->GetUIObjectOf(m_hWnd, cidl, (LPCITEMIDLIST*)apidl, riid, 0, ppvOut); - break; - } + case SVGIO_SELECTION: + GetSelections(); + hr = pSFParent->GetUIObjectOf(m_hWnd, cidl, (LPCITEMIDLIST*)apidl, riid, 0, ppvOut); + break; + } - TRACE("-- (%p)->(interface=%p)\n",this, *ppvOut); + TRACE("-- (%p)->(interface=%p)\n",this, *ppvOut); - return hr; + return hr; } HRESULT STDMETHODCALLTYPE CDefView::GetCurrentViewMode(UINT *pViewMode) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CDefView::SetCurrentViewMode(UINT ViewMode) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CDefView::GetFolder(REFIID riid, void **ppv) { - if (pSFParent == NULL) - return E_FAIL; + if (pSFParent == NULL) + return E_FAIL; - return pSFParent->QueryInterface(riid, ppv); + return pSFParent->QueryInterface(riid, ppv); } HRESULT STDMETHODCALLTYPE CDefView::Item(int iItemIndex, LPITEMIDLIST *ppidl) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CDefView::ItemCount(UINT uFlags, int *pcItems) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CDefView::Items(UINT uFlags, REFIID riid, void **ppv) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CDefView::GetSelectionMarkedItem(int *piItem) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CDefView::GetFocusedItem(int *piItem) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CDefView::GetItemPosition(LPCITEMIDLIST pidl, POINT *ppt) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CDefView::GetSpacing(POINT *ppt) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CDefView::GetDefaultSpacing(POINT *ppt) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CDefView::GetAutoArrange() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CDefView::SelectItem(int iItem, DWORD dwFlags) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CDefView::SelectAndPositionItems(UINT cidl, LPCITEMIDLIST *apidl, POINT *apt, DWORD dwFlags) { - return E_NOTIMPL; + return E_NOTIMPL; } /********************************************************** @@ -2462,20 +2462,20 @@ HRESULT WINAPI CDefView::QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLE */ HRESULT WINAPI CDefView::Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) { - FIXME("(%p)->(\n\tTarget GUID:%s Command:0x%08x Opt:0x%08x %p %p)\n", + FIXME("(%p)->(\n\tTarget GUID:%s Command:0x%08x Opt:0x%08x %p %p)\n", this, debugstr_guid(pguidCmdGroup), nCmdID, nCmdexecopt, pvaIn, pvaOut); - if (IsEqualIID(*pguidCmdGroup, CGID_Explorer) && - (nCmdID == 0x29) && - (nCmdexecopt == 4) && pvaOut) - return S_OK; - + if (IsEqualIID(*pguidCmdGroup, CGID_Explorer) && + (nCmdID == 0x29) && + (nCmdexecopt == 4) && pvaOut) + return S_OK; + if (IsEqualIID(*pguidCmdGroup, CGID_ShellDocView) && - (nCmdID == 9) && - (nCmdexecopt == 0)) - return 1; + (nCmdID == 9) && + (nCmdexecopt == 0)) + return 1; - return OLECMDERR_E_UNKNOWNGROUP; + return OLECMDERR_E_UNKNOWNGROUP; } /********************************************************** @@ -2504,11 +2504,11 @@ HRESULT CDefView::drag_notify_subitem(DWORD grfKeyState, POINTL pt, DWORD *pdwEf htinfo.pt.x = pt.x; htinfo.pt.y = pt.y; htinfo.flags = LVHT_ONITEM; - ::ScreenToClient(hWndList, &htinfo.pt); + ::ScreenToClient(hWndList, &htinfo.pt); lResult = SendMessageW(hWndList, LVM_HITTEST, 0, (LPARAM)&htinfo); /* Send WM_*SCROLL messages every 250 ms during drag-scrolling */ - ::GetClientRect(hWndList, &clientRect); + ::GetClientRect(hWndList, &clientRect); if (htinfo.pt.x == ptLastMousePos.x && htinfo.pt.y == ptLastMousePos.y && (htinfo.pt.x < SCROLLAREAWIDTH || htinfo.pt.x > clientRect.right - SCROLLAREAWIDTH || htinfo.pt.y < SCROLLAREAWIDTH || htinfo.pt.y > clientRect.bottom - SCROLLAREAWIDTH )) @@ -2630,21 +2630,21 @@ HRESULT WINAPI CDefView::Drop(IDataObject* pDataObject, DWORD grfKeyState, POINT HRESULT WINAPI CDefView::QueryContinueDrag(BOOL fEscapePressed, DWORD grfKeyState) { - TRACE("(%p)\n",this); + TRACE("(%p)\n",this); - if (fEscapePressed) - return DRAGDROP_S_CANCEL; - else if (!(grfKeyState & MK_LBUTTON) && !(grfKeyState & MK_RBUTTON)) - return DRAGDROP_S_DROP; - else - return NOERROR; + if (fEscapePressed) + return DRAGDROP_S_CANCEL; + else if (!(grfKeyState & MK_LBUTTON) && !(grfKeyState & MK_RBUTTON)) + return DRAGDROP_S_DROP; + else + return NOERROR; } HRESULT WINAPI CDefView::GiveFeedback(DWORD dwEffect) { - TRACE("(%p)\n",this); + TRACE("(%p)\n",this); - return DRAGDROP_S_USEDEFAULTCURSORS; + return DRAGDROP_S_USEDEFAULTCURSORS; } /********************************************************** @@ -2653,99 +2653,99 @@ HRESULT WINAPI CDefView::GiveFeedback(DWORD dwEffect) HRESULT WINAPI CDefView::Draw(DWORD dwDrawAspect, LONG lindex, void *pvAspect, DVTARGETDEVICE *ptd, HDC hdcTargetDev, HDC hdcDraw, LPCRECTL lprcBounds, LPCRECTL lprcWBounds, BOOL (CALLBACK *pfnContinue)(ULONG_PTR dwContinue), ULONG_PTR dwContinue) { - FIXME("Stub: this=%p\n",this); + FIXME("Stub: this=%p\n",this); - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT WINAPI CDefView::GetColorSet(DWORD dwDrawAspect, LONG lindex, void *pvAspect, DVTARGETDEVICE *ptd, HDC hicTargetDevice, LOGPALETTE **ppColorSet) { - FIXME("Stub: this=%p\n",this); + FIXME("Stub: this=%p\n",this); - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT WINAPI CDefView::Freeze(DWORD dwDrawAspect, LONG lindex, void *pvAspect, DWORD *pdwFreeze) { - FIXME("Stub: this=%p\n",this); + FIXME("Stub: this=%p\n",this); - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT WINAPI CDefView::Unfreeze(DWORD dwFreeze) { - FIXME("Stub: this=%p\n",this); + FIXME("Stub: this=%p\n",this); - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT WINAPI CDefView::SetAdvise(DWORD aspects, DWORD advf, IAdviseSink *pAdvSink) { - FIXME("partial stub: %p %08x %08x %p\n", this, aspects, advf, pAdvSink); + FIXME("partial stub: %p %08x %08x %p\n", this, aspects, advf, pAdvSink); - /* FIXME: we set the AdviseSink, but never use it to send any advice */ - pAdvSink = pAdvSink; - dwAspects = aspects; - dwAdvf = advf; + /* FIXME: we set the AdviseSink, but never use it to send any advice */ + pAdvSink = pAdvSink; + dwAspects = aspects; + dwAdvf = advf; - return S_OK; + return S_OK; } HRESULT WINAPI CDefView::GetAdvise(DWORD *pAspects, DWORD *pAdvf, IAdviseSink **ppAdvSink) { - TRACE("this=%p pAspects=%p pAdvf=%p ppAdvSink=%p\n", this, pAspects, pAdvf, ppAdvSink); + TRACE("this=%p pAspects=%p pAdvf=%p ppAdvSink=%p\n", this, pAspects, pAdvf, ppAdvSink); - if (ppAdvSink) - { - *ppAdvSink = pAdvSink; - pAdvSink.p->AddRef(); - } + if (ppAdvSink) + { + *ppAdvSink = pAdvSink; + pAdvSink.p->AddRef(); + } - if (pAspects) - *pAspects = dwAspects; + if (pAspects) + *pAspects = dwAspects; - if (pAdvf) - *pAdvf = dwAdvf; + if (pAdvf) + *pAdvf = dwAdvf; - return S_OK; + return S_OK; } HRESULT STDMETHODCALLTYPE CDefView::QueryService(REFGUID guidService, REFIID riid, void **ppvObject) { - if (IsEqualIID(guidService, SID_IShellBrowser)) - return pShellBrowser->QueryInterface(riid, ppvObject); - return E_NOINTERFACE; + if (IsEqualIID(guidService, SID_IShellBrowser)) + return pShellBrowser->QueryInterface(riid, ppvObject); + return E_NOINTERFACE; } /********************************************************** - * IShellView_Constructor + * IShellView_Constructor */ HRESULT WINAPI IShellView_Constructor(IShellFolder *pFolder, IShellView **newView) { - CComObject *theView; - CComPtr result; - HRESULT hResult; + CComObject *theView; + CComPtr result; + HRESULT hResult; - if (newView == NULL) - return E_POINTER; - + if (newView == NULL) + return E_POINTER; + *newView = NULL; - ATLTRY (theView = new CComObject); - + ATLTRY (theView = new CComObject); + if (theView == NULL) - return E_OUTOFMEMORY; - + return E_OUTOFMEMORY; + hResult = theView->QueryInterface (IID_IShellView, (void **)&result); - if (FAILED (hResult)) - { - delete theView; - return hResult; - } - + if (FAILED (hResult)) + { + delete theView; + return hResult; + } + hResult = theView->Initialize (pFolder); - if (FAILED (hResult)) - return hResult; - *newView = result.Detach (); - + if (FAILED (hResult)) + return hResult; + *newView = result.Detach (); + return S_OK; } diff --git a/dll/win32/shell32/shpolicy.cpp b/dll/win32/shell32/shpolicy.cpp index 965118e0cf1..88e487c5207 100644 --- a/dll/win32/shell32/shpolicy.cpp +++ b/dll/win32/shell32/shpolicy.cpp @@ -790,7 +790,7 @@ static POLICYDATA sh32_policy_table[] = }; /************************************************************************* - * SHRestricted [SHELL32.100] + * SHRestricted [SHELL32.100] * * Get the value associated with a policy Id. * @@ -812,51 +812,51 @@ static POLICYDATA sh32_policy_table[] = */ DWORD WINAPI SHRestricted (RESTRICTIONS policy) { - char regstr[256]; - HKEY xhkey; - DWORD retval, datsize = 4; - LPPOLICYDATA p; + char regstr[256]; + HKEY xhkey; + DWORD retval, datsize = 4; + LPPOLICYDATA p; - TRACE("(%08x)\n", policy); + TRACE("(%08x)\n", policy); - /* scan to see if we know this policy ID */ - for (p = sh32_policy_table; p->policy; p++) - { - if (policy == p->policy) - { - break; - } - } + /* scan to see if we know this policy ID */ + for (p = sh32_policy_table; p->policy; p++) + { + if (policy == p->policy) + { + break; + } + } - if (p->policy == 0) - { - /* we don't know this policy, return 0 */ - TRACE("unknown policy: (%08x)\n", policy); - return 0; - } + if (p->policy == 0) + { + /* we don't know this policy, return 0 */ + TRACE("unknown policy: (%08x)\n", policy); + return 0; + } - /* we have a known policy */ + /* we have a known policy */ - /* first check if this policy has been cached, return it if so */ - if (p->cache != SHELL_NO_POLICY) - { - return p->cache; - } + /* first check if this policy has been cached, return it if so */ + if (p->cache != SHELL_NO_POLICY) + { + return p->cache; + } - lstrcpyA(regstr, strRegistryPolicyA); - lstrcatA(regstr, p->appstr); + lstrcpyA(regstr, strRegistryPolicyA); + lstrcatA(regstr, p->appstr); - /* return 0 and don't set the cache if any registry errors occur */ - retval = 0; - if (RegOpenKeyA(HKEY_CURRENT_USER, regstr, &xhkey) == ERROR_SUCCESS) - { - if (RegQueryValueExA(xhkey, p->keystr, NULL, NULL, (LPBYTE)&retval, &datsize) == ERROR_SUCCESS) - { - p->cache = retval; - } - RegCloseKey(xhkey); - } - return retval; + /* return 0 and don't set the cache if any registry errors occur */ + retval = 0; + if (RegOpenKeyA(HKEY_CURRENT_USER, regstr, &xhkey) == ERROR_SUCCESS) + { + if (RegQueryValueExA(xhkey, p->keystr, NULL, NULL, (LPBYTE)&retval, &datsize) == ERROR_SUCCESS) + { + p->cache = retval; + } + RegCloseKey(xhkey); + } + return retval; } /************************************************************************* @@ -878,28 +878,28 @@ DWORD WINAPI SHRestricted (RESTRICTIONS policy) */ BOOL WINAPI SHInitRestricted(LPCVOID unused, LPCVOID inpRegKey) { - TRACE("(%p, %p)\n", unused, inpRegKey); + TRACE("(%p, %p)\n", unused, inpRegKey); - /* first check - if input is non-NULL and points to the secret - key string, then pass. Otherwise return 0. - */ - if (inpRegKey != NULL) - { - if (SHELL_OsIsUnicode()) - { - if (lstrcmpiW((LPCWSTR)inpRegKey, strRegistryPolicyW) && - lstrcmpiW((LPCWSTR)inpRegKey, strPolicyW)) - /* doesn't match, fail */ - return 0; - } - else - { - if (lstrcmpiA((LPCSTR)inpRegKey, strRegistryPolicyA) && - lstrcmpiA((LPCSTR)inpRegKey, strPolicyA)) - /* doesn't match, fail */ - return 0; - } - } + /* first check - if input is non-NULL and points to the secret + key string, then pass. Otherwise return 0. + */ + if (inpRegKey != NULL) + { + if (SHELL_OsIsUnicode()) + { + if (lstrcmpiW((LPCWSTR)inpRegKey, strRegistryPolicyW) && + lstrcmpiW((LPCWSTR)inpRegKey, strPolicyW)) + /* doesn't match, fail */ + return 0; + } + else + { + if (lstrcmpiA((LPCSTR)inpRegKey, strRegistryPolicyA) && + lstrcmpiA((LPCSTR)inpRegKey, strPolicyA)) + /* doesn't match, fail */ + return 0; + } + } - return TRUE; + return TRUE; } diff --git a/dll/win32/shell32/shv_def_cmenu.cpp b/dll/win32/shell32/shv_def_cmenu.cpp index 3237f04d3a7..b50c1c1cb2f 100644 --- a/dll/win32/shell32/shv_def_cmenu.cpp +++ b/dll/win32/shell32/shv_def_cmenu.cpp @@ -9,10 +9,10 @@ /* TODO: 1. In DoStaticShellExtensions, check for "Explore" and "Open" verbs, and for BrowserFlags or - ExplorerFlags under those entries. These flags indicate if we should browse to the new item - instead of attempting to open it. + ExplorerFlags under those entries. These flags indicate if we should browse to the new item + instead of attempting to open it. 2. The code in NotifyShellViewWindow to deliver commands to the view is broken. It is an excellent - example of the wrong way to do it. + example of the wrong way to do it. */ #include @@ -38,8 +38,8 @@ typedef struct _StaticShellEntry_ WCHAR *build_paths_list(LPCWSTR wszBasePath, int cidl, LPCITEMIDLIST *pidls); class IDefaultContextMenuImpl : - public CComObjectRootEx, - public IContextMenu2 + public CComObjectRootEx, + public IContextMenu2 { private: DEFCONTEXTMENU dcm; @@ -52,55 +52,55 @@ private: UINT iIdSCMFirst; /* first static used id */ UINT iIdSCMLast; /* last static used id */ public: - IDefaultContextMenuImpl(); - ~IDefaultContextMenuImpl(); - HRESULT WINAPI Initialize(const DEFCONTEXTMENU *pdcm); - void SH_AddStaticEntry(const WCHAR *szVerb, const WCHAR *szClass); - void SH_AddStaticEntryForKey(HKEY hKey, const WCHAR *szClass); - void SH_AddStaticEntryForFileClass(const WCHAR *szExt); - BOOL IsShellExtensionAlreadyLoaded(const CLSID *szClass); - HRESULT SH_LoadDynamicContextMenuHandler(HKEY hKey, const CLSID *szClass, BOOL bExternalInit); - UINT EnumerateDynamicContextHandlerForKey(HKEY hRootKey); - UINT InsertMenuItemsOfDynamicContextMenuExtension(HMENU hMenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast); - UINT BuildBackgroundContextMenu(HMENU hMenu, UINT iIdCmdFirst, UINT iIdCmdLast, UINT uFlags); - UINT AddStaticContextMenusToMenu(HMENU hMenu, UINT indexMenu); - UINT BuildShellItemContextMenu(HMENU hMenu, UINT iIdCmdFirst, UINT iIdCmdLast, UINT uFlags); - HRESULT DoPaste(LPCMINVOKECOMMANDINFO lpcmi); - HRESULT DoOpenOrExplore(LPCMINVOKECOMMANDINFO lpcmi); - HRESULT DoCreateLink(LPCMINVOKECOMMANDINFO lpcmi); - HRESULT DoDelete(LPCMINVOKECOMMANDINFO lpcmi); - HRESULT DoCopyOrCut(LPCMINVOKECOMMANDINFO lpcmi, BOOL bCopy); - HRESULT DoRename(LPCMINVOKECOMMANDINFO lpcmi); - HRESULT DoProperties(LPCMINVOKECOMMANDINFO lpcmi); - HRESULT DoFormat(LPCMINVOKECOMMANDINFO lpcmi); - HRESULT DoDynamicShellExtensions(LPCMINVOKECOMMANDINFO lpcmi); - HRESULT DoStaticShellExtensions(LPCMINVOKECOMMANDINFO lpcmi); + IDefaultContextMenuImpl(); + ~IDefaultContextMenuImpl(); + HRESULT WINAPI Initialize(const DEFCONTEXTMENU *pdcm); + void SH_AddStaticEntry(const WCHAR *szVerb, const WCHAR *szClass); + void SH_AddStaticEntryForKey(HKEY hKey, const WCHAR *szClass); + void SH_AddStaticEntryForFileClass(const WCHAR *szExt); + BOOL IsShellExtensionAlreadyLoaded(const CLSID *szClass); + HRESULT SH_LoadDynamicContextMenuHandler(HKEY hKey, const CLSID *szClass, BOOL bExternalInit); + UINT EnumerateDynamicContextHandlerForKey(HKEY hRootKey); + UINT InsertMenuItemsOfDynamicContextMenuExtension(HMENU hMenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast); + UINT BuildBackgroundContextMenu(HMENU hMenu, UINT iIdCmdFirst, UINT iIdCmdLast, UINT uFlags); + UINT AddStaticContextMenusToMenu(HMENU hMenu, UINT indexMenu); + UINT BuildShellItemContextMenu(HMENU hMenu, UINT iIdCmdFirst, UINT iIdCmdLast, UINT uFlags); + HRESULT DoPaste(LPCMINVOKECOMMANDINFO lpcmi); + HRESULT DoOpenOrExplore(LPCMINVOKECOMMANDINFO lpcmi); + HRESULT DoCreateLink(LPCMINVOKECOMMANDINFO lpcmi); + HRESULT DoDelete(LPCMINVOKECOMMANDINFO lpcmi); + HRESULT DoCopyOrCut(LPCMINVOKECOMMANDINFO lpcmi, BOOL bCopy); + HRESULT DoRename(LPCMINVOKECOMMANDINFO lpcmi); + HRESULT DoProperties(LPCMINVOKECOMMANDINFO lpcmi); + HRESULT DoFormat(LPCMINVOKECOMMANDINFO lpcmi); + HRESULT DoDynamicShellExtensions(LPCMINVOKECOMMANDINFO lpcmi); + HRESULT DoStaticShellExtensions(LPCMINVOKECOMMANDINFO lpcmi); - // IContextMenu - virtual HRESULT WINAPI QueryContextMenu(HMENU hMenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags); - virtual HRESULT WINAPI InvokeCommand(LPCMINVOKECOMMANDINFO lpcmi); - virtual HRESULT WINAPI GetCommandString(UINT_PTR idCommand,UINT uFlags, UINT *lpReserved, LPSTR lpszName, UINT uMaxNameLen); + // IContextMenu + virtual HRESULT WINAPI QueryContextMenu(HMENU hMenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags); + virtual HRESULT WINAPI InvokeCommand(LPCMINVOKECOMMANDINFO lpcmi); + virtual HRESULT WINAPI GetCommandString(UINT_PTR idCommand,UINT uFlags, UINT *lpReserved, LPSTR lpszName, UINT uMaxNameLen); - // IContextMenu2 - virtual HRESULT WINAPI HandleMenuMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); + // IContextMenu2 + virtual HRESULT WINAPI HandleMenuMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); BEGIN_COM_MAP(IDefaultContextMenuImpl) - COM_INTERFACE_ENTRY_IID(IID_IContextMenu, IContextMenu) - COM_INTERFACE_ENTRY_IID(IID_IContextMenu2, IContextMenu2) + COM_INTERFACE_ENTRY_IID(IID_IContextMenu, IContextMenu) + COM_INTERFACE_ENTRY_IID(IID_IContextMenu2, IContextMenu2) END_COM_MAP() }; IDefaultContextMenuImpl::IDefaultContextMenuImpl() { - memset (&dcm, 0, sizeof(dcm)); - pDataObj = NULL; - bGroupPolicyActive = 0; - dhead = NULL; - iIdSHEFirst = 0; - iIdSHELast = 0; - shead = NULL; - iIdSCMFirst = 0; - iIdSCMLast = 0; + memset (&dcm, 0, sizeof(dcm)); + pDataObj = NULL; + bGroupPolicyActive = 0; + dhead = NULL; + iIdSHEFirst = 0; + iIdSHELast = 0; + shead = NULL; + iIdSCMFirst = 0; + iIdSCMLast = 0; } IDefaultContextMenuImpl::~IDefaultContextMenuImpl() @@ -108,7 +108,7 @@ IDefaultContextMenuImpl::~IDefaultContextMenuImpl() PDynamicShellEntry dEntry, dNext; PStaticShellEntry sEntry, sNext; - /* free dynamic shell extension entries */ + /* free dynamic shell extension entries */ dEntry = dhead; while (dEntry) { @@ -262,23 +262,23 @@ IDefaultContextMenuImpl::SH_AddStaticEntryForFileClass(const WCHAR * szExt) } } - wcscpy(szBuffer, szShellAssoc); - dwBuffer = sizeof(szBuffer) - sizeof(szShellAssoc) - sizeof(WCHAR); - result = RegGetValueW(HKEY_CLASSES_ROOT, szExt, L"PerceivedType", RRF_RT_REG_SZ, NULL, (LPBYTE)&szBuffer[_countof(szShellAssoc) - 1], &dwBuffer); - if (result == ERROR_SUCCESS) - { - Length = wcslen(&szBuffer[_countof(szShellAssoc)]) + _countof(szShellAssoc); - wcscat(szBuffer, L"\\shell"); - TRACE("szBuffer %s\n", debugstr_w(szBuffer)); + wcscpy(szBuffer, szShellAssoc); + dwBuffer = sizeof(szBuffer) - sizeof(szShellAssoc) - sizeof(WCHAR); + result = RegGetValueW(HKEY_CLASSES_ROOT, szExt, L"PerceivedType", RRF_RT_REG_SZ, NULL, (LPBYTE)&szBuffer[_countof(szShellAssoc) - 1], &dwBuffer); + if (result == ERROR_SUCCESS) + { + Length = wcslen(&szBuffer[_countof(szShellAssoc)]) + _countof(szShellAssoc); + wcscat(szBuffer, L"\\shell"); + TRACE("szBuffer %s\n", debugstr_w(szBuffer)); - result = RegOpenKeyExW(HKEY_CLASSES_ROOT, szBuffer, 0, KEY_READ | KEY_QUERY_VALUE, &hKey); - if (result == ERROR_SUCCESS) - { - szBuffer[Length] = 0; - SH_AddStaticEntryForKey(hKey, szBuffer); - RegCloseKey(hKey); - } - } + result = RegOpenKeyExW(HKEY_CLASSES_ROOT, szBuffer, 0, KEY_READ | KEY_QUERY_VALUE, &hKey); + if (result == ERROR_SUCCESS) + { + szBuffer[Length] = 0; + SH_AddStaticEntryForKey(hKey, szBuffer); + RegCloseKey(hKey); + } + } } static @@ -300,7 +300,7 @@ HasClipboardData() if(SUCCEEDED(pda->GetData(&formatetc,&medium))) { ret = TRUE; - ReleaseStgMedium(&medium); + ReleaseStgMedium(&medium); } pda->Release(); @@ -643,10 +643,10 @@ IDefaultContextMenuImpl::AddStaticContextMenusToMenu( else if (!wcsicmp(curEntry->szVerb, L"print")) idResource = IDS_PRINT_VERB; else if (!wcsicmp(curEntry->szVerb, L"printto")) - { - curEntry = curEntry->Next; - continue; - } + { + curEntry = curEntry->Next; + continue; + } else idResource = 0; @@ -943,11 +943,11 @@ IDefaultContextMenuImpl::BuildShellItemContextMenu( HRESULT WINAPI IDefaultContextMenuImpl::QueryContextMenu( - HMENU hmenu, - UINT indexMenu, - UINT idCmdFirst, - UINT idCmdLast, - UINT uFlags) + HMENU hmenu, + UINT indexMenu, + UINT idCmdFirst, + UINT idCmdLast, + UINT uFlags) { if (dcm.cidl) { @@ -1154,7 +1154,7 @@ IDefaultContextMenuImpl::DoPaste( HRESULT IDefaultContextMenuImpl::DoOpenOrExplore( - LPCMINVOKECOMMANDINFO lpcmi) + LPCMINVOKECOMMANDINFO lpcmi) { @@ -1249,7 +1249,7 @@ IDefaultContextMenuImpl::DoCreateLink( if (!GetUniqueFileName(szPath, szLnk, szTarget, TRUE)) return E_FAIL; - hr = ShellLink::_CreatorClass::CreateInstance(NULL, IID_IShellLinkW, (void**)&nLink); + hr = ShellLink::_CreatorClass::CreateInstance(NULL, IID_IShellLinkW, (void**)&nLink); if (hr != S_OK) { return E_FAIL; @@ -1425,7 +1425,7 @@ IDefaultContextMenuImpl::DoRename( HRESULT IDefaultContextMenuImpl::DoProperties( - LPCMINVOKECOMMANDINFO lpcmi) + LPCMINVOKECOMMANDINFO lpcmi) { WCHAR szDrive[MAX_PATH]; STRRET strFile; @@ -1569,7 +1569,7 @@ IDefaultContextMenuImpl::DoStaticShellExtensions( HRESULT WINAPI IDefaultContextMenuImpl::InvokeCommand( - LPCMINVOKECOMMANDINFO lpcmi) + LPCMINVOKECOMMANDINFO lpcmi) { switch(LOWORD(lpcmi->lpVerb)) { @@ -1629,11 +1629,11 @@ IDefaultContextMenuImpl::InvokeCommand( HRESULT WINAPI IDefaultContextMenuImpl::GetCommandString( - UINT_PTR idCommand, - UINT uFlags, - UINT* lpReserved, - LPSTR lpszName, - UINT uMaxNameLen) + UINT_PTR idCommand, + UINT uFlags, + UINT* lpReserved, + LPSTR lpszName, + UINT uMaxNameLen) { return S_OK; @@ -1642,9 +1642,9 @@ IDefaultContextMenuImpl::GetCommandString( HRESULT WINAPI IDefaultContextMenuImpl::HandleMenuMsg( - UINT uMsg, - WPARAM wParam, - LPARAM lParam) + UINT uMsg, + WPARAM wParam, + LPARAM lParam) { return S_OK; @@ -1653,45 +1653,45 @@ IDefaultContextMenuImpl::HandleMenuMsg( static HRESULT IDefaultContextMenu_Constructor( - const DEFCONTEXTMENU *pdcm, - REFIID riid, - void **ppv) + const DEFCONTEXTMENU *pdcm, + REFIID riid, + void **ppv) { - CComObject *theContextMenu; - CComPtr result; - HRESULT hResult; + CComObject *theContextMenu; + CComPtr result; + HRESULT hResult; - if (ppv == NULL) - return E_POINTER; - *ppv = NULL; - ATLTRY (theContextMenu = new CComObject); - if (theContextMenu == NULL) - return E_OUTOFMEMORY; - hResult = theContextMenu->QueryInterface (riid, (void **)&result); - if (FAILED (hResult)) - { - delete theContextMenu; - return hResult; - } - hResult = theContextMenu->Initialize (pdcm); - if (FAILED (hResult)) - return hResult; - *ppv = result.Detach (); - TRACE("This(%p)(%x) cidl %u\n", *ppv, hResult, pdcm->cidl); - return S_OK; + if (ppv == NULL) + return E_POINTER; + *ppv = NULL; + ATLTRY (theContextMenu = new CComObject); + if (theContextMenu == NULL) + return E_OUTOFMEMORY; + hResult = theContextMenu->QueryInterface (riid, (void **)&result); + if (FAILED (hResult)) + { + delete theContextMenu; + return hResult; + } + hResult = theContextMenu->Initialize (pdcm); + if (FAILED (hResult)) + return hResult; + *ppv = result.Detach (); + TRACE("This(%p)(%x) cidl %u\n", *ppv, hResult, pdcm->cidl); + return S_OK; } /************************************************************************* - * SHCreateDefaultContextMenu [SHELL32.325] Vista API + * SHCreateDefaultContextMenu [SHELL32.325] Vista API * */ HRESULT WINAPI SHCreateDefaultContextMenu( - const DEFCONTEXTMENU *pdcm, - REFIID riid, - void **ppv) + const DEFCONTEXTMENU *pdcm, + REFIID riid, + void **ppv) { HRESULT hr = E_FAIL; @@ -1703,22 +1703,22 @@ SHCreateDefaultContextMenu( } /************************************************************************* - * CDefFolderMenu_Create2 [SHELL32.701] + * CDefFolderMenu_Create2 [SHELL32.701] * */ HRESULT WINAPI CDefFolderMenu_Create2( - LPCITEMIDLIST pidlFolder, - HWND hwnd, - UINT cidl, - LPCITEMIDLIST *apidl, - IShellFolder *psf, - LPFNDFMCALLBACK lpfn, - UINT nKeys, - const HKEY *ahkeyClsKeys, - IContextMenu **ppcm) + LPCITEMIDLIST pidlFolder, + HWND hwnd, + UINT cidl, + LPCITEMIDLIST *apidl, + IShellFolder *psf, + LPFNDFMCALLBACK lpfn, + UINT nKeys, + const HKEY *ahkeyClsKeys, + IContextMenu **ppcm) { DEFCONTEXTMENU pdcm; HRESULT hr; diff --git a/dll/win32/shell32/shv_item_new.cpp b/dll/win32/shell32/shv_item_new.cpp index a6d82efb5a4..e370ac86133 100644 --- a/dll/win32/shell32/shv_item_new.cpp +++ b/dll/win32/shell32/shv_item_new.cpp @@ -27,7 +27,7 @@ static WCHAR szNew[MAX_PATH]; CNewMenu::CNewMenu() { - s_SnHead = NULL; + s_SnHead = NULL; szPath = NULL; } @@ -331,9 +331,9 @@ CNewMenu::DoShellNewCmd(LPCMINVOKECOMMANDINFO lpcmi) UINT i, target; HANDLE hFile; DWORD dwWritten, dwError; - CComPtr folderView; - CComPtr parentFolder; - HRESULT hResult; + CComPtr folderView; + CComPtr parentFolder; + HRESULT hResult; static const WCHAR szP1[] = { '%', '1', 0 }; static const WCHAR szFormat[] = {'%','s',' ','(','%','d',')','%','s',0 }; @@ -353,14 +353,14 @@ CNewMenu::DoShellNewCmd(LPCMINVOKECOMMANDINFO lpcmi) if (!pCurItem) return E_UNEXPECTED; - if (fSite == NULL) - return E_FAIL; - hResult = IUnknown_QueryService(fSite, SID_IFolderView, IID_IFolderView, (void **)&folderView); - if (FAILED(hResult)) - return hResult; - hResult = folderView->GetFolder(IID_IShellFolder, (void **)&parentFolder); - if (FAILED(hResult)) - return hResult; + if (fSite == NULL) + return E_FAIL; + hResult = IUnknown_QueryService(fSite, SID_IFolderView, IID_IFolderView, (void **)&folderView); + if (FAILED(hResult)) + return hResult; + hResult = folderView->GetFolder(IID_IShellFolder, (void **)&parentFolder); + if (FAILED(hResult)) + return hResult; if (parentFolder->QueryInterface(IID_IPersistFolder2, (LPVOID*)&psf) != S_OK) { @@ -462,8 +462,8 @@ CNewMenu::DoShellNewCmd(LPCMINVOKECOMMANDINFO lpcmi) TRACE("Notifying fs %s\n", debugstr_w(szBuffer)); SHChangeNotify(SHCNE_CREATE, SHCNF_PATHW, (LPCVOID)szBuffer, NULL); break; - case SHELLNEW_TYPE_INVALID: - break; + case SHELLNEW_TYPE_INVALID: + break; } } return S_OK; @@ -548,71 +548,71 @@ CNewMenu::DoDrawItem(HWND hWnd, DRAWITEMSTRUCT * drawItem) * DoNewFolder */ void CNewMenu::DoNewFolder( - IShellView *psv) + IShellView *psv) { - ISFHelper * psfhlp; - WCHAR wszName[MAX_PATH]; - CComPtr folderView; - CComPtr parentFolder; - HRESULT hResult; + ISFHelper * psfhlp; + WCHAR wszName[MAX_PATH]; + CComPtr folderView; + CComPtr parentFolder; + HRESULT hResult; - if (fSite == NULL) - return; - hResult = IUnknown_QueryService(fSite, SID_IFolderView, IID_IFolderView, (void **)&folderView); - if (FAILED(hResult)) - return; - hResult = folderView->GetFolder(IID_IShellFolder, (void **)&parentFolder); - if (FAILED(hResult)) - return; + if (fSite == NULL) + return; + hResult = IUnknown_QueryService(fSite, SID_IFolderView, IID_IFolderView, (void **)&folderView); + if (FAILED(hResult)) + return; + hResult = folderView->GetFolder(IID_IShellFolder, (void **)&parentFolder); + if (FAILED(hResult)) + return; - parentFolder->QueryInterface(IID_ISFHelper, (LPVOID*)&psfhlp); - if (psfhlp) - { - LPITEMIDLIST pidl; + parentFolder->QueryInterface(IID_ISFHelper, (LPVOID*)&psfhlp); + if (psfhlp) + { + LPITEMIDLIST pidl; - if (psfhlp->GetUniqueName(wszName, MAX_PATH) != S_OK) - return; - if (psfhlp->AddFolder(0, wszName, &pidl) != S_OK) - return; + if (psfhlp->GetUniqueName(wszName, MAX_PATH) != S_OK) + return; + if (psfhlp->AddFolder(0, wszName, &pidl) != S_OK) + return; - if(psv) - { + if(psv) + { psv->Refresh(); - /* if we are in a shellview do labeledit */ - psv->SelectItem( + /* if we are in a shellview do labeledit */ + psv->SelectItem( pidl,(SVSI_DESELECTOTHERS | SVSI_EDIT | SVSI_ENSUREVISIBLE |SVSI_FOCUSED|SVSI_SELECT)); psv->Refresh(); - } - SHFree(pidl); + } + SHFree(pidl); - psfhlp->Release(); - } + psfhlp->Release(); + } } HRESULT STDMETHODCALLTYPE CNewMenu::SetSite(IUnknown *pUnkSite) { - fSite = pUnkSite; - return S_OK; + fSite = pUnkSite; + return S_OK; } HRESULT STDMETHODCALLTYPE CNewMenu::GetSite(REFIID riid, void **ppvSite) { - if (ppvSite == NULL) - return E_POINTER; - *ppvSite = fSite; - if (fSite.p != NULL) - fSite.p->AddRef(); - return S_OK; + if (ppvSite == NULL) + return E_POINTER; + *ppvSite = fSite; + if (fSite.p != NULL) + fSite.p->AddRef(); + return S_OK; } HRESULT WINAPI CNewMenu::QueryContextMenu(HMENU hmenu, - UINT indexMenu, - UINT idCmdFirst, - UINT idCmdLast, - UINT uFlags) + UINT indexMenu, + UINT idCmdFirst, + UINT idCmdLast, + UINT uFlags) { WCHAR szBuffer[200]; MENUITEMINFOW mii; @@ -656,13 +656,13 @@ HRESULT WINAPI CNewMenu::InvokeCommand(LPCMINVOKECOMMANDINFO lpici) { - LPSHELLBROWSER lpSB; - LPSHELLVIEW lpSV = NULL; + LPSHELLBROWSER lpSB; + LPSHELLVIEW lpSV = NULL; HRESULT hr; - if((lpSB = (LPSHELLBROWSER)SendMessageA(lpici->hwnd, CWM_GETISHELLBROWSER,0,0))) - { - lpSB->QueryActiveShellView(&lpSV); + if((lpSB = (LPSHELLBROWSER)SendMessageA(lpici->hwnd, CWM_GETISHELLBROWSER,0,0))) + { + lpSB->QueryActiveShellView(&lpSV); } if (LOWORD(lpici->lpVerb) == 0) @@ -698,8 +698,8 @@ CNewMenu::GetCommandString(UINT_PTR idCmd, HRESULT WINAPI CNewMenu::HandleMenuMsg(UINT uMsg, - WPARAM wParam, - LPARAM lParam) + WPARAM wParam, + LPARAM lParam) { DRAWITEMSTRUCT * lpids = (DRAWITEMSTRUCT*) lParam; MEASUREITEMSTRUCT *lpmis = (MEASUREITEMSTRUCT*) lParam; @@ -718,7 +718,7 @@ CNewMenu::HandleMenuMsg(UINT uMsg, } return S_OK; - return E_UNEXPECTED; + return E_UNEXPECTED; } HRESULT WINAPI diff --git a/dll/win32/shell32/startmenu.cpp b/dll/win32/shell32/startmenu.cpp index 9834b36272a..4c22b2b4352 100644 --- a/dll/win32/shell32/startmenu.cpp +++ b/dll/win32/shell32/startmenu.cpp @@ -1,7 +1,7 @@ /* - * Start menu object + * Start menu object * - * Copyright 2009 Andrew Hill + * Copyright 2009 Andrew Hill * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -32,17 +32,17 @@ CStartMenuCallback::~CStartMenuCallback() HRESULT STDMETHODCALLTYPE CStartMenuCallback::SetSite(IUnknown *pUnkSite) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CStartMenuCallback::GetSite(REFIID riid, void **ppvSite) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CStartMenuCallback::CallbackSM(LPSMDATA psmd, UINT uMsg, WPARAM wParam, LPARAM lParam) { - return E_NOTIMPL; + return E_NOTIMPL; } CMenuBandSite::CMenuBandSite() @@ -55,115 +55,115 @@ CMenuBandSite::~CMenuBandSite() HRESULT STDMETHODCALLTYPE CMenuBandSite::GetWindow(HWND *phwnd) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CMenuBandSite::ContextSensitiveHelp(BOOL fEnterMode) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CMenuBandSite::SetDeskBarSite(IUnknown *punkSite) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CMenuBandSite::SetModeDBC(DWORD dwMode) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CMenuBandSite::UIActivateDBC(DWORD dwState) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CMenuBandSite::GetSize(DWORD dwWhich, LPRECT prc) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CMenuBandSite::UIActivateIO(BOOL fActivate, LPMSG lpMsg) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CMenuBandSite::HasFocusIO() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CMenuBandSite::TranslateAcceleratorIO(LPMSG lpMsg) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CMenuBandSite::OnFocusChangeIS(IUnknown *punkObj, BOOL fSetFocus) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CMenuBandSite::OnWinEvent(HWND paramC, UINT param10, WPARAM param14, LPARAM param18, LRESULT *param1C) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CMenuBandSite::IsWindowOwner(HWND paramC) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CMenuBandSite::QueryService(REFGUID guidService, REFIID riid, void **ppvObject) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CMenuBandSite::QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CMenuBandSite::Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CMenuBandSite::AddBand(IUnknown *punk) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CMenuBandSite::EnumBands(UINT uBand, DWORD *pdwBandID) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CMenuBandSite::QueryBand(DWORD dwBandID, IDeskBand **ppstb, DWORD *pdwState, LPWSTR pszName, int cchName) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CMenuBandSite::SetBandState(DWORD dwBandID, DWORD dwMask, DWORD dwState) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CMenuBandSite::RemoveBand(DWORD dwBandID) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CMenuBandSite::GetBandObject(DWORD dwBandID, REFIID riid, VOID **ppv) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CMenuBandSite::SetBandSiteInfo(const BANDSITEINFO *pbsinfo) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CMenuBandSite::GetBandSiteInfo(BANDSITEINFO *pbsinfo) { - return E_NOTIMPL; + return E_NOTIMPL; }