Changeset 8048 for trunk/src/shell32/shell32_main.c
- Timestamp:
- Mar 8, 2002, 12:01:03 PM (23 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/shell32/shell32_main.c
r7085 r8048 1 /* $Id: shell32_main.c,v 1. 6 2001-10-17 09:15:21 phallerExp $ */1 /* $Id: shell32_main.c,v 1.7 2002-03-08 11:01:00 sandervl Exp $ */ 2 2 /* 3 3 * Shell basics … … 215 215 LPITEMIDLIST pidlLast = NULL, pidl = NULL; 216 216 HRESULT hr = S_OK; 217 BOOL IconNotYetLoaded=TRUE; 217 218 218 219 TRACE("(%s fattr=0x%lx sfi=%p(attr=0x%08lx) size=0x%x flags=0x%x)\n", … … 337 338 if (SUCCEEDED(hr) && (flags & SHGFI_TYPENAME)) 338 339 { 339 _ILGetFileType(pidlLast, psfi->szTypeName, 80); 340 if (!(flags & SHGFI_USEFILEATTRIBUTES)) 341 _ILGetFileType(pidlLast, psfi->szTypeName, 80); 342 else 343 { 344 char sTemp[64]; 345 strcpy(sTemp,PathFindExtensionA(path)); 346 if (!( HCR_MapTypeToValue(sTemp, sTemp, 64, TRUE) 347 && HCR_MapTypeToValue(sTemp, psfi->szTypeName, 80, FALSE ))) 348 { 349 lstrcpynA (psfi->szTypeName, sTemp, 80 - 6); 350 strcat (psfi->szTypeName, "-file"); 351 } 352 } 340 353 } 341 354 … … 359 372 { 360 373 hr = IExtractIconA_GetIconLocation(pei, (flags & SHGFI_OPENICON)? GIL_OPENICON : 0,szLoaction, MAX_PATH, &iIndex, &uFlags); 361 /* fixmewhat to do with the index? */374 /* FIXME what to do with the index? */ 362 375 363 376 if(uFlags != GIL_NOTFILENAME) … … 373 386 if (SUCCEEDED(hr) && (flags & (SHGFI_ICON | SHGFI_SYSICONINDEX))) 374 387 { 388 375 389 if (flags & SHGFI_USEFILEATTRIBUTES) 376 390 { … … 388 402 strcpy(sTemp, path); 389 403 } 390 /* FIXME: if sTemp contains a valid filename, get the icon 391 from there, index is in dwNr 392 */ 393 psfi->iIcon = 2; 404 IconNotYetLoaded=FALSE; 405 psfi->iIcon = 0; 406 if (SHGFI_LARGEICON) 407 PrivateExtractIconsA(sTemp,dwNr,GetSystemMetrics(SM_CXICON), 408 GetSystemMetrics(SM_CYICON), 409 &psfi->hIcon,0,1,0); 410 else 411 PrivateExtractIconsA(sTemp,dwNr,GetSystemMetrics(SM_CXSMICON), 412 GetSystemMetrics(SM_CYSMICON), 413 &psfi->hIcon,0,1,0); 394 414 } 395 415 else /* default icon */ … … 413 433 414 434 /* icon handle */ 415 if (SUCCEEDED(hr) && (flags & SHGFI_ICON) )435 if (SUCCEEDED(hr) && (flags & SHGFI_ICON) && IconNotYetLoaded) 416 436 psfi->hIcon = ImageList_GetIcon((flags & SHGFI_LARGEICON) ? ShellBigIconList:ShellSmallIconList, psfi->iIcon, ILD_NORMAL); 417 437 … … 432 452 return ret; 433 453 } 454 434 455 /************************************************************************* 435 456 * SHGetFileInfoW [SHELL32.@] … … 462 483 463 484 /************************************************************************* 464 * SHGetFileInfo AW[SHELL32.@]485 * SHGetFileInfo [SHELL32.@] 465 486 */ 466 487 DWORD WINAPI SHGetFileInfoAW(
Note:
See TracChangeset
for help on using the changeset viewer.