Changeset 471
- Timestamp:
- Sep 1, 2006, 3:05:53 AM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/dll/collect.c
r444 r471 28 28 15 Aug 06 SHL Rework SetMask args 29 29 18 Aug 06 SHL CollectorCnrWndProc: avoid freeing NULL pointer 30 31 Aug 06 SHL Disable Utilities->Seek and scan menu while busy 31 31 Aug 06 SHL Correct stop scan context menu enable/disable 30 32 31 33 ***********************************************************************/ … … 109 111 } 110 112 } 111 hwndButtonPopup = WinLoadMenu(HWND_DESKTOP, 112 FM3ModHandle, 113 id); 113 hwndButtonPopup = WinLoadMenu(HWND_DESKTOP,FM3ModHandle,id); 114 114 if (hwndButtonPopup) { 115 WinSetWindowUShort(hwndButtonPopup, 116 QWS_ID, 117 id); 115 WinSetWindowUShort(hwndButtonPopup,QWS_ID,id); 118 116 dcd = WinQueryWindowPtr(WinWindowFromID(WinQueryWindow(hwnd, 119 117 QW_PARENT), … … 122 120 if (id == DIR_VIEW) { 123 121 if (dcd) { 124 SetViewMenu(hwndButtonPopup, 125 dcd -> flWindowAttr); 126 SetDetailsSwitches(hwndButtonPopup, 127 dcd); 122 SetViewMenu(hwndButtonPopup,dcd -> flWindowAttr); 123 SetDetailsSwitches(hwndButtonPopup,dcd); 128 124 } 129 125 … … 131 127 WinSendMsg(hwndButtonPopup, 132 128 MM_DELETEITEM, 133 MPFROM2SHORT(IDM_TREEVIEW, 134 FALSE), 129 MPFROM2SHORT(IDM_TREEVIEW,FALSE), 135 130 MPVOID); 136 131 … … 138 133 else if (id == DIR_SORT) { 139 134 if (dcd) 140 SetSortChecks(hwndButtonPopup, 141 dcd -> sortFlags); 135 SetSortChecks(hwndButtonPopup,dcd -> sortFlags); 142 136 } 143 137 ptl.x = 0; … … 150 144 0)) 151 145 { 152 WinQueryWindowPos(hwndButtonPopup, 153 &swp); 146 WinQueryWindowPos(hwndButtonPopup,&swp); 154 147 ptl.y = -(swp.cy + 2); 155 148 } 156 149 else { 157 WinQueryWindowPos(hwnd, 158 &swp); 150 WinQueryWindowPos(hwnd,&swp); 159 151 ptl.y = swp.cy + 2; 160 152 } … … 169 161 { 170 162 CenterOverWindow(hwndButtonPopup); 171 PaintRecessedWindow(hwnd, 172 NULLHANDLE, 173 FALSE, 174 FALSE); 163 PaintRecessedWindow(hwnd,NULLHANDLE,FALSE,FALSE); 175 164 } 176 165 } … … 181 170 COLLECTOR_CNR), 182 171 WM_CONTROL, 183 MPFROM2SHORT(COLLECTOR_CNR, 184 CN_CONTEXTMENU), 172 MPFROM2SHORT(COLLECTOR_CNR,CN_CONTEXTMENU), 185 173 MPVOID); 186 174 break; … … 197 185 WinDestroyWindow(hwndButtonPopup); 198 186 hwndButtonPopup = (HWND)0; 199 DosQuerySysInfo(QSV_MS_COUNT, 200 QSV_MS_COUNT, 201 ×tamp, 202 sizeof(timestamp)); 187 DosQuerySysInfo(QSV_MS_COUNT,QSV_MS_COUNT,×tamp,sizeof(timestamp)); 203 188 switch (lastid) { 204 189 case DIR_SELECTED: 205 190 case DIR_VIEW: 206 191 case DIR_SORT: 207 PaintRecessedWindow(hwnd, 208 NULLHANDLE, 209 TRUE, 210 FALSE); 192 PaintRecessedWindow(hwnd,NULLHANDLE,TRUE,FALSE); 211 193 break; 212 194 } … … 234 216 QWL_USER); 235 217 if (dcd) 236 SetDetailsSwitches(hwndButtonPopup, 237 dcd); 218 SetDetailsSwitches(hwndButtonPopup,dcd); 238 219 } 239 220 return mr; … … 313 294 case DIR_SORT: 314 295 case DIR_SELECTED: 315 PostMsg(hwnd, 316 UM_CONTEXTMENU, 317 MPVOID, 318 MPVOID); 296 PostMsg(hwnd,UM_CONTEXTMENU,MPVOID,MPVOID); 319 297 break; 320 298 case DIR_FILTER: … … 325 303 } 326 304 if (cmd) 327 PostMsg(WinWindowFromID(WinQueryWindow(hwnd, 328 QW_PARENT), 305 PostMsg(WinWindowFromID(WinQueryWindow(hwnd,QW_PARENT), 329 306 COLLECTOR_CNR), 330 307 WM_COMMAND, … … 604 581 CHAR fullname[CCHMAXPATH]; 605 582 606 WinSetWindowText(WinWindowFromID(dcd -> hwndClient, 607 DIR_SELECTED), 583 WinSetWindowText(WinWindowFromID(dcd -> hwndClient,DIR_SELECTED), 608 584 GetPString(IDS_COLLECTINGTEXT)); 609 585 for (ulMaxFiles = 0; li -> list[ulMaxFiles]; ulMaxFiles++) … … 664 640 else 665 641 pciFirst = pci; 666 WinSendMsg(hwnd, CM_FREERECORD, MPFROMP(&pciT), 667 MPFROM2SHORT(1, 0)); 642 WinSendMsg(hwnd, CM_FREERECORD, MPFROMP(&pciT),MPFROM2SHORT(1, 0)); 668 643 ulMaxFiles--; 669 644 } … … 682 657 MPFROMP(pciFirst), 683 658 MPFROMP(&ri)); 684 PostMsg(dcd -> hwndCnr, 685 UM_RESCAN, 686 MPVOID, 687 MPVOID); 659 PostMsg(dcd -> hwndCnr,UM_RESCAN,MPVOID,MPVOID); 688 660 } 689 661 } … … 695 667 CM_INVALIDATERECORD, 696 668 MPVOID, 697 MPFROM2SHORT(0, 698 CMA_ERASE | CMA_REPOSITION)); 669 MPFROM2SHORT(0,CMA_ERASE | CMA_REPOSITION)); 699 670 return 0; 700 671 … … 810 781 strcpy(filename, "*.LST"); 811 782 size = CCHMAXPATH; 812 PrfQueryProfileData(fmprof, 813 appname, 814 "SaveToListName", 815 filename, 816 &size); 783 PrfQueryProfileData(fmprof,appname,"SaveToListName",filename,&size); 817 784 pp = strrchr(filename, '\\'); 818 785 if (!pp) … … 1154 1121 if (pci && (INT) pci != -1 && 1155 1122 (!(driveflags[toupper(*pci -> szFileName) - 'A'] & DRIVE_SLOW))) 1156 WinSendMsg(hwndMain, 1157 UM_LOADFILE, 1158 MPFROMP(pci -> szFileName), 1159 MPVOID); 1123 WinSendMsg(hwndMain,UM_LOADFILE,MPFROMP(pci -> szFileName),MPVOID); 1160 1124 else 1161 WinSendMsg(hwndMain, 1162 UM_LOADFILE, 1163 MPVOID, 1164 MPVOID); 1125 WinSendMsg(hwndMain,UM_LOADFILE,MPVOID,MPVOID); 1165 1126 } 1166 1127 if (dcd -> amextracted) 1167 1128 WinSetWindowText(hwndStatus2, 1168 1129 GetPString(IDS_INSEEKSCANTEXT)); // Say working 1169 WinSendMsg(hwnd, 1170 UM_RESCAN, 1171 MPVOID, 1172 MPVOID); 1130 WinSendMsg(hwnd,UM_RESCAN,MPVOID,MPVOID); 1173 1131 } 1174 1132 break; … … 1287 1245 1288 1246 case UM_CONTAINER_FILLED: 1289 DosBeep(1000, 50); // fixme to know why beep here1247 DosBeep(1000, 50); // Wake up user? 1290 1248 WinSendMsg(hwnd, 1291 1249 CM_INVALIDATERECORD, 1292 1250 MPVOID, 1293 1251 MPFROM2SHORT(0, CMA_ERASE | CMA_REPOSITION)); 1294 WinSendMsg(CollectorCnrMenu, 1295 MM_SETITEMATTR, 1296 MPFROM2SHORT(DID_CANCEL, TRUE), 1297 MPFROM2SHORT(MIA_DISABLED, MIA_DISABLED)); 1298 WinSendMsg(CollectorCnrMenu, 1299 MM_SETITEMATTR, 1300 MPFROM2SHORT(IDM_GREP, TRUE), 1301 MPFROM2SHORT(MIA_DISABLED, 0)); 1302 PostMsg(hwnd, 1303 UM_RESCAN, 1304 MPVOID, 1305 MPVOID); 1252 disable_menuitem(WinWindowFromID(WinQueryWindow(hwndMain, QW_PARENT), 1253 FID_MENU), 1254 IDM_GREP, 1255 FALSE); 1256 PostMsg(hwnd,UM_RESCAN,MPVOID,MPVOID); 1306 1257 if (dcd) { 1307 1258 dcd -> stopflag = 0; 1308 dcd -> amextracted = FALSE; // Say not scanning1259 dcd -> amextracted = FALSE; // Say not busy 1309 1260 if (dcd -> namecanchange) { 1310 if (!PostMsg(hwnd, 1311 WM_CLOSE, 1312 MPVOID, 1313 MPVOID)) 1314 WinSendMsg(hwnd, 1315 WM_CLOSE, 1316 MPVOID, 1317 MPVOID); 1261 if (!PostMsg(hwnd,WM_CLOSE,MPVOID,MPVOID)) 1262 WinSendMsg(hwnd,WM_CLOSE,MPVOID,MPVOID); 1318 1263 } 1319 1264 else … … 1332 1277 if (dcd) { 1333 1278 if (!dcd -> hwndObject) { 1334 /* 1335 * first time through -- set things up 1336 */ 1279 /* first time through -- set things up */ 1337 1280 1338 1281 CNRINFO cnri; … … 1340 1283 RestorePresParams(hwnd, "Collector"); 1341 1284 LoadDetailsSwitches("Collector", dcd); 1342 WinSendMsg(CollectorCnrMenu, MM_SETITEMATTR, 1343 MPFROM2SHORT(DID_CANCEL, TRUE), 1344 MPFROM2SHORT(MIA_DISABLED, MIA_DISABLED)); 1345 WinSendMsg(CollectorCnrMenu, MM_SETITEMATTR, MPFROM2SHORT(IDM_GREP, TRUE), 1346 MPFROM2SHORT(MIA_DISABLED, 0)); 1347 dcd -> amextracted = FALSE; // Use to indicate scan busy 1285 1286 dcd -> amextracted = FALSE; // Say not busy 1348 1287 dcd -> stopflag = 0; 1349 1288 memset(&cnri, 0, sizeof(CNRINFO)); … … 1441 1380 if (mp1 && 1442 1381 !IsFile((CHAR *) mp1)) 1443 OpenDirCnr(HWND_DESKTOP, 1444 hwndMain, 1445 dcd -> hwndFrame, 1446 FALSE, 1447 (char *) mp1); 1448 else if (mp1 && 1449 IsFile(mp1) == 1) 1382 OpenDirCnr(HWND_DESKTOP,hwndMain,dcd -> hwndFrame,FALSE,(PSZ)mp1); 1383 else if (mp1 && IsFile(mp1) == 1) 1450 1384 StartArcCnr(HWND_DESKTOP, 1451 1385 dcd -> hwndFrame, … … 1558 1492 PCNRITEM pci; 1559 1493 1560 pci = WinSendMsg(hwnd, CM_QUERYRECORDEMPHASIS, 1494 pci = WinSendMsg(hwnd, 1495 CM_QUERYRECORDEMPHASIS, 1561 1496 MPFROMLONG(CMA_FIRST), 1562 1497 MPFROMSHORT(CRA_CURSORED)); … … 1606 1541 1607 1542 case IDM_SEEALL: 1608 StartSeeAll(HWND_DESKTOP, 1609 FALSE, 1610 NULL); 1543 StartSeeAll(HWND_DESKTOP,FALSE,NULL); 1611 1544 break; 1612 1545 … … 1753 1686 else { 1754 1687 li -> type = IDM_COLLECT; 1755 if (!PostMsg(dcd -> hwndObject, UM_COLLECT, MPFROMP(li), 1756 MPVOID)) 1688 if (!PostMsg(dcd -> hwndObject, UM_COLLECT, MPFROMP(li),MPVOID)) 1757 1689 FreeListInfo(li); 1758 1690 } … … 1764 1696 if (fAutoView && 1765 1697 hwndMain) 1766 PostMsg(hwndMain, 1767 UM_LOADFILE, 1768 MPVOID, 1769 MPVOID); 1698 PostMsg(hwndMain,UM_LOADFILE,MPVOID,MPVOID); 1770 1699 dcd -> suspendview = 1; 1771 RemoveAll(hwnd, 1772 &dcd -> ullTotalBytes, 1773 &dcd -> totalfiles); 1700 RemoveAll(hwnd,&dcd -> ullTotalBytes,&dcd -> totalfiles); 1774 1701 dcd -> suspendview = 0; 1775 PostMsg(hwnd, 1776 UM_RESCAN, 1777 MPVOID, 1778 MPVOID); 1702 PostMsg(hwnd,UM_RESCAN,MPVOID,MPVOID); 1779 1703 break; 1780 1704 … … 1786 1710 CM_QUERYRECORD, 1787 1711 MPVOID, 1788 MPFROM2SHORT(CMA_FIRST, 1789 CMA_ITEMORDER)); 1712 MPFROM2SHORT(CMA_FIRST,CMA_ITEMORDER)); 1790 1713 if (pci && (INT) pci != -1) { 1791 1714 WinSendMsg(hwnd, … … 1795 1718 dcd -> ullTotalBytes = dcd -> selectedbytes = dcd -> selectedfiles = 1796 1719 dcd -> totalfiles = 0L; 1797 PostMsg(hwnd, 1798 UM_RESCAN, 1799 MPVOID, 1800 MPVOID); 1720 PostMsg(hwnd,UM_RESCAN,MPVOID,MPVOID); 1801 1721 } 1802 1722 } … … 1819 1739 else { 1820 1740 li -> type = IDM_COLLECT; 1821 if (!PostMsg(dcd -> hwndObject, UM_COLLECT, MPFROMP(li), 1822 MPVOID)) 1741 if (!PostMsg(dcd -> hwndObject, UM_COLLECT, MPFROMP(li),MPVOID)) 1823 1742 FreeListInfo(li); 1824 1743 } … … 1845 1764 1846 1765 case IDM_GREP: 1847 if (dcd -> amextracted) { 1848 // fixme to disable? 1766 if (dcd -> amextracted) 1849 1767 Runtime_Error(pszSrcFile, __LINE__, "busy"); 1850 }1851 1768 else { 1852 1769 if (WinDlgBox(HWND_DESKTOP, hwnd, GrepDlgProc, 1853 1770 FM3ModHandle, GREP_FRAME, (PVOID) & hwnd)) 1854 1771 { 1855 dcd -> amextracted = TRUE; // Collector scan in progress 1856 WinSendMsg(CollectorCnrMenu, MM_SETITEMATTR, 1857 MPFROM2SHORT(DID_CANCEL, TRUE), 1858 MPFROM2SHORT(MIA_DISABLED, 0)); 1859 WinSendMsg(CollectorCnrMenu, MM_SETITEMATTR, 1860 MPFROM2SHORT(IDM_GREP, TRUE), 1861 MPFROM2SHORT(MIA_DISABLED, MIA_DISABLED)); 1772 dcd -> amextracted = TRUE; // Say busy scanning 1773 disable_menuitem(WinWindowFromID(WinQueryWindow(hwndMain, QW_PARENT), 1774 FID_MENU), 1775 IDM_GREP, 1776 TRUE); 1862 1777 PostMsg(hwnd, UM_RESCAN, MPVOID, MPVOID); 1863 1778 } … … 2149 2064 li -> type == IDM_SHADOW2) 2150 2065 *li -> targetpath = 0; 2151 if (!PostMsg(dcd -> hwndObject, action, MPFROMP(li), 2152 MPVOID)) 2066 if (!PostMsg(dcd -> hwndObject, action, MPFROMP(li),MPVOID)) 2153 2067 { 2154 2068 Runtime_Error(pszSrcFile, __LINE__, "PostMsg"); … … 2238 2152 if (dcd -> flWindowAttr & CV_MINI) 2239 2153 WinCheckMenuItem(dcd -> hwndLastMenu, IDM_MINIICONS, TRUE); 2154 disable_menuitem(dcd -> hwndLastMenu,DID_CANCEL,!dcd->amextracted); 2155 disable_menuitem(dcd -> hwndLastMenu,IDM_GREP,dcd->amextracted); 2240 2156 } 2241 2157 if (!PopupMenu(hwnd, hwnd, dcd -> hwndLastMenu)) { … … 2386 2302 break; 2387 2303 if (hwndStatus2) 2388 WinSetWindowText(hwndStatus2, 2389 GetPString(IDS_DRAGFILEOBJTEXT)); 2390 if (DoFileDrag(hwnd, 2391 dcd -> hwndObject, 2392 mp2, 2393 NULL, 2394 NULL, 2395 TRUE)) 2304 WinSetWindowText(hwndStatus2,GetPString(IDS_DRAGFILEOBJTEXT)); 2305 if (DoFileDrag(hwnd,dcd -> hwndObject,mp2,NULL,NULL,TRUE)) 2396 2306 { 2397 2307 if (fUnHilite && wasemphasized) … … 2715 2625 MPFROMP(&pci), 2716 2626 MPFROM2SHORT(1, 2717 CMA_FREE | CMA_INVALIDATE | CMA_ERASE));2627 CMA_FREE | CMA_INVALIDATE | CMA_ERASE)); 2718 2628 } 2719 2629 } … … 2845 2755 oldproc = WinSubclassWindow(hwndFrame, 2846 2756 (PFNWP) CollectorFrameWndProc); 2847 WinSetWindowPtr(hwndFrame, 2848 QWL_USER, 2849 (PVOID) oldproc); 2757 WinSetWindowPtr(hwndFrame,QWL_USER,(PVOID) oldproc); 2850 2758 } 2851 2759 dcd -> hwndCnr = WinCreateWindow(hwndClient, … … 2873 2781 Collector = dcd -> hwndCnr; 2874 2782 WinSetWindowPtr(dcd -> hwndCnr, QWL_USER, (PVOID) dcd); 2875 WinSetWindowText(hwndFrame, 2876 GetPString(IDS_COLLECTORTITLETEXT)); 2783 WinSetWindowText(hwndFrame,GetPString(IDS_COLLECTORTITLETEXT)); 2877 2784 if (FrameFlags & FCF_MENU) { 2878 2785 if (!fToolbar) { … … 2911 2818 } 2912 2819 if (FrameFlags & FCF_SHELLPOSITION) 2913 PostMsg(hwndClient, 2914 UM_SIZE, 2915 MPVOID, 2916 MPVOID); 2917 if (!PostMsg(dcd -> hwndCnr, 2918 UM_SETUP, 2919 MPVOID, 2920 MPVOID)) 2921 WinSendMsg(dcd -> hwndCnr, 2922 UM_SETUP, 2923 MPVOID, 2924 MPVOID); 2820 PostMsg(hwndClient,UM_SIZE,MPVOID,MPVOID); 2821 if (!PostMsg(dcd -> hwndCnr,UM_SETUP,MPVOID,MPVOID)) 2822 WinSendMsg(dcd -> hwndCnr,UM_SETUP,MPVOID,MPVOID); 2925 2823 } 2926 2824 }
Note:
See TracChangeset
for help on using the changeset viewer.