[shell32.dll][FORMATTING]

- No code changes. Make the code more readable in preparation for investigating some failing wine tests.

svn path=/branches/shell32_new-bringup/; revision=53617
This commit is contained in:
Claudiu Mihail 2011-09-07 13:39:13 +00:00
parent 7a20b6f2bb
commit 2c7fb01198

View file

@ -346,6 +346,7 @@ HRESULT WINAPI CDefView::Initialize(IShellFolder *shellFolder)
{
pSFParent = shellFolder;
shellFolder->QueryInterface(IID_IShellFolder2, (LPVOID *)&pSF2Parent);
return S_OK;
}
@ -363,6 +364,7 @@ HRESULT CDefView::IncludeObject(LPCITEMIDLIST pidl)
ret = pCommDlgBrowser->IncludeObject((IShellView *)this, pidl);
TRACE("--0x%08x\n", ret);
}
return ret;
}
@ -376,6 +378,7 @@ HRESULT CDefView::OnDefaultCommand()
ret = pCommDlgBrowser->OnDefaultCommand((IShellView *)this);
TRACE("-- returns %08x\n", ret);
}
return ret;
}
@ -389,6 +392,7 @@ HRESULT CDefView::OnStateChange(UINT uFlags)
ret = pCommDlgBrowser->OnStateChange((IShellView *)this, uFlags);
TRACE("--\n");
}
return ret;
}
/**********************************************************
@ -454,17 +458,36 @@ BOOL CDefView::CreateList()
switch (FolderSettings.ViewMode)
{
case FVM_ICON: dwStyle |= LVS_ICON; break;
case FVM_DETAILS: dwStyle |= LVS_REPORT; break;
case FVM_SMALLICON: dwStyle |= LVS_SMALLICON; break;
case FVM_LIST: dwStyle |= LVS_LIST; break;
default: dwStyle |= LVS_LIST; break;
case FVM_ICON:
dwStyle |= LVS_ICON;
break;
case FVM_DETAILS:
dwStyle |= LVS_REPORT;
break;
case FVM_SMALLICON:
dwStyle |= LVS_SMALLICON;
break;
case FVM_LIST:
dwStyle |= LVS_LIST;
break;
default:
dwStyle |= LVS_LIST;
break;
}
if (FolderSettings.fFlags & FWF_AUTOARRANGE) dwStyle |= LVS_AUTOARRANGE;
if (FolderSettings.fFlags & FWF_AUTOARRANGE)
dwStyle |= LVS_AUTOARRANGE;
if (FolderSettings.fFlags & FWF_DESKTOP)
FolderSettings.fFlags |= FWF_NOCLIENTEDGE | FWF_NOSCROLL;
if (FolderSettings.fFlags & FWF_SINGLESEL) dwStyle |= LVS_SINGLESEL;
if (FolderSettings.fFlags & FWF_SINGLESEL)
dwStyle |= LVS_SINGLESEL;
if (FolderSettings.fFlags & FWF_NOCLIENTEDGE)
dwExStyle &= ~WS_EX_CLIENTEDGE;
@ -478,14 +501,15 @@ BOOL CDefView::CreateList()
shell32_hInstance,
NULL);
if(!hWndList)
if (!hWndList)
return FALSE;
ListViewSortInfo.bIsAscending = TRUE;
ListViewSortInfo.nHeaderID = -1;
ListViewSortInfo.nLastHeaderID = -1;
if (FolderSettings.fFlags & FWF_DESKTOP) {
if (FolderSettings.fFlags & FWF_DESKTOP)
{
/*
* FIXME: look at the registry value
* HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\ListviewShadow
@ -518,7 +542,6 @@ BOOL CDefView::InitList()
{
LVCOLUMNW lvColumn;
SHELLDETAILS sd;
int i;
WCHAR szTemp[50];
TRACE("%p\n",this);
@ -530,10 +553,11 @@ BOOL CDefView::InitList()
if (pSF2Parent)
{
for (i=0; 1; i++)
for (int i=0; 1; i++)
{
if (FAILED(pSF2Parent->GetDetailsOf(NULL, i, &sd)))
break;
lvColumn.fmt = sd.fmt;
lvColumn.cx = sd.cxChar*8; /* chars->pixel */
StrRetToStrNW( szTemp, 50, &sd.str, NULL);
@ -562,10 +586,12 @@ INT CALLBACK CDefView::CompareItems(LPVOID lParam1, LPVOID lParam2, LPARAM lpDat
int ret;
TRACE("pidl1=%p pidl2=%p lpsf=%p\n", lParam1, lParam2, (LPVOID) lpData);
if(!lpData) return 0;
if (!lpData)
return 0;
ret = (SHORT)SCODE_CODE(((IShellFolder *)lpData)->CompareIDs(0, (LPITEMIDLIST)lParam1, (LPITEMIDLIST)lParam2));
TRACE("ret=%i\n",ret);
return ret;
}
@ -609,7 +635,7 @@ INT CALLBACK CDefView::ListViewCompareItems(LPVOID lParam1, LPVOID lParam2, LPAR
bIsBothFolder = bIsFolder1 && bIsFolder2;
/* When sorting between a File and a Folder, the Folder gets sorted first */
if( (bIsFolder1 || bIsFolder2) && !bIsBothFolder)
if ( (bIsFolder1 || bIsFolder2) && !bIsBothFolder)
{
nDiff = bIsFolder1 ? -1 : 1;
}
@ -631,7 +657,7 @@ INT CALLBACK CDefView::ListViewCompareItems(LPVOID lParam1, LPVOID lParam2, LPAR
nDiff = lstrcmpiA(strName1, strName2);
}
/* Sort by FileName: Folder or Files can be sorted */
else if(pSortInfo->nHeaderID == LISTVIEW_COLUMN_NAME || bIsBothFolder)
else if (pSortInfo->nHeaderID == LISTVIEW_COLUMN_NAME || bIsBothFolder)
{
/* Sort by Text */
_ILSimpleGetText(pItemIdList1, strName1, MAX_PATH);
@ -639,12 +665,12 @@ INT CALLBACK CDefView::ListViewCompareItems(LPVOID lParam1, LPVOID lParam2, LPAR
nDiff = lstrcmpiA(strName1, strName2);
}
/* Sort by File Size, Only valid for Files */
else if(pSortInfo->nHeaderID == LISTVIEW_COLUMN_SIZE)
else if (pSortInfo->nHeaderID == LISTVIEW_COLUMN_SIZE)
{
nDiff = (INT)(_ILGetFileSize(pItemIdList1, NULL, 0) - _ILGetFileSize(pItemIdList2, NULL, 0));
}
/* Sort by File Type, Only valid for Files */
else if(pSortInfo->nHeaderID == LISTVIEW_COLUMN_TYPE)
else if (pSortInfo->nHeaderID == LISTVIEW_COLUMN_TYPE)
{
/* Sort by Type */
_ILGetFileType(pItemIdList1, strName1, MAX_PATH);
@ -654,20 +680,19 @@ INT CALLBACK CDefView::ListViewCompareItems(LPVOID lParam1, LPVOID lParam2, LPAR
}
/* If the Date, FileSize, FileType, Attrib was the same, sort by FileName */
if(nDiff == 0)
if (nDiff == 0)
{
_ILSimpleGetText(pItemIdList1, strName1, MAX_PATH);
_ILSimpleGetText(pItemIdList2, strName2, MAX_PATH);
nDiff = lstrcmpiA(strName1, strName2);
}
if(!pSortInfo->bIsAscending)
if (!pSortInfo->bIsAscending)
{
nDiff = -nDiff;
}
return nDiff;
}
/**********************************************************
@ -678,13 +703,15 @@ int CDefView::LV_FindItemByPidl(LPCITEMIDLIST pidl)
LVITEMW lvItem;
lvItem.iSubItem = 0;
lvItem.mask = LVIF_PARAM;
for(lvItem.iItem = 0;
for (lvItem.iItem = 0;
SendMessageW(hWndList, LVM_GETITEMW, 0, (LPARAM) &lvItem);
lvItem.iItem++)
{
LPITEMIDLIST currentpidl = (LPITEMIDLIST) lvItem.lParam;
HRESULT hr = pSFParent->CompareIDs(0, pidl, currentpidl);
if(SUCCEEDED(hr) && !HRESULT_CODE(hr))
if (SUCCEEDED(hr) && !HRESULT_CODE(hr))
{
return lvItem.iItem;
}
@ -707,6 +734,7 @@ BOOLEAN CDefView::LV_AddItem(LPCITEMIDLIST pidl)
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
@ -723,6 +751,7 @@ BOOLEAN CDefView::LV_DeleteItem(LPCITEMIDLIST pidl)
TRACE("(%p)(pidl=%p)\n", this, pidl);
nIndex = LV_FindItemByPidl(ILFindLastID(pidl));
return (-1 == ListView_DeleteItem(hWndList, nIndex)) ? FALSE : TRUE;
}
@ -737,6 +766,7 @@ BOOLEAN CDefView::LV_RenameItem(LPCITEMIDLIST pidlOld, LPCITEMIDLIST pidlNew)
TRACE("(%p)(pidlold=%p pidlnew=%p)\n", this, pidlOld, pidlNew);
nItem = LV_FindItemByPidl(ILFindLastID(pidlOld));
if ( -1 != nItem )
{
lvItem.mask = LVIF_PARAM; /* only the pidl */
@ -751,6 +781,7 @@ BOOLEAN CDefView::LV_RenameItem(LPCITEMIDLIST pidlOld, LPCITEMIDLIST pidlNew)
SendMessageW(hWndList, LVM_UPDATE, nItem, 0);
return TRUE; /* FIXME: better handling */
}
return FALSE;
}
@ -766,7 +797,9 @@ INT CALLBACK CDefView::fill_list( LPVOID ptr, LPVOID arg )
LPITEMIDLIST pidl = (LPITEMIDLIST)ptr;
CDefView *pThis = (CDefView *)arg;
/* in a commdlg This works as a filemask*/
if ( pThis->IncludeObject(pidl)==S_OK ) pThis->LV_AddItem(pidl);
if (pThis->IncludeObject(pidl) == S_OK)
pThis->LV_AddItem(pidl);
SHFree(pidl);
return TRUE;
}
@ -781,8 +814,6 @@ HRESULT CDefView::FillList()
TRACE("%p\n",this);
DbgPrint("[shell32, CDefView::FillList] Called\n");
/* get the itemlist from the shfolder*/
hRes = pSFParent->EnumObjects(m_hWnd, SHCONTF_NONFOLDERS | SHCONTF_FOLDERS, &pEnumIDList);
if (hRes != S_OK)
@ -919,8 +950,9 @@ HMENU CDefView::BuildFileMenu()
TRACE("(%p)\n",this);
hSubMenu = CreatePopupMenu();
if(hSubMenu)
{ /*get the number of items in our global array*/
if (hSubMenu)
{
/*get the number of items in our global array*/
for(nTools = 0; Tools[nTools].idCommand != -1; nTools++){}
/*add the menu items*/
@ -947,6 +979,7 @@ HMENU CDefView::BuildFileMenu()
InsertMenuItemW(hSubMenu, (UINT)-1, TRUE, &mii);
}
}
TRACE("-- return (menu=%p)\n",hSubMenu);
return hSubMenu;
}
@ -955,14 +988,15 @@ HMENU CDefView::BuildFileMenu()
* ShellView_MergeFileMenu()
*/
void CDefView::MergeFileMenu(HMENU hSubMenu)
{ TRACE("(%p)->(submenu=%p) stub\n",this,hSubMenu);
{
TRACE("(%p)->(submenu=%p) stub\n",this,hSubMenu);
if(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);
}
TRACE("--\n");
}
@ -973,8 +1007,9 @@ void CDefView::MergeViewMenu(HMENU hSubMenu)
{
TRACE("(%p)->(submenu=%p)\n",this,hSubMenu);
if(hSubMenu)
{ /*add a separator at the correct position in the menu*/
if (hSubMenu)
{
/*add a separator at the correct position in the menu*/
MENUITEMINFOW mii;
static WCHAR view[] = L"View";
@ -1010,7 +1045,7 @@ UINT CDefView::GetSelections()
TRACE("selected=%i\n", cidl);
if(apidl)
if (apidl)
{
TRACE("-- Items selected =%u\n", cidl);
@ -1033,8 +1068,8 @@ UINT CDefView::GetSelections()
lvItem.iItem++;
}
}
return cidl;
return cidl;
}
/**********************************************************
@ -1128,6 +1163,7 @@ HRESULT CDefView::OpenSelectedItems()
{
CF_IDLIST = RegisterClipboardFormatW(CFSTR_SHELLIDLIST);
}
fetc.cfFormat = CF_IDLIST;
fetc.ptd = NULL;
fetc.dwAspect = DVASPECT_CONTENT;
@ -1221,16 +1257,17 @@ LRESULT CDefView::OnContextMenu(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &b
{
pSFParent->GetUIObjectOf(hWndParent, cidl, (LPCITEMIDLIST*)apidl, IID_IContextMenu, NULL, (LPVOID *)&pCM);
if(pCM)
if (pCM)
{
TRACE("-- pContextMenu\n");
hMenu = CreatePopupMenu();
if( hMenu )
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)
if (SUCCEEDED(pShellBrowser->GetControlWindow(FCW_TREE, &hwndTree)) && hwndTree)
{
TRACE("-- explore mode\n");
fExplore = TRUE;
@ -1245,7 +1282,7 @@ LRESULT CDefView::OnContextMenu(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &b
if (FolderSettings.fFlags & FWF_DESKTOP)
SetMenuDefaultItem(hMenu, FCIDM_SHVIEW_OPEN, MF_BYCOMMAND);
if( bDefault )
if (bDefault)
{
TRACE("-- get menu default command\n");
uCommand = GetMenuDefaultItem(hMenu, FALSE, GMDI_GOINTOPOPUPS);
@ -1256,9 +1293,10 @@ LRESULT CDefView::OnContextMenu(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &b
uCommand = TrackPopupMenu( hMenu,TPM_LEFTALIGN | TPM_RETURNCMD,x,y,0,m_hWnd,NULL);
}
if(uCommand > 0)
if (uCommand > 0)
{
TRACE("-- uCommand=%u\n", uCommand);
if (uCommand==FCIDM_SHVIEW_OPEN && pCommDlgBrowser.p != NULL)
{
TRACE("-- dlg: OnDefaultCommand\n");
@ -1277,6 +1315,7 @@ LRESULT CDefView::OnContextMenu(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &b
pCM->InvokeCommand(&cmi);
}
}
hResult = IUnknown_SetSite(pCM, NULL);
DestroyMenu(hMenu);
}
@ -1304,6 +1343,7 @@ LRESULT CDefView::OnContextMenu(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &b
pCM.Release();
}
return 0;
}
@ -1343,9 +1383,9 @@ void CDefView::OnDeactivate()
{
TRACE("%p\n",this);
if(uState != SVUIA_DEACTIVATE)
if (uState != SVUIA_DEACTIVATE)
{
if(hMenu)
if (hMenu)
{
pShellBrowser->SetMenuSB(0, 0, 0);
pShellBrowser->RemoveMenusSB(hMenu);
@ -1366,7 +1406,7 @@ void CDefView::DoActivate(UINT uState)
TRACE("%p uState=%x\n", this, uState);
/*don't do anything if the state isn't really changing */
if(uState == uState)
if (uState == uState)
{
return;
}
@ -1396,7 +1436,7 @@ void CDefView::DoActivate(UINT uState)
mii.hSubMenu = BuildFileMenu();
/*insert our menu into the menu bar*/
if(mii.hSubMenu)
if (mii.hSubMenu)
{
InsertMenuItemA(hMenu, FCIDM_MENU_HELP, FALSE, &mii);
}
@ -1406,24 +1446,25 @@ void CDefView::DoActivate(UINT uState)
mii.cbSize = sizeof(mii);
mii.fMask = MIIM_SUBMENU;
if(GetMenuItemInfoA(hMenu, FCIDM_MENU_VIEW, FALSE, &mii))
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)
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))
if (GetMenuItemInfoA(hMenu, FCIDM_MENU_FILE, FALSE, &mii))
{
MergeFileMenu(mii.hSubMenu);
}
}
TRACE("-- before fnSetMenuSB\n");
pShellBrowser->SetMenuSB(hMenu, 0, m_hWnd);
}
@ -1497,7 +1538,7 @@ LRESULT CDefView::OnCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHand
TRACE("(%p)->(0x%08x 0x%08x %p) stub\n",this, dwCmdID, dwCmd, hwndCmd);
switch(dwCmdID)
switch (dwCmdID)
{
case FCIDM_SHVIEW_SMALLICON:
FolderSettings.ViewMode = FVM_SMALLICON;
@ -1537,6 +1578,7 @@ LRESULT CDefView::OnCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHand
default:
TRACE("-- COMMAND 0x%04x unhandled\n", dwCmdID);
}
return 0;
}
@ -1560,7 +1602,7 @@ LRESULT CDefView::OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandl
TRACE("%p CtlID=%u lpnmh->code=%x\n",this,CtlID,lpnmh->code);
switch(lpnmh->code)
switch (lpnmh->code)
{
case NM_SETFOCUS:
TRACE("-- NM_SETFOCUS %p\n", this);
@ -1626,7 +1668,7 @@ LRESULT CDefView::OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandl
case LVN_COLUMNCLICK:
ListViewSortInfo.nHeaderID = lpnmlv->iSubItem;
if(ListViewSortInfo.nLastHeaderID == ListViewSortInfo.nHeaderID)
if (ListViewSortInfo.nLastHeaderID == ListViewSortInfo.nHeaderID)
{
ListViewSortInfo.bIsAscending = !ListViewSortInfo.bIsAscending;
}
@ -1644,7 +1686,7 @@ LRESULT CDefView::OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandl
TRACE("-- LVN_GETDISPINFO %p\n", this);
pidl = (LPITEMIDLIST)lpdi->item.lParam;
if(lpdi->item.mask & LVIF_TEXT) /* text requested */
if (lpdi->item.mask & LVIF_TEXT) /* text requested */
{
if (pSF2Parent)
{
@ -1743,14 +1785,16 @@ LRESULT CDefView::OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandl
pidl = (LPITEMIDLIST)lpdi->item.lParam;
hr = pSFParent->SetNameOf(0, pidl, lpdi->item.pszText, SHGDN_INFOLDER, &pidl);
if(SUCCEEDED(hr) && pidl)
if (SUCCEEDED(hr) && pidl)
{
lvItem.mask = LVIF_PARAM;
lvItem.lParam = (LPARAM)pidl;
SendMessageW(hWndList, LVM_SETITEMW, 0, (LPARAM) &lvItem);
return TRUE;
}
}
return FALSE;
}
@ -1768,25 +1812,24 @@ LRESULT CDefView::OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandl
SHORT ctrl = GetKeyState(VK_CONTROL) & 0x8000;
/* initiate a rename of the selected file or directory */
if(plvKeyDown->wVKey == VK_F2)
if (plvKeyDown->wVKey == VK_F2)
{
/* see how many files are selected */
int i = ListView_GetSelectedCount(hWndList);
/* get selected item */
if(i == 1)
if (i == 1)
{
/* get selected item */
i = ListView_GetNextItem(hWndList, -1,
LVNI_SELECTED);
i = ListView_GetNextItem(hWndList, -1, LVNI_SELECTED);
SendMessageW(hWndList, LVM_ENSUREVISIBLE, i, 0);
SendMessageW(hWndList, LVM_EDITLABELW, i, 0);
}
}
#if 0
#if 0
TranslateAccelerator(m_hWnd, hAccel, &msg)
#endif
#endif
else if(plvKeyDown->wVKey == VK_DELETE)
{
UINT i;
@ -1801,7 +1844,7 @@ LRESULT CDefView::OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandl
if (psfhlp == NULL)
break;
if(!(i = ListView_GetSelectedCount(hWndList)))
if (!(i = ListView_GetSelectedCount(hWndList)))
break;
/* allocate memory for the pidl array */
@ -1811,7 +1854,7 @@ LRESULT CDefView::OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandl
/* retrieve all selected items */
i = 0;
item_index = -1;
while(ListView_GetSelectedCount(hWndList) > i)
while (ListView_GetSelectedCount(hWndList) > i)
{
/* get selected item */
item_index = ListView_GetNextItem(hWndList,
@ -1832,21 +1875,20 @@ LRESULT CDefView::OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandl
/* free pidl array memory */
HeapFree(GetProcessHeap(), 0, pItems);
}
/* Initiate a refresh */
else if(plvKeyDown->wVKey == VK_F5)
else if (plvKeyDown->wVKey == VK_F5)
{
Refresh();
}
else if(plvKeyDown->wVKey == VK_BACK)
else if (plvKeyDown->wVKey == VK_BACK)
{
LPSHELLBROWSER lpSb;
if((lpSb = (LPSHELLBROWSER)SendMessageW(hWndParent, CWM_GETISHELLBROWSER, 0, 0)))
if ((lpSb = (LPSHELLBROWSER)SendMessageW(hWndParent, CWM_GETISHELLBROWSER, 0, 0)))
{
lpSb->BrowseObject(NULL, SBSP_PARENT);
}
}
else if(plvKeyDown->wVKey == 'C' && ctrl)
else if (plvKeyDown->wVKey == 'C' && ctrl)
{
if (GetSelections())
{
@ -1983,6 +2025,7 @@ LRESULT CDefView::OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandl
TRACE("-- %p WM_COMMAND %x unhandled\n", this, lpnmh->code);
break;
}
return 0;
}
@ -2003,17 +2046,21 @@ LRESULT CDefView::OnChangeNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &
case SHCNE_CREATE:
LV_AddItem(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_UPDATEITEM:
break;
}
return TRUE;
}
@ -2079,6 +2126,7 @@ HRESULT WINAPI CDefView::TranslateAccelerator(LPMSG lpmsg)
{
TRACE("-- key=0x04%lx\n",lpmsg->wParam) ;
}
return S_FALSE; /* not handled */
}
@ -2100,7 +2148,7 @@ HRESULT WINAPI CDefView::UIActivate(UINT uState)
TRACE("(%p)->(state=%x) stub\n",this, uState);
/*don't do anything if the state isn't really changing*/
if(uState == uState)
if (uState == uState)
{
return S_OK;
}
@ -2109,20 +2157,20 @@ HRESULT WINAPI CDefView::UIActivate(UINT uState)
DoActivate(uState);
/*only do This if we are active*/
if(uState != SVUIA_DEACTIVATE)
if (uState != SVUIA_DEACTIVATE)
{
/*
/*
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 text for the parts */
/*
/*
pShellBrowser->SendControlMsg(FCW_STATUS, SB_SETTEXTA, 0, (LPARAM)szName, &lResult);
*/
*/
}
return S_OK;
@ -2195,7 +2243,7 @@ HRESULT WINAPI CDefView::DestroyViewWindow()
/*Make absolutely sure all our UI is cleaned up.*/
UIActivate(SVUIA_DEACTIVATE);
if(hMenu)
if (hMenu)
{
DestroyMenu(hMenu);
}
@ -2212,7 +2260,8 @@ HRESULT WINAPI CDefView::GetCurrentInfo(LPFOLDERSETTINGS lpfs)
TRACE("(%p)->(%p) vmode=%x flags=%x\n",this, lpfs,
FolderSettings.ViewMode, FolderSettings.fFlags);
if (!lpfs) return E_INVALIDARG;
if (!lpfs)
return E_INVALIDARG;
*lpfs = FolderSettings;
return NOERROR;
@ -2252,7 +2301,7 @@ HRESULT WINAPI CDefView::SelectItem(LPCITEMIDLIST pidl, UINT uFlags)
lvItem.iItem = 0;
lvItem.iSubItem = 0;
while(SendMessageW(hWndList, LVM_GETITEMW, 0, (LPARAM) &lvItem))
while (SendMessageW(hWndList, LVM_GETITEMW, 0, (LPARAM) &lvItem))
{
if (lvItem.iItem == i)
{
@ -2261,7 +2310,7 @@ HRESULT WINAPI CDefView::SelectItem(LPCITEMIDLIST pidl, UINT uFlags)
else
lvItem.state &= ~LVIS_SELECTED;
if(uFlags & SVSI_FOCUSED)
if (uFlags & SVSI_FOCUSED)
lvItem.state &= ~LVIS_FOCUSED;
}
else
@ -2269,6 +2318,7 @@ HRESULT WINAPI CDefView::SelectItem(LPCITEMIDLIST pidl, UINT uFlags)
if (uFlags & SVSI_DESELECTOTHERS)
lvItem.state &= ~LVIS_SELECTED;
}
SendMessageW(hWndList, LVM_SETITEMW, 0, (LPARAM) &lvItem);
lvItem.iItem++;
}
@ -2276,8 +2326,8 @@ HRESULT WINAPI CDefView::SelectItem(LPCITEMIDLIST pidl, UINT uFlags)
if(uFlags & SVSI_EDIT)
SendMessageW(hWndList, LVM_EDITLABELW, i, 0);
}
return S_OK;
}
@ -2289,7 +2339,7 @@ HRESULT WINAPI CDefView::GetItemObject(UINT uItem, REFIID riid, LPVOID *ppvOut)
*ppvOut = NULL;
switch(uItem)
switch (uItem)
{
case SVGIO_BACKGROUND:
if (IsEqualIID(riid, IID_IContextMenu))
@ -2306,6 +2356,7 @@ HRESULT WINAPI CDefView::GetItemObject(UINT uItem, REFIID riid, LPVOID *ppvOut)
hr = pSFParent->GetUIObjectOf(m_hWnd, cidl, (LPCITEMIDLIST*)apidl, riid, 0, ppvOut);
break;
}
TRACE("-- (%p)->(interface=%p)\n",this, *ppvOut);
return hr;
@ -2325,6 +2376,7 @@ HRESULT STDMETHODCALLTYPE CDefView::GetFolder(REFIID riid, void **ppv)
{
if (pSFParent == NULL)
return E_FAIL;
return pSFParent->QueryInterface(riid, ppv);
}
@ -2388,18 +2440,18 @@ HRESULT STDMETHODCALLTYPE CDefView::SelectAndPositionItems(UINT cidl, LPCITEMIDL
*/
HRESULT WINAPI CDefView::QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD *prgCmds, OLECMDTEXT *pCmdText)
{
UINT i;
FIXME("(%p)->(%p(%s) 0x%08x %p %p\n",
this, pguidCmdGroup, debugstr_guid(pguidCmdGroup), cCmds, prgCmds, pCmdText);
if (!prgCmds)
return E_POINTER;
for (i = 0; i < cCmds; i++)
for (UINT i=0; i < cCmds; i++)
{
FIXME("\tprgCmds[%d].cmdID = %d\n", i, prgCmds[i].cmdID);
prgCmds[i].cmdf = 0;
}
return OLECMDERR_E_UNKNOWNGROUP;
}
@ -2417,6 +2469,7 @@ HRESULT WINAPI CDefView::Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCm
(nCmdID == 0x29) &&
(nCmdexecopt == 4) && pvaOut)
return S_OK;
if (IsEqualIID(*pguidCmdGroup, CGID_ShellDocView) &&
(nCmdID == 9) &&
(nCmdexecopt == 0))
@ -2461,19 +2514,27 @@ HRESULT CDefView::drag_notify_subitem(DWORD grfKeyState, POINTL pt, DWORD *pdwEf
htinfo.pt.y < SCROLLAREAWIDTH || htinfo.pt.y > clientRect.bottom - SCROLLAREAWIDTH ))
{
cScrollDelay = (cScrollDelay + 1) % 5; /* DragOver is called every 50 ms */
if (cScrollDelay == 0) { /* Mouse did hover another 250 ms over the scroll-area */
if (cScrollDelay == 0)
{
/* Mouse did hover another 250 ms over the scroll-area */
if (htinfo.pt.x < SCROLLAREAWIDTH)
SendMessageW(hWndList, WM_HSCROLL, SB_LINEUP, 0);
if (htinfo.pt.x > clientRect.right - SCROLLAREAWIDTH)
SendMessageW(hWndList, WM_HSCROLL, SB_LINEDOWN, 0);
if (htinfo.pt.y < SCROLLAREAWIDTH)
SendMessageW(hWndList, WM_VSCROLL, SB_LINEUP, 0);
if (htinfo.pt.y > clientRect.bottom - SCROLLAREAWIDTH)
SendMessageW(hWndList, WM_VSCROLL, SB_LINEDOWN, 0);
}
} else {
}
else
{
cScrollDelay = 0; /* Reset, if the cursor is not over the listview's scroll-area */
}
ptLastMousePos = htinfo.pt;
/* If we are still over the previous sub-item, notify it via DragOver and return. */
@ -2481,18 +2542,22 @@ HRESULT CDefView::drag_notify_subitem(DWORD grfKeyState, POINTL pt, DWORD *pdwEf
return pCurDropTarget->DragOver(grfKeyState, pt, pdwEffect);
/* We've left the previous sub-item, notify it via DragLeave and Release it. */
if (pCurDropTarget) {
if (pCurDropTarget)
{
pCurDropTarget->DragLeave();
pCurDropTarget.Release();
}
iDragOverItem = lResult;
if (lResult == -1) {
if (lResult == -1)
{
/* We are not above one of the listview's subitems. Bind to the parent folder's
* DropTarget interface. */
hr = pSFParent->QueryInterface(IID_IDropTarget,
(LPVOID*)&pCurDropTarget);
} else {
}
else
{
/* Query the relative PIDL of the shellfolder object represented by the currently
* dragged over listview-item ... */
lvItem.mask = LVIF_PARAM;
@ -2630,14 +2695,16 @@ HRESULT WINAPI CDefView::GetAdvise(DWORD *pAspects, DWORD *pAdvf, IAdviseSink **
{
TRACE("this=%p pAspects=%p pAdvf=%p ppAdvSink=%p\n", this, pAspects, pAdvf, ppAdvSink);
if( ppAdvSink )
if (ppAdvSink)
{
*ppAdvSink = pAdvSink;
pAdvSink.p->AddRef();
}
if( pAspects )
if (pAspects)
*pAspects = dwAspects;
if( pAdvf )
if (pAdvf)
*pAdvf = dwAdvf;
return S_OK;
@ -2661,19 +2728,24 @@ HRESULT WINAPI IShellView_Constructor(IShellFolder *pFolder, IShellView **newVie
if (newView == NULL)
return E_POINTER;
*newView = NULL;
ATLTRY (theView = new CComObject<CDefView>);
if (theView == NULL)
return E_OUTOFMEMORY;
hResult = theView->QueryInterface (IID_IShellView, (void **)&result);
if (FAILED (hResult))
{
delete theView;
return hResult;
}
hResult = theView->Initialize (pFolder);
if (FAILED (hResult))
return hResult;
*newView = result.Detach ();
return S_OK;
}