Changeset 751 for trunk/dll/update.c
- Timestamp:
- Aug 3, 2007, 1:05:48 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/dll/update.c
r730 r751 7 7 8 8 Copyright (c) 1993-98 M. Kimes 9 Copyright (c) 2003, 200 6Steven H. Levine9 Copyright (c) 2003, 2007 Steven H. Levine 10 10 11 11 12 Feb 03 SHL Standardize EA math … … 17 17 20 Feb 07 GKY Add SelectDriveIcon() 18 18 09 Mar 07 GKY Cleanup SelectDriveIcon using "driveflag =" from Steven 19 02 Aug 07 SHL Sync with CNRITEM mods 19 20 20 21 ***********************************************************************/ … … 42 43 UINT driveflag = driveflags[toupper(*pci->pszFileName) - 'A']; 43 44 *pci->pszFileName = toupper(*pci->pszFileName); 44 45 46 45 if (isalpha(*pci->pszFileName) && 46 toupper(*pci->pszFileName) > 'B') { 47 if (driveflag & DRIVE_CDROM) 47 48 pci->rc.hptrIcon = hptrCDROM; 48 49 else 49 50 pci->rc.hptrIcon = 50 51 (driveflag & DRIVE_REMOVABLE) ? hptrRemovable 51 52 53 52 :(driveflag & DRIVE_VIRTUAL) ? hptrVirtual 53 :(driveflag & DRIVE_REMOTE) ? hptrRemote 54 :(driveflag & DRIVE_RAMDISK) ? hptrRamdisk 54 55 :(driveflag & DRIVE_ZIPSTREAM) ? hptrZipstrm : hptrDrive; 55 56 } 56 57 else 57 58 58 pci->rc.hptrIcon = hptrFloppy; 59 return pci->rc.hptrIcon; 59 60 } 60 61 PCNRITEM UpdateCnrRecord(HWND hwndCnr, CHAR * filename, BOOL partial, … … 64 65 FILEFINDBUF4 ffb; 65 66 HDIR hDir = HDIR_CREATE; 66 ULONG nm = 1 L;67 ULONG nm = 1; 67 68 ULONG oldemphasis = 0; 68 69 APIRET status; … … 128 129 #endif 129 130 if ((!fForceUpper && !fForceLower && strcmp(pci->pszFileName, filename)) || 130 131 132 133 134 135 136 137 138 139 131 pci->cbFile != ffb.cbFile || pci->attrFile != ffb.attrFile || 132 pci->easize != CBLIST_TO_EASIZE(ffb.cbList) || pci->date.day != 133 ffb.fdateLastWrite.day || pci->date.month != ffb.fdateLastWrite.month || 134 pci->date.year != ffb.fdateLastWrite.year + 1980 || pci->time.seconds != 135 ffb.ftimeLastWrite.twosecs * 2 || pci->time.minutes != ffb.ftimeLastWrite.minutes || 136 pci->time.hours != ffb.ftimeLastWrite.hours || pci->ladate.day != 137 ffb.fdateLastAccess.day || pci->ladate.month != ffb.fdateLastAccess.month || 138 pci->ladate.year != ffb.fdateLastAccess.year + 1980 || pci->latime.seconds != 139 ffb.ftimeLastAccess.twosecs * 2 || pci->latime.minutes != 140 ffb.ftimeLastAccess.minutes || pci->latime.hours != ffb.ftimeLastAccess.hours) { /* changed; update */ 140 141 #ifdef DEBUG 141 142 updated = TRUE; … … 144 145 ffb.cchName = 0; 145 146 FillInRecordFromFFB(hwndCnr, pci, filename, &ffb, partial, dcd); 146 147 147 if (strlen(pci->pszFileName) < 4) 148 SelectDriveIcon(pci); 148 149 oldemphasis = pci->rc.flRecordAttr & (CRA_SELECTED | CRA_CURSORED); 149 150 if (oldemphasis) … … 174 175 pci = WinSendMsg(hwndCnr, 175 176 CM_ALLOCRECORD, 176 MPFROMLONG(EXTRA_RECORD_BYTES), MPFROMLONG(1 L));177 MPFROMLONG(EXTRA_RECORD_BYTES), MPFROMLONG(1)); 177 178 if (pci) { 178 179 *ffb.achName = 0; … … 180 181 pci, 181 182 filename, &ffb, partial, dcd); 182 183 183 if (strlen(pci->pszFileName) < 4) 184 SelectDriveIcon(pci); 184 185 memset(&ri, 0, sizeof(RECORDINSERT)); 185 186 ri.cb = sizeof(RECORDINSERT); … … 187 188 ri.pRecordParent = (PRECORDCORE) NULL; 188 189 ri.zOrder = (USHORT) CMA_TOP; 189 ri.cRecordsInsert = 1 L;190 ri.cRecordsInsert = 1; 190 191 ri.fInvalidateRecord = TRUE; 191 192 if (WinSendMsg(hwndCnr, … … 218 219 CM_ALLOCRECORD, 219 220 MPFROMLONG(EXTRA_RECORD_BYTES), 220 MPFROMLONG(1 L));221 MPFROMLONG(1)); 221 222 if (pci) { 222 223 … … 226 227 FillInRecordFromFFB(hwndCnr, 227 228 pci, filename, &ffb, partial, dcd); 228 229 229 if (strlen(pci->pszFileName) < 4) 230 SelectDriveIcon(pci); 230 231 memset(&ri, 0, sizeof(RECORDINSERT)); 231 232 ri.cb = sizeof(RECORDINSERT); … … 233 234 ri.pRecordParent = (PRECORDCORE) pciParent; 234 235 ri.zOrder = (USHORT) CMA_TOP; 235 ri.cRecordsInsert = 1 L;236 ri.cRecordsInsert = 1; 236 237 ri.fInvalidateRecord = TRUE; 237 238 if (WinSendMsg(hwndCnr, … … 263 264 pci = WinSendMsg(hwndCnr, 264 265 CM_ALLOCRECORD, 265 MPFROMLONG(EXTRA_RECORD_BYTES), MPFROMLONG(1 L));266 MPFROMLONG(EXTRA_RECORD_BYTES), MPFROMLONG(1)); 266 267 if (pci) { 267 268 … … 273 274 pci, 274 275 filename, &ffb, partial, dcd); 275 276 276 if (strlen(pci->pszFileName) < 4) 277 SelectDriveIcon(pci); 277 278 memset(&ri, 0, sizeof(RECORDINSERT)); 278 279 ri.cb = sizeof(RECORDINSERT); … … 280 281 ri.pRecordParent = (PRECORDCORE) pciParent; 281 282 ri.zOrder = (USHORT) CMA_TOP; 282 ri.cRecordsInsert = 1 L;283 ri.cRecordsInsert = 1; 283 284 ri.fInvalidateRecord = TRUE; 284 285 if (WinSendMsg(hwndCnr, … … 314 315 if (dcd->type == DIR_FRAME) 315 316 dcd->ullTotalBytes -= pci->cbFile + pci->easize; 316 WinSendMsg(hwndCnr, 317 CM_REMOVERECORD, 318 MPFROMP(&pci), MPFROM2SHORT(1, CMA_FREE | CMA_INVALIDATE)); 319 pci = (PCNRITEM) NULL; 317 RemoveCnrItems(hwndCnr, pci, 1, CMA_FREE | CMA_INVALIDATE); 318 pci = NULL; 320 319 PostMsg(hwndCnr, UM_RESCAN, MPVOID, MPVOID); 321 320 } … … 339 338 FILEFINDBUF4 ffb; 340 339 HDIR hDir; 341 ULONG nm = 1 L;340 ULONG nm = 1; 342 341 INT x; 343 342 INT numlist = 0; … … 431 430 FillInRecordFromFFB(hwndCnr, 432 431 pci, filename[x], &ffb, partial, dcd); 433 434 432 if (IsRoot(pci->pszFileName)) 433 SelectDriveIcon(pci); 435 434 WinSendMsg(hwndCnr, 436 435 CM_SETRECORDEMPHASIS, … … 447 446 pci = WinSendMsg(hwndCnr, 448 447 CM_ALLOCRECORD, 449 MPFROMLONG(EXTRA_RECORD_BYTES), MPFROMLONG(1 L));448 MPFROMLONG(EXTRA_RECORD_BYTES), MPFROMLONG(1)); 450 449 if (pci) { 451 450 ret = TRUE; … … 455 454 filename[x], 456 455 &ffb, partial, dcd); 457 458 456 if (strlen(pci->pszFileName) < 4) 457 SelectDriveIcon(pci); 459 458 memset(&ri, 0, sizeof(RECORDINSERT)); 460 459 ri.cb = sizeof(RECORDINSERT); … … 462 461 ri.pRecordParent = (PRECORDCORE) NULL; 463 462 ri.zOrder = (USHORT) CMA_TOP; 464 ri.cRecordsInsert = 1 L;463 ri.cRecordsInsert = 1; 465 464 ri.fInvalidateRecord = FALSE; 466 465 if (WinSendMsg(hwndCnr, … … 475 474 } 476 475 else 477 WinSendMsg(hwndCnr, 478 CM_FREERECORD, MPFROMP(&pci), MPFROMSHORT(1)); 476 FreeCnrItem(hwndCnr, pci); 479 477 } 480 478 } … … 497 495 CM_ALLOCRECORD, 498 496 MPFROMLONG(EXTRA_RECORD_BYTES), 499 MPFROMLONG(1 L));497 MPFROMLONG(1)); 500 498 if (pci) { 501 499 … … 509 507 filename[x], 510 508 &ffb, partial, dcd); 511 512 509 if (strlen(pci->pszFileName) < 4) 510 SelectDriveIcon(pci); 513 511 memset(&ri, 0, sizeof(RECORDINSERT)); 514 512 ri.cb = sizeof(RECORDINSERT); … … 516 514 ri.pRecordParent = (PRECORDCORE) pciParent; 517 515 ri.zOrder = (USHORT) CMA_TOP; 518 ri.cRecordsInsert = 1 L;516 ri.cRecordsInsert = 1; 519 517 ri.fInvalidateRecord = FALSE; 520 518 if (WinSendMsg(hwndCnr, … … 529 527 } 530 528 else 531 WinSendMsg(hwndCnr, 532 CM_FREERECORD, 533 MPFROMP(&pci), MPFROMSHORT(1)); 529 FreeCnrItem(hwndCnr, pci); 534 530 } 535 531 } … … 544 540 CM_ALLOCRECORD, 545 541 MPFROMLONG(EXTRA_RECORD_BYTES), 546 MPFROMLONG(1 L));542 MPFROMLONG(1)); 547 543 if (pci) { 548 544 … … 556 552 filename[x], 557 553 &ffb, partial, dcd); 558 559 554 if (strlen(pci->pszFileName) < 4) 555 SelectDriveIcon(pci); 560 556 memset(&ri, 0, sizeof(RECORDINSERT)); 561 557 ri.cb = sizeof(RECORDINSERT); … … 563 559 ri.pRecordParent = (PRECORDCORE) pciParent; 564 560 ri.zOrder = (USHORT) CMA_TOP; 565 ri.cRecordsInsert = 1 L;561 ri.cRecordsInsert = 1; 566 562 ri.fInvalidateRecord = FALSE; 567 563 if (WinSendMsg(hwndCnr, … … 576 572 } 577 573 else 578 WinSendMsg(hwndCnr, 579 CM_FREERECORD, MPFROMP(&pci), MPFROMSHORT(1)); 574 FreeCnrItem(hwndCnr, pci); 580 575 } 581 576 } … … 597 592 if (dcd->type == DIR_FRAME) 598 593 dcd->ullTotalBytes -= (pci->cbFile + pci->easize); 599 if (WinSendMsg(hwndCnr, 600 CM_REMOVERECORD, 601 MPFROMP(&pci), 602 MPFROM2SHORT(1, 603 CMA_FREE | (numremain == 604 1 ? CMA_INVALIDATE : 0)))) { 594 // 02 Aug 07 SHL rc check was wrong 595 if (RemoveCnrItems(hwndCnr, pci, 1, 596 CMA_FREE | 597 numremain == 1 ? CMA_INVALIDATE : 0) != -1) { 605 598 numremain--; 606 599 repos = TRUE; 607 600 } 608 601 } 609 } // for602 } // for x 610 603 } 611 604 if (repos || (pciList && numlist)) {
Note:
See TracChangeset
for help on using the changeset viewer.