Changeset 275
- Timestamp:
- Dec 8, 2005, 8:36:17 AM (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/dll/dircnrs.c
r213 r275 16 16 26 May 05 SHL More large file formatting updates 17 17 05 Jun 05 SHL Use QWL_USER 18 10 Nov 05 SHL Comments 18 19 19 20 ***********************************************************************/ … … 43 44 44 45 45 MRESULT EXPENTRY DirFrameWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {46 46 MRESULT EXPENTRY DirFrameWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) 47 { 47 48 return CommonFrameWndProc(DIR_CNR,hwnd,msg,mp1,mp2); 48 49 } 49 50 50 51 51 MRESULT EXPENTRY DirTextProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {52 52 MRESULT EXPENTRY DirTextProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) 53 { 53 54 static BOOL emphasized = FALSE; 54 55 static HWND hwndButtonPopup = (HWND)0; … … 228 229 break; 229 230 default: 230 PostMsg(WinWindowFromID(WinQueryWindow(hwnd,QW_PARENT), 231 DIR_CNR), 232 WM_CONTROL, 233 MPFROM2SHORT(DIR_CNR, 234 CN_CONTEXTMENU), 235 MPVOID); 236 break; 237 } 238 } 231 PostMsg(WinWindowFromID(WinQueryWindow(hwnd,QW_PARENT),DIR_CNR), 232 WM_CONTROL, 233 MPFROM2SHORT(DIR_CNR,CN_CONTEXTMENU), 234 MPVOID); 235 break; 236 } 237 } // case WM_CONTENT_MENU 238 239 239 MenuAbort: 240 240 241 if(msg == UM_CONTEXTMENU) 241 242 return 0; … … 288 289 289 290 memset(&nr,0,sizeof(NOTIFYRECORDENTER)); 290 nr.hwndCnr = WinWindowFromID(WinQueryWindow(hwnd,QW_PARENT), 291 DIR_CNR); 291 nr.hwndCnr = WinWindowFromID(WinQueryWindow(hwnd,QW_PARENT),DIR_CNR); 292 292 WinSendMsg(WinQueryWindow(hwnd,QW_PARENT), 293 293 WM_CONTROL, 294 MPFROM2SHORT(DIR_CNR, 295 CN_ENTER), 294 MPFROM2SHORT(DIR_CNR,CN_ENTER), 296 295 MPFROMP(&nr)); 297 296 } … … 488 487 489 488 490 MRESULT EXPENTRY DirClientWndProc (HWND hwnd,ULONG msg,MPARAM mp1, 491 MPARAM mp2) { 492 489 MRESULT EXPENTRY DirClientWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) 490 { 493 491 switch(msg) { 494 492 case UM_CONTAINERDIR: … … 781 779 */ 782 780 dcd = WinQueryWindowPtr(hwnd,QWL_USER); 783 if (dcd) {781 if (dcd) { 784 782 DosEnterCritSec(); 785 if (dcd->stopflag)783 if (dcd->stopflag) 786 784 dcd->stopflag--; 787 if (dcd->stopflag) {785 if (dcd->stopflag) { 788 786 DosExitCritSec(); 789 787 return 0; … … 1182 1180 1183 1181 1184 MRESULT EXPENTRY DirCnrWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {1185 1182 MRESULT EXPENTRY DirCnrWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) 1183 { 1186 1184 DIRCNRDATA *dcd = WinQueryWindowPtr(hwnd,QWL_USER); 1187 1185 … … 1191 1189 1192 1190 case DM_DISCARDOBJECT: 1193 if (dcd)1191 if (dcd) 1194 1192 return WinSendMsg(dcd->hwndObject,msg,mp1,mp2); 1195 1193 else … … 1198 1196 case WM_CHAR: 1199 1197 shiftstate = (SHORT1FROMMP(mp1) & (KC_SHIFT | KC_ALT | KC_CTRL)); 1200 if (SHORT1FROMMP(mp1) & KC_KEYUP)1198 if (SHORT1FROMMP(mp1) & KC_KEYUP) 1201 1199 return (MRESULT)TRUE; 1202 if (SHORT1FROMMP(mp1) & KC_VIRTUALKEY) {1200 if (SHORT1FROMMP(mp1) & KC_VIRTUALKEY) { 1203 1201 switch(SHORT2FROMMP(mp2)) { 1204 1202 case VK_INSERT: 1205 if ((shiftstate & KC_CTRL) == KC_CTRL)1203 if ((shiftstate & KC_CTRL) == KC_CTRL) 1206 1204 PostMsg(hwnd, 1207 1205 WM_COMMAND, 1208 1206 MPFROM2SHORT(IDM_MKDIR,0), 1209 1207 MPVOID); 1210 else if ((shiftstate & KC_ALT) == KC_ALT)1208 else if ((shiftstate & KC_ALT) == KC_ALT) 1211 1209 PostMsg(hwnd, 1212 1210 WM_COMMAND, … … 1215 1213 break; 1216 1214 case VK_PAGEUP: 1217 if ((shiftstate & KC_CTRL) == KC_CTRL)1215 if ((shiftstate & KC_CTRL) == KC_CTRL) 1218 1216 PostMsg(hwnd, 1219 1217 WM_COMMAND, … … 1222 1220 break; 1223 1221 case VK_PAGEDOWN: 1224 if ((shiftstate & KC_CTRL) == KC_CTRL)1222 if ((shiftstate & KC_CTRL) == KC_CTRL) 1225 1223 PostMsg(hwnd, 1226 1224 WM_COMMAND, … … 1229 1227 break; 1230 1228 case VK_HOME: 1231 if ((shiftstate & KC_CTRL) == KC_CTRL && dcd) {1229 if ((shiftstate & KC_CTRL) == KC_CTRL && dcd) { 1232 1230 1233 1231 CHAR s[CCHMAXPATH],*p; … … 1235 1233 strcpy(s,dcd->directory); 1236 1234 p = strchr(s,'\\'); 1237 if (p) {1235 if (p) { 1238 1236 p++; 1239 1237 *p = 0; … … 1246 1244 break; 1247 1245 case VK_DELETE: 1248 if ((shiftstate & KC_CTRL) == KC_CTRL)1246 if ((shiftstate & KC_CTRL) == KC_CTRL) 1249 1247 PostMsg(hwnd,WM_COMMAND,MPFROM2SHORT(IDM_PERMDELETE,0),MPVOID); 1250 else if ((shiftstate & KC_SHIFT) == KC_SHIFT)1248 else if ((shiftstate & KC_SHIFT) == KC_SHIFT) 1251 1249 PostMsg(hwnd,WM_COMMAND,MPFROM2SHORT(IDM_SAVETOCLIP,0),MPVOID); 1252 1250 else … … 1255 1253 } 1256 1254 } 1257 if (shiftstate || fNoSearch)1255 if (shiftstate || fNoSearch) 1258 1256 break; 1259 if (SHORT1FROMMP(mp1) & KC_CHAR) {1257 if (SHORT1FROMMP(mp1) & KC_CHAR) { 1260 1258 1261 1259 ULONG thistime,len; … … 1263 1261 PCNRITEM pci; 1264 1262 1265 if (!dcd)1263 if (!dcd) 1266 1264 break; 1267 1265 switch(SHORT1FROMMP(mp2)) { … … 1274 1272 default: 1275 1273 thistime = WinQueryMsgTime(WinQueryAnchorBlock(hwnd)); 1276 if (thistime > dcd->lasttime + 1250)1274 if (thistime > dcd->lasttime + 1250) 1277 1275 *dcd->szCommonName = 0; 1278 1276 dcd->lasttime = thistime; 1279 if (SHORT1FROMMP(mp2) == ' ' && !dcd->szCommonName)1277 if (SHORT1FROMMP(mp2) == ' ' && !dcd->szCommonName) 1280 1278 break; 1281 1279 KbdRetry: 1282 1280 len = strlen(dcd->szCommonName); 1283 if (len >= CCHMAXPATH - 1) {1281 if (len >= CCHMAXPATH - 1) { 1284 1282 *dcd->szCommonName = 0; 1285 1283 len = 0; … … 1295 1293 pci = WinSendMsg(hwnd,CM_SEARCHSTRING,MPFROMP(&srch), 1296 1294 MPFROMLONG(CMA_FIRST)); 1297 if (pci && (INT)pci != -1) {1295 if (pci && (INT)pci != -1) { 1298 1296 1299 1297 USHORT attrib = CRA_CURSORED; 1300 1298 1301 1299 /* make found item current item */ 1302 if (!stricmp(pci->pszFileName,dcd->szCommonName))1300 if (!stricmp(pci->pszFileName,dcd->szCommonName)) 1303 1301 attrib |= CRA_SELECTED; 1304 1302 WinSendMsg(hwnd,CM_SETRECORDEMPHASIS,MPFROMP(pci), … … 1309 1307 } 1310 1308 else { 1311 if (SHORT1FROMMP(mp2) == ' ') {1309 if (SHORT1FROMMP(mp2) == ' ') { 1312 1310 dcd->szCommonName[len] = 0; 1313 1311 break; … … 1315 1313 *dcd->szCommonName = 0; 1316 1314 dcd->lasttime = 0; 1317 if (len) // retry as first letter if no match1315 if (len) // retry as first letter if no match 1318 1316 goto KbdRetry; 1319 1317 } … … 1337 1335 memset(&cnri,0,sizeof(CNRINFO)); 1338 1336 cnri.cb = sizeof(CNRINFO); 1339 if (WinSendMsg(hwnd,CM_QUERYCNRINFO,MPFROMP(&cnri),1337 if (WinSendMsg(hwnd,CM_QUERYCNRINFO,MPFROMP(&cnri), 1340 1338 MPFROMLONG(sizeof(CNRINFO)))) { 1341 if (cnri.flWindowAttr & CV_DETAIL)1339 if (cnri.flWindowAttr & CV_DETAIL) 1342 1340 PrfWriteProfileData(fmprof,appname,"CnrSplitBar", 1343 1341 (PVOID)&cnri.xVertSplitbar,sizeof(LONG)); … … 1347 1345 1348 1346 case UM_COMPARE: 1349 if (dcd && mp1 && mp2) {1347 if (dcd && mp1 && mp2) { 1350 1348 1351 1349 COMPARE *cmp; 1352 1350 CHAR *leftdir = (CHAR *)mp1,*rightdir = (CHAR *)mp2; 1353 1351 1354 if (!IsFile(leftdir) &&1352 if (!IsFile(leftdir) && 1355 1353 !IsFile(rightdir)) { 1356 1354 cmp = malloc(sizeof(COMPARE)); 1357 if (cmp) {1355 if (cmp) { 1358 1356 memset(cmp,0,sizeof(COMPARE)); 1359 1357 cmp->size = sizeof(COMPARE); … … 1381 1379 1382 1380 case UM_UPDATERECORDLIST: 1383 if (dcd && mp1)1381 if (dcd && mp1) 1384 1382 WinSendMsg(dcd->hwndObject, 1385 1383 msg, … … 1389 1387 1390 1388 case UM_UPDATERECORD: 1391 if (dcd && mp1) {1389 if (dcd && mp1) { 1392 1390 1393 1391 CHAR *filename; 1394 1392 1395 1393 filename = mp1; 1396 if (filename)1394 if (filename) 1397 1395 UpdateCnrRecord(hwnd, 1398 1396 filename, … … 1406 1404 * put name of our window (directory name) on status line 1407 1405 */ 1408 if (dcd && hwndStatus && mp2) {1406 if (dcd && hwndStatus && mp2) { 1409 1407 1410 1408 PCNRITEM pci = NULL; 1411 1409 1412 if (fAutoView && hwndMain) {1410 if (fAutoView && hwndMain) { 1413 1411 pci = WinSendMsg(hwnd,CM_QUERYRECORDEMPHASIS,MPFROMLONG(CMA_FIRST), 1414 1412 MPFROMSHORT(CRA_CURSORED)); 1415 if (pci && (INT)pci != -1 &&1413 if (pci && (INT)pci != -1 && 1416 1414 (!(driveflags[toupper(*pci->szFileName) - 'A'] & DRIVE_SLOW))) 1417 1415 WinSendMsg(hwndMain, … … 1425 1423 MPVOID); 1426 1424 } 1427 if (*dcd->directory) {1428 if (hwndMain)1425 if (*dcd->directory) { 1426 if (hwndMain) 1429 1427 WinSendMsg(hwndMain, 1430 1428 UM_SETUSERLISTNAME, … … 1434 1432 add_udir(FALSE,dcd->directory); 1435 1433 } 1436 if (hwndMain)1434 if (hwndMain) 1437 1435 PostMsg(hwndMain, 1438 1436 UM_ADVISEFOCUS, … … 1440 1438 MPVOID); 1441 1439 } 1442 if (mp2) {1440 if (mp2) { 1443 1441 LastDir = hwnd; 1444 1442 PostMsg(hwnd, … … 1446 1444 MPVOID, 1447 1445 MPVOID); 1448 if (fSwitchTreeOnFocus &&1449 hwndTree &&1450 dcd &&1451 *dcd->directory)1446 if (fSwitchTreeOnFocus && 1447 hwndTree && 1448 dcd && 1449 *dcd->directory) 1452 1450 WinSendMsg(hwndTree, 1453 1451 UM_SHOWME, … … 1458 1456 1459 1457 case UM_SETDIR: 1460 if (dcd && mp1) {1458 if (dcd && mp1) { 1461 1459 1462 1460 CHAR fullname[CCHMAXPATH]; 1463 1461 1464 1462 DosError(FERR_DISABLEHARDERR); 1465 if (!DosQueryPathInfo((CHAR *)mp1,1463 if (!DosQueryPathInfo((CHAR *)mp1, 1466 1464 FIL_QUERYFULLNAME, 1467 1465 fullname, 1468 1466 sizeof(fullname))) { 1469 if (stricmp(dcd->directory,fullname)) {1467 if (stricmp(dcd->directory,fullname)) { 1470 1468 strcpy(dcd->previous,dcd->directory); 1471 1469 strcpy(dcd->directory,fullname); … … 1473 1471 dcd->stopflag++; 1474 1472 DosExitCritSec(); 1475 if (!PostMsg(dcd->hwndObject,1476 UM_RESCAN,1477 MPVOID,1478 MPFROMLONG(1L))) {1473 if (!PostMsg(dcd->hwndObject, 1474 UM_RESCAN, 1475 MPVOID, 1476 MPFROMLONG(1L))) { 1479 1477 strcpy(dcd->directory,dcd->previous); 1480 1478 DosEnterCritSec(); … … 1482 1480 DosExitCritSec(); 1483 1481 } 1484 else if (*dcd->directory) {1485 if (hwndMain)1482 else if (*dcd->directory) { 1483 if (hwndMain) 1486 1484 WinSendMsg(hwndMain, 1487 1485 UM_SETUSERLISTNAME, … … 1498 1496 1499 1497 case UM_RESCAN: 1500 if (dcd) {1498 if (dcd) { 1501 1499 1502 1500 CNRINFO cnri; … … 1524 1522 sprintf(s,"%s / %s",tb,tf); 1525 1523 WinSetDlgItemText(dcd->hwndClient,DIR_SELECTED,s); 1526 if (hwndStatus &&1527 dcd->hwndFrame == WinQueryActiveWindow(dcd->hwndParent)) {1524 if (hwndStatus && 1525 dcd->hwndFrame == WinQueryActiveWindow(dcd->hwndParent)) { 1528 1526 PostMsg(dcd->hwndObject, 1529 1527 UM_RESCAN2, 1530 1528 MPVOID, 1531 1529 MPVOID); 1532 if((fSplitStatus && 1533 hwndStatus2) || 1534 fMoreButtons) { 1530 if ((fSplitStatus && hwndStatus2) || 1531 fMoreButtons) { 1535 1532 pci = WinSendMsg(hwnd, 1536 1533 CM_QUERYRECORDEMPHASIS, 1537 1534 MPFROMLONG(CMA_FIRST), 1538 1535 MPFROMSHORT(CRA_CURSORED)); 1539 if (pci && (INT)pci != -1)1536 if (pci && (INT)pci != -1) 1540 1537 { 1541 if (fSplitStatus && hwndStatus2)1538 if (fSplitStatus && hwndStatus2) 1542 1539 { 1543 1540 CommaFmtULL(tb,sizeof(tb),pci->cbFile + pci->easize,' '); 1544 if (!fMoreButtons)1541 if (!fMoreButtons) 1545 1542 sprintf(s, 1546 1543 " %s %04u/%02u/%02u %02u:%02u:%02u [%s] %s", … … 1572 1569 else 1573 1570 WinSetWindowText(hwndStatus2,NullStr); 1574 if (fMoreButtons) {1571 if (fMoreButtons) { 1575 1572 WinSetWindowText(hwndName,pci->pszFileName); 1576 1573 sprintf(s, … … 1598 1595 1599 1596 case UM_SORTRECORD: 1600 if (dcd) {1597 if (dcd) { 1601 1598 1602 1599 CNRINFO cnri; … … 1621 1618 1622 1619 case UM_SETUP: 1623 if (dcd) {1624 if (!dcd->hwndObject) {1620 if (dcd) { 1621 if (!dcd->hwndObject) { 1625 1622 /* 1626 1623 * first time through -- set things up … … 1654 1651 &size); 1655 1652 size = sizeof(MASK); 1656 if(!*dcd->mask.szMask && 1657 !dcd->mask.attrFile && 1658 !dcd->mask.antiattr) { 1659 if(PrfQueryProfileSize(fmprof, 1660 appname, 1661 "DirFilter", 1662 &size) && 1663 size) { 1653 if (!*dcd->mask.szMask && 1654 !dcd->mask.attrFile && 1655 !dcd->mask.antiattr) 1656 { 1657 if (PrfQueryProfileSize(fmprof, 1658 appname, 1659 "DirFilter", 1660 &size) && 1661 size) 1662 { 1664 1663 PrfQueryProfileData(fmprof, 1665 1664 appname, … … 1676 1675 *(dcd->mask.prompt) = 0; 1677 1676 } 1678 if (dcd->flWindowAttr)1677 if (dcd->flWindowAttr) 1679 1678 cnri.flWindowAttr = dcd->flWindowAttr; 1680 1679 else … … 1684 1683 cnri.flWindowAttr |= CV_FLOW; 1685 1684 dcd->flWindowAttr |= CV_FLOW; 1686 if (WinWindowFromID(dcd->hwndFrame,FID_TITLEBAR))1685 if (WinWindowFromID(dcd->hwndFrame,FID_TITLEBAR)) 1687 1686 cnri.flWindowAttr &= (~CA_CONTAINERTITLE); 1688 1687 else 1689 1688 cnri.flWindowAttr |= CA_CONTAINERTITLE; 1690 if (!dcd->sortFlags)1689 if (!dcd->sortFlags) 1691 1690 dcd->sortFlags = sortFlags; 1692 1691 WinSendMsg(hwnd, … … 1700 1699 dcd, 1701 1700 FALSE); 1702 if (_beginthread(MakeObjWin,1703 NULL,1704 245760,1705 (PVOID)dcd) == -1) {1701 if (_beginthread(MakeObjWin, 1702 NULL, 1703 245760, 1704 (PVOID)dcd) == -1) { 1706 1705 PostMsg(hwnd, 1707 1706 WM_CLOSE, … … 1732 1731 1733 1732 case WM_MENUEND: 1734 if (dcd) {1733 if (dcd) { 1735 1734 1736 1735 HWND hwndMenu = (HWND)mp2; 1737 1736 1738 if(hwndMenu == DirCnrMenu || hwndMenu == FileMenu || 1739 hwndMenu == DirMenu) { 1737 if (hwndMenu == DirCnrMenu || 1738 hwndMenu == FileMenu || 1739 hwndMenu == DirMenu) 1740 { 1740 1741 MarkAll(hwnd,TRUE,FALSE,TRUE); 1741 if (dcd->cnremphasized) {1742 if (dcd->cnremphasized) { 1742 1743 WinSendMsg(hwnd,CM_SETRECORDEMPHASIS,MPVOID, 1743 1744 MPFROM2SHORT(FALSE,CRA_SOURCE)); … … 1749 1750 1750 1751 case UM_OPENWINDOWFORME: 1751 if(dcd) { 1752 if(mp1 && 1753 !IsFile((CHAR *)mp1)) 1752 if (dcd) { 1753 if (mp1 && !IsFile((CHAR *)mp1)) { 1754 1754 OpenDirCnr(hwnd, 1755 1755 dcd->hwndParent, … … 1757 1757 FALSE, 1758 1758 (char *)mp1); 1759 else if(mp1 && 1760 IsFile(mp1) == 1)1759 } 1760 else if (mp1 && IsFile(mp1) == 1) { 1761 1761 StartArcCnr(HWND_DESKTOP, 1762 1762 dcd->hwndFrame, … … 1764 1764 4, 1765 1765 (ARC_TYPE *)mp2); 1766 } 1766 1767 } 1767 1768 return 0; 1768 1769 1769 1770 case MM_PORTHOLEINIT: 1770 if (dcd) {1771 if (dcd) { 1771 1772 switch(SHORT1FROMMP(mp1)) { 1772 1773 case 0: … … 1790 1791 case UM_INITMENU: 1791 1792 case WM_INITMENU: 1792 if (dcd) {1793 if (dcd) { 1793 1794 switch(SHORT1FROMMP(mp1)) { 1794 1795 case IDM_FILESMENU: 1795 if (isalpha(*dcd->directory)) {1796 if (driveflags[toupper(*dcd->directory) - 'A'] & DRIVE_NOTWRITEABLE) {1796 if (isalpha(*dcd->directory)) { 1797 if (driveflags[toupper(*dcd->directory) - 'A'] & DRIVE_NOTWRITEABLE) { 1797 1798 WinEnableMenuItem((HWND)mp2,IDM_MOVEMENU,FALSE); 1798 1799 WinEnableMenuItem((HWND)mp2,IDM_RENAME,FALSE); … … 1825 1826 WinEnableMenuItem((HWND)mp2,IDM_RESELECT, 1826 1827 (dcd->lastselection != NULL)); 1827 if (isalpha(*dcd->directory)) {1828 if (driveflags[toupper(*dcd->directory) - 'A'] &1828 if (isalpha(*dcd->directory)) { 1829 if (driveflags[toupper(*dcd->directory) - 'A'] & 1829 1830 DRIVE_NOTWRITEABLE) 1830 1831 WinEnableMenuItem((HWND)mp2, … … 1861 1862 dcd->hwndLastMenu = (HWND)mp2; 1862 1863 } 1863 if (msg == WM_INITMENU)1864 if (msg == WM_INITMENU) 1864 1865 break; 1865 1866 return 0; 1866 1867 1867 1868 case UM_FILTER: 1868 if (dcd) {1869 if (dcd) { 1869 1870 1870 1871 PCNRITEM pci; 1871 1872 1872 if (mp1) {1873 if (mp1) { 1873 1874 DosEnterCritSec(); 1874 1875 SetMask((CHAR *)mp1,&dcd->mask); … … 1878 1879 WinSendMsg(hwnd,CM_FILTER,MPFROMP(Filter),MPFROMP(&dcd->mask)); 1879 1880 dcd->suspendview = 0; 1880 if (fAutoView && hwndMain) {1881 if (fAutoView && hwndMain) { 1881 1882 pci = WinSendMsg(hwnd,CM_QUERYRECORDEMPHASIS, 1882 1883 MPFROMLONG(CMA_FIRST), 1883 1884 MPFROMSHORT(CRA_CURSORED)); 1884 if (pci && (INT)pci != -1 &&1885 if (pci && (INT)pci != -1 && 1885 1886 (!(driveflags[toupper(*pci->szFileName) - 'A'] & DRIVE_SLOW))) 1886 1887 WinSendMsg(hwndMain, … … 1902 1903 1903 1904 case UM_COMMAND: 1904 if(mp1) { 1905 if(dcd) { 1906 if(!PostMsg(dcd->hwndObject, 1907 UM_COMMAND, 1908 mp1, 1909 mp2)) { 1905 if (mp1) { 1906 if (dcd) { 1907 if (!PostMsg(dcd->hwndObject, 1908 UM_COMMAND, 1909 mp1, 1910 mp2)) 1911 { 1910 1912 FreeListInfo((LISTINFO *)mp1); 1911 1913 DosBeep(50,100); … … 1920 1922 1921 1923 case UM_NOTIFY: 1922 if (mp2)1924 if (mp2) 1923 1925 Notify((CHAR *)mp2); 1924 1926 return 0; 1925 1927 1926 1928 case UM_DRIVECMD: 1927 if (mp1)1929 if (mp1) 1928 1930 WinSendMsg(hwnd, 1929 1931 WM_COMMAND, … … 1934 1936 case WM_COMMAND: 1935 1937 DosError(FERR_DISABLEHARDERR); 1936 if (dcd) {1938 if (dcd) { 1937 1939 switch(SHORT1FROMMP(mp1)) { 1938 1940 case IDM_SETTARGET: … … 1953 1955 sip.title = GetPString(IDS_CREATETITLETEXT); 1954 1956 if (WinDlgBox(HWND_DESKTOP,hwnd,InputDlgProc,FM3ModHandle, 1955 STR_FRAME,&sip))1957 STR_FRAME,&sip)) 1956 1958 { 1957 1959 bstrip(sip.ret); 1958 1960 if (*sip.ret) 1959 1961 { 1960 1961 1962 CHAR newfile[CCHMAXPATH]; 1962 1963 FILE *fp; … … 1965 1966 1966 1967 strcpy(newfile,dcd->directory); 1967 if (newfile[strlen(newfile) - 1] != '\\')1968 if (newfile[strlen(newfile) - 1] != '\\') 1968 1969 strcat(newfile,"\\"); 1969 1970 strcat(newfile,sip.ret); 1970 1971 test = IsFile(newfile); 1971 if (test != 1)1972 if (test != 1) 1972 1973 fp = fopen(newfile,"w"); 1973 if (test == 1 || fp) {1974 if (fp) {1974 if (test == 1 || fp) { 1975 if (fp) { 1975 1976 WinSendMsg(hwnd, 1976 1977 UM_UPDATERECORD, … … 1979 1980 fclose(fp); 1980 1981 } 1981 if (*editor) {1982 if (*editor) { 1982 1983 1983 1984 CHAR *dummy[2]; … … 2003 2004 FALSE, 2004 2005 TRUE); 2005 if (pci && (INT)pci != -1)2006 if (pci && (INT)pci != -1) 2006 2007 /* make sure that record shows in viewport */ 2007 2008 ShowCnrRecord(hwnd,(PMINIRECORDCORE)pci); … … 2046 2047 MPFROMLONG(CMA_FIRST), 2047 2048 MPFROMSHORT(CRA_CURSORED)); 2048 if (pci && (INT)pci != -1) {2049 if (pci && (INT)pci != -1) { 2049 2050 2050 2051 static CHAR dirname[CCHMAXPATH]; … … 2058 2059 2059 2060 case IDM_FINDINTREE: 2060 if (hwndTree)2061 if (hwndTree) 2061 2062 WinSendMsg(hwndTree,UM_SHOWME,MPFROMP(dcd->directory), 2062 2063 MPFROMLONG(1L)); … … 2094 2095 MPFROMLONG(CMA_FIRST), 2095 2096 MPFROMSHORT(CRA_CURSORED)); 2096 if(pci && 2097 (INT)pci != -1) { 2097 if (pci && (INT)pci != -1) { 2098 2098 WinQueryWindowPos(dcd->hwndFrame,&swp); 2099 2099 DefaultViewKeys(hwnd, … … 2107 2107 2108 2108 case IDM_NOTEBOOK: 2109 if (!ParentIsDesktop(dcd->hwndParent,dcd->hwndParent))2109 if (!ParentIsDesktop(dcd->hwndParent,dcd->hwndParent)) 2110 2110 PostMsg(dcd->hwndParent,msg,mp1,mp2); 2111 2111 else … … 2121 2121 PCNRITEM pci; 2122 2122 2123 if (SHORT1FROMMP(mp1) == IDM_TREE) {2123 if (SHORT1FROMMP(mp1) == IDM_TREE) { 2124 2124 pci = (PCNRITEM)CurrentRecord(hwnd); 2125 if (pci && (INT)pci != -1)2125 if (pci && (INT)pci != -1) 2126 2126 strcpy(newpath,pci->szFileName); 2127 2127 else … … 2133 2133 rc = WinDlgBox(HWND_DESKTOP,dcd->hwndClient,ObjCnrDlgProc, 2134 2134 FM3ModHandle,QTREE_FRAME,MPFROMP(newpath)); 2135 if (rc)2135 if (rc) 2136 2136 WinSendMsg(hwnd,UM_SETDIR,MPFROMP(newpath),MPVOID); 2137 2137 } … … 2144 2144 2145 2145 case IDM_HELP: 2146 if (hwndHelp) {2147 if (!ParentIsDesktop(dcd->hwndFrame,dcd->hwndParent))2146 if (hwndHelp) { 2147 if (!ParentIsDesktop(dcd->hwndFrame,dcd->hwndParent)) 2148 2148 PostMsg(dcd->hwndParent,UM_COMMAND,mp1,mp2); 2149 2149 else … … 2153 2153 2154 2154 case IDM_WINDOWDLG: 2155 if (!ParentIsDesktop(dcd->hwndFrame,dcd->hwndParent))2155 if (!ParentIsDesktop(dcd->hwndFrame,dcd->hwndParent)) 2156 2156 PostMsg(dcd->hwndParent,UM_COMMAND, 2157 2157 MPFROM2SHORT(IDM_WINDOWDLG,0),MPVOID); … … 2203 2203 break; 2204 2204 case IDM_SORTDIRSFIRST: 2205 if (dcd->sortFlags & SORT_DIRSFIRST)2205 if (dcd->sortFlags & SORT_DIRSFIRST) 2206 2206 dcd->sortFlags &= (~SORT_DIRSFIRST); 2207 2207 else { … … 2211 2211 break; 2212 2212 case IDM_SORTDIRSLAST: 2213 if (dcd->sortFlags & SORT_DIRSLAST)2213 if (dcd->sortFlags & SORT_DIRSLAST) 2214 2214 dcd->sortFlags &= (~SORT_DIRSLAST); 2215 2215 else { … … 2219 2219 break; 2220 2220 case IDM_SORTREVERSE: 2221 if (dcd->sortFlags & SORT_REVERSE)2221 if (dcd->sortFlags & SORT_REVERSE) 2222 2222 dcd->sortFlags &= (~SORT_REVERSE); 2223 2223 else … … 2232 2232 2233 2233 case IDM_COLLECT: 2234 if (!Collector) {2234 if (!Collector) { 2235 2235 2236 2236 HWND hwndC; 2237 2237 SWP swp; 2238 2238 2239 if (!ParentIsDesktop(hwnd,dcd->hwndParent) && !fAutoTile &&2239 if (!ParentIsDesktop(hwnd,dcd->hwndParent) && !fAutoTile && 2240 2240 (!fExternalCollector && !strcmp(realappname,FM3Str))) 2241 2241 GetNextWindowPos(dcd->hwndParent,&swp,NULL,NULL); … … 2244 2244 HWND_DESKTOP : 2245 2245 dcd->hwndParent,4); 2246 if (hwndC) {2247 if (!ParentIsDesktop(hwnd,dcd->hwndParent) && !fAutoTile &&2246 if (hwndC) { 2247 if (!ParentIsDesktop(hwnd,dcd->hwndParent) && !fAutoTile && 2248 2248 (!fExternalCollector && !strcmp(realappname,FM3Str))) 2249 2249 WinSetWindowPos(hwndC,HWND_TOP,swp.x,swp.y, 2250 2250 swp.cx,swp.cy,SWP_MOVE | SWP_SIZE | 2251 2251 SWP_SHOW | SWP_ZORDER); 2252 else if (!ParentIsDesktop(hwnd,dcd->hwndParent) && fAutoTile &&2252 else if (!ParentIsDesktop(hwnd,dcd->hwndParent) && fAutoTile && 2253 2253 !strcmp(realappname,FM3Str)) 2254 2254 TileChildren(dcd->hwndParent,TRUE); … … 2268 2268 2269 2269 list = BuildList(hwnd); 2270 if(list) { 2271 if(Collector) { 2272 if(!PostMsg(Collector,WM_COMMAND, 2273 MPFROM2SHORT(IDM_COLLECTOR,0), 2274 MPFROMP(list))) 2270 if (list) { 2271 if (Collector) { 2272 if (!PostMsg(Collector, 2273 WM_COMMAND, 2274 MPFROM2SHORT(IDM_COLLECTOR,0), 2275 MPFROMP(list))) 2275 2276 FreeList(list); 2276 else if (fUnHilite)2277 else if (fUnHilite) 2277 2278 UnHilite(hwnd,TRUE,&dcd->lastselection); 2278 2279 } … … 2289 2290 2290 2291 pci = (PCNRITEM)CurrentRecord(hwnd); 2291 if (pci && (INT)pci != -1) {2292 if (pci && (INT)pci != -1) { 2292 2293 strcpy(path,pci->szFileName); 2293 2294 MakeValidDir(path); … … 2324 2325 CHAR *p; 2325 2326 2326 if (!*dcd->mask.szMask) {2327 if (!*dcd->mask.szMask) { 2327 2328 empty = TRUE; 2328 2329 pci = (PCNRITEM)CurrentRecord(hwnd); 2329 if (pci && !(pci->attrFile & FILE_DIRECTORY)) {2330 if (pci && !(pci->attrFile & FILE_DIRECTORY)) { 2330 2331 p = strrchr(pci->szFileName,'\\'); 2331 if (p) {2332 if (p) { 2332 2333 p++; 2333 2334 strcpy(dcd->mask.szMask,p); … … 2337 2338 *(dcd->mask.prompt) = 0; 2338 2339 2339 if (WinDlgBox(HWND_DESKTOP,hwnd,PickMaskDlgProc,2340 FM3ModHandle,MSK_FRAME,MPFROMP(&dcd->mask)))2340 if (WinDlgBox(HWND_DESKTOP,hwnd,PickMaskDlgProc, 2341 FM3ModHandle,MSK_FRAME,MPFROMP(&dcd->mask))) 2341 2342 WinSendMsg(hwnd,UM_FILTER,MPVOID,MPVOID); 2342 else if (empty)2343 else if (empty) 2343 2344 *dcd->mask.szMask = 0; 2344 2345 SayFilter(WinWindowFromID(WinQueryWindow(hwnd,QW_PARENT), … … 2348 2349 2349 2350 case IDM_HIDEALL: 2350 if (fAutoView && hwndMain)2351 if (fAutoView && hwndMain) 2351 2352 PostMsg(hwndMain, 2352 2353 UM_LOADFILE, … … 2376 2377 case IDM_DESELECTBIGGER: 2377 2378 case IDM_DESELECTSMALLER: 2378 if (ParentIsDesktop(hwnd,dcd->hwndParent)) {2379 if (ParentIsDesktop(hwnd,dcd->hwndParent)) { 2379 2380 DosBeep(50,100); 2380 2381 break; … … 2396 2397 2397 2398 pci = (PCNRITEM)CurrentRecord(hwnd); 2398 if ((INT)pci == -1)2399 if ((INT)pci == -1) 2399 2400 pci = NULL; 2400 if (SHORT1FROMMP(mp1) == IDM_HIDEALL) {2401 if (pci) {2402 if (!(pci->rc.flRecordAttr & CRA_SELECTED))2401 if (SHORT1FROMMP(mp1) == IDM_HIDEALL) { 2402 if (pci) { 2403 if (!(pci->rc.flRecordAttr & CRA_SELECTED)) 2403 2404 pci->rc.flRecordAttr |= CRA_FILTERED; 2404 2405 WinSendMsg(hwnd,CM_INVALIDATERECORD,MPFROMP(&pci), … … 2416 2417 case IDM_RESCAN: 2417 2418 DosEnterCritSec(); 2418 2419 dcd->stopflag++; 2419 2420 DosExitCritSec(); 2420 if(!PostMsg(dcd->hwndObject, 2421 UM_RESCAN, 2422 MPVOID, 2423 MPVOID)) { 2421 if (!PostMsg(dcd->hwndObject, 2422 UM_RESCAN, 2423 MPVOID, 2424 MPVOID)) 2425 { 2424 2426 DosEnterCritSec(); 2425 2427 dcd->stopflag--; 2426 2428 DosExitCritSec(); 2427 2429 } … … 2465 2467 switch(SHORT1FROMMP(mp1)) { 2466 2468 case IDM_TREEVIEW: 2467 if (!(cnri.flWindowAttr & CV_TREE))2469 if (!(cnri.flWindowAttr & CV_TREE)) 2468 2470 dcd->lastattr = cnri.flWindowAttr; 2469 2471 cnri.flWindowAttr &= (~(CV_ICON | CV_TREE | CV_TEXT | 2470 2472 CV_DETAIL | CV_NAME | CA_TREELINE)); 2471 2473 cnri.flWindowAttr |= CA_TREELINE | CV_TREE | CV_ICON; 2472 if (!dcd->firsttree)2474 if (!dcd->firsttree) 2473 2475 PostMsg(dcd->hwndObject,UM_FLESH,MPVOID,MPVOID); 2474 2476 break; … … 2494 2496 break; 2495 2497 case IDM_MINIICONS: 2496 if (cnri.flWindowAttr & CV_MINI)2498 if (cnri.flWindowAttr & CV_MINI) 2497 2499 cnri.flWindowAttr &= (~CV_MINI); 2498 2500 else … … 2500 2502 break; 2501 2503 case IDM_DETAILSTITLES: 2502 if (cnri.flWindowAttr & CA_DETAILSVIEWTITLES)2504 if (cnri.flWindowAttr & CA_DETAILSVIEWTITLES) 2503 2505 cnri.flWindowAttr &= (~CA_DETAILSVIEWTITLES); 2504 2506 else … … 2530 2532 2531 2533 pci = (PCNRITEM)CurrentRecord(hwnd); 2532 if (pci && (INT)pci != -1)2534 if (pci && (INT)pci != -1) 2533 2535 strcpy(path,pci->szFileName); 2534 2536 else … … 2558 2560 2559 2561 case IDM_SWITCH: 2560 if (mp2) {2562 if (mp2) { 2561 2563 strcpy(dcd->previous,dcd->directory); 2562 2564 strcpy(dcd->directory,(CHAR *)mp2); … … 2564 2566 dcd->stopflag++; 2565 2567 DosExitCritSec(); 2566 if(!PostMsg(dcd->hwndObject, 2567 UM_RESCAN, 2568 MPVOID, 2569 MPFROMLONG(1L))) { 2568 if (!PostMsg(dcd->hwndObject, 2569 UM_RESCAN, 2570 MPVOID, 2571 MPFROMLONG(1L))) 2572 { 2570 2573 strcpy(dcd->directory, 2571 2574 dcd->previous); … … 2574 2577 DosExitCritSec(); 2575 2578 } 2576 else if (*dcd->directory) {2577 if (hwndMain)2579 else if (*dcd->directory) { 2580 if (hwndMain) 2578 2581 WinSendMsg(hwndMain, 2579 2582 UM_SETUSERLISTNAME, … … 2592 2595 2593 2596 strcpy(tempname1,dcd->directory); 2594 if (tempname1[strlen(tempname1) - 1] != '\\')2597 if (tempname1[strlen(tempname1) - 1] != '\\') 2595 2598 strcat(tempname1,"\\"); 2596 2599 strcat(tempname1,".."); 2597 2600 DosError(FERR_DISABLEHARDERR); 2598 if (!DosQueryPathInfo(tempname1,2599 FIL_QUERYFULLNAME,2600 tempname2,2601 sizeof(tempname2))) {2602 if (stricmp(dcd->directory,tempname2)) {2601 if (!DosQueryPathInfo(tempname1, 2602 FIL_QUERYFULLNAME, 2603 tempname2, 2604 sizeof(tempname2))) { 2605 if (stricmp(dcd->directory,tempname2)) { 2603 2606 strcpy(dcd->previous,dcd->directory); 2604 2607 strcpy(dcd->directory,tempname2); … … 2606 2609 dcd->stopflag++; 2607 2610 DosExitCritSec(); 2608 if (!PostMsg(dcd->hwndObject,2609 UM_RESCAN,2610 MPVOID,2611 MPFROMLONG(1L))) {2611 if (!PostMsg(dcd->hwndObject, 2612 UM_RESCAN, 2613 MPVOID, 2614 MPFROMLONG(1L))) { 2612 2615 strcpy(dcd->directory,dcd->previous); 2613 2616 DosEnterCritSec(); … … 2615 2618 DosExitCritSec(); 2616 2619 } 2617 else if (*dcd->directory) {2618 if (hwndMain)2620 else if (*dcd->directory) { 2621 if (hwndMain) 2619 2622 WinSendMsg(hwndMain, 2620 2623 UM_SETUSERLISTNAME, … … 2631 2634 2632 2635 case IDM_PREVIOUS: 2633 if (*dcd->previous &&2634 stricmp(dcd->directory,dcd->previous)) {2636 if (*dcd->previous && 2637 stricmp(dcd->directory,dcd->previous)) { 2635 2638 2636 2639 CHAR tempname[CCHMAXPATH]; 2637 2640 2638 if (IsValidDir(dcd->previous)) {2641 if (IsValidDir(dcd->previous)) { 2639 2642 strcpy(tempname,dcd->directory); 2640 2643 strcpy(dcd->directory,dcd->previous); … … 2643 2646 dcd->stopflag++; 2644 2647 DosExitCritSec(); 2645 if (!PostMsg(dcd->hwndObject,2646 UM_RESCAN,2647 MPVOID,2648 MPFROMLONG(1L))) {2648 if (!PostMsg(dcd->hwndObject, 2649 UM_RESCAN, 2650 MPVOID, 2651 MPFROMLONG(1L))) { 2649 2652 strcpy(dcd->directory,dcd->previous); 2650 2653 DosEnterCritSec(); … … 2652 2655 DosExitCritSec(); 2653 2656 } 2654 else if (*dcd->directory) {2655 if (hwndMain)2657 else if (*dcd->directory) { 2658 if (hwndMain) 2656 2659 WinSendMsg(hwndMain, 2657 2660 UM_SETUSERLISTNAME, … … 2673 2676 2674 2677 strcpy(newdir,dcd->directory); 2675 if (!WinDlgBox(HWND_DESKTOP,2676 dcd->hwndParent,2677 WalkAllDlgProc,2678 FM3ModHandle,2679 WALK_FRAME,2680 MPFROMP(newdir)) ||2681 !*newdir)2678 if (!WinDlgBox(HWND_DESKTOP, 2679 dcd->hwndParent, 2680 WalkAllDlgProc, 2681 FM3ModHandle, 2682 WALK_FRAME, 2683 MPFROMP(newdir)) || 2684 !*newdir) 2682 2685 break; 2683 if (stricmp(newdir,dcd->directory)) {2686 if (stricmp(newdir,dcd->directory)) { 2684 2687 strcpy(dcd->previous,dcd->directory); 2685 2688 strcpy(dcd->directory,newdir); … … 2687 2690 dcd->stopflag++; 2688 2691 DosExitCritSec(); 2689 if (!PostMsg(dcd->hwndObject,2690 UM_RESCAN,2691 MPVOID,2692 MPFROMLONG(1L))) {2692 if (!PostMsg(dcd->hwndObject, 2693 UM_RESCAN, 2694 MPVOID, 2695 MPFROMLONG(1L))) { 2693 2696 strcpy(dcd->directory,dcd->previous); 2694 2697 DosEnterCritSec(); … … 2696 2699 DosExitCritSec(); 2697 2700 } 2698 else if (*dcd->directory) {2699 if (hwndMain)2701 else if (*dcd->directory) { 2702 if (hwndMain) 2700 2703 WinSendMsg(hwndMain, 2701 2704 UM_SETUSERLISTNAME, … … 2778 2781 2779 2782 li = malloc(sizeof(LISTINFO)); 2780 if (li) {2783 if (li) { 2781 2784 memset(li,0,sizeof(LISTINFO)); 2782 2785 li->type = SHORT1FROMMP(mp1); … … 2795 2798 break; 2796 2799 } 2797 if (li->list) {2798 if (SHORT1FROMMP(mp1) == IDM_COLLECTFROMFILE) {2799 if (!Collector) {2800 if (li->list) { 2801 if (SHORT1FROMMP(mp1) == IDM_COLLECTFROMFILE) { 2802 if (!Collector) { 2800 2803 2801 2804 HWND hwndC; 2802 2805 SWP swp; 2803 2806 2804 if (!ParentIsDesktop(hwnd,dcd->hwndParent) &&2807 if (!ParentIsDesktop(hwnd,dcd->hwndParent) && 2805 2808 !fAutoTile && 2806 2809 (!fExternalCollector && !strcmp(realappname,FM3Str))) … … 2810 2813 HWND_DESKTOP : 2811 2814 dcd->hwndParent,4); 2812 if (hwndC) {2813 if (!ParentIsDesktop(hwnd,dcd->hwndParent) &&2815 if (hwndC) { 2816 if (!ParentIsDesktop(hwnd,dcd->hwndParent) && 2814 2817 !fAutoTile && (!fExternalCollector && 2815 2818 !strcmp(realappname,FM3Str))) … … 2817 2820 swp.cx,swp.cy,SWP_MOVE | SWP_SIZE | 2818 2821 SWP_SHOW | SWP_ZORDER); 2819 else if (!ParentIsDesktop(hwnd,dcd->hwndParent) &&2822 else if (!ParentIsDesktop(hwnd,dcd->hwndParent) && 2820 2823 fAutoTile && !strcmp(realappname,FM3Str)) 2821 2824 TileChildren(dcd->hwndParent,TRUE); … … 2853 2856 break; 2854 2857 } 2855 if (SHORT1FROMMP(mp1) == IDM_OBJECT ||2858 if (SHORT1FROMMP(mp1) == IDM_OBJECT || 2856 2859 SHORT1FROMMP(mp1) == IDM_SHADOW || 2857 2860 SHORT1FROMMP(mp1) == IDM_SHADOW2) 2858 2861 *li->targetpath = 0; 2859 if (!PostMsg(dcd->hwndObject,2860 action,2861 MPFROMP(li),2862 MPVOID)) {2862 if (!PostMsg(dcd->hwndObject, 2863 action, 2864 MPFROMP(li), 2865 MPVOID)) { 2863 2866 FreeListInfo(li); 2864 2867 DosBeep(50,100); 2865 2868 } 2866 else if (fUnHilite)2869 else if (fUnHilite) 2867 2870 UnHilite(hwnd, 2868 2871 TRUE, … … 2876 2879 2877 2880 case IDM_DRIVESMENU: 2878 if (!hwndMain)2881 if (!hwndMain) 2879 2882 PostMsg(hwnd, 2880 2883 WM_COMMAND, … … 2884 2887 2885 2888 default: 2886 if (SwitchCommand(dcd->hwndLastMenu,2887 SHORT1FROMMP(mp1)))2889 if (SwitchCommand(dcd->hwndLastMenu, 2890 SHORT1FROMMP(mp1))) 2888 2891 return 0; 2889 2892 else { 2890 if (SHORT1FROMMP(mp1) >= IDM_COMMANDSTART &&2893 if (SHORT1FROMMP(mp1) >= IDM_COMMANDSTART && 2891 2894 SHORT1FROMMP(mp1) < IDM_QUICKTOOLSTART) { 2892 2895 2893 2896 register INT x; 2894 2897 2895 if (!cmdloaded)2898 if (!cmdloaded) 2896 2899 load_commands(); 2897 2900 x = SHORT1FROMMP(mp1) - IDM_COMMANDSTART; 2898 if (x >= 0) {2901 if (x >= 0) { 2899 2902 x++; 2900 2903 RunCommand(hwnd,x); 2901 if (fUnHilite)2904 if (fUnHilite) 2902 2905 UnHilite(hwnd, 2903 2906 TRUE, … … 2921 2924 2922 2925 pci = (PCNRITEM)CurrentRecord(hwnd); 2923 if (pci && (INT)pci != -1) {2924 if (pci->attrFile & FILE_DIRECTORY) {2926 if (pci && (INT)pci != -1) { 2927 if (pci->attrFile & FILE_DIRECTORY) { 2925 2928 menuHwnd = CheckMenu(&DirMenu, 2926 2929 DIR_POPUP); … … 2936 2939 case WM_CONTROL: 2937 2940 DosError(FERR_DISABLEHARDERR); 2938 if (dcd) {2941 if (dcd) { 2939 2942 switch(SHORT2FROMMP(mp1)) { 2940 2943 case CN_COLLAPSETREE: … … 2943 2946 PCNRITEM pci = (PCNRITEM)mp2; 2944 2947 2945 if(pci && 2946 (INT)pci != -1 && 2947 !(pci->flags & RECFLAGS_ENV)) { 2948 if(driveflags[toupper(*pci->szFileName) - 'A'] & 2949 DRIVE_REMOVABLE) { 2950 2948 if (pci && 2949 (INT)pci != -1 && 2950 !(pci->flags & RECFLAGS_ENV)) 2951 { 2952 if (driveflags[toupper(*pci->szFileName) - 'A'] & 2953 DRIVE_REMOVABLE) 2954 { 2951 2955 struct { 2952 2956 ULONG serial; … … 2957 2961 memset(&volser,0,sizeof(volser)); 2958 2962 DosError(FERR_DISABLEHARDERR); 2959 if (!DosQueryFSInfo(toupper(*pci->szFileName) - '@',2963 if (!DosQueryFSInfo(toupper(*pci->szFileName) - '@', 2960 2964 FSIL_VOLSER, 2961 2965 &volser, 2962 2966 (ULONG)sizeof(volser))) { 2963 if (SHORT2FROMMP(mp1) == CN_COLLAPSETREE &&2967 if (SHORT2FROMMP(mp1) == CN_COLLAPSETREE && 2964 2968 !volser.serial || 2965 2969 driveserial[toupper(*pci->szFileName) - 'A'] != 2966 2970 volser.serial) 2967 2971 UnFlesh(hwnd,pci); 2968 if (SHORT2FROMMP(mp1) != CN_COLLAPSETREE ||2972 if (SHORT2FROMMP(mp1) != CN_COLLAPSETREE || 2969 2973 (!volser.serial || 2970 2974 driveserial[toupper(*pci->szFileName) - 'A'] != 2971 2975 volser.serial)) { 2972 if (Flesh(hwnd,pci) &&2976 if (Flesh(hwnd,pci) && 2973 2977 SHORT2FROMMP(mp1) == CN_EXPANDTREE && 2974 2978 !dcd->suspendview && fTopDir) … … 2988 2992 } 2989 2993 } 2990 else if (SHORT2FROMMP(mp1) == CN_EXPANDTREE) {2991 if (Flesh(hwnd,pci) &&2994 else if (SHORT2FROMMP(mp1) == CN_EXPANDTREE) { 2995 if (Flesh(hwnd,pci) && 2992 2996 !dcd->suspendview && fTopDir) 2993 2997 PostMsg(hwnd, … … 2996 3000 MPVOID); 2997 3001 } 2998 if (SHORT2FROMMP(mp1) == CN_EXPANDTREE &&3002 if (SHORT2FROMMP(mp1) == CN_EXPANDTREE && 2999 3003 !dcd->suspendview) 3000 3004 WinSendMsg(hwnd, … … 3015 3019 PCNRITEM pci = (PCNRITEM)mp2; 3016 3020 3017 if (pci) {3021 if (pci) { 3018 3022 WinSendMsg(hwnd, 3019 3023 CM_SETRECORDEMPHASIS, … … 3024 3028 FALSE, 3025 3029 TRUE); 3026 if (pci->attrFile & FILE_DIRECTORY)3030 if (pci->attrFile & FILE_DIRECTORY) 3027 3031 dcd->hwndLastMenu = CheckMenu(&DirMenu,DIR_POPUP); 3028 3032 else … … 3031 3035 else { 3032 3036 dcd->hwndLastMenu = CheckMenu(&DirCnrMenu,DIRCNR_POPUP); 3033 if (dcd->hwndLastMenu && !dcd->cnremphasized) {3037 if (dcd->hwndLastMenu && !dcd->cnremphasized) { 3034 3038 WinSendMsg(hwnd, 3035 3039 CM_SETRECORDEMPHASIS, … … 3039 3043 } 3040 3044 } 3041 if (dcd->hwndLastMenu) {3042 if (dcd->hwndLastMenu == DirCnrMenu) {3043 if (dcd->flWindowAttr & CV_MINI)3045 if (dcd->hwndLastMenu) { 3046 if (dcd->hwndLastMenu == DirCnrMenu) { 3047 if (dcd->flWindowAttr & CV_MINI) 3044 3048 WinCheckMenuItem(dcd->hwndLastMenu, 3045 3049 IDM_MINIICONS, 3046 3050 TRUE); 3047 3051 } 3048 if (dcd->hwndLastMenu == DirMenu)3052 if (dcd->hwndLastMenu == DirMenu) 3049 3053 WinEnableMenuItem(DirMenu, 3050 3054 IDM_TREE, 3051 3055 TRUE); 3052 if (!PopupMenu(hwnd,hwnd,dcd->hwndLastMenu)) {3053 if (dcd->cnremphasized) {3056 if (!PopupMenu(hwnd,hwnd,dcd->hwndLastMenu)) { 3057 if (dcd->cnremphasized) { 3054 3058 WinSendMsg(hwnd, 3055 3059 CM_SETRECORDEMPHASIS, … … 3065 3069 3066 3070 case CN_DROPHELP: 3067 if (mp2) {3071 if (mp2) { 3068 3072 3069 3073 PDRAGINFO pDInfo; … … 3074 3078 pci = (PCNRITEM)((PCNRDRAGINFO)mp2)->pRecord; 3075 3079 pDInfo = (PDRAGINFO)((PCNRDRAGINFO)mp2)->pDragInfo; 3076 if (!DrgAccessDraginfo(pDInfo)) {3080 if (!DrgAccessDraginfo(pDInfo)) { 3077 3081 Win_Error(hwnd,hwnd,__FILE__,__LINE__, 3078 3082 GetPString(IDS_DROPERRORTEXT)); … … 3102 3106 case CN_DRAGLEAVE: 3103 3107 #ifdef NEVER 3104 if (mp2) {3108 if (mp2) { 3105 3109 3106 3110 PDRAGINFO pDInfo; … … 3115 3119 case CN_DRAGAFTER: 3116 3120 case CN_DRAGOVER: 3117 if (mp2) {3121 if (mp2) { 3118 3122 3119 3123 PDRAGITEM pDItem; /* Pointer to DRAGITEM */ … … 3125 3129 pDInfo = ((PCNRDRAGINFO)mp2)->pDragInfo; 3126 3130 DrgAccessDraginfo(pDInfo); /* Access DRAGINFO */ 3127 if(*dcd->directory && 3128 (driveflags[toupper(*dcd->directory) - 'A'] & 3129 DRIVE_NOTWRITEABLE)) { 3131 if (*dcd->directory && 3132 (driveflags[toupper(*dcd->directory) - 'A'] & 3133 DRIVE_NOTWRITEABLE)) 3134 { 3130 3135 DrgFreeDraginfo(pDInfo); 3131 3136 return MRFROM2SHORT(DOR_DROP, /* Return okay to link */ 3132 3137 DO_LINK); /* (compare) only */ 3133 3138 } 3134 if (pci) {3135 if (pci->rc.flRecordAttr & CRA_SOURCE) {3139 if (pci) { 3140 if (pci->rc.flRecordAttr & CRA_SOURCE) { 3136 3141 DrgFreeDraginfo(pDInfo); 3137 3142 return(MRFROM2SHORT(DOR_NODROP,0)); 3138 3143 } 3139 3144 uso = pDInfo->usOperation; 3140 if (uso == DO_DEFAULT)3145 if (uso == DO_DEFAULT) 3141 3146 uso = (fCopyDefault) ? DO_COPY : DO_MOVE; 3142 if(!(pci->attrFile & FILE_DIRECTORY)) { 3143 if(uso != DO_LINK && uso != DO_COPY && 3144 uso != DO_MOVE) { 3147 if (!(pci->attrFile & FILE_DIRECTORY)) { 3148 if (uso != DO_LINK && uso != DO_COPY && uso != DO_MOVE) { 3145 3149 DrgFreeDraginfo(pDInfo); 3146 3150 return MRFROM2SHORT(DOR_NODROP,0); 3147 3151 } 3148 if (uso != DO_LINK &&3149 !(driveflags[toupper(*pci->szFileName) - 'A'] &3150 DRIVE_NOTWRITEABLE)) {3152 if (uso != DO_LINK && 3153 !(driveflags[toupper(*pci->szFileName) - 'A'] & 3154 DRIVE_NOTWRITEABLE)) { 3151 3155 3152 3156 ARC_TYPE *info = NULL; 3153 3157 3154 if (!fQuickArcFind &&3155 !(driveflags[toupper(*pci->szFileName) - 'A'] &3156 DRIVE_SLOW))3158 if (!fQuickArcFind && 3159 !(driveflags[toupper(*pci->szFileName) - 'A'] & 3160 DRIVE_SLOW)) 3157 3161 info = find_type(pci->szFileName,NULL); 3158 3162 else 3159 3163 info = quick_find_type(pci->szFileName,NULL); 3160 if (!info || ((uso == DO_MOVE && !info->move) ||3164 if (!info || ((uso == DO_MOVE && !info->move) || 3161 3165 (uso == DO_COPY && !info->create))) { 3162 3166 DrgFreeDraginfo(pDInfo); … … 3166 3170 } 3167 3171 } 3168 pDItem = DrgQueryDragitemPtr(pDInfo, /* Access DRAGITEM */ 3169 0); /* Index to DRAGITEM */ 3170 if(DrgVerifyRMF(pDItem, /* Check valid rendering */ 3171 DRM_OS2FILE, /* mechanisms and data */ 3172 NULL) || 3172 3173 /* Access DRAGITEM index to DRAGITEM 3174 * Check valid rendering mechanisms and data 3175 */ 3176 pDItem = DrgQueryDragitemPtr(pDInfo,0); 3177 if (DrgVerifyRMF(pDItem, DRM_OS2FILE, NULL) || 3173 3178 ((!pci || (pci->attrFile & FILE_DIRECTORY)) && 3174 DrgVerifyRMF(pDItem, 3175 DRM_FM2ARCMEMBER, 3176 DRF_FM2ARCHIVE))) { /* formats*/3177 DrgFreeDraginfo(pDInfo); /* Free DRAGINFO */3178 if (driveflags[toupper(*dcd->directory) - 'A'] &3179 DrgVerifyRMF(pDItem, DRM_FM2ARCMEMBER, DRF_FM2ARCHIVE))) 3180 { 3181 /* Free DRAGINFO */ 3182 DrgFreeDraginfo(pDInfo); 3183 if (driveflags[toupper(*dcd->directory) - 'A'] & 3179 3184 DRIVE_NOTWRITEABLE) 3180 3185 return MRFROM2SHORT(DOR_DROP,DO_LINK); 3181 if (toupper(*dcd->directory) < 'C')3186 if (toupper(*dcd->directory) < 'C') 3182 3187 return MRFROM2SHORT(DOR_DROP,DO_COPY); 3183 3188 return MRFROM2SHORT(DOR_DROP, /* Return okay to drop */ … … 3196 3201 PCNRITEM pci; 3197 3202 3198 if (pcd) {3203 if (pcd) { 3199 3204 pci = (PCNRITEM)pcd->pRecord; 3200 if (pci) {3201 if ((INT)pci == -1)3205 if (pci) { 3206 if ((INT)pci == -1) 3202 3207 pci = NULL; 3203 else if (pci->rc.flRecordAttr & CRA_SELECTED)3208 else if (pci->rc.flRecordAttr & CRA_SELECTED) 3204 3209 wasemphasized = TRUE; 3205 3210 } 3206 else if(!*dcd->directory || 3207 IsRoot(dcd->directory)) { 3211 else if (!*dcd->directory || IsRoot(dcd->directory)) { 3208 3212 DosBeep(50,100); 3209 3213 break; 3210 3214 } 3211 if (hwndStatus2) {3212 if (pci)3215 if (hwndStatus2) { 3216 if (pci) 3213 3217 WinSetWindowText(hwndStatus2, 3214 3218 GetPString(IDS_DRAGFILEOBJTEXT)); … … 3217 3221 GetPString(IDS_DRAGDIRTEXT)); 3218 3222 } 3219 if(DoFileDrag(hwnd, 3220 dcd->hwndObject, 3221 mp2, 3222 NULL, 3223 (pci) ? NULL : dcd->directory, 3224 (pci) ? TRUE : FALSE)) { 3225 if(pci && fUnHilite && wasemphasized) 3223 if (DoFileDrag(hwnd, 3224 dcd->hwndObject, 3225 mp2, 3226 NULL, 3227 (pci) ? NULL : dcd->directory, 3228 (pci) ? TRUE : FALSE)) 3229 { 3230 if (pci && fUnHilite && wasemphasized) 3226 3231 UnHilite(hwnd, 3227 3232 TRUE, 3228 3233 &dcd->lastselection); 3229 3234 } 3230 if (hwndStatus2) {3235 if (hwndStatus2) { 3231 3236 WinSetFocus(HWND_DESKTOP,hwnd); 3232 3237 PostMsg(hwnd, … … 3240 3245 3241 3246 case CN_DROP: 3242 if (mp2) {3247 if (mp2) { 3243 3248 3244 3249 LISTINFO *li; … … 3246 3251 3247 3252 li = DoFileDrop(hwnd,dcd->directory,TRUE,mp1,mp2); 3248 if (li) {3249 if (li->list && li->list[0] && IsRoot(li->list[0]))3253 if (li) { 3254 if (li->list && li->list[0] && IsRoot(li->list[0])) 3250 3255 li->type = DO_LINK; 3251 else if (fDragndropDlg && (!*li->arcname || !li->info)) {3256 else if (fDragndropDlg && (!*li->arcname || !li->info)) { 3252 3257 3253 3258 CHECKLIST cl; … … 3262 3267 DropListProc,FM3ModHandle, 3263 3268 DND_FRAME,MPFROMP(&cl)); 3264 if (!li->type) {3269 if (!li->type) { 3265 3270 FreeListInfo(li); 3266 3271 return 0; 3267 3272 } 3268 3273 li->list = cl.list; 3269 if (!li->list || !li->list[0]) {3274 if (!li->list || !li->list[0]) { 3270 3275 FreeListInfo(li); 3271 3276 return 0; … … 3281 3286 break; 3282 3287 case DO_LINK: 3283 if (fLinkSetsIcon) {3288 if (fLinkSetsIcon) { 3284 3289 li->type = IDM_SETICON; 3285 3290 action = UM_MASSACTION; … … 3289 3294 break; 3290 3295 case DND_EXTRACT: 3291 if (*li->targetpath && !IsFile(li->targetpath))3296 if (*li->targetpath && !IsFile(li->targetpath)) 3292 3297 li->type = IDM_EXTRACT; 3293 3298 break; 3294 3299 case DND_MOVE: 3295 3300 li->type = IDM_MOVE; 3296 if (*li->targetpath && IsFile(li->targetpath) == 1) {3301 if (*li->targetpath && IsFile(li->targetpath) == 1) { 3297 3302 action = UM_MASSACTION; 3298 3303 li->type = IDM_ARCHIVEM; … … 3301 3306 case DND_WILDMOVE: 3302 3307 li->type = IDM_WILDMOVE; 3303 if (*li->targetpath && IsFile(li->targetpath) == 1) {3308 if (*li->targetpath && IsFile(li->targetpath) == 1) { 3304 3309 action = UM_MASSACTION; 3305 3310 li->type = IDM_ARCHIVEM; … … 3323 3328 case DND_COPY: 3324 3329 li->type = IDM_COPY; 3325 if (*li->targetpath && IsFile(li->targetpath) == 1) {3330 if (*li->targetpath && IsFile(li->targetpath) == 1) { 3326 3331 action = UM_MASSACTION; 3327 3332 li->type = IDM_ARCHIVE; … … 3330 3335 case DND_WILDCOPY: 3331 3336 li->type = IDM_WILDCOPY; 3332 if (*li->targetpath && IsFile(li->targetpath) == 1) {3337 if (*li->targetpath && IsFile(li->targetpath) == 1) { 3333 3338 action = UM_MASSACTION; 3334 3339 li->type = IDM_ARCHIVE; … … 3336 3341 break; 3337 3342 default: 3338 if (*li->arcname && li->info) {3343 if (*li->arcname && li->info) { 3339 3344 action = UM_MASSACTION; 3340 3345 li->type = (li->type == DO_MOVE) ? IDM_FAKEEXTRACTM : IDM_FAKEEXTRACT; 3341 3346 } 3342 else if (*li->targetpath && IsFile(li->targetpath) == 1) {3347 else if (*li->targetpath && IsFile(li->targetpath) == 1) { 3343 3348 action = UM_MASSACTION; 3344 3349 li->type = (li->type == DO_MOVE) ? IDM_ARCHIVEM : IDM_ARCHIVE; … … 3348 3353 break; 3349 3354 } 3350 if (!li->list || !li->list[0])3355 if (!li->list || !li->list[0]) 3351 3356 FreeListInfo(li); 3352 else if (!PostMsg(dcd->hwndObject,action,MPFROMP(li),MPVOID))3357 else if (!PostMsg(dcd->hwndObject,action,MPFROMP(li),MPVOID)) 3353 3358 FreeListInfo(li); 3354 3359 else { … … 3367 3372 break; 3368 3373 } 3369 if (usop)3374 if (usop) 3370 3375 return MRFROM2SHORT(DOR_DROP,usop); 3371 3376 } … … 3380 3385 PCNRITEM pci = (PCNRITEM)((PCNREDITDATA)mp2)->pRecord; 3381 3386 3382 if (pfi || pci) {3387 if (pfi || pci) { 3383 3388 3384 3389 MRESULT mre; 3385 3390 3386 3391 mre = CnrDirectEdit(hwnd,msg,mp1,mp2); 3387 if (mre != (MRESULT)-1)3392 if (mre != (MRESULT)-1) 3388 3393 return mre; 3389 3394 } 3390 else if (!pfi && !pci)3395 else if (!pfi && !pci) 3391 3396 PostMsg(hwnd, 3392 3397 UM_FIXCNRMLE, … … 3404 3409 CHAR testname[CCHMAXPATH],*p; 3405 3410 3406 if (!pci && !pfi) {3411 if (!pci && !pfi) { 3407 3412 hwndMLE = WinWindowFromID(hwnd,CID_MLE); 3408 3413 WinQueryWindowText(hwndMLE, … … 3410 3415 szData); 3411 3416 p = strchr(szData,'\n'); 3412 if (p)3417 if (p) 3413 3418 *p = 0; 3414 3419 p = strchr(szData,'\r'); 3415 if (p)3420 if (p) 3416 3421 *p = 0; 3417 3422 bstrip(szData); 3418 if(*szData) { 3419 if(!DosQueryPathInfo(szData, 3420 FIL_QUERYFULLNAME, 3421 testname, 3422 sizeof(testname))) { 3423 if(!SetDir(dcd->hwndParent, 3423 if (*szData) { 3424 if (!DosQueryPathInfo(szData, 3425 FIL_QUERYFULLNAME, 3426 testname, 3427 sizeof(testname))) 3428 { 3429 if (!SetDir(dcd->hwndParent, 3424 3430 hwnd, 3425 3431 testname, 3426 3432 1)) 3433 { 3427 3434 PostMsg(hwnd, 3428 3435 UM_SETDIR, 3429 3436 MPFROMP(testname), 3430 3437 MPVOID); 3438 } 3431 3439 } 3432 3440 } … … 3437 3445 3438 3446 mre = CnrDirectEdit(hwnd,msg,mp1,mp2); 3439 if (mre != (MRESULT)-1)3447 if (mre != (MRESULT)-1) 3440 3448 return mre; 3441 3449 } … … 3444 3452 3445 3453 case CN_EMPHASIS: 3446 if (mp2) {3454 if (mp2) { 3447 3455 3448 3456 PNOTIFYRECORDEMPHASIS pre = mp2; … … 3451 3459 3452 3460 pci = (PCNRITEM)((pre) ? pre->pRecord : NULL); 3453 if (!pci) {3454 if (hwndStatus2)3461 if (!pci) { 3462 if (hwndStatus2) 3455 3463 WinSetWindowText(hwndStatus2,NullStr); 3456 if (fMoreButtons) {3464 if (fMoreButtons) { 3457 3465 WinSetWindowText(hwndName,NullStr); 3458 3466 WinSetWindowText(hwndDate,NullStr); 3459 3467 WinSetWindowText(hwndAttr,NullStr); 3460 3468 } 3461 if (hwndMain)3469 if (hwndMain) 3462 3470 WinSendMsg(hwndMain, 3463 3471 UM_LOADFILE, … … 3466 3474 break; 3467 3475 } 3468 if (pre->fEmphasisMask & CRA_SELECTED) {3469 if (pci->rc.flRecordAttr & CRA_SELECTED) {3476 if (pre->fEmphasisMask & CRA_SELECTED) { 3477 if (pci->rc.flRecordAttr & CRA_SELECTED) { 3470 3478 dcd->selectedbytes += (pci->cbFile + pci->easize); 3471 3479 dcd->selectedfiles++; 3472 3480 } 3473 else if (dcd->selectedfiles) {3481 else if (dcd->selectedfiles) { 3474 3482 dcd->selectedbytes -= (pci->cbFile + pci->easize); 3475 3483 dcd->selectedfiles--; 3476 3484 } 3477 if (!dcd->suspendview)3485 if (!dcd->suspendview) 3478 3486 { 3479 3487 commafmt(tf,sizeof(tf),dcd->selectedfiles); … … 3483 3491 } 3484 3492 } 3485 if(!dcd->suspendview && hwndMain && 3486 (pre->fEmphasisMask & CRA_CURSORED) && 3487 (pci->rc.flRecordAttr & CRA_CURSORED) && 3488 WinQueryActiveWindow(dcd->hwndParent) == dcd->hwndFrame) { 3489 if(driveflags[toupper(*pci->szFileName) - 'A'] & DRIVE_SLOW) 3493 if (!dcd->suspendview && hwndMain && 3494 (pre->fEmphasisMask & CRA_CURSORED) && 3495 (pci->rc.flRecordAttr & CRA_CURSORED) && 3496 WinQueryActiveWindow(dcd->hwndParent) == dcd->hwndFrame) 3497 { 3498 if (driveflags[toupper(*pci->szFileName) - 'A'] & DRIVE_SLOW) 3490 3499 WinSendMsg(hwndMain, 3491 3500 UM_LOADFILE, … … 3498 3507 MPVOID); 3499 3508 } 3500 if (!dcd->suspendview &&3501 WinQueryActiveWindow(dcd->hwndParent) == dcd->hwndFrame) {3502 if (pre->fEmphasisMask & CRA_CURSORED) {3503 if (pci->rc.flRecordAttr & CRA_CURSORED) {3504 if (fSplitStatus && hwndStatus2)3509 if (!dcd->suspendview && 3510 WinQueryActiveWindow(dcd->hwndParent) == dcd->hwndFrame) { 3511 if (pre->fEmphasisMask & CRA_CURSORED) { 3512 if (pci->rc.flRecordAttr & CRA_CURSORED) { 3513 if (fSplitStatus && hwndStatus2) 3505 3514 { 3506 3515 CommaFmtULL(tb,sizeof(tb),pci->cbFile + pci->easize,' '); 3507 if (!fMoreButtons)3516 if (!fMoreButtons) 3508 3517 { 3509 3518 sprintf(s," %s %04u/%02u/%02u %02u:%02u:%02u [%s] %s", … … 3515 3524 else { 3516 3525 *tf = 0; 3517 if (pci->cbFile + pci->easize > 1024)3526 if (pci->cbFile + pci->easize > 1024) 3518 3527 { 3519 3528 CommaFmtULL(tf,sizeof(tf), … … 3528 3537 WinSetWindowText(hwndStatus2,s); 3529 3538 } 3530 if (fMoreButtons) {3539 if (fMoreButtons) { 3531 3540 WinSetWindowText(hwndName,pci->pszFileName); 3532 3541 sprintf(s,"%04u/%02u/%02u %02u:%02u:%02u", … … 3546 3555 3547 3556 case CN_ENTER: 3548 if (mp2) {3557 if (mp2) { 3549 3558 3550 3559 PCNRITEM pci = (PCNRITEM)((PNOTIFYRECORDENTER)mp2)->pRecord; … … 3555 3564 3556 3565 SetShiftState(); 3557 if (pci) {3558 if (pci->rc.flRecordAttr & CRA_INUSE)3566 if (pci) { 3567 if (pci->rc.flRecordAttr & CRA_INUSE) 3559 3568 break; 3560 3569 DosError(FERR_DISABLEHARDERR); … … 3569 3578 FIL_STANDARD); 3570 3579 priority_bumped(); 3571 if (!status) {3580 if (!status) { 3572 3581 DosFindClose(hDir); 3573 if (ffb.attrFile & FILE_DIRECTORY) {3574 if ((shiftstate & (KC_CTRL | KC_ALT)) ==3582 if (ffb.attrFile & FILE_DIRECTORY) { 3583 if ((shiftstate & (KC_CTRL | KC_ALT)) == 3575 3584 (KC_CTRL | KC_ALT)) 3576 3585 PostMsg(hwnd, … … 3578 3587 MPFROM2SHORT(IDM_SHOWALLFILES,0), 3579 3588 MPVOID); 3580 else if ((shiftstate & (KC_CTRL | KC_SHIFT)) ==3589 else if ((shiftstate & (KC_CTRL | KC_SHIFT)) == 3581 3590 (KC_CTRL | KC_SHIFT)) 3582 3591 OpenObject(pci->szFileName, 3583 3592 Settings, 3584 3593 dcd->hwndFrame); 3585 else if (shiftstate & KC_CTRL)3594 else if (shiftstate & KC_CTRL) 3586 3595 OpenObject(pci->szFileName, 3587 3596 Default, 3588 3597 dcd->hwndFrame); 3589 else if (shiftstate & KC_SHIFT) {3598 else if (shiftstate & KC_SHIFT) { 3590 3599 3591 3600 HWND hwndDir; … … 3596 3605 FALSE, 3597 3606 pci->szFileName); 3598 if (hwndDir) {3599 if (fMinOnOpen)3607 if (hwndDir) { 3608 if (fMinOnOpen) 3600 3609 WinSetWindowPos(dcd->hwndFrame, 3601 3610 HWND_BOTTOM, … … 3605 3614 0, 3606 3615 SWP_MINIMIZE | SWP_ZORDER); 3607 if (fAutoTile)3616 if (fAutoTile) 3608 3617 TileChildren(dcd->hwndParent, 3609 3618 TRUE); … … 3623 3632 dcd->stopflag++; 3624 3633 DosExitCritSec(); 3625 if(!PostMsg(dcd->hwndObject, 3626 UM_RESCAN, 3627 MPVOID, 3628 MPFROMLONG(1L))) { 3634 if (!PostMsg(dcd->hwndObject, 3635 UM_RESCAN, 3636 MPVOID, 3637 MPFROMLONG(1L))) 3638 { 3629 3639 DosEnterCritSec(); 3630 3640 dcd->stopflag--; 3631 3641 DosExitCritSec(); 3632 3642 } 3633 else if (*dcd->directory) {3634 if (hwndMain)3643 else if (*dcd->directory) { 3644 if (hwndMain) 3635 3645 WinSendMsg(hwndMain, 3636 3646 UM_SETUSERLISTNAME, … … 3668 3678 } 3669 3679 else { 3670 if(!*dcd->directory || 3671 IsValidDir(dcd->directory)) { 3680 if (!*dcd->directory || IsValidDir(dcd->directory)) { 3672 3681 NotifyError(pci->szFileName, 3673 3682 status); … … 3678 3687 CMA_FREE | CMA_INVALIDATE | 3679 3688 CMA_ERASE)); 3680 if (hwndStatus)3689 if (hwndStatus) 3681 3690 WinSetWindowText(hwndStatus, 3682 3691 GetPString(IDS_RESCANSUGGESTEDTEXT)); … … 3684 3693 else { 3685 3694 DosEnterCritSec(); 3686 3695 dcd->stopflag++; 3687 3696 DosExitCritSec(); 3688 if(!PostMsg(dcd->hwndObject, 3689 UM_RESCAN, 3690 MPVOID, 3691 MPFROMLONG(1L))) { 3697 if (!PostMsg(dcd->hwndObject, 3698 UM_RESCAN, 3699 MPVOID, 3700 MPFROMLONG(1L))) 3701 { 3692 3702 DosEnterCritSec(); 3693 3703 dcd->stopflag--; 3694 3704 DosExitCritSec(); 3695 3705 } 3696 else if (*dcd->directory) {3697 if (hwndMain)3706 else if (*dcd->directory) { 3707 if (hwndMain) 3698 3708 WinSendMsg(hwndMain, 3699 3709 UM_SETUSERLISTNAME, … … 3707 3717 } 3708 3718 } 3709 else if (*dcd->directory)3719 else if (*dcd->directory) 3710 3720 OpenObject(dcd->directory, 3711 3721 Default, … … 3719 3729 3720 3730 case UM_LOADFILE: 3721 if (dcd && mp2) {3731 if (dcd && mp2) { 3722 3732 3723 3733 HWND ret; … … 3727 3737 (CHAR *)mp2, 3728 3738 dcd->hwndFrame); 3729 if (mp2)3739 if (mp2) 3730 3740 free((CHAR *)mp2); 3731 3741 return MRFROMLONG(ret); … … 3734 3744 3735 3745 case WM_SAVEAPPLICATION: 3736 if(dcd && 3737 ParentIsDesktop(hwnd,dcd->hwndParent)) { 3746 if (dcd && ParentIsDesktop(hwnd,dcd->hwndParent)) { 3738 3747 3739 3748 SWP swp; 3740 3749 3741 3750 WinQueryWindowPos(dcd->hwndFrame,&swp); 3742 if (!(swp.fl & (SWP_HIDE | SWP_MINIMIZE | SWP_MAXIMIZE)))3751 if (!(swp.fl & (SWP_HIDE | SWP_MINIMIZE | SWP_MAXIMIZE))) 3743 3752 PrfWriteProfileData(fmprof, 3744 3753 appname, … … 3754 3763 MPVOID, 3755 3764 MPVOID); 3756 if (LastDir == hwnd)3765 if (LastDir == hwnd) 3757 3766 LastDir = (HWND)0; 3758 if (dcd) {3767 if (dcd) { 3759 3768 dcd->stopflag++; 3760 if(!dcd->dontclose && 3761 ParentIsDesktop(dcd->hwndFrame,(HWND)0)) 3769 if (!dcd->dontclose && ParentIsDesktop(dcd->hwndFrame,(HWND)0)) 3762 3770 PostMsg((HWND)0, 3763 3771 WM_QUIT, 3764 3772 MPVOID, 3765 3773 MPVOID); 3766 if(!dcd->hwndObject || 3767 !PostMsg(dcd->hwndObject, 3768 WM_CLOSE, 3769 MPVOID, 3770 MPVOID)) { 3771 if(dcd->hwndObject) 3774 if (!dcd->hwndObject || 3775 !PostMsg(dcd->hwndObject, WM_CLOSE, MPVOID, MPVOID)) 3776 { 3777 if (dcd->hwndObject) 3772 3778 WinSetWindowPtr(dcd->hwndObject, 3773 3779 QWL_USER, … … 3776 3782 QWL_USER, 3777 3783 NULL); 3778 if (dcd->hwndRestore)3784 if (dcd->hwndRestore) 3779 3785 WinSetWindowPos(dcd->hwndRestore, 3780 3786 HWND_TOP, … … 3795 3801 3796 3802 case WM_DESTROY: 3797 if (DirMenu)3803 if (DirMenu) 3798 3804 WinDestroyWindow(DirMenu); 3799 if (DirCnrMenu)3805 if (DirCnrMenu) 3800 3806 WinDestroyWindow(DirCnrMenu); 3801 if (FileMenu)3807 if (FileMenu) 3802 3808 WinDestroyWindow(FileMenu); 3803 3809 DirMenu = DirCnrMenu = FileMenu = (HWND)0; … … 3810 3816 3811 3817 3812 HWND StartDirCnr (HWND hwndParent,CHAR *directory,HWND hwndRestore, 3813 ULONG flags) { 3814 3818 HWND StartDirCnr (HWND hwndParent,CHAR *directory,HWND hwndRestore,ULONG flags) 3819 { 3815 3820 /* bitmapped flags: 3816 3821 * 0x00000001 = don't close app when window closes
Note:
See TracChangeset
for help on using the changeset viewer.