Changeset 672


Ignore:
Timestamp:
May 13, 2007, 5:57:48 AM (13 years ago)
Author:
Steven Levine
Message:

Use dcd->ulItemsToUnHilite
Sync UnHilite? calls with arg mods

Location:
trunk/dll
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/arccnrs.c

    r630 r672  
    77
    88  Copyright (c) 1993-98 M. Kimes
    9   Copyright (c) 2001, 2006 Steven H. Levine
     9  Copyright (c) 2001, 2007 Steven H. Levine
    1010
    1111  11 Jun 02 SHL Ensure archive name not garbage
     
    3737  20 Apr 07 SHL Sync with NumItemsToUnhilite mods
    3838  21 Apr 07 GKY Find FM2Utils by path or utils directory
     39  12 May 07 SHL Use dcd->ulItemsToUnHilite; sync with UnHilite arg mods
    3940
    4041***********************************************************************/
     
    11181119{
    11191120  DIRCNRDATA *dcd;
     1121  DIRCNRDATA *dcdsrc;
    11201122  PSZ psz;
    11211123
     
    11331135      li = DoFileDrop(dcd->hwndCnr,
    11341136                      dcd->directory, FALSE, MPVOID, MPFROMP(&cni));
    1135       if (NumItemsToUnhilite)
    1136              saymsg(MB_CANCEL | MB_ICONEXCLAMATION,
    1137                                    hwnd,
    1138                                    GetPString(IDS_ERRORTEXT),
    1139                          GetPString(IDS_EXCEEDPMDRGLMT));
     1137      dcdsrc = INSTDATA(cni.pDragInfo->hwndSource);
     1138      if (dcdsrc->ulItemsToUnHilite) {
     1139        saymsg(MB_CANCEL | MB_ICONEXCLAMATION,
     1140               hwnd,
     1141               GetPString(IDS_ERRORTEXT),
     1142               GetPString(IDS_EXCEEDPMDRGLMT));
     1143      }
     1144
    11401145      if (li) {
    11411146        li->type = (msg == DM_DISCARDOBJECT) ? IDM_DELETE : IDM_PRINT;
     
    19361941                                      MPARAM mp2)
    19371942{
    1938   DIRCNRDATA *dcd = WinQueryWindowPtr(hwnd, QWL_USER);
     1943  DIRCNRDATA *dcd = INSTDATA(hwnd);
     1944  DIRCNRDATA *dcdsrc;
    19391945
    19401946  switch (msg) {
     
    23742380      DefaultViewKeys(hwnd, dcd->hwndFrame, dcd->hwndParent, &swp, filename);
    23752381      if (fUnHilite)
    2376         UnHilite(hwnd, FALSE, &dcd->lastselection);
     2382        UnHilite(hwnd, FALSE, &dcd->lastselection, 0);
    23772383    }
    23782384    return 0;
     
    28952901              }
    28962902              else if (fUnHilite && SHORT1FROMMP(mp1) != IDM_EDIT)
    2897                 UnHilite(hwnd, TRUE, &dcd->lastselection);
     2903                UnHilite(hwnd, TRUE, &dcd->lastselection, 0);
    28982904            }
    28992905            else
     
    30073013                             dcd->hwndObject,
    30083014                             mp2, dcd->arcname, NULL, TRUE)) {
    3009                 if ((fUnHilite && wasemphasized) || NumItemsToUnhilite)
    3010                   UnHilite(hwnd, TRUE, &dcd->lastselection);
     3015                if ((fUnHilite && wasemphasized) || dcd->ulItemsToUnHilite)
     3016                  UnHilite(hwnd, TRUE, &dcd->lastselection, dcd->ulItemsToUnHilite);
    30113017              }
    30123018              if (!ParentIsDesktop(hwnd, dcd->hwndParent) &&
     
    30373043          li = DoFileDrop(hwnd, dcd->arcname, FALSE, mp1, mp2);
    30383044          DosBeep(50, 100);             // fixme to know why beep?
    3039           if (NumItemsToUnhilite)
     3045          dcdsrc = INSTDATA(((PCNRDRAGINFO)mp2)->pDragInfo->hwndSource);
     3046          if (dcdsrc->ulItemsToUnHilite) {
    30403047            saymsg(MB_CANCEL | MB_ICONEXCLAMATION,
    3041                                   hwnd,
    3042                                   GetPString(IDS_ERRORTEXT),
    3043                         GetPString(IDS_EXCEEDPMDRGLMT));
     3048                   hwnd,
     3049                   GetPString(IDS_ERRORTEXT),
     3050                   GetPString(IDS_EXCEEDPMDRGLMT));
     3051          }
    30443052          if (li) {
    30453053            li->type = li->type == DO_MOVE ? IDM_ARCHIVEM : IDM_ARCHIVE;
  • trunk/dll/collect.c

    r618 r672  
    77
    88  Copyright (c) 1993-98 M. Kimes
    9   Copyright (c) 2003, 2006 Steven H. Levine
     9  Copyright (c) 2003, 2007 Steven H. Levine
    1010
    1111  15 Oct 02 MK Baseline
     
    3434  06 Apr 07 GKY Add some error checking in drag/drop
    3535  19 Apr 07 SHL Use FreeDragInfoData.  Add more drag/drop error checks.
     36  12 May 07 SHL Use dcd->ulItemsToUnHilite
    3637
    3738***********************************************************************/
     
    443444  ULONG size;
    444445  DIRCNRDATA *dcd;
     446  DIRCNRDATA *dcdsrc;
    445447
    446448  switch (msg) {
     
    460462      cni.pDragInfo = (PDRAGINFO) mp1;
    461463      li = DoFileDrop(dcd->hwndCnr, NULL, FALSE, MPVOID, MPFROMP(&cni));
    462       if (NumItemsToUnhilite)
     464      dcdsrc = INSTDATA(cni.pDragInfo->hwndSource);
     465      if (dcdsrc->ulItemsToUnHilite) {
    463466        saymsg(MB_CANCEL | MB_ICONEXCLAMATION,
    464                              hwnd,
    465                              GetPString(IDS_ERRORTEXT),
    466                    GetPString(IDS_EXCEEDPMDRGLMT));
     467               hwnd,
     468               GetPString(IDS_ERRORTEXT),
     469               GetPString(IDS_EXCEEDPMDRGLMT));
     470      }
    467471      if (li) {
    468         li->type = (fDefaultDeletePerm) ? IDM_PERMDELETE : IDM_DELETE;
     472        li->type = fDefaultDeletePerm ? IDM_PERMDELETE : IDM_DELETE;
    469473        if (!PostMsg(hwnd, UM_MASSACTION, MPFROMP(li), MPVOID))
    470474          FreeListInfo(li);
     
    912916                                     MPARAM mp2)
    913917{
    914   DIRCNRDATA *dcd = WinQueryWindowPtr(hwnd, QWL_USER);
     918  DIRCNRDATA *dcd = INSTDATA(hwnd);
     919  DIRCNRDATA *dcdsrc;
    915920  ULONG size;
    916921
     
    20112016              }
    20122017              else if (fUnHilite)
    2013                 UnHilite(hwnd, TRUE, &dcd->lastselection);
     2018                UnHilite(hwnd, TRUE, &dcd->lastselection, dcd->ulItemsToUnHilite);
    20142019            }
    20152020            else
     
    20312036            RunCommand(hwnd, x);
    20322037            if (fUnHilite)
    2033               UnHilite(hwnd, TRUE, &dcd->lastselection);
     2038              UnHilite(hwnd, TRUE, &dcd->lastselection, dcd->ulItemsToUnHilite);
    20342039          }
    20352040        }
     
    22432248                                 GetPString(IDS_DRAGFILEOBJTEXT));
    22442249              if (DoFileDrag(hwnd, dcd->hwndObject, mp2, NULL, NULL, TRUE)) {
    2245                 if ((fUnHilite && wasemphasized) || NumItemsToUnhilite)
    2246                   UnHilite(hwnd, TRUE, &dcd->lastselection);
     2250                if ((fUnHilite && wasemphasized) || dcd->ulItemsToUnHilite)
     2251                  UnHilite(hwnd, TRUE, &dcd->lastselection, dcd->ulItemsToUnHilite);
    22472252              }
    22482253              if (hwndStatus2)
     
    22592264
    22602265          li = DoFileDrop(hwnd, NULL, TRUE, mp1, mp2);
    2261           if (NumItemsToUnhilite)
     2266          dcdsrc = INSTDATA(((PCNRDRAGINFO)mp2)->pDragInfo->hwndSource);
     2267          if (dcdsrc->ulItemsToUnHilite) {
    22622268            saymsg(MB_CANCEL | MB_ICONEXCLAMATION,
    2263                                  hwnd,
    2264                                  GetPString(IDS_ERRORTEXT),
    2265                        GetPString(IDS_EXCEEDPMDRGLMT));
     2269                   hwnd,
     2270                   GetPString(IDS_ERRORTEXT),
     2271                   GetPString(IDS_EXCEEDPMDRGLMT));
     2272          }
    22662273          if (li) {
    22672274            if (!*li->targetpath) {
  • trunk/dll/dircnrs.c

    r618 r672  
    77
    88  Copyright (c) 1993-98 M. Kimes
    9   Copyright (c) 2001, 2006 Steven H. Levine
     9  Copyright (c) 2001, 2007 Steven H. Levine
    1010
    1111  16 Oct 02 SHL Handle large partitions
     
    2525  06 Apr 07 GKY Add some error checking in drag/drop
    2626  19 Apr 07 SHL Use FreeDragInfoData.  Add more drag/drop error checking.
     27  12 May 07 SHL Use dcd->ulItemsToUnHilite; sync with UnHilite arg mods
    2728
    2829***********************************************************************/
     
    570571{
    571572  DIRCNRDATA *dcd;
     573  DIRCNRDATA *dcdsrc;
    572574
    573575  switch (msg) {
     
    587589      cni.pRecord = NULL;
    588590      cni.pDragInfo = (PDRAGINFO) mp1;
     591      DbgMsg(pszSrcFile, __LINE__, "calling DoFileDrop");
    589592      li =
    590593        DoFileDrop(dcd->hwndCnr, dcd->directory, FALSE, MPVOID,
    591594                   MPFROMP(&cni));
    592       if (NumItemsToUnhilite)
     595      dcdsrc = INSTDATA(cni.pDragInfo->hwndSource);
     596      if (dcdsrc->ulItemsToUnHilite) {
    593597        saymsg(MB_CANCEL | MB_ICONEXCLAMATION,
    594                              hwnd,
    595                              GetPString(IDS_ERRORTEXT),
    596                    GetPString(IDS_EXCEEDPMDRGLMT));
     598               hwnd,
     599               GetPString(IDS_ERRORTEXT),
     600               GetPString(IDS_EXCEEDPMDRGLMT));
     601      }
    597602      if (li) {
    598603        li->type = (fDefaultDeletePerm) ? IDM_PERMDELETE : IDM_DELETE;
     
    10571062MRESULT EXPENTRY DirCnrWndProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2)
    10581063{
    1059   DIRCNRDATA *dcd = WinQueryWindowPtr(hwnd, QWL_USER);
    1060     APIRET rc;
     1064  DIRCNRDATA *dcd = INSTDATA(hwnd);
     1065  DIRCNRDATA *dcdsrc;
     1066  APIRET rc;
    10611067
    10621068  switch (msg) {
     
    19851991                FreeList(list);
    19861992              else if (fUnHilite)
    1987                 UnHilite(hwnd, TRUE, &dcd->lastselection);
     1993                UnHilite(hwnd, TRUE, &dcd->lastselection, 0);
    19881994            }
    19891995            else
     
    25132519              }
    25142520              else if (fUnHilite)
    2515                 UnHilite(hwnd, TRUE, &dcd->lastselection);
     2521                UnHilite(hwnd, TRUE, &dcd->lastselection, 0);
    25162522            }
    25172523            else
     
    25422548              RunCommand(hwnd, x);
    25432549              if (fUnHilite)
    2544                 UnHilite(hwnd, TRUE, &dcd->lastselection);
     2550                UnHilite(hwnd, TRUE, &dcd->lastselection, 0);
    25452551            }
    25462552          }
     
    28342840                           pci ? NULL : dcd->directory,
    28352841                           pci ? TRUE : FALSE)) {
    2836               if ((pci && fUnHilite && wasemphasized) || NumItemsToUnhilite) {
    2837                 UnHilite(hwnd, TRUE, &dcd->lastselection);
     2842              if ((pci && fUnHilite && wasemphasized) || dcd->ulItemsToUnHilite) {
     2843                UnHilite(hwnd, TRUE, &dcd->lastselection, dcd->ulItemsToUnHilite);
    28382844              }
    28392845            }
     
    28522858          ULONG action = UM_ACTION;
    28532859
     2860          DbgMsg(pszSrcFile, __LINE__, "calling DoFileDrop");
    28542861          li = DoFileDrop(hwnd, dcd->directory, TRUE, mp1, mp2);
    2855           if (NumItemsToUnhilite) {
     2862          dcdsrc = INSTDATA(((PCNRDRAGINFO)mp2)->pDragInfo->hwndSource);
     2863
     2864          if (dcdsrc->ulItemsToUnHilite) {
    28562865            saymsg(MB_CANCEL | MB_ICONEXCLAMATION,
    2857                                  hwnd,
    2858                                  GetPString(IDS_ERRORTEXT),
    2859                                  GetPString(IDS_EXCEEDPMDRGLMT));
    2860           }
     2866                   hwnd,
     2867                   GetPString(IDS_ERRORTEXT),
     2868                   GetPString(IDS_EXCEEDPMDRGLMT));
     2869          }
     2870
    28612871          if (li) {
    28622872            if (li->list && li->list[0] && IsRoot(li->list[0]))
  • trunk/dll/draglist.c

    r628 r672  
    77
    88  Copyright (c) 1993-98 M. Kimes
    9   Copyright (c) 2001, 2002 Steven H.Levine
     9  Copyright (c) 2001, 2007 Steven H.Levine
    1010
    1111  16 Oct 02 SHL DoFileDrag: don't free stack
     
    1818  19 Apr 07 SHL Optimize DRAGITEM DRAGIMAGE array access
    1919  21 Apr 07 SHL Avoid odd first time drag failure
     20  12 May 07 SHL Use dcd->ulItemsToUnHilite
    2021
    2122***********************************************************************/
     
    9798# endif
    9899  if (!DrgFreeDraginfo(pDInfo)) {
    99     // fixme to find callers responsible for PMERR_SOURCE_SAME_AS_TARGET
    100     if ((WinGetLastError(WinQueryAnchorBlock(hwnd)) & 0xffff) != PMERR_SOURCE_SAME_AS_TARGET) {
    101       Win_Error(hwnd, hwnd, pszSrcFile, __LINE__,
    102                "DrgFreeDraginfo");
     100    if ((WinGetLastError(WinQueryAnchorBlock(hwnd)) & 0xffff) == PMERR_SOURCE_SAME_AS_TARGET) {
     101      // fixme to find caller responsible for PMERR_SOURCE_SAME_AS_TARGET
     102      Win_Error_NoMsgBox(HWND_DESKTOP, HWND_DESKTOP, pszSrcFile, __LINE__,
     103                         "DrgFreeDraginfo failed with PMERR_SOURCE_SAME_AS_TARGET");
    103104    }
    104105    else
    105       DbgMsg(pszSrcFile, __LINE__, "DrgFreeDraginfo PMERR_SOURCE_SAME_AS_TARGET");
     106      Win_Error(hwnd, hwnd, pszSrcFile, __LINE__, "DrgFreeDraginfo");
    106107  }
    107108}
     
    220221  BOOL ok;
    221222  UINT c;
     223  DIRCNRDATA *dcd;
    222224
    223225  static BOOL first_drag = TRUE;
    224226
    225   // fixme to be multi-drag safe - count needs to be in DCD etc. and passed to UnHilite
    226   NumItemsToUnhilite = 0;
     227  // Count items to unhilite, pass to UnHilite when partial unhilite required
     228  dcd = INSTDATA(hwndCnr);
     229  dcd->ulItemsToUnHilite = 0;
    227230  if (!pciRec && directory && *directory)
    228231    return DragOne(hwndCnr, hwndObj, directory, moveok);
     
    362365        }
    363366        // Set count to actual count + 1 to ensure count non-zero on any failure
    364         NumItemsToUnhilite = ulNumfiles + 1;
     367        dcd->ulItemsToUnHilite = ulNumfiles + 1;
    365368        break;
    366369      }
     
    424427          DrgDeleteStrHandle(pDItem->hstrTargetName);
    425428        xfree(pDItem);
    426         NumItemsToUnhilite = ulNumfiles + 1;    // +1 to ensure non-zero
     429        dcd->ulItemsToUnHilite = ulNumfiles + 1;        // +1 to ensure non-zero
    427430        break;
    428431     }
     
    480483          // Set count to actual count + 1 to ensure count non-zero on any failure
    481484          // Unhilite code will adjust this when unhighliting
    482           NumItemsToUnhilite = ulNumfiles + 1;
     485          dcd->ulItemsToUnHilite = ulNumfiles + 1;
    483486          break;
    484487        }
     
    558561
    559562  if (hDrop == NULLHANDLE ) {
    560     NumItemsToUnhilite = 0;
     563    dcd->ulItemsToUnHilite = 0;
    561564    if (pDInfo)
    562565      FreeDragInfoData(hwndCnr, pDInfo);
     
    587590  FILESTATUS3 fs3;
    588591  BOOL ok;
     592  DIRCNRDATA *dcd;
    589593
    590594  if (!list || !list[0])
    591595    return hDrop;
     596
     597  dcd = INSTDATA(hwnd);
     598
    592599  for (ulSelect = 0; list[ulSelect]; ulSelect++) {
    593600    if ((!IsRoot(list[ulSelect]) || !IsValidDrive(*list[ulSelect])) &&
     
    677684        xfree(pDItem);
    678685        // pDItem = NULL;       // Why bother, we can count - fixme to be gone
    679         NumItemsToUnhilite = ulNumfiles + 1;
     686        dcd->ulItemsToUnHilite = ulNumfiles + 1;
    680687        break;
    681688      }
     
    731738                      (PVOID) NULL);
    732739      if (hDrop == NULLHANDLE) {
    733         NumItemsToUnhilite = 0;
     740        dcd->ulItemsToUnHilite = 0;
    734741        FreeDragInfoData(hwnd, pDInfo);
    735742      }
  • trunk/dll/fm3dll.h

    r636 r672  
    4646  21 Apr 07 GKY Find FM2Utils by path or utils directory eliminate fAddUtils global
    4747  23 Apr 07 SHL Add Win_Error_NoMsgBox
     48  12 May 07 SHL Add ulItemsToUnHilite to DIRCNRDATA, pass to Unhilite as arg
    4849
    4950***********************************************************************/
     
    140141#define LINES_PER_ARCSIG        21      // Lines in each archiver.bb2 definition
    141142#define CON_COLS                6
    142 #define INSTDATA(h)             WinQueryWindowPtr(h,QWL_USER)
     143#define INSTDATA(h)             WinQueryWindowPtr((h),QWL_USER)
    143144#define DIR_SPLITBAR_OFFSET     18 * 12 /* Pixel offset of details splitbar */
    144145#define CONTAINER_COLUMNS       13      /* Number of columns in details view */
     
    556557  BOOL firsttree;
    557558  ULONG lastattr;
     559  ULONG ulItemsToUnHilite;
    558560}
    559561DIRCNRDATA;
     
    950952
    951953/* select.c */
    952 VOID UnHilite(HWND hwndCnr, BOOL all, CHAR *** list);
     954VOID UnHilite(HWND hwndCnr, BOOL all, CHAR *** list, ULONG ulItemsToUnHilite);
    953955VOID SelectList(HWND hwndCnr, BOOL partial, BOOL deselect, BOOL clearfirst,
    954956                PCNRITEM pciParent, CHAR * filename, CHAR ** list);
     
    13581360DATADEF PID mypid;
    13591361DATADEF INT driveflags[26], driveserial[26];
    1360 DATADEF ULONG NoBrokenNotify, fwsAnimate, OS2ver[2], DriveLines, NumItemsToUnhilite;
     1362DATADEF ULONG NoBrokenNotify, fwsAnimate, OS2ver[2], DriveLines;
    13611363DATADEF HINI fmprof;
    13621364DATADEF HELPINIT hini;
  • trunk/dll/mainwnd.c

    r618 r672  
    3333  19 Apr 07 SHL Sync with AcceptOneDrop GetOneDrop mods
    3434  20 Apr 07 SHL Avoid spurious add_udir error reports
     35  12 May 07 SHL Use dcd->ulItemsToUnHilite
    3536
    3637***********************************************************************/
     
    10221023{
    10231024  USHORT id;
    1024   register TOOL *tool;
     1025  TOOL *tool;
     1026  DIRCNRDATA *dcd;
     1027
    10251028  static HWND hwndMenu = (HWND) 0;
    10261029
     
    12381241      cdi.pDragInfo = mp1;
    12391242      li = DoFileDrop(hwnd, NULL, FALSE, mp1, MPFROMP(&cdi));
    1240       if (NumItemsToUnhilite)
    1241         saymsg(MB_CANCEL | MB_ICONEXCLAMATION,
    1242                              hwnd,
    1243                              GetPString(IDS_ERRORTEXT),
    1244                    GetPString(IDS_EXCEEDPMDRGLMT));
     1243      dcd = INSTDATA(cdi.pDragInfo->hwndSource);
     1244      if (dcd->ulItemsToUnHilite) {
     1245        saymsg(MB_CANCEL | MB_ICONEXCLAMATION,
     1246               hwnd,
     1247               GetPString(IDS_ERRORTEXT),
     1248               GetPString(IDS_EXCEEDPMDRGLMT));
     1249      }
    12451250      if (li) {
    12461251        li->type = id;
     
    16151620  USHORT id;
    16161621  CHAR szDrv[CCHMAXPATH];
     1622  DIRCNRDATA *dcd;
    16171623
    16181624  static BOOL emphasized = FALSE;
     
    18111817                      NULL,
    18121818                      TRUE, MPFROM2SHORT(TREE_CNR, CN_DROP), MPFROMP(&cnd));
    1813       if (NumItemsToUnhilite)
    1814         saymsg(MB_CANCEL | MB_ICONEXCLAMATION,
    1815                              hwnd,
    1816                              GetPString(IDS_ERRORTEXT),
    1817                    GetPString(IDS_EXCEEDPMDRGLMT));
     1819      dcd = INSTDATA(cnd.pDragInfo->hwndSource);
     1820      if (dcd && dcd->ulItemsToUnHilite) {
     1821        saymsg(MB_CANCEL | MB_ICONEXCLAMATION,
     1822               hwnd,
     1823               GetPString(IDS_ERRORTEXT),
     1824               GetPString(IDS_EXCEEDPMDRGLMT));
     1825      }
    18181826      if (li) {
    18191827        strcpy(li->targetpath, szDrv);
     
    18341842                               hwndMain,
    18351843                               DropListProc,
    1836                                FM3ModHandle, DND_FRAME, MPFROMP(&cl));
    1837           if (li->type == DID_ERROR)
    1838                   Win_Error(DND_FRAME, HWND_DESKTOP, pszSrcFile, __LINE__,
    1839                             "Drag & Drop Dialog");
    1840           if (!li->type) {
     1844                               FM3ModHandle, DND_FRAME, MPFROMP(&cl));
     1845          if (li->type == DID_ERROR)
     1846                  Win_Error(DND_FRAME, HWND_DESKTOP, pszSrcFile, __LINE__,
     1847                            "Drag & Drop Dialog");
     1848          if (!li->type) {
    18411849            FreeListInfo(li);
    18421850            return 0;
    18431851          }
    18441852          li->list = cl.list;
    1845           if (!li->list || !li->list[0]) {
     1853          if (!li->list || !li->list[0]) {
    18461854            FreeListInfo(li);
    18471855            return 0;
     
    48224830            DIRCNRDATA *dcd = NULL;
    48234831
     4832            // 12 May 07 SHL fixme to understand?  backwards maybe? looking for DIR_CNR?
    48244833            if (WinQueryWindowUShort(hwndCnr, QWS_ID) != TREE_CNR)
    48254834              dcd = INSTDATA(hwndCnr);
     
    48304839            if (pci && (INT) pci != -1 &&
    48314840                (pci->rc.flRecordAttr & CRA_SELECTED))
    4832               UnHilite(hwnd, TRUE, ((dcd) ? &dcd->lastselection : NULL));
     4841            {
     4842              UnHilite(hwnd,
     4843                       TRUE,
     4844                       dcd ? &dcd->lastselection : NULL,
     4845                       dcd ? dcd ->ulItemsToUnHilite : 0);
     4846            }
    48334847          }
    48344848        }
     
    57215735              {
    57225736                if ((WinGetLastError(WinQueryAnchorBlock(hwnd)) & 0xffff) == PMERR_NOT_IN_IDX) {
    5723                   saymsg(MB_ENTER | MB_ICONASTERISK, hwnd,
    5724                         GetPString(IDS_WARNINGTEXT),
    5725                         GetPString(IDS_DOESNTEXISTTEXT), path);
     5737                  saymsg(MB_ENTER | MB_ICONASTERISK, hwnd,
     5738                        GetPString(IDS_WARNINGTEXT),
     5739                        GetPString(IDS_DOESNTEXISTTEXT), path);
    57265740                }
    57275741                else {
  • trunk/dll/mainwnd2.c

    r593 r672  
    77
    88  Copyright (c) 1993-98 M. Kimes
    9   Copyright (c) 2005, 2006 Steven H. Levine
     9  Copyright (c) 2005, 2007 Steven H. Levine
    1010
    1111  23 May 05 SHL Use datamin.h
     
    1616  17 Jul 06 SHL Use Runtime_Error
    1717  30 Mar 07 GKY Remove GetPString for window class names
     18  12 May 07 SHL Pass ulItemsToUnHilite to UnHilite
     19
    1820***********************************************************************/
    1921
     
    657659                                      MPFROMLONG(CMA_FIRST),
    658660                                      MPFROMSHORT(CRA_CURSORED));
    659           if (pci && (INT) pci != -1 && (pci->rc.flRecordAttr & CRA_SELECTED))
    660             UnHilite(hwnd, TRUE, ((dcd) ? &dcd->lastselection : NULL));
     661          if (pci && (INT) pci != -1 && (pci->rc.flRecordAttr & CRA_SELECTED)) {
     662            UnHilite(hwnd,
     663                     TRUE,
     664                     dcd ? &dcd->lastselection : NULL,
     665                     dcd ? dcd->ulItemsToUnHilite : 0);
     666          }
    661667        }
    662668      }
  • trunk/dll/select.c

    r618 r672  
    77
    88  Copyright (c) 1993-98 M. Kimes
    9   Copyright (c) 2004, 2006 Steven H. Levine
     9  Copyright (c) 2004, 2007 Steven H. Levine
    1010
    1111  01 Aug 04 SHL Rework lstrip/rstrip usage
     
    1818  06 Apr 07 GKY Work around PM DragInfo and DrgFreeDISH limits
    1919  19 Apr 07 SHL Sync with NumItemsToUnhilite mods
     20  12 May 07 SHL Use dcd->ulItemsToUnHilite
    2021
    2122***********************************************************************/
     
    4142static PSZ pszSrcFile = __FILE__;
    4243
    43 VOID UnHilite(HWND hwndCnr, BOOL all, CHAR *** list)
     44VOID UnHilite(HWND hwndCnr, BOOL all, CHAR *** list, ULONG ulItemsToUnHilite)
    4445{
    4546  PCNRITEM pci;
     
    6465          break;
    6566      // Count is one extra to ensure non-zero elsewhere
    66       if (NumItemsToUnhilite && x + 2 == NumItemsToUnhilite){
    67         NumItemsToUnhilite = 0;
     67      // x is 0 based index
     68      if (x + 2 == ulItemsToUnHilite)
    6869        break;
    69       }
    7070      if (list)
    7171        AddToList(pci->szFileName, list, &numfiles, &numalloc);
     
    8787
    8888  if (clearfirst && !deselect)
    89     UnHilite(hwndCnr, TRUE, NULL);
     89    UnHilite(hwndCnr, TRUE, NULL, 0);
    9090  if (list && list[0]) {
    9191    for (x = 0; list[x]; x++) {
  • trunk/dll/treecnr.c

    r618 r672  
    3030  19 Apr 07 SHL Sync with AcceptOneDrop GetOneDrop mods
    3131  19 Apr 07 SHL Add more drag/drop error checking
     32  12 May 07 SHL Use dcd->ulItemsToUnHilite; sync with UnHilite arg mods
    3233
    3334***********************************************************************/
     
    504505{
    505506  DIRCNRDATA *dcd;
     507  DIRCNRDATA *dcdsrc;
    506508
    507509  switch (msg) {
     
    547549      li = DoFileDrop(dcd->hwndCnr,
    548550                      dcd->directory, FALSE, MPVOID, MPFROMP(&cni));
    549       if (NumItemsToUnhilite)
     551      dcdsrc = INSTDATA(cni.pDragInfo->hwndSource);
     552      if (dcdsrc->ulItemsToUnHilite) {
    550553        saymsg(MB_CANCEL | MB_ICONEXCLAMATION,
    551                              hwnd,
    552                              GetPString(IDS_ERRORTEXT),
    553                    GetPString(IDS_EXCEEDPMDRGLMT));
     554               hwnd,
     555               GetPString(IDS_ERRORTEXT),
     556               GetPString(IDS_EXCEEDPMDRGLMT));
     557      }
    554558      if (li) {
    555559        li->type = ((fDefaultDeletePerm) ? IDM_PERMDELETE : IDM_DELETE);
     
    830834{
    831835  static APPNOTIFY *apphead = NULL, *apptail = NULL;
    832   DIRCNRDATA *dcd = WinQueryWindowPtr(hwnd, QWL_USER);
     836  DIRCNRDATA *dcd = INSTDATA(hwnd);
     837  DIRCNRDATA *dcdsrc;
    833838
    834839  switch (msg) {
     
    13781383
    13791384          li = DoFileDrop(hwnd, NULL, TRUE, mp1, mp2);
    1380           if (NumItemsToUnhilite)
     1385          dcdsrc = INSTDATA(((PCNRDRAGINFO)mp2)->pDragInfo->hwndSource);
     1386          if (dcdsrc->ulItemsToUnHilite) {
    13811387            saymsg(MB_CANCEL | MB_ICONEXCLAMATION,
    1382                                  hwnd,
    1383                                  GetPString(IDS_ERRORTEXT),
    1384                        GetPString(IDS_EXCEEDPMDRGLMT));
     1388                   hwnd,
     1389                   GetPString(IDS_ERRORTEXT),
     1390                   GetPString(IDS_EXCEEDPMDRGLMT));
     1391          }
    13851392          if (li) {
    13861393            if (!*li->targetpath) {
     
    27842791            RunCommand(hwnd, x);
    27852792            if (fUnHilite)
    2786               UnHilite(hwnd, TRUE, &dcd->lastselection);
     2793              UnHilite(hwnd, TRUE, &dcd->lastselection, 0);
    27872794          }
    27882795        }
Note: See TracChangeset for help on using the changeset viewer.