51#define SHV_CHANGE_NOTIFY WM_USER + 0x1111
55#define CONTEXT_MENU_BASE_ID 1
99 public CWindowImpl<CDefView, CWindow, CControlWinTraits>,
103 public IShellFolderView,
293 DVTARGETDEVICE *ptd,
HDC hicTargetDev,
LOGPALETTE **ppColorSet);
398#define IDM_VIEW_FILES (FCIDM_SHVIEWFIRST + 0x500)
399#define IDM_VIEW_IDW (FCIDM_SHVIEWFIRST + 0x501)
400#define IDM_MYFILEITEM (FCIDM_SHVIEWFIRST + 0x502)
405#define GET_WM_COMMAND_ID(wp, lp) LOWORD(wp)
406#define GET_WM_COMMAND_HWND(wp, lp) (HWND)(lp)
407#define GET_WM_COMMAND_CMD(wp, lp) HIWORD(wp)
446 TRACE(
" destroying IShellView(%p)\n",
this);
482 TRACE(
"ICommDlgBrowser::IncludeObject pidl=%p\n", pidl);
496 TRACE(
"ICommDlgBrowser::OnDefaultCommand\n");
510 TRACE(
"ICommDlgBrowser::OnStateChange flags=%x\n",
uFlags);
566 DWORD uTotalFileSize = 0;
570 bool bIsOnlyFoldersSelected =
true;
586 bIsOnlyFoldersSelected =
false;
592 if ((cSelectedItems && !bIsOnlyFoldersSelected) || uTotalFileSize)
628 DWORD dwStyle, dwExStyle;
688 dwExStyle &= ~WS_EX_CLIENTEDGE;
690 RECT rcListView = {0,0,0,0};
710 DWORD cbDropShadow =
sizeof(bDropShadow);
720 L"ListviewShadow",
NULL, &bDropShadow, &cbDropShadow);
779 for (
int i = 0; 1;
i++)
793 FIXME(
"no m_pSF2Parent\n");
889 for (
int i = 0;
i<cItems;
i++)
905 TRACE(
"(%p)(pidl=%p)\n",
this, pidl);
928 TRACE(
"(%p)(pidl=%p)\n",
this, pidl);
943 TRACE(
"(%p)(pidlold=%p pidlnew=%p)\n",
this, pidlOld, pidlNew);
950 lvItem.
iItem = nItem;
957 lvItem.
iItem = nItem;
981 TRACE(
"(%p)(pidl=%p)\n",
this, pidl);
988 lvItem.
iItem = nItem;
1026 DWORD dFlags = SHCONTF_NONFOLDERS | SHCONTF_FOLDERS;
1027 DWORD dwValue, cbValue;
1029 TRACE(
"%p\n",
this);
1033 cbValue =
sizeof(dwValue);
1035 L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced",
1036 L"Hidden",
NULL, &dwValue, &cbValue);
1039 dFlags |= SHCONTF_INCLUDEHIDDEN;
1044 cbValue =
sizeof(dwValue);
1046 L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced",
1047 L"ShowSuperHidden",
NULL, &dwValue, &cbValue);
1050 dFlags |= SHCONTF_INCLUDESUPERHIDDEN;
1071 while((
S_OK == pEnumIDList->Next(1, &pidl, &dwFetched)) && dwFetched)
1091 FIXME(
"no m_pSF2Parent\n");
1248 TRACE(
"%p\n",
this);
1253 ERR(
"Registering Drag Drop Failed\n");
1495 TRACE(
"-- selected Item found\n");
1503 CMINVOKECOMMANDINFOEX cmi;
1506 cmi.cbSize =
sizeof(cmi);
1511 cmi.fMask |= CMIC_MASK_SHIFT_DOWN;
1514 cmi.fMask |= CMIC_MASK_CONTROL_DOWN;
1518 cmi.fMask |= CMIC_MASK_PTINVOKE;
1522 HRESULT hr = pCM->InvokeCommand((LPCMINVOKECOMMANDINFO)&cmi);
1547 if (hResult ==
S_OK)
1565 if (uCommand == (
UINT)-1)
1567 ERR(
"GetMenuDefaultItem returned -1\n");
1585 TRACE(
"(%p)\n",
this);
1589 ERR(
"HACK: Aborting context menu in nested call!\n");
1611 SelectItem(hittest.iItem, SVSI_SELECT | SVSI_DESELECTOTHERS | SVSI_ENSUREVISIBLE);
1701 SFGAOF rfg = SFGAO_BROWSABLE | SFGAO_CANCOPY | SFGAO_CANLINK | SFGAO_CANMOVE | SFGAO_CANDELETE | SFGAO_CANRENAME | SFGAO_HASPROPSHEET | SFGAO_FILESYSTEM | SFGAO_FOLDER;
1732 WORD wWidth, wHeight;
1737 TRACE(
"%p width=%u height=%u\n",
this, wWidth, wHeight);
1761 TRACE(
"%p\n",
this);
1773 TRACE(
"%p uState=%x\n",
this, uState);
1820 TRACE(
"%p\n",
this);
1843 TRACE(
"(%p) stub\n",
this);
1869 TRACE(
"(%p)->(0x%08x 0x%08x %p) stub\n",
this, dwCmdID, dwCmd, hwndCmd);
1928 for (
int i=0;
i < nCount;
i++)
1974 L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer",
1979 cbValue =
sizeof(dwValue);
2004 TRACE(
"%p CtlID=%u lpnmh->code=%x\n",
this, CtlID, lpnmh->
code);
2006 switch (lpnmh->
code)
2009 TRACE(
"-- NM_SETFOCUS %p\n",
this);
2014 TRACE(
"-- NM_KILLFOCUS %p\n",
this);
2021 TRACE(
"-- NM_CUSTOMDRAW %p\n",
this);
2025 TRACE(
"-- NM_RELEASEDCAPTURE %p\n",
this);
2029 TRACE(
"-- NM_CLICK %p\n",
this);
2033 TRACE(
"-- NM_RCLICK %p\n",
this);
2037 TRACE(
"-- NM_DBLCLK %p\n",
this);
2042 TRACE(
"-- NM_RETURN %p\n",
this);
2047 TRACE(
"-- HDN_ENDTRACKW %p\n",
this);
2053 TRACE(
"-- LVN_DELETEITEM %p\n",
this);
2061 TRACE(
"-- LVN_DELETEALLITEMS %p\n",
this);
2065 TRACE(
"-- LVN_INSERTITEM (STUB)%p\n",
this);
2069 TRACE(
"-- LVN_ITEMACTIVATE %p\n",
this);
2084 TRACE(
"-- LVN_GETDISPINFO %p\n",
this);
2110 FIXME(
"no m_pSF2Parent\n");
2119 ULONG attributes = SFGAO_HIDDEN;
2122 if (attributes & SFGAO_HIDDEN)
2132 TRACE(
"-- LVN_ITEMCHANGED %p\n",
this);
2140 TRACE(
"-- LVN_BEGINDRAG\n");
2154 dwEffect |=
dwAttributes & (SFGAO_CANCOPY | SFGAO_CANLINK);
2160 piaso->SetAsyncMode(
TRUE);
2188 DWORD dwAttr = SFGAO_CANRENAME;
2191 TRACE(
"-- LVN_BEGINLABELEDITW %p\n",
this);
2194 if (SFGAO_CANRENAME & dwAttr)
2200 if (!(dwAttr & SFGAO_FOLDER) && (dwAttr & SFGAO_FILESYSTEM) &&
2227 TRACE(
"-- LVN_ENDLABELEDITW %p\n",
this);
2257 TRACE(
"-- %p WM_COMMAND %x unhandled\n",
this, lpnmh->
code);
2272 if (!pidl1 || !pidl2)
2325 ERR(
"hLock == NULL\n");
2332 TRACE(
"(%p)(%p,%p,0x%08x)\n",
this, Pidls[0], Pidls[1],
lParam);
2334 lEvent &= ~SHCNE_INTERRUPT;
2360 if (bParent0 && bParent1)
2393 ERR(
"no context menu!!!\n");
2497 TRACE(
"(%p)\n",
this);
2506 FIXME(
"(%p) stub\n",
this);
2535 FIXME(
"(%p) stub\n",
this);
2542 TRACE(
"(%p)->(state=%x) stub\n",
this, uState);
2567 TRACE(
"(%p)\n",
this);
2585 TRACE(
"(%p)\n",
this);
2633 TRACE(
"(%p)->(%p) vmode=%x flags=%x\n",
this, lpfs,
2645 FIXME(
"(%p) stub\n",
this);
2652 FIXME(
"(%p) stub\n",
this);
2661 TRACE(
"(%p)->(pidl=%p, 0x%08x) stub\n",
this, pidl,
uFlags);
2675 if (
uFlags & SVSI_SELECT)
2678 lvItem.
state &= ~LVIS_SELECTED;
2680 if (
uFlags & SVSI_FOCUSED)
2683 lvItem.
state &= ~LVIS_FOCUSED;
2687 if (
uFlags & SVSI_DESELECTOTHERS)
2689 lvItem.
state &= ~LVIS_SELECTED;
2691 lvItem.
state &= ~LVIS_FOCUSED;
2698 if (
uFlags & SVSI_ENSUREVISIBLE)
2701 if((
uFlags & SVSI_EDIT) == SVSI_EDIT)
2753 TRACE(
"-- (%p)->(interface=%p)\n",
this, *ppvOut);
2760 TRACE(
"(%p)->(%p), stub\n",
this, pViewMode);
2772 TRACE(
"(%p)->(%u), stub\n",
this, ViewMode);
2798 FIXME(
"ViewMode %d not implemented\n", ViewMode);
2853 TRACE(
"(%p)->(%p)\n",
this, piItem);
2862 TRACE(
"(%p)->(%p)\n",
this, piItem);
2872 if (lvIndex == -1 || ppt ==
NULL)
2881 TRACE(
"(%p)->(%p)\n",
this, ppt);
2891 ppt->
x = spacing.
cx;
2892 ppt->
y = spacing.
cy;
2923 if (
dwFlags & SVSI_ENSUREVISIBLE)
2927 if (
dwFlags & SVSI_DESELECTOTHERS)
2939 if ((
dwFlags & SVSI_EDIT) == SVSI_EDIT)
2983 OLEMENUGROUPWIDTHS omw = { { 0, 0, 0, 0, 0, 0 } };
2987 TRACE(
"(%p)->(shlview=%p shlbrs=%p rec=%p hwnd=%p vmode=%x flags=%x)\n",
this, psvPrevious, psb, prcView,
hwnd,
mode,
flags);
2988 if (prcView !=
NULL)
2989 TRACE(
"-- left=%i top=%i right=%i bottom=%i\n", prcView->
left, prcView->
top, prcView->
right, prcView->
bottom);
2995 if (view_flags != SV3CVW3_DEFAULT)
2996 FIXME(
"unsupported view flags 0x%08x\n", view_flags);
3007 else if (
IsEqualIID(*view_id, VID_SmallIcons))
3013 else if (
IsEqualIID(*view_id, VID_Thumbnails))
3017 else if (
IsEqualIID(*view_id, VID_ThumbStrip))
3030 TRACE(
"-- CommDlgBrowser\n");
3053 TRACE(
"-- after fnInsertMenusSB\n");
3063 FIXME(
"(%p)->(%p) stub\n",
this, new_pidl);
3078 FIXME(
"(%p)->(%ld) stub\n",
this,
sort);
3103 TRACE(
"(%p)->(%p %p)\n",
this, pidl,
item);
3110 TRACE(
"(%p)->(%p %d)\n",
this, pidl,
item);
3117 TRACE(
"(%p)->(%p %p)\n",
this, pidl,
item);
3151 FIXME(
"(%p)->(%p %p %p) stub\n",
this, pidl_old, pidl_new,
item);
3157 FIXME(
"(%p)->(%p %p) stub\n",
this, pidl,
item);
3218 FIXME(
"(%p)->(%p) stub\n",
this,
pt);
3230 FIXME(
"(%p)->(%p %p) stub\n",
this, pidl,
pt);
3236 FIXME(
"(%p)->(%p) stub\n",
this, drop_target);
3242 FIXME(
"(%p)->(%d) stub\n",
this, move);
3248 FIXME(
"(%p)->(%p) stub\n",
this,
obj);
3254 FIXME(
"(%p)->(%p) stub\n",
this, spacing);
3275 TRACE(
"(%p)->(%p)\n",
this, support);
3281 FIXME(
"(%p)->(%p) stub\n",
this, disp);
3290 FIXME(
"(%p)->(%p(%s) 0x%08x %p %p\n",
3291 this, pguidCmdGroup,
debugstr_guid(pguidCmdGroup), cCmds, prgCmds, pCmdText);
3296 for (
UINT i = 0;
i < cCmds;
i++)
3298 FIXME(
"\tprgCmds[%d].cmdID = %d\n",
i, prgCmds[
i].cmdID);
3299 prgCmds[
i].
cmdf = 0;
3302 return OLECMDERR_E_UNKNOWNGROUP;
3312 FIXME(
"(%p)->(\n\tTarget GUID:%s Command:0x%08x Opt:0x%08x %p %p)\n",
3313 this,
debugstr_guid(pguidCmdGroup), nCmdID, nCmdexecopt, pvaIn, pvaOut);
3316 return OLECMDERR_E_UNKNOWNGROUP;
3323 return OLECMDERR_E_NOTSUPPORTED;
3343 V_I4(pvaOut) = 0x403;
3347 if (
IsEqualIID(*pguidCmdGroup, CGID_Explorer) &&
3349 (nCmdexecopt == 4) && pvaOut)
3352 if (
IsEqualIID(*pguidCmdGroup, CGID_ShellDocView) &&
3357 return OLECMDERR_E_UNKNOWNGROUP;
3371#define SCROLLAREAWIDTH 20
3550 for (
i = 0;
i < nCount; ++
i)
3563 for (
i = nCount - 1;
i >= 0; --
i)
3575 for (
i = 0;
i < nCount; ++
i)
3592 for (
i = nCount - 1;
i >= 0; --
i)
3611 int nPartArray[] = {-1};
3616 int nFileSizePartLength = 125;
3617 const int nLocationPartLength = 150;
3618 const int nRightPartsLength = nFileSizePartLength + nLocationPartLength;
3619 int nObjectsPartLength = nWidth - nRightPartsLength;
3623 if (nObjectsPartLength <= nLocationPartLength)
3624 nObjectsPartLength = nFileSizePartLength = nWidth / 3;
3626 int nPartArray[] = {nObjectsPartLength, nObjectsPartLength + nFileSizePartLength, -1};
3651 INT i1 =
pmap->Lookup(lParam1), i2 =
pmap->Lookup(lParam2);
3667 for (
INT i = 0;
i < nCount; ++
i)
3676 INT iFrom = iItem, iTo = iPosition;
3679 if (iFrom >= nCount)
3687 for (
INT i = iFrom;
i < iTo; ++
i)
3697 for (
INT i = iFrom;
i > iTo; --
i)
3709 for (
INT i = 0;
i < nCount; ++
i)
3777 TRACE(
"(%p)\n",
this);
3789 TRACE(
"(%p)\n",
this);
3800 FIXME(
"Stub: this=%p\n",
this);
3807 FIXME(
"Stub: this=%p\n",
this);
3814 FIXME(
"Stub: this=%p\n",
this);
3821 FIXME(
"Stub: this=%p\n",
this);
3828 FIXME(
"partial stub: %p 0x%08x 0x%08x %p\n",
this, aspects, advf, pAdvSink);
3840 TRACE(
"this=%p pAspects=%p pAdvf=%p ppAdvSink=%p\n",
this, pAspects, pAdvf, ppAdvSink);
3908 return ShellObjectCreatorInit<CDefView>(pFolder,
riid, ppvOut);
3918 TRACE(
"sf=%p pidl=%p cb=%p mode=0x%08x parm=%p\n",
3942 if (!pcsfv || pcsfv->
cbSize !=
sizeof(*pcsfv))
3945 TRACE(
"sf=%p outer=%p callback=%p\n",