Changeset 305
- Timestamp:
- Jun 27, 2006, 2:23:34 AM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/dll/treecnr.c ¶
r246 r305 16 16 05 Jun 05 SHL Use QWL_USER 17 17 06 Aug 05 SHL Renames 18 08 Dec 05 SHL TreeCnrWndProc: disable menu items if drive not ready 18 19 19 20 ***********************************************************************/ … … 274 275 MRESULT EXPENTRY TreeTitleWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) { 275 276 276 PFNWP oldproc = (PFNWP)WinQueryWindowPtr(hwnd, 0);277 PFNWP oldproc = (PFNWP)WinQueryWindowPtr(hwnd,QWL_USER); 277 278 278 279 switch(msg) { … … 629 630 630 631 case UM_EXPAND: 631 dcd = WinQueryWindowPtr(hwnd, 0);632 dcd = WinQueryWindowPtr(hwnd,QWL_USER); 632 633 if(dcd) { 633 634 … … 647 648 648 649 case UM_UPDATERECORDLIST: 649 dcd = WinQueryWindowPtr(hwnd, 0);650 dcd = WinQueryWindowPtr(hwnd,QWL_USER); 650 651 if(dcd && mp1) { 651 652 … … 665 666 666 667 case UM_SETUP: 667 dcd = WinQueryWindowPtr(hwnd, 0);668 dcd = WinQueryWindowPtr(hwnd,QWL_USER); 668 669 if(dcd) { 669 670 dcd->hwndObject = hwnd; … … 674 675 675 676 case UM_RESCAN2: 676 dcd = WinQueryWindowPtr(hwnd, 0);677 dcd = WinQueryWindowPtr(hwnd,QWL_USER); 677 678 if(dcd && 678 679 hwndStatus && … … 776 777 * populate container 777 778 */ 778 dcd = WinQueryWindowPtr(hwnd, 0);779 dcd = WinQueryWindowPtr(hwnd,QWL_USER); 779 780 if(dcd) { 780 781 WinSendMsg(dcd->hwndCnr, … … 847 848 if(mp1) { 848 849 849 dcd = WinQueryWindowPtr(hwnd, 0);850 dcd = WinQueryWindowPtr(hwnd,QWL_USER); 850 851 if(dcd) { 851 852 … … 880 881 if(mp1) { 881 882 882 dcd = WinQueryWindowPtr(hwnd, 0);883 dcd = WinQueryWindowPtr(hwnd,QWL_USER); 883 884 if(dcd) { 884 885 … … 916 917 case WM_DESTROY: 917 918 hwndTree = (HWND)0; 918 dcd = WinQueryWindowPtr(hwnd, 0);919 dcd = WinQueryWindowPtr(hwnd,QWL_USER); 919 920 if(dcd) { 920 921 WinSendMsg(dcd->hwndCnr, … … 939 940 940 941 941 MRESULT EXPENTRY TreeCnrWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {942 942 MRESULT EXPENTRY TreeCnrWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) 943 { 943 944 static APPNOTIFY *apphead = NULL,*apptail = NULL; 944 DIRCNRDATA *dcd = WinQueryWindowPtr(hwnd, 0);945 DIRCNRDATA *dcd = WinQueryWindowPtr(hwnd,QWL_USER); 945 946 946 947 switch(msg) { … … 2327 2328 2328 2329 pci = (PCNRITEM)CurrentRecord(hwnd); 2329 if(pci && (INT)pci != -1) { 2330 WinEnableMenuItem((HWND)mp2, 2331 IDM_UPDATE, 2332 (pci->flags & RECFLAGS_UNDERENV) == 0); 2333 WinEnableMenuItem((HWND)mp2, 2334 IDM_EXPANDSUBMENU, 2335 (pci->flags & RECFLAGS_UNDERENV) == 0); 2336 WinEnableMenuItem((HWND)mp2, 2337 IDM_EXPAND, 2338 (pci->flags & RECFLAGS_UNDERENV) == 0); 2339 WinEnableMenuItem((HWND)mp2, 2340 IDM_COLLAPSE, 2341 (pci->flags & RECFLAGS_UNDERENV) == 0); 2342 WinEnableMenuItem((HWND)mp2, 2343 IDM_DELETE, 2344 ((pci->flags & RECFLAGS_UNDERENV) == 0) && 2345 (driveflags[toupper(*pci->szFileName) - 'A'] & DRIVE_NOTWRITEABLE) == 0); 2346 WinEnableMenuItem((HWND)mp2, 2347 IDM_PERMDELETE, 2348 ((pci->flags & RECFLAGS_UNDERENV) == 0) && 2349 (driveflags[toupper(*pci->szFileName) - 'A'] & DRIVE_NOTWRITEABLE) == 0); 2350 WinEnableMenuItem((HWND)mp2, 2351 IDM_DELETESUBMENU, 2352 ((pci->flags & RECFLAGS_UNDERENV) == 0) && 2353 (driveflags[toupper(*pci->szFileName) - 'A'] & DRIVE_NOTWRITEABLE) == 0); 2354 WinEnableMenuItem((HWND)mp2, 2355 IDM_MOVEMENU, 2356 ((pci->flags & RECFLAGS_UNDERENV) == 0) && 2357 (driveflags[toupper(*pci->szFileName) - 'A'] & DRIVE_NOTWRITEABLE) == 0); 2358 WinEnableMenuItem((HWND)mp2, 2359 IDM_RENAME, 2360 ((pci->flags & RECFLAGS_UNDERENV) == 0) && 2361 (driveflags[toupper(*pci->szFileName) - 'A'] & DRIVE_NOTWRITEABLE) == 0); 2362 WinEnableMenuItem((HWND)mp2, 2363 IDM_DETACH, 2364 (driveflags[toupper(*pci->szFileName) - 'A'] & DRIVE_REMOTE) != 0); 2365 WinEnableMenuItem((HWND)mp2, 2366 IDM_EJECT, 2367 (driveflags[toupper(*pci->szFileName) - 'A'] & DRIVE_REMOVABLE) != 0); 2368 /* 2369 WinEnableMenuItem((HWND)mp2, 2370 IDM_CLOSETRAY, 2371 (driveflags[toupper(*pci->szFileName) - 'A'] & DRIVE_CDROM) != 0); 2372 */ 2373 WinEnableMenuItem((HWND)mp2, 2374 IDM_LOCK, 2375 (driveflags[toupper(*pci->szFileName) - 'A'] & DRIVE_REMOVABLE) != 0); 2376 WinEnableMenuItem((HWND)mp2, 2377 IDM_UNLOCK, 2378 (driveflags[toupper(*pci->szFileName) - 'A'] & DRIVE_REMOVABLE) != 0); 2379 WinEnableMenuItem((HWND)mp2, 2380 IDM_OPTIMIZE, 2381 (driveflags[toupper(*pci->szFileName) - 'A'] & DRIVE_NOTWRITEABLE) == 0); 2382 WinEnableMenuItem((HWND)mp2, 2383 IDM_FORMAT, 2384 (driveflags[toupper(*pci->szFileName) - 'A'] & DRIVE_NOTWRITEABLE) == 0); 2385 WinEnableMenuItem((HWND)mp2, 2386 IDM_CHKDSK, 2387 (driveflags[toupper(*pci->szFileName) - 'A'] & DRIVE_NOTWRITEABLE) == 0); 2388 WinEnableMenuItem((HWND)mp2, 2389 IDM_MKDIR, 2390 (driveflags[toupper(*pci->szFileName) - 'A'] & DRIVE_NOTWRITEABLE) == 0); 2391 WinEnableMenuItem((HWND)mp2, 2392 IDM_UNDELETE, 2393 (driveflags[toupper(*pci->szFileName) - 'A'] & DRIVE_NOTWRITEABLE) == 0); 2394 WinEnableMenuItem((HWND)mp2, 2395 IDM_ATTRS, 2396 (driveflags[toupper(*pci->szFileName) - 'A'] & DRIVE_NOTWRITEABLE) == 0); 2330 if(pci && (INT)pci != -1) 2331 { 2332 BOOL rdy; 2333 BOOL writeable; 2334 BOOL removable; 2335 BOOL underenv; 2336 CHAR chDrvU; 2337 CHAR szDrv[CCHMAXPATH]; 2338 strcpy(szDrv, pci->szFileName); 2339 chDrvU = *pci->szFileName; 2340 chDrvU = toupper(chDrvU); 2341 MakeValidDir(szDrv); 2342 rdy = *szDrv == chDrvU; // Drive not ready if MakeValidDir changes drive letter 2343 removable = rdy && (driveflags[chDrvU - 'A'] & DRIVE_REMOVABLE) != 0; 2344 writeable = rdy && !(driveflags[chDrvU - 'A'] & DRIVE_NOTWRITEABLE); 2345 underenv = (pci->flags & RECFLAGS_UNDERENV) != 0; 2346 2347 WinEnableMenuItem((HWND)mp2, IDM_INFO, rdy); 2348 2349 WinEnableMenuItem((HWND)mp2, IDM_ATTRS, writeable); 2350 WinEnableMenuItem((HWND)mp2, IDM_EAS, writeable); 2351 WinEnableMenuItem((HWND)mp2, IDM_SUBJECT, writeable); 2352 WinEnableMenuItem((HWND)mp2, IDM_DRVFLAGS, rdy); // fixme to allow if not ready 2353 2354 WinEnableMenuItem((HWND)mp2, IDM_ARCHIVE, rdy); 2355 2356 WinEnableMenuItem((HWND)mp2, IDM_UPDATE, !underenv); 2357 WinEnableMenuItem((HWND)mp2, IDM_EXPANDSUBMENU, !underenv); 2358 WinEnableMenuItem((HWND)mp2, IDM_EXPAND, !underenv); 2359 WinEnableMenuItem((HWND)mp2, IDM_COLLAPSE, !underenv); 2360 2361 WinEnableMenuItem((HWND)mp2, IDM_SIZES, rdy); 2362 WinEnableMenuItem((HWND)mp2, IDM_MKDIR, writeable); 2363 WinEnableMenuItem((HWND)mp2, IDM_SHOWALLFILES, rdy); 2364 WinEnableMenuItem((HWND)mp2, IDM_UNDELETE, writeable); 2365 2366 WinEnableMenuItem((HWND)mp2, IDM_CHKDSK, writeable); 2367 WinEnableMenuItem((HWND)mp2, IDM_FORMAT, writeable); 2368 WinEnableMenuItem((HWND)mp2, IDM_OPTIMIZE, writeable); 2369 2370 WinEnableMenuItem((HWND)mp2, IDM_DETACH, 2371 rdy && (driveflags[chDrvU - 'A'] & DRIVE_REMOTE) != 0); 2372 2373 WinEnableMenuItem((HWND)mp2, IDM_EJECT, removable); 2374 2375 WinEnableMenuItem((HWND)mp2, IDM_LOCK, removable); 2376 WinEnableMenuItem((HWND)mp2, IDM_UNLOCK, removable); 2377 2378 WinEnableMenuItem((HWND)mp2, IDM_DELETE, !underenv && writeable); 2379 WinEnableMenuItem((HWND)mp2, IDM_PERMDELETE, !underenv && writeable); 2380 WinEnableMenuItem((HWND)mp2, IDM_DELETESUBMENU, !underenv && writeable); 2381 WinEnableMenuItem((HWND)mp2, IDM_MOVEMENU, !underenv && writeable); 2382 WinEnableMenuItem((HWND)mp2, IDM_RENAME, !underenv && writeable); 2383 2397 2384 } 2398 2385 } … … 3347 3334 3348 3335 oldproc = WinSubclassWindow(hwndFrame,(PFNWP)TreeFrameWndProc); 3349 WinSetWindowPtr(hwndFrame, 0,(PVOID)oldproc);3336 WinSetWindowPtr(hwndFrame,QWL_USER,(PVOID)oldproc); 3350 3337 oldproc = WinSubclassWindow(WinWindowFromID(hwndFrame,FID_TITLEBAR), 3351 3338 (PFNWP)TreeTitleWndProc); … … 3369 3356 NULL); 3370 3357 if(dcd->hwndCnr) { 3371 WinSetWindowPtr(dcd->hwndCnr, 0,(PVOID)dcd);3358 WinSetWindowPtr(dcd->hwndCnr,QWL_USER,(PVOID)dcd); 3372 3359 if(ParentIsDesktop(hwndFrame,hwndParent)) { 3373 3360 WinSetWindowText(WinWindowFromID(hwndFrame,FID_TITLEBAR),"VTree");
Note:
See TracChangeset
for help on using the changeset viewer.