- eliminated one element of the pidl struct (dwSFGAO)

- changed some superflous FIXME
This commit is contained in:
Juergen Schmied 1999-02-22 09:57:12 +00:00 committed by Alexandre Julliard
parent fa3f2eeae0
commit 6349d97bd4
6 changed files with 30 additions and 135 deletions

View File

@ -212,16 +212,15 @@ static HRESULT WINAPI IContextMenu_InvokeCommand(LPCONTEXTMENU this, LPCMINVOKEC
lpSV->lpvtbl->fnGetWindow(lpSV, &hWndSV);
/* these verbs are used by the filedialogs*/
TRACE(shell,"%s\n",lpcmi->lpVerb);
if (! strcmp(lpcmi->lpVerb,CMDSTR_NEWFOLDER))
{ FIXME(shell,"%s\n",lpcmi->lpVerb);
{ FIXME(shell,"%s not implemented\n",lpcmi->lpVerb);
}
else if (! strcmp(lpcmi->lpVerb,CMDSTR_VIEWLIST))
{ FIXME(shell,"%s\n",lpcmi->lpVerb);
SendMessage32A(hWndSV, WM_COMMAND, MAKEWPARAM(FCIDM_SHVIEW_LISTVIEW,0),0 );
{ SendMessage32A(hWndSV, WM_COMMAND, MAKEWPARAM(FCIDM_SHVIEW_LISTVIEW,0),0 );
}
else if (! strcmp(lpcmi->lpVerb,CMDSTR_VIEWDETAILS))
{ FIXME(shell,"%s\n",lpcmi->lpVerb);
SendMessage32A(hWndSV, WM_COMMAND, MAKEWPARAM(FCIDM_SHVIEW_REPORTVIEW,0),0 );
{ SendMessage32A(hWndSV, WM_COMMAND, MAKEWPARAM(FCIDM_SHVIEW_REPORTVIEW,0),0 );
}
else
{ FIXME(shell,"please report: unknown verb %s\n",lpcmi->lpVerb);

View File

@ -232,9 +232,7 @@ static BOOL32 WINAPI IEnumIDList_CreateEnumList(LPENUMIDLIST this, LPCSTR lpszPa
/*create the pidl for this item */
pidl = _ILCreateMyComputer();
if(pidl)
{ pData = _ILGetDataPointer(pidl);
pData->u.generic.dwSFGAO = SFGAO_HASPROPSHEET | SFGAO_READONLY | SFGAO_HASSUBFOLDER;
if(!IEnumIDList_AddToEnumList(this, pidl))
{ if(!IEnumIDList_AddToEnumList(this, pidl))
return FALSE;
}
}
@ -245,9 +243,6 @@ static BOOL32 WINAPI IEnumIDList_CreateEnumList(LPENUMIDLIST this, LPCSTR lpszPa
while (szDriveName[0]<='Z')
{ if(dwDrivemap & 0x00000001L)
{ pidl = _ILCreateDrive(szDriveName);
pData = _ILGetDataPointer(pidl);
pData->u.drive.dwSFGAO = SFGAO_HASPROPSHEET | SFGAO_READONLY | SFGAO_CANLINK |
SFGAO_HASSUBFOLDER | SFGAO_DROPTARGET | SFGAO_FILESYSTEM;
if(pidl)
{ if(!IEnumIDList_AddToEnumList(this, pidl))
return FALSE;
@ -266,12 +261,6 @@ static BOOL32 WINAPI IEnumIDList_CreateEnumList(LPENUMIDLIST this, LPCSTR lpszPa
{ pidl = _ILCreateFolder( stffile.cFileName);
if(pidl)
{ pData = _ILGetDataPointer(pidl);
pData->u.folder.dwSFGAO = SFGAO_CANCOPY | SFGAO_CANDELETE | SFGAO_CANLINK |
SFGAO_CANMOVE | SFGAO_CANRENAME | SFGAO_DROPTARGET |
SFGAO_HASPROPSHEET | SFGAO_FILESYSTEM | SFGAO_FOLDER;
if ( stffile.dwFileAttributes & FILE_ATTRIBUTE_READONLY)
{ pData->u.folder.dwSFGAO |= SFGAO_READONLY;
}
FileTimeToDosDateTime(&stffile.ftLastWriteTime,&pData->u.folder.uFileDate,&pData->u.folder.uFileTime);
pData->u.folder.dwFileSize = stffile.nFileSizeLow;
pData->u.folder.uFileAttribs=stffile.dwFileAttributes;
@ -300,12 +289,6 @@ static BOOL32 WINAPI IEnumIDList_CreateEnumList(LPENUMIDLIST this, LPCSTR lpszPa
{ pidl = _ILCreateValue( stffile.cFileName);
if(pidl)
{ pData = _ILGetDataPointer(pidl);
pData->u.file.dwSFGAO = SFGAO_CANCOPY | SFGAO_CANDELETE | SFGAO_CANLINK |
SFGAO_CANMOVE | SFGAO_CANRENAME | SFGAO_DROPTARGET |
SFGAO_HASPROPSHEET | SFGAO_FILESYSTEM;
if ( stffile.dwFileAttributes & FILE_ATTRIBUTE_READONLY)
{ pData->u.file.dwSFGAO |= SFGAO_READONLY;
}
FileTimeToDosDateTime(&stffile.ftLastWriteTime,&pData->u.file.uFileDate,&pData->u.file.uFileTime);
pData->u.file.dwFileSize = stffile.nFileSizeLow;
pData->u.file.uFileAttribs=stffile.dwFileAttributes;

View File

@ -495,7 +495,7 @@ static INT32 SIC_LoadIcon (LPCSTR sSourceFile, INT32 dwSourceIndex)
if ( !hiconLarge || !hiconSmall)
{ FIXME(shell, "*** failure loading icon %i from %s (%x %x)\n", dwSourceIndex, sSourceFile, hiconLarge, hiconSmall);
{ WARN(shell, "failure loading icon %i from %s (%x %x)\n", dwSourceIndex, sSourceFile, hiconLarge, hiconSmall);
return -1;
}
return SIC_IconAppend (sSourceFile, dwSourceIndex, hiconSmall, hiconLarge);

View File

@ -63,7 +63,6 @@ typedef struct tagPIDLDATA
/* end of MS compatible. Here are comming just one or two
strings. The first is the long name. The second the dos name
when needed. */
DWORD dwSFGAO; /*12*/
CHAR szAlternateName[14]; /* the 8.3 Name*/
CHAR szText[1]; /* last entry, variable size */
} file, folder, generic;

View File

@ -120,7 +120,22 @@ DWORD WINAPI SHGetFileInfo32A(LPCSTR path,DWORD dwFileAttributes,
if (flags & SHGFI_ATTRIBUTES)
{ if (flags & SHGFI_PIDL)
{ pData = _ILGetDataPointer((LPCITEMIDLIST)path);
psfi->dwAttributes = pData->u.generic.dwSFGAO; /* fixme: no direct access*/
switch (pData->type)
{ case PT_DESKTOP:
psfi->dwAttributes = SFGAO_HASSUBFOLDER | SFGAO_FOLDER | SFGAO_DROPTARGET | SFGAO_HASPROPSHEET | SFGAO_CANLINK;
case PT_MYCOMP:
psfi->dwAttributes = SFGAO_HASSUBFOLDER | SFGAO_FOLDER | SFGAO_FILESYSANCESTOR |
SFGAO_DROPTARGET | SFGAO_HASPROPSHEET | SFGAO_CANRENAME | SFGAO_CANLINK ;
case PT_SPECIAL:
psfi->dwAttributes = SFGAO_HASSUBFOLDER | SFGAO_FOLDER | SFGAO_CAPABILITYMASK;
case PT_DRIVE:
psfi->dwAttributes = SFGAO_HASSUBFOLDER | SFGAO_FILESYSTEM | SFGAO_FOLDER | SFGAO_FILESYSANCESTOR |
SFGAO_DROPTARGET | SFGAO_HASPROPSHEET | SFGAO_CANLINK;
case PT_FOLDER:
psfi->dwAttributes = SFGAO_HASSUBFOLDER | SFGAO_FILESYSTEM | SFGAO_FOLDER | SFGAO_CAPABILITYMASK;
case PT_VALUE:
psfi->dwAttributes = SFGAO_FILESYSTEM | SFGAO_CAPABILITYMASK;
}
ret=TRUE;
}
else

View File

@ -21,6 +21,7 @@
#include "if_macros.h"
#include "shell32_main.h"
#include "shresdef.h"
#include "spy.h"
#include "debug.h"
@ -829,7 +830,7 @@ LRESULT ShellView_OnCommand(LPSHELLVIEW this,DWORD dwCmdID, DWORD dwCmd, HWND32
break;
default:
FIXME(shell,"-- COMMAND unhandled\n");
TRACE(shell,"-- COMMAND 0x%04lx unhandled\n", dwCmdID);
}
return 0;
}
@ -976,9 +977,9 @@ LRESULT ShellView_OnNotify(LPSHELLVIEW this, UINT32 CtlID, LPNMHDR lpnmh)
STRRET str;
UINT32 uFlags;
IExtractIcon *pei;
TRACE(shell,"%p CtlID=%u lpnmh->code=%x\n",this,CtlID,lpnmh->code);
switch(lpnmh->code)
{ case NM_SETFOCUS:
TRACE(shell,"-- NM_SETFOCUS %p\n",this);
@ -995,23 +996,18 @@ LRESULT ShellView_OnNotify(LPSHELLVIEW this, UINT32 CtlID, LPNMHDR lpnmh)
/*nColumn1 = ListView_GetColumnWidth(this->hWndList, 0);
nColumn2 = ListView_GetColumnWidth(this->hWndList, 1);*/
break;
case LVN_DELETEITEM:
TRACE(shell,"-- LVN_DELETEITEM %p\n",this);
SHFree((LPITEMIDLIST)lpnmlv->lParam); /*delete the pidl because we made a copy of it*/
break;
case NM_DBLCLK:
case NM_RETURN:
TRACE(shell,"-- NM_RETURN|NM_DBLCLK ignored, waiting for LVN_ITEMACTIVATE\n");
break;
case LVN_ITEMACTIVATE:
TRACE(shell,"-- LVN_ITEMACTIVATE %p\n",this);
OnStateChange(this, CDBOSC_SELCHANGE); /* the browser will get the IDataObject now */
ShellView_DoContextMenu(this, 0, 0, TRUE);
break;
case NM_RCLICK:
TRACE(shell,"-- NM_RCLICK %p\n",this);
dwCursor = GetMessagePos();
@ -1093,38 +1089,14 @@ LRESULT ShellView_OnNotify(LPSHELLVIEW this, UINT32 CtlID, LPNMHDR lpnmh)
}
break;
case NM_CLICK:
WARN(shell,"-- NM_CLICK %p\n",this);
break;
case LVN_ITEMCHANGING:
WARN(shell,"-- LVN_ITEMCHANGING %p\n",this);
break;
case LVN_ITEMCHANGED:
TRACE(shell,"-- LVN_ITEMCHANGED %p\n",this);
ShellView_GetSelections(this);
OnStateChange(this, CDBOSC_SELCHANGE); /* the browser will get the IDataObject now */
break;
case LVN_DELETEALLITEMS:
WARN(shell,"-- LVN_DELETEALLITEMS %p\n",this);
break;
case LVN_INSERTITEM:
WARN(shell,"-- LVN_INSERTITEM %p\n",this);
break;
case LVN_BEGINDRAG:
WARN(shell,"-- LVN_BEGINDRAG %p\n",this);
break;
case NM_CUSTOMDRAW:
WARN(shell,"NM_CUSTOMDRAW %p\n",this);
break;
default:
FIXME (shell,"-- WM_NOTIFY unhandled\n");
TRACE (shell,"-- %p WM_COMMAND %s unhandled\n", this, SPY_GetMsgName(lpnmh->code));
break;;
}
return 0;
@ -1203,81 +1175,8 @@ LRESULT CALLBACK ShellView_WndProc(HWND32 hWnd, UINT32 uMessage, WPARAM32 wParam
}
break;
/* -------------*/
case WM_MOVE:
WARN(shell,"-- WM_MOVE\n");
break;
case WM_ACTIVATEAPP:
WARN(shell,"-- WM_ACTIVATEAPP\n");
break;
case WM_NOTIFYFORMAT:
WARN(shell,"-- WM_NOTIFYFORMAT\n");
break;
case WM_NCPAINT:
WARN(shell,"-- WM_NCPAINT\n");
break;
case WM_ERASEBKGND:
WARN(shell,"-- WM_ERASEBKGND\n");
break;
case WM_PAINT:
WARN(shell,"-- WM_PAINT\n");
break;
case WM_NCCALCSIZE:
WARN(shell,"-- WM_NCCALCSIZE\n");
break;
case WM_WINDOWPOSCHANGING:
WARN(shell,"-- WM_WINDOWPOSCHANGING\n");
break;
case WM_WINDOWPOSCHANGED:
WARN(shell,"-- WM_WINDOWPOSCHANGED\n");
break;
case WM_MOUSEACTIVATE:
WARN(shell,"-- WM_MOUSEACTIVATE\n");
break;
case WM_SETCURSOR:
WARN(shell,"-- WM_SETCURSOR\n");
break;
case WM_DESTROY:
WARN(shell,"-- WM_DESTROY\n");
break;
case WM_NCDESTROY:
WARN(shell,"-- WM_NCDESTROY\n");
break;
case WM_CONTEXTMENU:
WARN(shell,"-- WM_CONTEXTMENU\n");
break;
case WM_MENUSELECT:
WARN(shell,"-- WM_MENUSELECT\n");
break;
case WM_CAPTURECHANGED:
WARN(shell,"-- WM_CAPTURECHANGED\n");
break;
case WM_CHILDACTIVATE:
WARN(shell,"-- WM_CHILDACTIVATE\n");
break;
case WM_ENTERIDLE:
WARN(shell,"-- WM_ENTERIDLE\n");
break;
default:
FIXME(shell,"-- MESSAGE unhandled\n");
TRACE(shell,"-- message %s unhandled\n", SPY_GetMsgName(uMessage));
break;
}
return DefWindowProc32A (hWnd, uMessage, wParam, lParam);