Changeset 1455 for trunk/dll/common.c
- Timestamp:
- Sep 15, 2009, 4:43:55 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/dll/common.c
r1444 r1455 27 27 08 Mar 09 GKY Additional strings move to PCSZs in init.c 28 28 22 Jul 09 GKY Drivebar enhancements add refresh removable, rescan all drives, drive button 29 loads drive root directory in directory container or expands drive tree 30 and rescans drive in tree container depending on container focus, greyed out 31 inappropriate menu context choices 32 29 22 Jul 09 GKY Drivebar enhancements add refresh removable, rescan all drives, drive button 30 loads drive root directory in directory container or expands drive tree 31 and rescans drive in tree container depending on container focus, greyed out 32 inappropriate menu context choices 33 14 Sep 09 SHL Blink thread LEDs while threads working 33 34 34 35 ***********************************************************************/ … … 238 239 if (!hwndTmp) 239 240 Win_Error(hwnd, hwnd, pszSrcFile, __LINE__, 240 241 PCSZ_WINCREATEWINDOW); 241 242 } // for 242 243 } … … 265 266 hwnd, 266 267 SetDrvProc, 267 268 FM3ModHandle, DVS_FRAME, MPFROMP(dv)) && hwndTree) 268 269 if (!PostMsg(hwndTree, UM_SHOWME, MPFROMP(dv), MPVOID)) 269 270 PostMsg(hwndTree, WM_COMMAND, MPFROM2SHORT(IDM_UPDATE, 0), MPVOID); 270 271 break; 271 272 case IDM_SIZES: … … 283 284 hObject = WinQueryObject("<XWP_TRASHCAN>"); 284 285 if (hObject != NULLHANDLE && fTrashCan) { 285 286 287 286 hwndDesktop = WinQueryDesktopWindow((HAB) 0, NULLHANDLE); 287 WinSetFocus(HWND_DESKTOP, hwndDesktop); 288 WinOpenObject(hObject, 0, TRUE); 288 289 } 289 290 else 290 291 WinDlgBox(HWND_DESKTOP, 291 292 293 292 hwnd, 293 UndeleteDlgProc, 294 FM3ModHandle, UNDEL_FRAME, MPFROMP(dv)); 294 295 } 295 296 break; … … 381 382 rc = DosDevIOCtl(-1L, 8L, 0x40L, &parm, sizeof(parm), &plen, NULL, 0L, &dlen); 382 383 if (cmd == IDM_EJECT && 383 384 385 386 387 388 389 390 391 392 393 394 384 (fEjectFlpyScan ? TRUE : parm[1] > 1) && 385 (fEjectCDScan ? TRUE : !(driveflags[parm[1]] & DRIVE_CDROM)) && 386 (fEjectRemovableScan ? TRUE : (parm[1] < 2 || driveflags[parm[1]] & DRIVE_CDROM))) { 387 BOOL toggleTree = FALSE; 388 389 if (!hwndTree) { 390 WinSendMsg(hwndMain, WM_COMMAND, MPFROM2SHORT(IDM_VTREE, 0), MPVOID); 391 toggleTree = TRUE; 392 } 393 WinSendMsg(hwndTree, WM_COMMAND, MPFROM2SHORT(IDM_RESCAN, 0), MPVOID); 394 if (toggleTree) 395 WinSendMsg(hwndMain, WM_COMMAND, MPFROM2SHORT(IDM_VTREE, 0), MPVOID); 395 396 } 396 397 } … … 402 403 403 404 if (!hwndTree) { 404 405 405 WinSendMsg(hwndMain, WM_COMMAND, MPFROM2SHORT(IDM_VTREE, 0), MPVOID); 406 toggleTree = TRUE; 406 407 } 407 408 WinSendMsg(hwndTree, WM_COMMAND, MPFROM2SHORT(IDM_RESCAN, 0), MPVOID); 408 409 if (toggleTree) 409 410 WinSendMsg(hwndMain, WM_COMMAND, MPFROM2SHORT(IDM_VTREE, 0), MPVOID); 410 411 } 411 412 break; … … 416 417 417 418 if (!hwndTree) { 418 419 419 WinSendMsg(hwndMain, WM_COMMAND, MPFROM2SHORT(IDM_VTREE, 0), MPVOID); 420 toggleTree = TRUE; 420 421 } 421 422 WinSendMsg(hwndTree, WM_COMMAND, MPFROM2SHORT(IDM_REFRESHREMOVABLES, 0), MPVOID); 422 423 if (toggleTree) 423 424 WinSendMsg(hwndMain, WM_COMMAND, MPFROM2SHORT(IDM_VTREE, 0), MPVOID); 424 425 } 425 426 break; … … 453 454 if (!hwndStatus) 454 455 Win_Error(hwndFrame, hwnd, pszSrcFile, __LINE__, 455 456 PCSZ_WINCREATEWINDOW); 456 457 457 458 // Right status window … … 475 476 if (!hwndStatus2) 476 477 Win_Error(hwndFrame, hwnd, pszSrcFile, __LINE__, 477 478 PCSZ_WINCREATEWINDOW); 478 479 479 480 hwndAttr = WinCreateWindow(hwndFrame, … … 494 495 if (!hwndAttr) 495 496 Win_Error(hwndFrame, hwnd, pszSrcFile, __LINE__, 496 497 PCSZ_WINCREATEWINDOW); 497 498 498 499 hwndDate = WinCreateWindow(hwndFrame, … … 513 514 if (!hwndDate) 514 515 Win_Error(hwndFrame, hwnd, pszSrcFile, __LINE__, 515 516 PCSZ_WINCREATEWINDOW); 516 517 517 518 hwndName = WinCreateWindow(hwndFrame, … … 532 533 if (!hwndName) 533 534 Win_Error(hwndFrame, hwnd, pszSrcFile, __LINE__, 534 535 PCSZ_WINCREATEWINDOW); 535 536 536 537 hwndTmp = WinCreateWindow(hwndFrame, … … 550 551 if (!hwndTmp) 551 552 Win_Error(hwndFrame, hwnd, pszSrcFile, __LINE__, 552 553 PCSZ_WINCREATEWINDOW); 553 554 554 555 hwndBack = WinCreateWindow(hwndFrame, … … 561 562 (swp->cy - 562 563 WinQuerySysValue(HWND_DESKTOP, 563 564 564 SV_CYSIZEBORDER)) - 565 (DRIVE_BUTTON_HEIGHT), 565 566 swp->cx - 566 567 (WinQuerySysValue(HWND_DESKTOP, … … 571 572 if (!hwndBack) 572 573 Win_Error(hwndFrame, hwnd, pszSrcFile, __LINE__, 573 574 PCSZ_WINCREATEWINDOW); 574 575 575 576 hwndLED = WinCreateWindow(hwndFrame, 576 577 WC_LED, 577 "#920", 578 "#920", // LEDOFF_BMP 578 579 WS_VISIBLE | SS_BITMAP, 579 580 swp->cx - 58, … … 583 584 if (!hwndLED) 584 585 Win_Error(hwndFrame, hwnd, pszSrcFile, __LINE__, 585 586 PCSZ_WINCREATEWINDOW); 586 587 587 588 hwndLEDHdr = WinCreateWindow(hwndFrame, … … 597 598 if (!hwndLEDHdr) 598 599 Win_Error(hwndFrame, hwnd, pszSrcFile, __LINE__, 599 600 PCSZ_WINCREATEWINDOW); 600 601 601 602 hwndAutoview = WinCreateWindow(hwndFrame, … … 618 619 if (!hwndAutoview) 619 620 Win_Error(hwndFrame, hwnd, pszSrcFile, __LINE__, 620 621 PCSZ_WINCREATEWINDOW); 621 622 622 623 hwndAutoMLE = WinCreateWindow(hwndFrame, … … 640 641 if (!hwndAutoMLE) 641 642 Win_Error(hwndFrame, hwnd, pszSrcFile, __LINE__, 642 643 PCSZ_WINCREATEWINDOW); 643 644 644 645 oldproc = WinSubclassWindow(hwndAutoMLE, AutoViewProc); … … 647 648 } 648 649 650 /** 651 * Called by MainWndProc and MainWndProc2 to process messages 652 * common to both fm/2 and fm/2 lite main window 653 */ 654 649 655 MRESULT EXPENTRY CommonMainWndProc(HWND hwnd, ULONG msg, MPARAM mp1, 650 656 MPARAM mp2) 651 657 { 658 static BOOL fLedOn; 659 static LONG cWorkerThreads; 660 652 661 switch (msg) { 653 662 case UM_THREADUSE: 654 663 if (hbmLEDon && hbmLEDoff) { 655 static LONG threaduse; 656 CHAR ts[33]; 657 664 CHAR sz[33]; 658 665 if (mp1) { 659 threaduse++; 660 if (threaduse == 1) 666 cWorkerThreads++; 667 // 13 Sep 09 SHL fixme to be SMP safe 668 if (cWorkerThreads == 1) { 669 if (!WinStartTimer(WinQueryAnchorBlock(hwnd), hwnd, ID_LED_TIMER, 500)) 670 Win_Error(hwnd, hwnd, pszSrcFile, __LINE__, "WinStartTimer"); 671 fLedOn = TRUE; 661 672 WinSendMsg(hwndLED, SM_SETHANDLE, MPFROMLONG(hbmLEDon), MPVOID); 662 }663 else {664 threaduse--;665 if (threaduse <= 0) {666 threaduse = 0;667 WinSendMsg(hwndLED, SM_SETHANDLE, MPFROMLONG(hbmLEDoff), MPVOID);668 673 } 669 674 } 670 ltoa(threaduse, ts, 10); 671 WinSetWindowText(hwndLEDHdr, ts); 675 else if (cWorkerThreads > 0) 676 cWorkerThreads--; 677 678 ltoa(cWorkerThreads, sz, 10); 679 WinSetWindowText(hwndLEDHdr, sz); 672 680 DosSleep(0); 673 681 } 674 682 return 0; 683 684 case WM_TIMER: 685 fLedOn = !fLedOn; 686 WinSendMsg(hwndLED, 687 SM_SETHANDLE, 688 fLedOn ? MPFROMLONG(hbmLEDon) : MPFROMLONG(hbmLEDoff), 689 MPVOID); 690 if (!fLedOn && cWorkerThreads == 0) { 691 if (!WinStopTimer(WinQueryAnchorBlock(hwnd), hwnd, ID_LED_TIMER)) 692 Win_Error(hwnd, hwnd, pszSrcFile, __LINE__, "WinStartTimer"); 693 } 694 break; 675 695 676 696 case UM_LOADFILE:
Note:
See TracChangeset
for help on using the changeset viewer.