Changeset 1458 for trunk/dll


Ignore:
Timestamp:
Sep 15, 2009, 9:45:38 PM (16 years ago)
Author:
Steven Levine
Message:

Show copy progress counts in Thread notes window
Update window layout help

Location:
trunk/dll
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/fm3res.rc

    r1454 r1458  
    1010
    1111  08 Feb 03 SHL Enable SYS_FRAME
    12   04 Nov 03 SHL Drop obsoletes
    13   01 Nov 04 SHL Rename SKULL? defines to avoid rc issues
    14   07 Jun 05 SHL Comments
    15   29 Jul 06 SHL Drop duplicate icons
    16   31 Aug 06 GKY Add partitioning menu items
    17   01 Sep 06 GKY Add partitioning to files > misc menu
    18   01 Sep 06 GKY Add Make Directory to files menu in addition to files > misc
    19   24 Sep 06 GKY Changed "Help" to F1 only
    20   20 Oct 06 SHL Sync Seek and scan dialog title and menus
    21   29 Dec 06 GKY Move all extract options to main menu for archiver
    22   29 Dec 06 GKY Removed "Make directory" from all Misc subdirectories
    2312  17 Feb 07 GKY Add Make direcroy to white space directory container menu
    2413  17 Feb 07 GKY Additional drive type icons
     
    5443                inappropriate menu context choices
    5544  12 Sep 09 GKY Add FM3.INI User ini and system ini to submenu for view ini             
     45  15 Sep 09 SHL Update for Thread notes text changes
    5646
    5747***********************************************************************/
     
    30973087    IDS_DISKFULLTEXT                      "Disk is full"
    30983088    IDS_ANOTHERDISKTEXT                   "Please insert another disk."
    3099     IDS_OFTEXT                            "of"
     3089    IDS_OFTEXT                            "of "
    31003090    IDS_FAILEDTEXT                        "failed"
    31013091    IDS_WPSMOVETEXT                       "WPS Move"
     
    32673257    IDS_NOTEBUBBLE1TEXT                   "~Bubbles"
    32683258    IDS_NOTEBUBBLE2TEXT                   "Bubble help settings"
    3269     IDS_TOTARGETTEXT                      " (to Target directory)"
     3259    IDS_TOTARGETTEXT                      " (Target directory)"
    32703260    IDS_CANTADDCOMMANDTEXT                "Can't add %s to command list"
    32713261    IDS_CANTADDCOMMANDTEXTDUP             "Can't add %s to command list It has a duplicate title"
  • trunk/dll/ipf/fm3.ipf

    r1441 r1458  
    347347quicklists:elink. section).
    348348:p.
    349 Status line #1 can be clicked to shift the focus to FM/2 without
    350 activating any commands. In addition, if the Drive Tree is the
     349:hp1.Status line #1:ehp1. can be clicked to shift the focus to FM/2 without
     350activating any commands. In addition, if the :hp1.Drive Tree:ehp1. is the
    351351active window within FM/2's monolithic window, the Swapfile and
    352 memory available indicators in Status line #2 will be continuously
    353 updated (otherwise they update about every ten seconds).
    354 :p.
    355 You can get information on most areas of the window just by moving the
     352memory available indicators in :hp1.Status. line #2:ehp1. will be continuously
     353updated.  Otherwise, they update about every ten seconds.
     354:p.
     355The :hp1.Thread LED:ehp1. button blinks to indicate background thread activity.
     356The displayed count is number of active background threads.
     357To monitor the activity of the background thread,
     358click on the :hp1.Thread LED:ehp1. button to open the :hp1.Thread notes:ehp1. window.
     359:p.
     360The :hp1.Interface:ehp1. button allows toolbars and quicklists to be toggled
     361on or off with a single click.
     362:p.
     363The :hp1.Walk:ehp1. button provides single click access to the
     364:link reftype=hd res=91500.Walk Directories:elink. dialog
     365to change the directory displayed in a directory container
     366or to open new directory container.
     367:p.
     368You can get information on most areas of the window by moving the
    356369mouse pointer over the area of interest (unless you've turned off
    357 bubble help in the internal Settings notebook). For help with the
     370bubble help on the Bubbles page of the Settings notebook).
     371For help with the
    358372quicklists, which don't have bubble help, see :link reftype=hd
    359373res=99400.Using quicklists:elink..
    360374:p.
    361 .br
    362375Here's a Directory Container window in more detail&colon. See
    363376:link reftype=hd res=98900.Opening a Directory Container:elink. and
     
    380393commands you select will effect.
    381394:p.
    382 .br
    383395Here's a look at the default text file
    384396viewer built into FM/2. It is opened when you double-click a text file in
  • trunk/dll/ipf/fm4.ipf

    r1441 r1458  
    4242If the Drive Tree is active and the current window, the Directory
    4343Container that will be affected by double-clicking a directory in the
    44 Tree is surrounded by a dark red line. :color fc=default bc=palegray.Tab:color fc=default bc=default.
    45  and &ShiftKey. -:color fc=default bc=palegray.Tab:color fc=default bc=default. can be used
     44Tree is surrounded by a dark red line.
     45:color fc=default bc=palegray.Tab:color fc=default bc=default.
     46and
     47&ShiftKey. + :color fc=default bc=palegray.Tab:color fc=default bc=default.
     48can be used
    4649to switch between the windows.
    4750:p.
  • trunk/dll/worker.c

    r1455 r1458  
    187187#endif // defined(UNDO)
    188188
     189/**
     190 * Apply action to file list
     191 * Action repeated for each item in list
     192 */
     193
    189194VOID Action(VOID * args)
    190195{
     
    193198  HMQ hmq2;
    194199  CHAR **files = NULL;
    195   UINT numfiles = 0, numalloc = 0;
    196200  INT plen = 0;
    197201  CHAR *p, *pp;
     
    210214        if (hmq2) {
    211215          CHAR message[(CCHMAXPATH * 2) + 80], wildname[CCHMAXPATH];
    212           INT x;
     216          UINT x;
    213217          BOOL dontask = FALSE, wildcarding = FALSE, overold =
    214218            FALSE, overnew = FALSE, usedtarget;
     
    326330          // Process each list item
    327331          if (wk->li && wk->li->list && wk->li->list[0]) {
     332            UINT cFilesModified = 0;    // Required for AddToList
     333            UINT cItemsAllocated = 0;   // Required for AddToList
     334            UINT cItemsInList;
     335            for (cItemsInList = 0; wk->li->list[cItemsInList]; cItemsInList++); // Count
    328336            for (x = 0; wk->li->list[x]; x++) {
    329337              switch (wk->li->type) {
     
    428436                    AddNote(message);
    429437                    if (//fSyncUpdates ||
    430                         AddToList(outname, &files, &numfiles, &numalloc))
     438                        AddToList(outname, &files, &cFilesModified, &cItemsAllocated))
    431439                      Broadcast(hab2,
    432440                                wk->hwndCnr,
     
    523531                    if (//fSyncUpdates ||
    524532                        AddToList(wk->li->list[x],
    525                                   &files, &numfiles, &numalloc))
     533                                  &files, &cFilesModified, &cItemsAllocated))
    526534                      Broadcast(hab2,
    527535                                wk->hwndCnr,
     
    616624                {
    617625
     626                  // Select target
    618627                  if (!*wk->li->targetpath && (wk->li->type == IDM_MOVE ||
    619628                                               wk->li->type == IDM_COPY ||
     
    622631
    623632                    APIRET rc = 1;
    624 
    625633                    usedtarget = FALSE;
    626634                    if (hwndMain) {
     
    648656                        (!*targetdir && strcmp(realappname, "FM/4"))) {
    649657                    RetryPath:
     658                      // Confirm target
    650659                      usedtarget = FALSE;
    651660                      if (wk->li->type == IDM_MOVE ||
     
    674683                    if (!rc || !*wk->li->targetpath)
    675684                      goto Abort;
     685                    // Check target OK
    676686                    if (driveflags[toupper(*wk->li->targetpath) - 'A'] &
    677687                        DRIVE_NOTWRITEABLE) {
     
    685695                Retry:
    686696                  {
     697                    // Target OK so far
    687698                    CHAR newname[CCHMAXPATH];
    688                     PCSZ moving, move, moved;
    689699                    APIRET rc;
    690                     INT type;
    691700                    FILESTATUS4L fs4;
    692                     BOOL isnewer, existed, fResetVerify = FALSE;
    693 
    694                     type = (wk->li->type == IDM_RENAME) ? MOVE :
    695                       (wk->li->type == IDM_MOVE) ? MOVE :
    696                       (wk->li->type == IDM_WPSMOVE) ? WPSMOVE :
    697                       (wk->li->type == IDM_WPSCOPY) ? WPSCOPY : COPY;
    698                     moving = (wk->li->type == IDM_RENAME) ?
     701                    BOOL isnewer;
     702                    BOOL existed;
     703                    BOOL fResetVerify = FALSE;
     704                    INT type = wk->li->type == IDM_RENAME ?
     705                      MOVE :
     706                      wk->li->type == IDM_MOVE ?
     707                        MOVE : (wk->li->type == IDM_WPSMOVE) ?
     708                          WPSMOVE : wk->li->type == IDM_WPSCOPY ?
     709                            WPSCOPY : COPY;
     710                    PCSZ moving = wk->li->type == IDM_RENAME ?
    699711                      GetPString(IDS_RENAMINGTEXT) :
    700                       (wk->li->type == IDM_MOVE ||
    701                        wk->li->type == IDM_WPSMOVE) ?
    702                       GetPString(IDS_MOVINGTEXT) : GetPString(IDS_COPYINGTEXT);
    703                     move = (wk->li->type == IDM_RENAME) ?
     712                      wk->li->type == IDM_MOVE || wk->li->type == IDM_WPSMOVE ?
     713                        GetPString(IDS_MOVINGTEXT) : GetPString(IDS_COPYINGTEXT);
     714                    PCSZ move = wk->li->type == IDM_RENAME ?
    704715                      GetPString(IDS_RENAMETEXT) :
    705                       (wk->li->type == IDM_MOVE ||
    706                        wk->li->type == IDM_WPSMOVE) ?
    707                       GetPString(IDS_MOVETEXT) : GetPString(IDS_COPYTEXT);
    708                     moved = (wk->li->type == IDM_RENAME) ?
     716                      wk->li->type == IDM_MOVE ||
     717                       wk->li->type == IDM_WPSMOVE ?
     718                        GetPString(IDS_MOVETEXT) : GetPString(IDS_COPYTEXT);
     719                    PCSZ moved = wk->li->type == IDM_RENAME ?
    709720                      GetPString(IDS_RENAMEDTEXT) :
    710                       (wk->li->type == IDM_MOVE ||
    711                        wk->li->type == IDM_WPSMOVE) ?
    712                       GetPString(IDS_MOVEDTEXT) : GetPString(IDS_COPIEDTEXT);
     721                      wk->li->type == IDM_MOVE || wk->li->type == IDM_WPSMOVE ?
     722                        GetPString(IDS_MOVEDTEXT) : GetPString(IDS_COPIEDTEXT);
     723
    713724                    if (*wk->li->targetpath) {
    714725                      strcpy(newname, wk->li->targetpath);
    715726                      AddBackslashToPath(newname);
    716                       //if (newname[strlen(newname) - 1] != '\\')
    717                       //  strcat(newname, "\\");
    718727                      if (plen)
    719728                        p = wk->li->list[x] + plen;
     
    730739                      strcpy(newname, wk->li->list[x]);
    731740                    if ((wildcarding || wk->li->type == IDM_RENAME) &&
    732                         *wildname) {
    733 
     741                        *wildname)
     742                    {
    734743                      CHAR testname[CCHMAXPATH];
    735 
    736744                      strcpy(testname, wildname);
    737745                      if (AdjustWildcardName(newname, testname))
    738746                        strcpy(newname, testname);
    739747                    }
    740                     existed = (IsFile(newname) != -1);
     748                    existed = IsFile(newname) != -1;
    741749                    isnewer = IsNewer(wk->li->list[x], newname);
    742750                    if (existed && wk->li->type != IDM_RENAME && dontask) {
     
    748756                        break;
    749757                    }
     758                    // Confirm overwrite unless bypassed
    750759                    if ((wk->li->type == IDM_RENAME &&
    751760                         (!dontask || !*wildname)) ||
    752761                        (!dontask && existed) ||
    753762                        (!dontask && wildcarding) ||
    754                         (IsFile(newname) == 0 && IsFile(wk->li->list[x]) > 0)) {
    755 
     763                        (IsFile(newname) == 0 && IsFile(wk->li->list[x]) > 0))
     764                    {
    756765                      MOVEIT mv;
    757 
    758766                      memset(&mv, 0, sizeof(MOVEIT));
    759767                      mv.rename = (wk->li->type == IDM_RENAME);
     
    766774                      if (!rc)
    767775                        goto Abort;
     776
    768777                      DosSleep(1);
    769778                      if (mv.skip || !*mv.target)
     
    803812                      break;
    804813                    sprintf(message,
    805                             " %s \"%s\" %s\"%s\"%s",
     814                            " %s \"%s\" %s\"%s\"%s [%u %s%u]",
    806815                            moving,
    807816                            wk->li->list[x],
    808                             GetPString(IDS_TOTEXT),
     817                            GetPString(IDS_TOTEXT),     // Has trailing space
    809818                            newname,
    810                             (usedtarget) ? GetPString(IDS_TOTARGETTEXT) :
    811                             NullStr);
     819                            usedtarget ?
     820                              GetPString(IDS_TOTARGETTEXT) :
     821                              NullStr,
     822                            x + 1,
     823                            GetPString(IDS_OFTEXT),     // Has trailing space
     824                            cItemsInList);
    812825                    AddNote(message);
    813826                    if (fVerify && (driveflags[toupper(*wk->li->targetpath) - 'A'] & DRIVE_WRITEVERIFYOFF) |
     
    906919                                       pszSrcFile,
    907920                                       __LINE__,
    908                                        "%s %s \"%s\" %s\"%s\" %s.",
     921                                       "%s %s\"%s\" %s\"%s\" %s.",
    909922                                       move,
    910                                        GetPString(IDS_OFTEXT),
     923                                       GetPString(IDS_OFTEXT),  // Has trailing space
    911924                                       wk->li->list[x],
    912925                                       GetPString(IDS_TOTEXT),
     
    924937                                GetPString(IDS_TOTEXT), newname);
    925938                      }
    926                       if (!hwndTree ||
    927                           ((driveflags[*wk->li->targetpath - 'A'] & DRIVE_RSCANNED) &&
     939                      if (!hwndTree ||
     940                          ((driveflags[*wk->li->targetpath - 'A'] & DRIVE_RSCANNED) &&
    928941                          AddToList(wk->li->list[x],
    929                                     &files, &numfiles, &numalloc)))
     942                                    &files, &cFilesModified, &cItemsAllocated)))
    930943                        Broadcast(hab2,
    931944                                  wk->hwndCnr,
    932945                                  UM_UPDATERECORD,
    933946                                  MPFROMP(wk->li->list[x]), MPVOID);
    934                       if (!hwndTree ||
    935                           (driveflags[*wk->li->targetpath - 'A'] & DRIVE_RSCANNED) &&
    936                           AddToList(newname, &files, &numfiles, &numalloc))
     947                      if (!hwndTree ||
     948                          (driveflags[*wk->li->targetpath - 'A'] & DRIVE_RSCANNED) &&
     949                          AddToList(newname, &files, &cFilesModified, &cItemsAllocated))
    937950                        Broadcast(hab2,
    938951                                  wk->hwndCnr,
     
    10011014              sprintf(message,
    10021015                      GetPString(IDS_OPSCOMPLETETEXT),
    1003                       (wk->li->type == IDM_MOVE) ?
    1004                       GetPString(IDS_MOVETEXT) :
    1005                       (wk->li->type == IDM_COPY) ?
    1006                       GetPString(IDS_COPYTEXT) :
    1007                       (wk->li->type == IDM_WPSMOVE) ?
    1008                       GetPString(IDS_WPSMOVETEXT) :
    1009                       (wk->li->type == IDM_WPSCOPY) ?
    1010                       GetPString(IDS_WPSCOPYTEXT) :
    1011                       GetPString(IDS_RENAMETEXT),
    1012                       &"s"[x == 1],
     1016                      wk->li->type == IDM_MOVE ?
     1017                        GetPString(IDS_MOVETEXT) :
     1018                        wk->li->type == IDM_COPY ?
     1019                          GetPString(IDS_COPYTEXT) :
     1020                          wk->li->type == IDM_WPSMOVE ?
     1021                            GetPString(IDS_WPSMOVETEXT) :
     1022                            wk->li->type == IDM_WPSCOPY ?
     1023                              GetPString(IDS_WPSCOPYTEXT) :
     1024                              GetPString(IDS_RENAMETEXT),
     1025                      &"s"[x == 1],             /* s or nul */
    10131026                      (wk->li->type == IDM_MOVE ||
    10141027                       wk->li->type == IDM_COPY ||
    10151028                       wk->li->type == IDM_WPSMOVE ||
    10161029                       wk->li->type == IDM_WPSCOPY) ?
    1017                       GetPString(IDS_TOTEXT) :
    1018                       NullStr,
     1030                        GetPString(IDS_TOTEXT) : NullStr,
    10191031                      (wk->li->type == IDM_MOVE ||
    10201032                       wk->li->type == IDM_COPY ||
    10211033                       wk->li->type == IDM_WPSMOVE ||
    10221034                       wk->li->type == IDM_WPSCOPY) ?
    1023                       wk->li->targetpath :
    1024                       NullStr,
    1025                       (x != 1) ?
    1026                       GetPString(IDS_ARETEXT) : GetPString(IDS_ISTEXT));
     1035                        wk->li->targetpath : NullStr,
     1036                      GetPString(x != 1 ? IDS_ARETEXT : IDS_ISTEXT));
    10271037              Notify(message);
    10281038              if (toupper(*wk->li->targetpath) < 'C' && !fAlertBeepOff)
     
    10511061
    10521062          WinDestroyMsgQueue(hmq2);
    1053         }
     1063        } // if queue
    10541064        DecrThreadUsage();
    10551065        WinTerminate(hab2);
    1056       }
    1057     }
     1066      } // if hab2
     1067    } // if list not empty
    10581068
    10591069    if (wk->li)
     
    10671077}
    10681078
     1079/**
     1080 * Apply file list to action
     1081 * All items in list processed as a group, if possible
     1082 */
     1083
    10691084VOID MassAction(VOID * args)
    10701085{
     
    10731088  HMQ hmq2;
    10741089  CHAR **files = NULL;
    1075   register CHAR *p, *pp;
     1090  CHAR *p, *pp;
    10761091  UINT numfiles = 0, numalloc = 0;
    10771092
     
    11321147          case IDM_MCIPLAY:
    11331148            {
    1134               INT x, MaxFM2playStrLen = 24;
     1149              UINT x;
     1150              UINT MaxFM2playStrLen = 24;
    11351151              ULONG total;
    11361152              CHAR fbuf[CCHMAXPATH];
     
    11741190              CHAR szBuffer[1025];
    11751191              CHAR fbuf[CCHMAXPATH];
    1176               register INT x;
     1192              UINT x;
    11771193
    11781194              if (wk->li->type == IDM_FAKEEXTRACT ||
     
    12731289              ARC_TYPE *info = NULL;
    12741290              char *pch;
    1275               register INT x;
     1291              UINT x;
    12761292
    12771293              memset(&ad, 0, sizeof(DIRCNRDATA));
     
    14011417
    14021418              CHAR *temp;
    1403               register INT x;
     1419              UINT x;
    14041420              ULONG viewtype;
    14051421
     
    14461462
    14471463              CHAR *temp;
    1448               register INT x;
     1464              UINT x;
    14491465              ULONG viewtype;
    14501466
     
    15331549              CHECKLIST cl;
    15341550              INT isdir = 0, sysdir = 0, ro = 0, hs = 0;
    1535               register INT x;
     1551              UINT x;
    15361552              FILESTATUS3 fsa;
    15371553              CHAR prompt[CCHMAXPATH * 3];
Note: See TracChangeset for help on using the changeset viewer.