Changeset 942
Legend:
- Unmodified
- Added
- Removed
-
trunk/dll/arccnrs.c
r917 r942 3290 3290 } 3291 3291 3292 MRESULT EXPENTRY ArcCnrMenuProc(HWND hwnd, ULONG msg, MPARAM mp1, 3293 MPARAM mp2) 3294 { 3295 PFNWP oldMenuProc = WinQueryWindowPtr(hwnd, QWL_USER); 3296 static short sLastMenuitem; 3297 3298 switch (msg) { 3299 case WM_MOUSEMOVE: { 3300 if (fOtherHelp) { 3301 RECTL rectl; 3302 SHORT i, sCurrentMenuitem; 3303 SHORT MenuItems = 10; 3304 SHORT asMenuIDs[10] = {IDM_VIEW, 3305 IDM_DELETE, 3306 IDM_EXEC, 3307 IDM_EXTRACT, 3308 IDM_TEST, 3309 IDM_VIRUSSCAN, 3310 IDM_RESCAN, 3311 IDM_WALKDIR, 3312 IDM_FILTER, 3313 0}; 3314 char *szHelpString = NULL; 3315 3316 3317 for (i=0; i<MenuItems; i++) { 3318 sCurrentMenuitem = asMenuIDs[i]; 3319 oldMenuProc(hwnd,MM_QUERYITEMRECT, 3320 MPFROM2SHORT(asMenuIDs[i], FALSE), 3321 &rectl); 3322 3323 if (MOUSEMSG(&msg)->x > rectl.xLeft && 3324 MOUSEMSG(&msg)->x < rectl.xRight && 3325 MOUSEMSG(&msg)->y > rectl.yBottom && 3326 MOUSEMSG(&msg)->y < rectl.yTop) 3327 break; 3328 } // for 3329 3330 3331 switch (sCurrentMenuitem) { 3332 case 0: 3333 break; 3334 case IDM_VIEW: 3335 szHelpString = GetPString(IDS_ARCCNRVIEWMENUHELP); 3336 break; 3337 case IDM_DELETE: 3338 szHelpString = GetPString(IDS_ARCCNRDELETEMENUHELP); 3339 break; 3340 case IDM_EXEC: 3341 szHelpString = GetPString(IDS_ARCCNREXECMENUHELP); 3342 break; 3343 case IDM_EXTRACT: 3344 szHelpString = GetPString(IDS_ARCCNREXTRACTMENUHELP); 3345 break; 3346 case IDM_TEST: 3347 szHelpString = GetPString(IDS_ARCCNRTESTMENUHELP); 3348 break; 3349 case IDM_VIRUSSCAN: 3350 szHelpString = GetPString(IDS_ARCCNRVIRUSMENUHELP); 3351 break; 3352 case IDM_RESCAN: 3353 szHelpString = GetPString(IDS_ARCCNRRESCANMENUHELP); 3354 break; 3355 case IDM_WALKDIR: 3356 szHelpString = GetPString(IDS_ARCCNRWALKDIRMENUHELP); 3357 break; 3358 case IDM_FILTER: 3359 szHelpString = GetPString(IDS_ARCCNRFILTERMENUHELP); 3360 break; 3361 default: 3362 break; 3363 } 3364 3365 if (sLastMenuitem != sCurrentMenuitem && szHelpString) { 3366 sLastMenuitem = sCurrentMenuitem; 3367 MakeBubble(hwnd, TRUE, szHelpString); 3368 } 3369 else if (hwndBubble && !sCurrentMenuitem){ 3370 sLastMenuitem = sCurrentMenuitem; 3371 WinDestroyWindow(hwndBubble); 3372 } 3373 } 3374 } 3375 } 3376 return oldMenuProc(hwnd, msg, mp1, mp2); 3377 } 3378 3292 3379 HWND StartArcCnr(HWND hwndParent, HWND hwndCaller, CHAR * arcname, INT flags, 3293 3380 ARC_TYPE * sinfo) … … 3464 3551 if (!PostMsg(dcd->hwndCnr, UM_SETUP, MPVOID, MPVOID)) 3465 3552 WinSendMsg(dcd->hwndCnr, UM_SETUP, MPVOID, MPVOID); 3466 if (FrameFlags & FCF_MENU) { 3553 if (FrameFlags & FCF_MENU) { 3554 PFNWP oldmenuproc; 3555 HWND hwndMenu = WinWindowFromID(hwndFrame, FID_MENU); 3556 3557 oldmenuproc = WinSubclassWindow(hwndMenu, (PFNWP) ArcCnrMenuProc); 3558 WinSetWindowPtr(hwndMenu, QWL_USER, (PVOID) oldmenuproc); 3467 3559 if (!fToolbar) { 3468 HWND hwndMenu = WinWindowFromID(hwndFrame, FID_MENU);3469 3560 3470 3561 if (hwndMenu) { -
trunk/dll/collect.c
r917 r942 67 67 #include "strutil.h" // GetPString 68 68 #include "errutil.h" // Runtime_Error 69 #include "tmrsvcs.h" // ITIMER_DESC 69 70 #include "fm3dll.h" 70 71 … … 240 241 break; 241 242 case DIR_FILTER: 242 s = GetPString(IDS_DIRCNRFILTERHELP);243 break;243 s = GetPString(IDS_DIRCNRFILTERHELP); 244 break; 244 245 default: 245 246 break; … … 444 445 } 445 446 446 MRESULT EXPENTRY CollectorObjWndProc(HWND hwnd, ULONG msg, MPARAM mp1,447 MPARAM mp 2)447 MRESULT EXPENTRY CollectorObjWndProc(HWND hwnd, ULONG msg, 448 MPARAM mp1, MPARAM mp2) 448 449 { 449 450 ULONG size; … … 498 499 COLLECTOROBJ_FRAME + (COLLECTOR_FRAME - dcd->id)); 499 500 dcd->hwndObject = hwnd; 500 if (ParentIsDesktop(hwnd, dcd->hwndParent)) 501 DosSleep(100); //05 Aug 07 GKY 250 501 // 09 Feb 08 SHL fixme to be sure applet does not really need this 502 // if (ParentIsDesktop(hwnd, dcd->hwndParent)) 503 // DosSleep(100); //05 Aug 07 GKY 250 502 504 } 503 505 else … … 558 560 CHAR fullname[CCHMAXPATH]; 559 561 560 WinSetWindowText(WinWindowFromID(dcd->hwndClient, DIR_SELECTED), 561 GetPString(IDS_COLLECTINGTEXT)); 562 if (!hwndStatus) { 563 WinSetWindowText(WinWindowFromID(dcd->hwndClient, DIR_SELECTED), 564 GetPString(IDS_COLLECTINGTEXT)); 565 } 566 else { 567 if (WinQueryFocus(HWND_DESKTOP) == dcd->hwndCnr) 568 WinSetWindowText(hwndStatus, GetPString(IDS_COLLECTINGTEXT)); 569 } 570 562 571 for (ulMaxFiles = 0; li->list[ulMaxFiles]; ulMaxFiles++) ; // Count 563 572 … … 572 581 } 573 582 else { 583 ITIMER_DESC itdSleep = { 0 }; // 06 Feb 08 SHL 584 InitITimer(&itdSleep, 500); // Sleep every 500 mSec 574 585 pciFirst = pci; 575 586 // 04 Jan 08 SHL fixme like comp.c if CM_ALLOCRECORD returns unexpected record count … … 605 616 } 606 617 else { 618 // Oops - fixme to complain? 607 619 pciT = pci; 608 620 pci = (PCNRITEM) pci->rc.preccNextRecord; … … 612 624 pciFirst = pci; 613 625 FreeCnrItem(hwnd, pciT); 614 ulMaxFiles--; 615 } 616 DosSleep(0); //26 Aug 07 GKY 1 617 } 626 ulMaxFiles--; // Remember gone 627 } 628 SleepIfNeeded(&itdSleep, 1); // 09 Feb 08 SHL 629 // DosSleep(0); //26 Aug 07 GKY 1 // 09 Feb 08 SHL 630 } // for 618 631 if (ulMaxFiles) { 632 // Some files OK 619 633 memset(&ri, 0, sizeof(RECORDINSERT)); 620 634 ri.cb = sizeof(RECORDINSERT); … … 896 910 897 911 dcd->stopflag = 1; 898 // Allow rescan logic to quiesce 899 for (x = 0; x < 10 && dcd->amextracted; x++) 900 DosSleep(100); //05 Aug 07 GKY 250 912 // Allow other threads to honor stop request 913 for (x = 0; x < 100 && dcd->amextracted; x++) 914 DosSleep(10); 915 if (dcd->amextracted) 916 Runtime_Error(pszSrcFile, __LINE__, "still busy"); 901 917 WinSendMsg(dcd->hwndCnr, UM_CLOSE, MPVOID, MPVOID); 902 918 FreeList(dcd->lastselection); … … 1128 1144 PostMsg(hwndMain, UM_LOADFILE, MPVOID, MPVOID); 1129 1145 } 1130 if (!fMoreButtons) 1131 sprintf(s, " %s%s%s%s", GetPString(IDS_COLLECTORTEXT), 1132 (*dcd->mask.szMask || dcd->mask.antiattr || 1133 dcd->mask.attrFile != ALLATTRS) ? " (" : NullStr, 1134 (*dcd->mask.szMask) ? dcd->mask.szMask : 1135 (dcd->mask.antiattr || 1136 dcd->mask.attrFile != ALLATTRS) ? 1137 GetPString(IDS_ATTRTEXT) : NullStr, 1138 (*dcd->mask.szMask || dcd->mask.antiattr || 1139 dcd->mask.attrFile != ALLATTRS) ? ")" : NullStr); 1140 else 1141 strcpy(s, GetPString(IDS_COLLECTORTEXT)); 1146 if (!fMoreButtons) { 1147 sprintf(s, " %s%s%s%s", 1148 dcd->amextracted ? 1149 GetPString(IDS_COLLECTINGTEXT) : 1150 GetPString(IDS_COLLECTORTEXT), 1151 *dcd->mask.szMask || dcd->mask.antiattr || 1152 dcd->mask.attrFile != ALLATTRS ? " (" : NullStr, 1153 *dcd->mask.szMask ? 1154 dcd->mask.szMask : 1155 dcd->mask.antiattr || 1156 dcd->mask.attrFile != ALLATTRS ? 1157 GetPString(IDS_ATTRTEXT) : NullStr, 1158 *dcd->mask.szMask || dcd->mask.antiattr || 1159 dcd->mask.attrFile != ALLATTRS ? 1160 ")" : NullStr); 1161 } 1162 else { 1163 strcpy(s, 1164 dcd->amextracted ? 1165 GetPString(IDS_COLLECTINGTEXT) : 1166 GetPString(IDS_COLLECTORTEXT)); 1167 } 1142 1168 WinSetWindowText(hwndStatus, s); 1143 1169 if (!pci) … … 1289 1315 MPFROMLONG(CMA_XVERTSPLITBAR)); 1290 1316 1291 if (_beginthread(MakeObjWin, NULL, 245760, (PVOID) dcd) == -1) {1317 if (_beginthread(MakeObjWin, NULL, 245760, (PVOID)dcd) == -1) { 1292 1318 Runtime_Error(pszSrcFile, __LINE__, 1293 1319 GetPString(IDS_COULDNTSTARTTHREADTEXT)); … … 1296 1322 } 1297 1323 else 1298 DosSleep(32); //05 Aug 07 GKY 641324 DosSleep(32); // Let object window get started 1299 1325 } 1300 1326 SayFilter(WinWindowFromID(WinQueryWindow(hwnd, QW_PARENT), … … 2611 2637 PostMsg(hwnd, UM_FOLDUP, MPVOID, MPVOID); 2612 2638 if (dcd->hwndObject) { 2613 DosSleep(32); //05 Aug 07 GKY 642639 DosSleep(32); // Allow UM_FOLDUP to process 2614 2640 if (!PostMsg(dcd->hwndObject, WM_CLOSE, MPVOID, MPVOID)) 2615 2641 WinSendMsg(dcd->hwndObject, WM_CLOSE, MPVOID, MPVOID); … … 2637 2663 else 2638 2664 return PFNWPCnr(hwnd, msg, mp1, mp2); 2665 } 2666 2667 MRESULT EXPENTRY CollectorMenuProc(HWND hwnd, ULONG msg, MPARAM mp1, 2668 MPARAM mp2) 2669 { 2670 PFNWP oldMenuProc = WinQueryWindowPtr(hwnd, QWL_USER); 2671 static short sLastMenuitem; 2672 2673 switch (msg) { 2674 case WM_MOUSEMOVE: { 2675 if (fOtherHelp) { 2676 RECTL rectl; 2677 SHORT i, sCurrentMenuitem; 2678 SHORT MenuItems = 5; 2679 SHORT asMenuIDs[5] = {IDM_GREP, 2680 IDM_SEEALL, 2681 IDM_CLEARCNR, 2682 IDM_REMOVE, 2683 0}; 2684 char *szHelpString = NULL; 2685 2686 2687 for (i=0; i<MenuItems; i++) { 2688 sCurrentMenuitem = asMenuIDs[i]; 2689 oldMenuProc(hwnd,MM_QUERYITEMRECT, 2690 MPFROM2SHORT(asMenuIDs[i], FALSE), 2691 &rectl); 2692 2693 if (MOUSEMSG(&msg)->x > rectl.xLeft && 2694 MOUSEMSG(&msg)->x < rectl.xRight && 2695 MOUSEMSG(&msg)->y > rectl.yBottom && 2696 MOUSEMSG(&msg)->y < rectl.yTop) 2697 break; 2698 } // for 2699 2700 2701 switch (sCurrentMenuitem) { 2702 case 0: 2703 break; 2704 case IDM_GREP: 2705 szHelpString = GetPString(IDS_COLMENUSEEKSCANHELP); 2706 break; 2707 case IDM_SEEALL: 2708 szHelpString = GetPString(IDS_COLMENUSEEALLHELP); 2709 break; 2710 case IDM_CLEARCNR: 2711 szHelpString = GetPString(IDS_COLMENUCLEARCNRHELP); 2712 break; 2713 case IDM_REMOVE: 2714 szHelpString = GetPString(IDS_COLMENUREMOVECNRHELP); 2715 break; 2716 default: 2717 break; 2718 } 2719 2720 if (sLastMenuitem != sCurrentMenuitem && szHelpString) { 2721 sLastMenuitem = sCurrentMenuitem; 2722 MakeBubble(hwnd, TRUE, szHelpString); 2723 } 2724 else if (hwndBubble && !sCurrentMenuitem){ 2725 sLastMenuitem = sCurrentMenuitem; 2726 WinDestroyWindow(hwndBubble); 2727 } 2728 } 2729 } 2730 } 2731 return oldMenuProc(hwnd, msg, mp1, mp2); 2639 2732 } 2640 2733 … … 2714 2807 WinSetWindowPtr(dcd->hwndCnr, QWL_USER, (PVOID) dcd); 2715 2808 WinSetWindowText(hwndFrame, GetPString(IDS_COLLECTORTITLETEXT)); 2716 if (FrameFlags & FCF_MENU) { 2809 if (FrameFlags & FCF_MENU) { 2810 PFNWP oldmenuproc; 2811 HWND hwndMenu = WinWindowFromID(hwndFrame, FID_MENU); 2812 2813 oldmenuproc = WinSubclassWindow(hwndMenu, (PFNWP) CollectorMenuProc); 2814 WinSetWindowPtr(hwndMenu, QWL_USER, (PVOID) oldmenuproc); 2717 2815 if (!fToolbar) { 2718 HWND hwndMenu = WinWindowFromID(hwndFrame, FID_MENU); 2719 2720 if (hwndMenu) { 2816 if (hwndMenu) { 2817 2721 2818 WinSendMsg(hwndMenu, 2722 2819 MM_DELETEITEM, … … 2737 2834 (PFNWP) CollectorCnrWndProc); 2738 2835 { 2739 USHORT ids[] = { DIR_TOTALS, DIR_SELECTED, DIR_VIEW, DIR_SORT, 2740 DIR_FILTER, 0 2836 USHORT ids[] = { DIR_TOTALS, 2837 DIR_SELECTED, 2838 DIR_VIEW, 2839 DIR_SORT, 2840 DIR_FILTER, 2841 0 2741 2842 }; 2742 2843 -
trunk/dll/fm3dll.str
r920 r942 115 115 Continue to try to Collect from %s? 116 116 Seek & scan in progress. 117 Collector117 Collector 118 118 119 119 FM/2: Collector 120 121 122 123 120 Seek and scan files 121 See all files 122 Clear the container contents (Nothing gets deleted) 123 Remove the selected files from the container (Nothing gets deleted) 124 124 **Archiver report:\n\n\n 125 125 Say what? … … 866 866 867 867 868 869 870 871 872 873 874 875 876 868 Filter archive contents 869 Set extract directory 870 Rescan archive 871 Check selected for viruses (requires an external virus checker) 872 Test selected files 873 Extract selected from archive 874 Run executable 875 Delete from archive 876 View in default viewer 877 877 Fatal Error: 878 878 %s is not a valid directory\nDo you wish to delete it? -
trunk/dll/fm3str.h
r920 r942 131 131 #define IDS_COLLECTORTEXT 116 132 132 #define IDS_COLLECTORTITLETEXT 118 133 #define IDS_COLMENUSEEKSCANHELP 119 134 #define IDS_COLMENUSEEALLHELP 120 135 #define IDS_COLMENUCLEARCNRHELP 121 136 #define IDS_COLMENUREMOVECNRHELP 122 133 137 #define IDS_ARCHIVERREPORTTEXT 123 134 138 #define IDS_SAYWHATTEXT 124 … … 852 856 #define IDS_PERNODETEXT 859 853 857 #define IDS_USUALDISCTEXT 860 858 #define IDS_ARCCNRFILTERMENUHELP 867 859 #define IDS_ARCCNRWALKDIRMENUHELP 868 860 #define IDS_ARCCNRRESCANMENUHELP 869 861 #define IDS_ARCCNRVIRUSMENUHELP 870 862 #define IDS_ARCCNRTESTMENUHELP 871 863 #define IDS_ARCCNREXTRACTMENUHELP 872 864 #define IDS_ARCCNREXECMENUHELP 873 865 #define IDS_ARCCNRDELETEMENUHELP 874 866 #define IDS_ARCCNRVIEWMENUHELP 875 854 867 #define IDS_FATALERRORTEXT 876 855 868 #define IDS_EXTPATHNOTVALIDTEXT 877
Note:
See TracChangeset
for help on using the changeset viewer.
