Changeset 1844


Ignore:
Timestamp:
Aug 12, 2015, 7:37:37 AM (10 years ago)
Author:
Steven Levine
Message:

Add RESTORE_STATE_... definitions and use

Location:
trunk/dll
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/fm3dll.h

    r1444 r1844  
    77
    88  Copyright (c) 1993-98 M. Kimes
    9   Copyright (c) 2001, 2008 Steven H. Levine
     9  Copyright (c) 2001, 2015 Steven H. Levine
    1010
    1111  12 Feb 03 SHL Add CBLIST_TO_EASIZE
     
    9494                and rescans drive in tree container depending on container focus, greyed out
    9595                inappropriate menu context choices
     96  09 Aug 15 SHL Add RESTORE_STATE_...
    9697
    9798***********************************************************************/
     
    198199#define SysVal(value)       WinQuerySysValue(HWND_DESKTOP, (value))
    199200
     201// 2015-08-09 SHL See MainObjectWndProc UM_RESTORE
     202#define RESTORE_STATE_RESTORE           0
     203#define RESTORE_STATE_TILE_CHILDREN     1
     204#define RESTORE_STATE_CLOSE_CHILDREN    2
     205
     206
    200207
    201208#endif // FM3DLL_H
  • trunk/dll/mainwnd.c

    r1838 r1844  
    77
    88  Copyright (c) 1993-98 M. Kimes
    9   Copyright (c) 2001, 2013 Steven H. Levine
     9  Copyright (c) 2001, 2015 Steven H. Levine
    1010
    1111  11 Jun 02 SHL Drop obsolete xor code
     
    100100  14 Sep 09 SHL Blink thread LEDs when workers busy
    101101  13 Dec 09 GKY Fixed separate paramenters. Please note that appname should be used in
    102                 profile calls for user settings that work and are setable in more than one
    103                 miniapp; FM3Str should be used for setting only relavent to FM/2 or that
    104                 aren't user settable; realappname should be used for setting applicable to
    105                 one or more miniapp but not to FM/2
     102                profile calls for user settings that work and are setable in more than one
     103                miniapp; FM3Str should be used for setting only relavent to FM/2 or that
     104                aren't user settable; realappname should be used for setting applicable to
     105                one or more miniapp but not to FM/2
    106106  17 JAN 10 GKY Changes to get working with Watcom 1.9 Beta (1/16/10). Mostly cast
    107                 CHAR CONSTANT * as CHAR *.
     107                CHAR CONSTANT * as CHAR *.
    108108  11 Apr 10 GKY Fix drive tree rescan failure and program hang caused by event sem
    109                 never being posted
     109                never being posted
    110110  23 Oct 10 GKY Changes to populate and utilize a HELPTABLE for context specific help
    111111  03 Oct 11 SHL Add needTile to ensure containers opened on command line render correctly
     
    114114  12 Aug 12 GKY Allow for selection of include subdirectories or a list file on initial startup of compare dirs
    115115  30 Dec 12 GKY Enhance traget directory drop to give the option of changing the directory or carrying out an
    116                 operation to the current target; Added an error message for target = None;
     116                operation to the current target; Added an error message for target = None;
    117117  02 Aug 15 GKY Remove unneed SubbyScan code and improve suppression of blank lines and
    118                 duplicate subdirectory name caused by running Stubby in worker threads.
     118                duplicate subdirectory name caused by running Stubby in worker threads.
     119  09 Aug 15 SHL Use RESTORE_STATE_...
    119120
    120121***********************************************************************/
     
    340341        WinSendMsg(hwndMain, UM_SETDIR, MPFROMP(s), MPVOID);
    341342      }
    342       PostMsg(MainObjectHwnd, UM_RESTORE, MPFROMLONG(1), MPFROMLONG(1));
     343      PostMsg(MainObjectHwnd, UM_RESTORE, MPFROMLONG(1), MPFROMLONG(RESTORE_STATE_TILE_CHILDREN));
    343344    }
    344345    return 0;
     
    346347  case UM_RESTORE:
    347348    switch ((ULONG)mp2) {
    348     case 1:
     349    case RESTORE_STATE_TILE_CHILDREN:
    349350      TileChildren(hwndMain, TRUE);
    350351      break;
    351     case 2:
     352    case RESTORE_STATE_CLOSE_CHILDREN:
    352353      CloseDirCnrChildren(hwndMain);
    353354      break;
    354     case 0:
     355    case RESTORE_STATE_RESTORE:
    355356      fNoTileUpdate = TRUE;
    356357      WinEnableWindow(WinQueryWindow(hwndMain, QW_PARENT), FALSE);
    357       RestoreDirCnrState(hwndMain, (char *)mp1, FALSE);
     358      RestoreDirCnrState(hwndMain, (CHAR *)mp1, FALSE);
    358359      WinEnableWindow(WinQueryWindow(hwndMain, QW_PARENT), TRUE);
    359360      fNoTileUpdate = FALSE; ;
     
    18191820MRESULT EXPENTRY DriveBackProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2)
    18201821{
    1821     static BOOL emphasized = FALSE;
     1822  APIRET rc;
     1823
     1824  static BOOL emphasized;
    18221825
    18231826  switch (msg) {
     
    18831886      cnd.pDragInfo = (PDRAGINFO) mp1;
    18841887      if (!DrgAccessDraginfo((PDRAGINFO) cnd.pDragInfo)) {
    1885         Win_Error(hwnd, hwnd, pszSrcFile, __LINE__,
    1886                   PCSZ_DRGACCESSDRAGINFO);
    1887         return 0;
     1888        Win_Error(hwnd, hwnd, pszSrcFile, __LINE__,
     1889                  PCSZ_DRGACCESSDRAGINFO);
     1890        return 0;
    18881891      }
    18891892      numitems = DrgQueryDragitemCount((PDRAGINFO) cnd.pDragInfo);
    18901893      usOperation = cnd.pDragInfo->usOperation;
    18911894      if (usOperation == DO_DEFAULT)
    1892         usOperation = fCopyDefault ? DO_COPY : DO_MOVE;
     1895        usOperation = fCopyDefault ? DO_COPY : DO_MOVE;
    18931896      saymsg(MB_ENTER | MB_ICONASTERISK,
    1894              hwnd,
    1895              GetPString(IDS_DROPHELPHDRTEXT),
    1896              GetPString(IDS_DROPHELPTEXT),
    1897              numitems,
    1898              &"s"[numitems == 1L],
    1899              NullStr,
    1900              NullStr,
    1901              targetdir,
    1902              " ",
    1903              GetPString((usOperation == DO_MOVE) ?
    1904                         IDS_MOVETEXT :
    1905                         (usOperation == DO_LINK) ?
    1906                         IDS_LINKTEXT : IDS_COPYTEXT));
     1897             hwnd,
     1898             GetPString(IDS_DROPHELPHDRTEXT),
     1899             GetPString(IDS_DROPHELPTEXT),
     1900             numitems,
     1901             &"s"[numitems == 1L],
     1902             NullStr,
     1903             NullStr,
     1904             targetdir,
     1905             " ",
     1906             GetPString((usOperation == DO_MOVE) ?
     1907                        IDS_MOVETEXT :
     1908                        (usOperation == DO_LINK) ?
     1909                        IDS_LINKTEXT : IDS_COPYTEXT));
    19071910    }
    19081911    return 0;
     
    19271930      CheckPmDrgLimit(cnd.pDragInfo);
    19281931      if (li) {
    1929         if (!li->list[1] && !IsFile(li->list[0])) {
    1930           ret = saymsg(MB_YESNO,
     1932        if (!li->list[1] && !IsFile(li->list[0])) {
     1933          ret = saymsg(MB_YESNO,
    19311934                   HWND_DESKTOP,
    1932                        NullStr,
    1933                        GetPString(IDS_DROPSETSTARGET));
    1934           if (ret == MBID_YES) {
    1935             SetTargetDir(hwnd, TRUE, li->list[0]);
    1936             break;
    1937           }
    1938         }
     1935                       NullStr,
     1936                       GetPString(IDS_DROPSETSTARGET));
     1937          if (ret == MBID_YES) {
     1938            SetTargetDir(hwnd, TRUE, li->list[0]);
     1939            break;
     1940          }
     1941        }
    19391942        strcpy(li->targetpath, targetdir);
    19401943        strcat(li->targetpath, PCSZ_BACKSLASH);
     
    20542057          FreeListInfo(li);
    20552058        else
    2056           WinSendMsg(hwndTree, UM_ACTION, MPFROMP(li), MPFROMLONG(action));
     2059          WinSendMsg(hwndTree, UM_ACTION, MPFROMP(li), MPFROMLONG(action));
    20572060    }
    20582061    else {
     
    20722075      CheckPmDrgLimit(cnd.pDragInfo);
    20732076      if (li && !li->list[1] && !IsFile(li->list[0]))
    2074         SetTargetDir(hwnd, TRUE, li->list[0]);
     2077        SetTargetDir(hwnd, TRUE, li->list[0]);
    20752078      else
    2076         saymsg(MB_ENTER | MB_ICONASTERISK, hwnd,
     2079        saymsg(MB_ENTER | MB_ICONASTERISK, hwnd,
    20772080               GetPString(IDS_WARNINGTEXT),
    20782081               GetPString(IDS_NOTARGETSET));
     
    20922095
    20932096  case WM_COMMAND:
    2094     DosWaitEventSem(hevTreeCnrScanComplete, SEM_INDEFINITE_WAIT);
     2097    rc = DosWaitEventSem(hevTreeCnrScanComplete, SEM_INDEFINITE_WAIT);
     2098    if (rc)
     2099      Dos_Error(MB_ENTER, rc, HWND_DESKTOP, pszSrcFile, __LINE__, "DosWaitEventSem");
     2100
    20952101    switch(SHORT1FROMMP(mp1)) {
    20962102    case IDM_RESCAN:
     
    21232129      {
    21242130        CHAR dv[4];
    2125 
    21262131        *dv = SHORT1FROMMP(mp1) - IDM_DRIVEA + 'A';
    2127         strcpy(dv + 1, ":\\");
     2132        dv[1] = ':';
     2133        dv[2] = '\\';
     2134        dv[3] = 0;
    21282135        if (isalpha(*dv)) {
    2129 
    2130           HWND hwndActive;
    2131 
    2132           dv[1] = ':';
    2133           dv[2] = '\\';
    2134           dv[3] = 0;
    2135           hwndActive = TopWindow(hwnd, (HWND) 0);
     2136          HWND hwndActive = TopWindow(hwnd, (HWND) 0);
    21362137          if (hwndActive)
    21372138            WinSendMsg(WinWindowFromID(hwndActive, FID_CLIENT),
     
    38903891              WinSetWindowUShort(hwndChild,
    38913892                                 QWS_XRESTORE,
    3892                                 (USHORT) ((USHORT) ulWidth * (USHORT) ulCurCol)
    3893                                 + (USHORT) Rectl.xLeft);
     3893                                (USHORT) ((USHORT) ulWidth * (USHORT) ulCurCol)
     3894                                + (USHORT) Rectl.xLeft);
    38943895              WinSetWindowUShort(hwndChild,
    38953896                                 QWS_YRESTORE,
     
    48194820            cmp->size = sizeof(COMPARE);
    48204821            strcpy(cmp->leftdir, wa.szCurrentPath1);
    4821             strcpy(cmp->rightdir, wa.szCurrentPath2);
    4822             cmp->listfile = wa.listfile;
    4823             cmp->includesubdirs = wa.includesubdirs;
     4822            strcpy(cmp->rightdir, wa.szCurrentPath2);
     4823            cmp->listfile = wa.listfile;
     4824            cmp->includesubdirs = wa.includesubdirs;
    48244825            cmp->hwndParent = hwnd;
    48254826            cmp->dcd.hwndParent = hwnd;
     
    60306031    if (!fNoSaveState && fSaveState) {
    60316032      PCSZ pszStatename = PCSZ_SHUTDOWNSTATE;
    6032       PostMsg(MainObjectHwnd, UM_RESTORE, MPFROMP(pszStatename), MPVOID);
     6033      PostMsg(MainObjectHwnd, UM_RESTORE, MPFROMP(pszStatename), MPFROMLONG(RESTORE_STATE_RESTORE));
    60336034      if (!add_setup(pszStatename))
    60346035        save_setups();
     
    62726273      info = cmdhead;
    62736274      while (info) {
    6274         sprintf(s, "%s    {%i}", info->title, info->ID);
     6275        sprintf(s, "%s    {%i}", info->title, info->ID);
    62756276        WinSendMsg(hwndCmdlist, LM_INSERTITEM,
    62766277                   MPFROM2SHORT(LIT_END, 0), MPFROMP(s));
     
    65466547            }
    65476548            else if (SHORT1FROMMP(mp1) == MAIN_SETUPLIST) {
     6549              // State name list
    65486550              CHAR szKey[80];
    65496551              ULONG numsaves = 0;
    65506552              ULONG size = sizeof(ULONG);
    6551               // 06 Oct 09 SHL Ctrl-select selects, but suppresses open
     6553              // Ctrl-select selects, but suppresses open
    65526554                if ((shiftstate & (KC_CTRL | KC_SHIFT | KC_ALT)) == KC_CTRL)
    65536555                  break;
     
    65596561                                       &size))
    65606562              {
     6563                // Name not found
    65616564                if ((WinGetLastError(WinQueryAnchorBlock(hwnd)) & 0xffff) == PMERR_NOT_IN_IDX) {
    65626565                  saymsg(MB_ENTER | MB_ICONASTERISK, hwnd,
     
    65706573              }
    65716574              else {
     6575                // Name exists
    65726576                char *pszStateName;
     6577                // If shift key, add state to existing state - FIXME to doc better
    65736578                if ((shiftstate & KC_SHIFT) == 0)
    6574                   PostMsg(MainObjectHwnd, UM_RESTORE, MPVOID, MPFROMLONG(2));
     6579                  PostMsg(MainObjectHwnd, UM_RESTORE, MPVOID, MPFROMLONG(RESTORE_STATE_CLOSE_CHILDREN));
    65756580                pszStateName = xstrdup(path, pszSrcFile, __LINE__);
    65766581                if (!pszStateName) {
     
    65846589                  }
    65856590                }
     6591                // Request restore
    65866592                else if (!PostMsg(MainObjectHwnd,
    65876593                                  UM_RESTORE,
     
    65916597                }
    65926598              }
    6593             }
     6599            } // if MAIN_SETUPLIST
    65946600            else if (SHORT1FROMMP(mp1) == MAIN_CMDLIST) {
    65956601
     
    66026608
    66036609                WinSendMsg(hwndCmdlist, LM_QUERYITEMTEXT,
    6604                            MPFROM2SHORT(sSelect, CCHMAXPATH), MPFROMP(s));
     6610                           MPFROM2SHORT(sSelect, CCHMAXPATH), MPFROMP(s));
    66056611                p = strrchr(s, '}');
    66066612                p = 0;
     
    66096615                WinPostMsg(hwnd,
    66106616                           WM_COMMAND,
    6611                            MPFROM2SHORT(atol(p), 0), //fixme GKY this traps in atol the {} probably don't exist
    6612                            //IDM_COMMANDSTART + sSelect, 0),
     6617                           MPFROM2SHORT(atol(p), 0), //fixme GKY this traps in atol the {} probably don't exist
     6618                           //IDM_COMMANDSTART + sSelect, 0),
    66136619                           MPVOID);
    66146620              }
     
    66576663    }
    66586664    DosSleep(1);
    6659     return 0;           // Suppress WinDefWindowProc WM_QUIT message generation
     6665    DbgMsg(pszSrcFile, __LINE__, "MainWndProc WM_CLOSE returning");
     6666
     6667    return 0;           // Suppress WinDefWindowProc WM_QUIT message generation
    66606668
    66616669  case UM_CLOSE:
     
    66696677      char *pszDefaultStateName = xstrdup(PCSZ_SHUTDOWNSTATE, pszSrcFile, __LINE__);
    66706678      if (pszDefaultStateName) {
    6671         if (!PostMsg(MainObjectHwnd, UM_RESTORE, MPFROMP(pszDefaultStateName), MPVOID))
     6679        if (!PostMsg(MainObjectHwnd, UM_RESTORE, MPFROMP(pszDefaultStateName), MPFROMLONG(RESTORE_STATE_RESTORE)))
    66726680          // 05 Feb 08 SHL fixme to complain?
    66736681          free(pszDefaultStateName);
     
    66856693
    66866694  case WM_DESTROY:
    6687 #   ifdef FORTIFY
    6688     DbgMsg(pszSrcFile, __LINE__, "WM_DESTROY hwnd %p TID %u", hwnd, GetTidForThread()); // 22 Jul 08 SHL fixme
    6689 #   endif
    6690     hwndMain = (HWND) 0;
    6691     if (!PostMsg((HWND) 0, WM_QUIT, MPVOID, MPVOID))
    6692       WinSendMsg((HWND) 0, WM_QUIT, MPVOID, MPVOID);
     6695    hwndMain = (HWND)0;
     6696    if (!PostMsg((HWND)0, WM_QUIT, MPVOID, MPVOID))
     6697      WinSendMsg((HWND)0, WM_QUIT, MPVOID, MPVOID);
    66936698#   ifdef FORTIFY
    66946699    free_commands();
  • trunk/dll/notebook.c

    r1806 r1844  
    5252  15 Nov 09 GKY Change rescan following label/type change to WinSendMsg to avoid trap on SMP
    5353  13 Dec 09 GKY Fixed separate paramenters. Please note that appname should be used in
    54                 profile calls for user settings that work and are setable in more than one
    55                 miniapp; FM3Str should be used for setting only relavent to FM/2 or that
    56                 aren't user settable; realappname should be used for setting applicable to
    57                 one or more miniapp but not to FM/2
     54                profile calls for user settings that work and are setable in more than one
     55                miniapp; FM3Str should be used for setting only relavent to FM/2 or that
     56                aren't user settable; realappname should be used for setting applicable to
     57                one or more miniapp but not to FM/2
    5858  13 Dec 09 GKY Updated Quick page "Default" to match current defaults; added Gregg's way
    59                 option to Quick page.
     59                option to Quick page.
    6060  17 Jan 10 GKY Changes to get working with Watcom 1.9 Beta (1/16/10). Mostly cast CHAR
    61                 CONSTANT * as CHAR *.
     61                CONSTANT * as CHAR *.
    6262  24 Oct 10 GKY Fixed spurious error message when labels in tree are changed with a
    63                 "not ready" drive selected
     63                "not ready" drive selected
    6464  04 Aug 12 GKY Changes to allow copy and move over readonly files with a warning dialog; also added a warning dialog
    65                 for delete of readonly files
     65                for delete of readonly files
    6666  09 Feb 14 GKY Fix separate parameters. Moved to general page renamed separate settings
    67                 for apps.
     67                for apps.
    6868  25 May 15 GKY Auto open help only on first access of quick setting page during a session.
     69  09 Aug 15 SHL Use RESTORE_STATE_...
    6970
    7071***********************************************************************/
     
    297298                         SBoxDlgProc, FM3ModHandle, ASEL_FRAME,
    298299                         (PVOID) & pat) || !pat || !pat->id || !*pat->id) {
    299             if (!fAlertBeepOff)
     300            if (!fAlertBeepOff)
    300301              DosBeep(250, 100);          // Complain
    301302            WinCheckButton(hwnd, CFGA_DEFARC, FALSE);
     
    372373    fQuickArcFind = WinQueryButtonCheckstate(hwnd, CFGA_QUICKARCFIND);
    373374    PrfWriteProfileData(fmprof, appname, "QuickArcFind",
    374                         &fQuickArcFind, sizeof(BOOL));
     375                        &fQuickArcFind, sizeof(BOOL));
    375376    fArcStuffVisible = WinQueryButtonCheckstate(hwnd, CFGA_ARCSTUFFVISIBLE);
    376377    PrfWriteProfileData(fmprof, appname, "ArcStuffVisible",
    377                         &fArcStuffVisible, sizeof(BOOL));
     378                        &fArcStuffVisible, sizeof(BOOL));
    378379    fFileNameCnrPath = WinQueryButtonCheckstate(hwnd, CFGA_FILENAMEPATH);
    379380    PrfWriteProfileData(fmprof, appname, "FileNamePathCnr", &fFileNameCnrPath, sizeof(BOOL));
     
    14351436
    14361437      if ((fShowFSTypeInTree != WinQueryButtonCheckstate(hwnd, CFGT_SYSTYPE)) ||
    1437           (fShowDriveLabelInTree != WinQueryButtonCheckstate(hwnd, CFGT_LABEL)))
    1438         fShowSysTypeLabelChanged = TRUE;
     1438          (fShowDriveLabelInTree != WinQueryButtonCheckstate(hwnd, CFGT_LABEL)))
     1439        fShowSysTypeLabelChanged = TRUE;
    14391440      fShowFSTypeInTree = WinQueryButtonCheckstate(hwnd, CFGT_SYSTYPE);
    14401441      fShowDriveLabelInTree = WinQueryButtonCheckstate(hwnd, CFGT_LABEL);
     
    14421443      PrfWriteProfileData(fmprof, appname, "ShowDriveOnly", &fShowDriveOnly, sizeof(BOOL));
    14431444      PrfWriteProfileData(fmprof, appname, "ShowFSTypeInTree",
    1444                           &fShowFSTypeInTree, sizeof(BOOL));
     1445                          &fShowFSTypeInTree, sizeof(BOOL));
    14451446      PrfWriteProfileData(fmprof,       appname, "ShowDriveLabelInTree",
    1446                           &fShowDriveLabelInTree, sizeof(BOOL));
     1447                          &fShowDriveLabelInTree, sizeof(BOOL));
    14471448      fVTreeOpensWPS = WinQueryButtonCheckstate(hwnd, CFGT_VTREEOPENSWPS);
    14481449      PrfWriteProfileData(fmprof, (CHAR *) FM3Str, "VTreeOpensWPS", &fVTreeOpensWPS,
    1449                           sizeof(BOOL));
     1450                          sizeof(BOOL));
    14501451      fCollapseFirst = WinQueryButtonCheckstate(hwnd, CFGT_COLLAPSEFIRST);
    14511452      PrfWriteProfileData(fmprof, appname, "CollapseFirst", &fCollapseFirst,
    1452                           sizeof(BOOL));
     1453                          sizeof(BOOL));
    14531454      fSwitchTreeOnFocus = WinQueryButtonCheckstate(hwnd,
    1454                                                     CFGT_SWITCHTREEONFOCUS);
     1455                                                    CFGT_SWITCHTREEONFOCUS);
    14551456      PrfWriteProfileData(fmprof, appname, "SwitchTreeOnFocus",
    1456                           &fSwitchTreeOnFocus, sizeof(BOOL));
     1457                          &fSwitchTreeOnFocus, sizeof(BOOL));
    14571458      fSwitchTreeExpand = WinQueryButtonCheckstate(hwnd, CFGT_SWITCHTREEEXPAND);
    14581459      PrfWriteProfileData(fmprof, appname, "SwitchTreeExpand",
    1459                           &fSwitchTreeExpand, sizeof(BOOL));
     1460                          &fSwitchTreeExpand, sizeof(BOOL));
    14601461      fSwitchTreeOnDirChg = WinQueryButtonCheckstate(hwnd, CFGT_SWITCHTREEONDIRCHG);
    14611462      PrfWriteProfileData(fmprof, appname, "SwitchTree", &fSwitchTreeOnDirChg,
    1462                           sizeof(BOOL));
     1463                          sizeof(BOOL));
    14631464      fFollowTree = WinQueryButtonCheckstate(hwnd, CFGT_FOLLOWTREE);
    14641465      PrfWriteProfileData(fmprof, appname, "FollowTree", &fFollowTree,
    1465                           sizeof(BOOL));
     1466                          sizeof(BOOL));
    14661467      fTopDir = WinQueryButtonCheckstate(hwnd, CFGT_TOPDIR);
    14671468      PrfWriteProfileData(fmprof, appname, "TopDir", (PVOID) & fTopDir,
    1468                           sizeof(BOOL));
     1469                          sizeof(BOOL));
    14691470      fDCOpens = WinQueryButtonCheckstate(hwnd, CFGT_DCOPENS);
    14701471      PrfWriteProfileData(fmprof, appname, "DoubleClickOpens", &fDCOpens,
    1471                           sizeof(BOOL));
     1472                          sizeof(BOOL));
    14721473      fShowEnvChanged = (fShowEnv != WinQueryButtonCheckstate(hwnd, CFGT_SHOWENV));
    14731474      fShowEnv = WinQueryButtonCheckstate(hwnd, CFGT_SHOWENV);
    14741475      PrfWriteProfileData(fmprof, appname, "ShowEnv", &fShowEnv, sizeof(BOOL));
    14751476      {
    1476         char * pszTemp = xmalloc(WinQueryDlgItemTextLength(hwnd, CFGT_ENVVARLIST) + 1,
    1477                                 pszSrcFile, __LINE__);
    1478         if (pszTemp) {
    1479           WinQueryDlgItemText(hwnd, CFGT_ENVVARLIST, MaxComLineStrg, pszTemp);
    1480           strupr(pszTemp);
    1481           if (strcmp(pszTemp, pszTreeEnvVarList)) {
    1482             fTreeEnvVarListChanged = TRUE;
    1483             strcpy(pszTreeEnvVarList, pszTemp);
    1484             PrfWriteProfileString(fmprof, appname, "TreeEnvVarList", pszTreeEnvVarList);
    1485           }
    1486           free(pszTemp);
    1487         }
    1488         if (hwndTree && (fShowEnvChanged || (fShowEnv && fTreeEnvVarListChanged) ||
    1489                         fShowSysTypeLabelChanged)) {
    1490           PCNRITEM pci = WinSendMsg(WinWindowFromID
    1491                                     (WinWindowFromID(hwndTree, FID_CLIENT),
    1492                                     TREE_CNR), CM_QUERYRECORDEMPHASIS,
    1493                                     MPFROMLONG(CMA_FIRST),
    1494                                     MPFROMSHORT(CRA_SELECTED));
    1495           WinSendMsg(hwndTree, WM_COMMAND, MPFROM2SHORT(IDM_RESCAN, 0), MPVOID);
    1496           if (strlen(pci->pszFileName) > 3 &&  fSwitchTreeExpand) {
    1497             pszTemp = xstrdup(pci->pszFileName, pszSrcFile, __LINE__);
    1498             if (pszTemp) {
    1499               if (!PostMsg(hwndTree, UM_SHOWME, MPFROMP(pszTemp), MPVOID))
    1500                 free(pszTemp);
    1501               //pszTemp is freed in the UM_SHOWME code
    1502             }
    1503           }
    1504         }
     1477        char * pszTemp = xmalloc(WinQueryDlgItemTextLength(hwnd, CFGT_ENVVARLIST) + 1,
     1478                                pszSrcFile, __LINE__);
     1479        if (pszTemp) {
     1480          WinQueryDlgItemText(hwnd, CFGT_ENVVARLIST, MaxComLineStrg, pszTemp);
     1481          strupr(pszTemp);
     1482          if (strcmp(pszTemp, pszTreeEnvVarList)) {
     1483            fTreeEnvVarListChanged = TRUE;
     1484            strcpy(pszTreeEnvVarList, pszTemp);
     1485            PrfWriteProfileString(fmprof, appname, "TreeEnvVarList", pszTreeEnvVarList);
     1486          }
     1487          free(pszTemp);
     1488        }
     1489        if (hwndTree && (fShowEnvChanged || (fShowEnv && fTreeEnvVarListChanged) ||
     1490                        fShowSysTypeLabelChanged)) {
     1491          PCNRITEM pci = WinSendMsg(WinWindowFromID
     1492                                    (WinWindowFromID(hwndTree, FID_CLIENT),
     1493                                    TREE_CNR), CM_QUERYRECORDEMPHASIS,
     1494                                    MPFROMLONG(CMA_FIRST),
     1495                                    MPFROMSHORT(CRA_SELECTED));
     1496          WinSendMsg(hwndTree, WM_COMMAND, MPFROM2SHORT(IDM_RESCAN, 0), MPVOID);
     1497          if (strlen(pci->pszFileName) > 3 &&  fSwitchTreeExpand) {
     1498            pszTemp = xstrdup(pci->pszFileName, pszSrcFile, __LINE__);
     1499            if (pszTemp) {
     1500              if (!PostMsg(hwndTree, UM_SHOWME, MPFROMP(pszTemp), MPVOID))
     1501                free(pszTemp);
     1502              //pszTemp is freed in the UM_SHOWME code
     1503            }
     1504          }
     1505        }
    15051506      }
    15061507      break;
     
    16241625      dummy = WinQueryButtonCheckstate(hwnd, CFGG_APPSEPARATESETTINGS);
    16251626      if (dummy != fAppSeparateSettings) {
    1626         fAppSeparateSettings =  dummy;
    1627         PrfWriteProfileData(fmprof, realappname, "SeparateParms",
     1627        fAppSeparateSettings =  dummy;
     1628        PrfWriteProfileData(fmprof, realappname, "SeparateParms",
    16281629                        &fAppSeparateSettings, sizeof(BOOL));
    16291630        WinSendMsg((HWND) WinQueryWindowULong(hwnd, QWL_USER),
    1630                    UM_UNDO, MPVOID, MPVOID);
    1631         if (fAppSeparateSettings)
    1632           strcpy(appname, realappname);
    1633         else
    1634           strcpy(appname, FM3Str);
     1631                   UM_UNDO, MPVOID, MPVOID);
     1632        if (fAppSeparateSettings)
     1633          strcpy(appname, realappname);
     1634        else
     1635          strcpy(appname, FM3Str);
    16351636      }
    16361637
     
    16911692    fConfirmTarget = WinQueryButtonCheckstate(hwnd, CFGG_CONFIRMTARGET);
    16921693    PrfWriteProfileData(fmprof, appname, "ConfirmTarget",
    1693                         &fConfirmTarget, sizeof(BOOL));
     1694                        &fConfirmTarget, sizeof(BOOL));
    16941695    fAlertBeepOff = WinQueryButtonCheckstate(hwnd, CFGG_ALERTBEEPOFF);
    16951696    PrfWriteProfileData(fmprof, appname, "AlertBeepOff",
    1696                         &fAlertBeepOff, sizeof(BOOL));
     1697                        &fAlertBeepOff, sizeof(BOOL));
    16971698    fErrorBeepOff = WinQueryButtonCheckstate(hwnd, CFGG_ERRORBEEPOFF);
    16981699    PrfWriteProfileData(fmprof, appname, "ErrorBeepOff",
    1699                         &fErrorBeepOff, sizeof(BOOL));
     1700                        &fErrorBeepOff, sizeof(BOOL));
    17001701    fWarnReadOnly = WinQueryButtonCheckstate(hwnd, CFGG_WARNREADONLY);
    17011702    PrfWriteProfileData(fmprof, appname, "WarnReadOnly",
    1702                         &fWarnReadOnly, sizeof(BOOL));
     1703                        &fWarnReadOnly, sizeof(BOOL));
    17031704    {
    17041705      WinSendDlgItemMsg(hwnd, CFGG_CMDLNLNGTH, SPBM_QUERYVALUE,
     
    19761977          // Save state and restore to refresh windows with new settings
    19771978          if (SaveDirCnrState(hwndMain, PCSZ_FM2TEMPTEXT) > 0) {
    1978             PostMsg(MainObjectHwnd, UM_RESTORE, MPVOID, MPFROMLONG(2));
     1979            PostMsg(MainObjectHwnd, UM_RESTORE, MPVOID, MPFROMLONG(RESTORE_STATE_CLOSE_CHILDREN));
    19791980//          PostMsg(hwndMain, UM_RESTORE, MPVOID, MPVOID);
    1980             PostMsg(MainObjectHwnd, UM_RESTORE, (PSZ) PCSZ_FM2TEMPTEXT, MPVOID);
     1981            PostMsg(MainObjectHwnd, UM_RESTORE, (PSZ) PCSZ_FM2TEMPTEXT, MPFROMLONG(RESTORE_STATE_RESTORE));
    19811982          }
    19821983        }
     
    30773078                            "CollectorflWindowAttr",
    30783079                            &flWindowAttr, sizeof(ULONG));
    3079         //This is set to maximize the info seen in the container GKY
    3080         PrfWriteProfileData(fmprof,
     3080        //This is set to maximize the info seen in the container GKY
     3081        PrfWriteProfileData(fmprof,
    30813082                            appname,
    30823083                            "Collector.Fontnamesize",
     
    34043405                          (WinQuerySysValue(HWND_DESKTOP, SV_CYICON) * 2),
    34053406                          SWP_MOVE | SWP_SIZE);
    3406         }
    3407         if (!fToolbar) {
     3407        }
     3408        if (!fToolbar) {
    34083409          WinSendMsg(hwndMain, WM_COMMAND,
    3409                      MPFROM2SHORT(IDM_TOOLBAR, 0), MPVOID);
    3410           fToolbar = TRUE;
    3411         }
    3412         if (!fDrivebar) {
     3410                     MPFROM2SHORT(IDM_TOOLBAR, 0), MPVOID);
     3411          fToolbar = TRUE;
     3412        }
     3413        if (!fDrivebar) {
    34133414          WinSendMsg(hwndMain, WM_COMMAND,
    3414                      MPFROM2SHORT(IDM_DRIVEBAR, 0), MPVOID);
    3415           fDrivebar = TRUE;
    3416         }
    3417         if (!fMoreButtons) {
     3415                     MPFROM2SHORT(IDM_DRIVEBAR, 0), MPVOID);
     3416          fDrivebar = TRUE;
     3417        }
     3418        if (!fMoreButtons) {
    34183419          WinSendMsg(hwndMain, WM_COMMAND, MPFROM2SHORT(IDM_MOREBUTTONS, 0),
    3419                      MPVOID);
    3420           fMoreButtons = TRUE;
    3421         }
    3422         if (!fUserComboBox) {
     3420                     MPVOID);
     3421          fMoreButtons = TRUE;
     3422        }
     3423        if (!fUserComboBox) {
    34233424          WinSendMsg(hwndMain, WM_COMMAND,
    3424                      MPFROM2SHORT(IDM_USERLIST, 0), MPVOID);
    3425           fUserComboBox = TRUE;
    3426         }
     3425                     MPFROM2SHORT(IDM_USERLIST, 0), MPVOID);
     3426          fUserComboBox = TRUE;
     3427        }
    34273428      }
    34283429      if (hwndTree) {
     
    35063507          }
    35073508        }
    3508         PostMsg(MainObjectHwnd, UM_RESTORE, MPVOID, MPFROMLONG(2L));
     3509        PostMsg(MainObjectHwnd, UM_RESTORE, MPVOID, MPFROMLONG(RESTORE_STATE_CLOSE_CHILDREN));
    35093510        PostMsg(MainObjectHwnd, UM_SETDIR, MPFROMLONG(1L), MPVOID);
    35103511      }
     
    36063607          }
    36073608        }
    3608         PostMsg(MainObjectHwnd, UM_RESTORE, MPVOID, MPFROMLONG(2L));
     3609        PostMsg(MainObjectHwnd, UM_RESTORE, MPVOID, MPFROMLONG(RESTORE_STATE_CLOSE_CHILDREN));
    36093610        PostMsg(MainObjectHwnd, UM_SETDIR, MPVOID, MPVOID);
    36103611      }
     
    37203721                          (WinQuerySysValue(HWND_DESKTOP, SV_CYICON) * 2),
    37213722                          SWP_MOVE | SWP_SIZE);
    3722         }
    3723         if (!fToolbar) {
     3723        }
     3724        if (!fToolbar) {
    37243725          WinSendMsg(hwndMain, WM_COMMAND,
    3725                      MPFROM2SHORT(IDM_TOOLBAR, 0), MPVOID);
    3726           fToolbar = TRUE;
    3727         }
    3728         if (!fDrivebar) {
     3726                     MPFROM2SHORT(IDM_TOOLBAR, 0), MPVOID);
     3727          fToolbar = TRUE;
     3728        }
     3729        if (!fDrivebar) {
    37293730          WinSendMsg(hwndMain, WM_COMMAND,
    3730                      MPFROM2SHORT(IDM_DRIVEBAR, 0), MPVOID);
    3731           fDrivebar = TRUE;
    3732         }
    3733         if (!fMoreButtons) {
     3731                     MPFROM2SHORT(IDM_DRIVEBAR, 0), MPVOID);
     3732          fDrivebar = TRUE;
     3733        }
     3734        if (!fMoreButtons) {
    37343735          WinSendMsg(hwndMain, WM_COMMAND, MPFROM2SHORT(IDM_MOREBUTTONS, 0),
    3735                      MPVOID);
    3736           fMoreButtons = TRUE;
    3737         }
    3738         if (!fUserComboBox) {
     3736                     MPVOID);
     3737          fMoreButtons = TRUE;
     3738        }
     3739        if (!fUserComboBox) {
    37393740          WinSendMsg(hwndMain, WM_COMMAND,
    3740                      MPFROM2SHORT(IDM_USERLIST, 0), MPVOID);
    3741           fUserComboBox = TRUE;
    3742         }
     3741                     MPFROM2SHORT(IDM_USERLIST, 0), MPVOID);
     3742          fUserComboBox = TRUE;
     3743        }
    37433744      }
    37443745      if (hwndTree) {
     
    37773778      if (SaveDirCnrState(hwndMain, PCSZ_FM2TEMPTEXT) > 0) {
    37783779        // Tell window procedure to close container windows
    3779         PostMsg(MainObjectHwnd, UM_RESTORE, MPVOID, MPFROMLONG(2));
     3780        PostMsg(MainObjectHwnd, UM_RESTORE, MPVOID, MPFROMLONG(RESTORE_STATE_CLOSE_CHILDREN));
    37803781        // Restore saved state
    3781         PostMsg(MainObjectHwnd, UM_RESTORE, (PSZ) PCSZ_FM2TEMPTEXT, MPVOID);
     3782        PostMsg(MainObjectHwnd, UM_RESTORE, (PSZ) PCSZ_FM2TEMPTEXT, MPFROMLONG(RESTORE_STATE_RESTORE));
    37823783      }
    37833784    }
     
    39513952      PostMsg(hwnd, UM_FOCUSME, MPFROMLONG(np[x].hwnd), MPVOID);
    39523953      if (!fShowedHelpThisSession) {
    3953         PostMsg(np[x].hwnd, WM_COMMAND, MPFROM2SHORT(IDM_HELP, 0), MPVOID);
    3954         fShowedHelpThisSession = TRUE;
     3954        PostMsg(np[x].hwnd, WM_COMMAND, MPFROM2SHORT(IDM_HELP, 0), MPVOID);
     3955        fShowedHelpThisSession = TRUE;
    39553956      }
    39563957    }
Note: See TracChangeset for help on using the changeset viewer.