Changeset 892 for trunk/dll/notebook.c


Ignore:
Timestamp:
Dec 28, 2007, 8:20:34 PM (18 years ago)
Author:
Gregg Young
Message:

Dialog and menu changes for mailrun and use of WPURLDEFAULTSETTINGS for runftp and runhttp if not supplied by user (libpathstrict option added)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/notebook.c

    r888 r892  
    365365    WinSendDlgItemMsg(hwnd, CFGV_BINED, EM_SETTEXTLIMIT,
    366366                      MPFROM2SHORT(CCHMAXPATH, 0), MPVOID);
    367     WinSendDlgItemMsg(hwnd, CFGV_FTPRUN, EM_SETTEXTLIMIT,
    368                       MPFROM2SHORT(CCHMAXPATH, 0), MPVOID);
    369     WinSendDlgItemMsg(hwnd, CFGV_HTTPRUN, EM_SETTEXTLIMIT,
    370                       MPFROM2SHORT(CCHMAXPATH, 0), MPVOID);
    371367    WinEnableWindow(WinWindowFromID(hwnd, CFGV_FIND), FALSE);
    372368    PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID);
     
    378374    WinSetDlgItemText(hwnd, CFGV_BINVIEW, binview);
    379375    WinSetDlgItemText(hwnd, CFGV_BINED, bined);
    380     WinSetDlgItemText(hwnd, CFGV_FTPRUN, ftprun);
    381     WinSetDlgItemText(hwnd, CFGV_HTTPRUN, httprun);
    382376    WinCheckButton(hwnd, CFGV_USENEWVIEWER, fUseNewViewer);
    383377    WinCheckButton(hwnd, CFGV_GUESSTYPE, fGuessType);
     
    392386    case CFGV_BINVIEW:
    393387    case CFGV_BINED:
    394     case CFGV_HTTPRUN:
    395     case CFGV_FTPRUN:
    396388      switch (SHORT2FROMMP(mp1)) {
    397389      case EN_KILLFOCUS:
     
    439431          case CFGV_BINED:
    440432          case CFGV_VIEWER:
    441           case CFGV_EDITOR:
     433          case CFGV_EDITOR:
    442434            if (insert_filename(hwnd, filename, 2, FALSE) && *filename) {
    443435              BldQuotedFileName(szfilename, filename);
     
    445437              WinSetDlgItemText(hwnd, id, szfilename);
    446438            }
    447             break;
    448           case CFGV_HTTPRUN:
    449           case CFGV_FTPRUN:
    450             if (insert_filename(hwnd, filename, 2, FALSE) && *filename){
    451               BldQuotedFileName(szfilename, filename);
    452               WinSetDlgItemText(hwnd, id, szfilename);
    453             }
    454439            break;
    455440          default:
     
    503488      if (!strchr(bined, '%') && strlen(bined) > 3)
    504489        strcat(bined, " %a");
    505       WinQueryDlgItemText(hwnd, CFGV_FTPRUN, CCHMAXPATH, szBuf);
    506       szBuf[CCHMAXPATH - 1] = 0;
    507       bstrip(szBuf);
    508       if (!strchr(szBuf, '"'))
    509         BldQuotedFileName(ftprun, szBuf);
    510490      else
    511         memcpy(ftprun, szBuf, strlen(szBuf) + 1);
    512       WinQueryDlgItemText(hwnd, CFGV_HTTPRUN, CCHMAXPATH, szBuf);
    513       szBuf[CCHMAXPATH - 1] = 0;
    514       bstrip(szBuf);
    515       if (!strchr(szBuf, '"'))
    516         BldQuotedFileName(httprun, szBuf);
    517       else
    518         memcpy(httprun, szBuf, strlen(szBuf) + 1);
     491        memcpy(bined, szBuf, strlen(szBuf) + 1);
    519492      PrfWriteProfileString(fmprof, appname, "Viewer", viewer);
    520493      PrfWriteProfileString(fmprof, appname, "Editor", editor);
    521494      PrfWriteProfileString(fmprof, appname, "BinView", binview);
    522495      PrfWriteProfileString(fmprof, appname, "BinEd", bined);
    523 
    524       PrfWriteProfileString(fmprof, appname, "FTPRun", ftprun);
    525       PrfWriteProfileString(fmprof, appname, "HTTPRun", httprun);
    526496      fUseNewViewer = WinQueryButtonCheckstate(hwnd, CFGV_USENEWVIEWER);
    527497      PrfWriteProfileData(fmprof, appname, "UseNewViewer", &fUseNewViewer,
     
    535505      fCheckMM = WinQueryButtonCheckstate(hwnd, CFGV_CHECKMM);
    536506      PrfWriteProfileData(fmprof, appname, "CheckMM", &fCheckMM, sizeof(BOOL));
     507
     508      break;
     509    }
     510  }
     511  return WinDefDlgProc(hwnd, msg, mp1, mp2);
     512}
     513
     514MRESULT EXPENTRY CfgHDlgProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2)
     515{
     516  switch (msg) {
     517  case WM_INITDLG:
     518    WinSendDlgItemMsg(hwnd, CFGH_RUNFTPWORKDIR, EM_SETTEXTLIMIT,
     519                      MPFROM2SHORT(CCHMAXPATH, 0), MPVOID);
     520    WinSendDlgItemMsg(hwnd, CFGH_RUNHTTPWORKDIR, EM_SETTEXTLIMIT,
     521                      MPFROM2SHORT(CCHMAXPATH, 0), MPVOID);
     522    WinSendDlgItemMsg(hwnd, CFGH_FTPRUN, EM_SETTEXTLIMIT,
     523                      MPFROM2SHORT(CCHMAXPATH, 0), MPVOID);
     524    WinSendDlgItemMsg(hwnd, CFGH_HTTPRUN, EM_SETTEXTLIMIT,
     525                      MPFROM2SHORT(CCHMAXPATH, 0), MPVOID);
     526    WinSendDlgItemMsg(hwnd, CFGH_MAILRUN, EM_SETTEXTLIMIT,
     527                      MPFROM2SHORT(CCHMAXPATH, 0), MPVOID);
     528    WinSendDlgItemMsg(hwnd, CFGH_RUNMAILWORKDIR, EM_SETTEXTLIMIT,
     529                      MPFROM2SHORT(CCHMAXPATH, 0), MPVOID);
     530    WinEnableWindow(WinWindowFromID(hwnd, CFGH_FIND), FALSE);
     531    PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID);
     532    break;
     533
     534  case UM_UNDO:
     535    WinSetDlgItemText(hwnd, CFGH_RUNFTPWORKDIR, ftprundir);
     536    WinSetDlgItemText(hwnd, CFGH_RUNHTTPWORKDIR, httprundir);
     537    WinSetDlgItemText(hwnd, CFGH_RUNMAILWORKDIR, mailrundir);
     538    WinSetDlgItemText(hwnd, CFGH_MAILRUN, mailrun);
     539    WinSetDlgItemText(hwnd, CFGH_FTPRUN, ftprun);
     540    WinSetDlgItemText(hwnd, CFGH_HTTPRUN, httprun);
     541    WinCheckButton(hwnd, CFGH_HTTPRUNWPSDEFAULT, fHttpRunWPSDefault);
     542    WinCheckButton(hwnd, CFGH_FTPRUNWPSDEFAULT, fFtpRunWPSDefault);
     543    WinCheckButton(hwnd, CFGH_LIBPATHSTRICTHTTPRUN, fLibPathStrictHttpRun);
     544    WinCheckButton(hwnd, CFGH_LIBPATHSTRICTFTPRUN, fLibPathStrictFtpRun);
     545    return 0;
     546
     547  case WM_CONTROL:
     548    switch (SHORT1FROMMP(mp1)) {
     549    case CFGH_HTTPRUN:
     550    case CFGH_FTPRUN:
     551    case CFGH_RUNFTPWORKDIR:
     552    case CFGH_RUNHTTPWORKDIR:
     553    case CFGH_RUNMAILWORKDIR:
     554    case CFGH_MAILRUN:
     555      switch (SHORT2FROMMP(mp1)) {
     556      case EN_KILLFOCUS:
     557        WinEnableWindow(WinWindowFromID(hwnd, CFGH_FIND), FALSE);
     558        break;
     559      case EN_SETFOCUS:
     560        WinEnableWindow(WinWindowFromID(hwnd, CFGH_FIND), TRUE);
     561        break;
     562      }
     563      break;
     564    }
     565    return 0;
     566
     567  case WM_COMMAND:
     568    switch (SHORT1FROMMP(mp1)) {
     569    case IDM_UNDO:
     570      PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID);
     571      break;
     572
     573    case DID_CANCEL:
     574      WinSendMsg(hwnd, UM_UNDO, MPVOID, MPVOID);
     575
     576    case DID_OK:
     577      PostMsg((HWND) WinQueryWindowULong(hwnd, QWL_USER), msg, mp1, mp2);
     578      break;
     579
     580    case IDM_HELP:
     581      if (hwndHelp)
     582        WinSendMsg(hwndHelp, HM_DISPLAY_HELP,
     583                   MPFROM2SHORT(HELP_CFGH, 0), MPFROMSHORT(HM_RESOURCEID));
     584      break;
     585
     586    case CFGH_FIND:
     587      {
     588        CHAR filename[CCHMAXPATH + 9], szfilename[CCHMAXPATH + 9];
     589        USHORT id;
     590        HWND hwndFocus;
     591
     592        strcpy(filename, "*.EXE");
     593        hwndFocus = WinQueryFocus(HWND_DESKTOP);
     594        if (hwndFocus) {
     595          id = WinQueryWindowUShort(hwndFocus, QWS_ID);
     596          switch (id) {
     597          case CFGH_HTTPRUN:
     598          case CFGH_FTPRUN:
     599          case CFGH_MAILRUN:
     600            if (insert_filename(hwnd, filename, 2, FALSE) && *filename){
     601              BldQuotedFileName(szfilename, filename);
     602              WinSetDlgItemText(hwnd, id, szfilename);
     603            }
     604            break;
     605          case CFGH_RUNFTPWORKDIR:
     606            strcpy(filename, ftprundir);
     607            if (WinDlgBox(HWND_DESKTOP, hwndNotebook,
     608                          WalkExtractDlgProc, FM3ModHandle, WALK_FRAME,
     609                          MPFROMP(filename)) && *filename)
     610              WinSetDlgItemText(hwnd, id, filename);
     611            break;
     612          case CFGH_RUNHTTPWORKDIR:
     613            strcpy(filename, httprundir);
     614            if (WinDlgBox(HWND_DESKTOP, hwndNotebook,
     615                          WalkExtractDlgProc, FM3ModHandle, WALK_FRAME,
     616                          MPFROMP(filename)) && *filename)
     617              WinSetDlgItemText(hwnd, id, filename);
     618            break;
     619          case CFGH_RUNMAILWORKDIR:
     620            strcpy(filename, mailrundir);
     621            if (WinDlgBox(HWND_DESKTOP, hwndNotebook,
     622                          WalkExtractDlgProc, FM3ModHandle, WALK_FRAME,
     623                          MPFROMP(filename)) && *filename)
     624              WinSetDlgItemText(hwnd, id, filename);
     625            break;
     626          default:
     627            Runtime_Error(pszSrcFile, __LINE__, "bad case %d", id);
     628            break;
     629          }
     630        }
     631      }
     632      break;
     633    }
     634    return 0;
     635
     636  case WM_CLOSE:
     637    {
     638      CHAR szBuf[CCHMAXPATH], buf[10] = "\"%-/";
     639
     640      WinQueryDlgItemText(hwnd, CFGH_RUNHTTPWORKDIR, CCHMAXPATH, szBuf);
     641      szBuf[CCHMAXPATH - 1] = 0;
     642      bstrip(szBuf);
     643      if (!strcspn(szBuf, buf))
     644        BldQuotedFileName(httprundir, szBuf);
     645      else
     646        memcpy(httprundir, szBuf, strlen(szBuf) + 1);
     647      WinQueryDlgItemText(hwnd, CFGH_RUNFTPWORKDIR, CCHMAXPATH, szBuf);
     648      szBuf[CCHMAXPATH - 1] = 0;
     649      bstrip(szBuf);
     650      if (!strcspn(szBuf, buf))
     651        BldQuotedFileName(ftprundir, szBuf);
     652      else
     653        memcpy(ftprundir, szBuf, strlen(szBuf) + 1);
     654      WinQueryDlgItemText(hwnd, CFGH_RUNMAILWORKDIR, CCHMAXPATH, szBuf);
     655      szBuf[CCHMAXPATH - 1] = 0;
     656      bstrip(szBuf);
     657      if (!strcspn(szBuf, buf))
     658        BldQuotedFileName(mailrundir, szBuf);
     659      else
     660        memcpy(mailrundir, szBuf, strlen(szBuf) + 1);
     661      WinQueryDlgItemText(hwnd, CFGH_FTPRUN, CCHMAXPATH, szBuf);
     662      szBuf[CCHMAXPATH - 1] = 0;
     663      bstrip(szBuf);
     664      if (!strchr(szBuf, '"'))
     665        BldQuotedFileName(ftprun, szBuf);
     666      else
     667        memcpy(ftprun, szBuf, strlen(szBuf) + 1);
     668      WinQueryDlgItemText(hwnd, CFGH_HTTPRUN, CCHMAXPATH, szBuf);
     669      szBuf[CCHMAXPATH - 1] = 0;
     670      bstrip(szBuf);
     671      if (!strchr(szBuf, '"'))
     672        BldQuotedFileName(httprun, szBuf);
     673      else
     674        memcpy(httprun, szBuf, strlen(szBuf) + 1);
     675      WinQueryDlgItemText(hwnd, CFGH_MAILRUN, CCHMAXPATH, szBuf);
     676      szBuf[CCHMAXPATH - 1] = 0;
     677      bstrip(szBuf);
     678      if (!strcspn(szBuf, buf))
     679        BldQuotedFileName(mailrun, szBuf);
     680      else
     681        memcpy(mailrun, szBuf, strlen(szBuf) + 1);
     682      PrfWriteProfileString(fmprof, appname, "HttpRunDir", httprundir);
     683      PrfWriteProfileString(fmprof, appname, "FtpRunDir", ftprundir);
     684      PrfWriteProfileString(fmprof, appname, "MailRunDir", mailrundir);
     685      PrfWriteProfileString(fmprof, appname, "FTPRun", ftprun);
     686      PrfWriteProfileString(fmprof, appname, "HTTPRun", httprun);
     687      PrfWriteProfileString(fmprof, appname, "MailRun", mailrun);
     688      fHttpRunWPSDefault = WinQueryButtonCheckstate(hwnd, CFGH_HTTPRUNWPSDEFAULT);
     689      PrfWriteProfileData(fmprof, appname, "HttpRunWPSDefault", &fHttpRunWPSDefault,
     690                          sizeof(BOOL));
     691      fFtpRunWPSDefault = WinQueryButtonCheckstate(hwnd, CFGH_FTPRUNWPSDEFAULT);
     692      PrfWriteProfileData(fmprof, appname, "FtpRunWPSDefault", &fFtpRunWPSDefault,
     693                          sizeof(BOOL));
     694      fLibPathStrictHttpRun = WinQueryButtonCheckstate(hwnd, CFGH_LIBPATHSTRICTHTTPRUN);
     695      PrfWriteProfileData(fmprof, appname, "LibPathStrictHttpRun",
     696                          &fLibPathStrictHttpRun, sizeof(BOOL));
     697      fLibPathStrictFtpRun = WinQueryButtonCheckstate(hwnd, CFGH_LIBPATHSTRICTFTPRUN);
     698      PrfWriteProfileData(fmprof, appname, "LibPathStrictFtpRun",
     699                          &fLibPathStrictFtpRun, sizeof(BOOL));
    537700      break;
    538701    }
     
    16261789    {
    16271790        if (!WinQueryButtonCheckstate(hwnd, CFG5_SUBJECTLENGTHMAX)) {
    1628         WinSendDlgItemMsg(hwnd, CFG5_SUBJECTDISPLAYWIDTH, SPBM_QUERYVALUE,
    1629                         MPFROMP(&SubjectDisplayWidth), MPFROM2SHORT(0, SPBQ_DONOTUPDATE));
    1630         if (SubjectDisplayWidth < 50)
    1631           SubjectDisplayWidth  = 0;
    1632         else if (SubjectDisplayWidth > 1000)
    1633           SubjectDisplayWidth = 1000;
     1791          WinSendDlgItemMsg(hwnd, CFG5_SUBJECTDISPLAYWIDTH, SPBM_QUERYVALUE,
     1792                            MPFROMP(&SubjectDisplayWidth), MPFROM2SHORT(0, SPBQ_DONOTUPDATE));
     1793          if (SubjectDisplayWidth < 50)
     1794            SubjectDisplayWidth  = 0;
     1795          else if (SubjectDisplayWidth > 1000)
     1796            SubjectDisplayWidth = 1000;
    16341797        }
    16351798        else
     
    28262989  0,
    28272990  0,
     2991  CFGH_FRAME,
     2992  IDS_NOTEVIEWERS3TEXT,
     2993  CfgHDlgProc,
     2994  0,
     2995  0,
     2996  0,
    28282997  CFGC_FRAME,
    28292998  IDS_NOTECOMPARE1TEXT,
     
    30463215
    30473216#pragma alloc_text(NOTEBOOK,CfgTDlgProc,CfgTSDlgProc,CfgMDlgProc)
    3048 #pragma alloc_text(NOTEBOOK2,CfgADlgProc,CfgSDlgProc,CfgVDlgProc)
     3217#pragma alloc_text(NOTEBOOK2,CfgADlgProc,CfgSDlgProc,CfgVDlgProc,CfgHDlgProc)
    30493218#pragma alloc_text(NOTEBOOK3,CfgDDlgProc,Cfg5DlgProc,Cfg6DlgProc)
    30503219#pragma alloc_text(NOTEBOOK4,Cfg7DlgProc,Cfg8DlgProc,CfgCDlgProc)
Note: See TracChangeset for help on using the changeset viewer.