home *** CD-ROM | disk | FTP | other *** search
- /*-- This is the first line of WVCNCM.C -------------------------------*/
-
- #include <stdlib.h>
- #include "windows.h"
- #include "wvglob.h"
- #include "winvn.h"
-
- extern int WinVnDoComm (char *);
-
-
- /*-- function WinVnCommDlg ---------------------------------------------
- *
- * Dialog function to process the Configure Communications
- * dialog box.
- */
-
- BOOL FAR PASCAL
- WinVnCommDlg (hDlg, iMessage, wParam, lParam)
- HWND hDlg;
- unsigned iMessage;
- WORD wParam;
- LONG lParam;
- {
- #define MAXSTR 32
- static int MyCommPortID;
- static int MyCommParityID;
- static int MyCommModeID;
- /* static BOOL MyAskComm; */
- static char pszMyCommSpeed[MAXCOMMSPEEDCHARS];
- static char pszMyNNTPPort[MAXSTR];
-
- int write_ini = FALSE;
- char *cptr;
-
- #if 0
- MessageBox (hWndConf, "At Beginning of WinVncncm",
- "(debug)", MB_OK | MB_ICONASTERISK);
- #endif
-
- switch (iMessage)
- {
-
- case WM_INITDIALOG:
- if (AskComm == ASK_COMM_INITIAL)
- AskComm = ASK_COMM_NEVER;
- MyCommPortID = CommPortID;
- MyCommParityID = CommParityID;
- strcpy (pszMyCommSpeed, pszCommSpeed);
- MyCommModeID = (UsingSocket ? ID_COMMTCP : ID_COMMSERIAL);
-
- CheckRadioButton (hDlg, IDD_COM1, IDD_COM2, CommPortID);
- CheckRadioButton (hDlg, IDD_7EVEN, IDD_8NONE, CommParityID);
- CheckRadioButton (hDlg, ID_COMMTCP, ID_COMMSERIAL, MyCommModeID);
- CheckDlgButton (hDlg, ID_CONFIG_ASK_COMM, AskComm);
- SetDlgItemText (hDlg, IDD_SPEED, pszMyCommSpeed);
- SetDlgItemText (hDlg, ID_CONFIG_NNTP_SERVER, NNTPHost);
- sprintf (pszMyNNTPPort, "%d", NNTPPort);
- SetDlgItemText (hDlg, ID_CONFIG_NNTP_PORT, pszMyNNTPPort);
- return TRUE;
- break;
-
- case WM_COMMAND:
- switch (wParam)
- {
- case ID_OK_SAVE:
- write_ini = TRUE;
- case IDOK:
- GetDlgItemText (hDlg, IDD_SPEED, pszCommSpeed, MAXCOMMSPEEDCHARS - 1);
- CommPortID = MyCommPortID;
- CommParityID = MyCommParityID;
- CommIDtoStr (CommPortID, CommParityID, pszCommSpeed, szCommString);
- WinVnDoComm (szCommString);
-
- if (Initializing)
- UsingSocket = (MyCommModeID == ID_COMMTCP);
- GetDlgItemText (hDlg, ID_CONFIG_NNTP_SERVER, NNTPHost, MAXNNTPSIZE);
- GetDlgItemText (hDlg, ID_CONFIG_NNTP_PORT, pszMyNNTPPort, MAXSTR);
- NNTPPort = atoi (pszMyNNTPPort);
- AskComm = IsDlgButtonChecked (hDlg, ID_CONFIG_ASK_COMM);
-
-
- if (write_ini)
- {
- WritePrivateProfileString (szAppName, "CommString", szCommString, szAppProFile);
- WritePrivateProfileString (szAppName, "NNTPHost", NNTPHost, szAppProFile);
- WritePrivateProfileString (szAppName, "NNTPPort", pszMyNNTPPort, szAppProFile);
- cptr = MyCommModeID == ID_COMMTCP ? "1" : "0";
- WritePrivateProfileString (szAppName, "UseSocket", cptr, szAppProFile);
- WritePrivateProfileInt (szAppName, "AskComm", AskComm, szAppProFile);
- }
- EndDialog (hDlg, TRUE);
- break;
-
- case IDCANCEL:
- EndDialog (hDlg, FALSE);
- break;
-
- case ID_COMMTCP:
- case ID_COMMSERIAL:
- MyCommModeID = wParam;
- CheckRadioButton (hDlg, ID_COMMTCP, ID_COMMSERIAL, MyCommModeID);
- break;
-
-
-
- case IDD_COM1:
- case IDD_COM2:
- MyCommPortID = wParam;
- CheckRadioButton (hDlg, IDD_COM1, IDD_COM2, wParam);
- break;
-
- case IDD_7EVEN:
- case IDD_8NONE:
- MyCommParityID = wParam;
- CheckRadioButton (hDlg, IDD_7EVEN, IDD_8NONE, wParam);
- break;
-
- default:
- return FALSE;
- }
- break;
-
- #if 0
- case WM_PAINT;
- InvalidateRect (
- break;
- #endif
- default:
- return FALSE;
- break;
- }
- return TRUE;
- }
-
- /*--- Function CommIDtoStr --------------------------------------
- *
- * Takes information relating to comm port configuration and creates
- * a string of the form to give to the MODE command.
- *
- * Entry Port is the port (an IDD_* variable)
- * Parity is the parity/data bits infor (an IDD_* variable)
- * szSpeed is the speed, in character form
- *
- * Exit CommStr is the string; e.g., "COM1:2400,n,8"
- * Function value is non-zero if error.
- */
- int
- CommIDtoStr (Port, Parity, szSpeed, CommStr)
- int Port, Parity;
- char *szSpeed;
- char *CommStr;
- {
- register char *ptr;
- int myPort;
-
- ptr = CommStr;
- strcpy (ptr, "COM");
- ptr += 3;
- *(ptr++) = (char) (Port == IDD_COM1 ? '1' : '2');
- *(ptr++) = ':';
-
- for (; *szSpeed; *(ptr++) = *(szSpeed++));
- *(ptr++) = ',';
- if (Parity == IDD_7EVEN)
- {
- strcpy (ptr, "e,7");
- }
- else
- {
- strcpy (ptr, "n,8");
- }
-
- return (0);
- }
-
- /*-- function WinVnSaveArtDlg ---------------------------------------
- *
- * Dialog function to handle Save Article dialog box.
- */
-
- BOOL FAR PASCAL
- WinVnSaveArtDlg (hDlg, iMessage, wParam, lParam)
- HWND hDlg;
- unsigned iMessage;
- WORD wParam;
- LONG lParam;
- {
- static int MyAppend;
-
- #if 0
- MessageBox (hWndConf, "At Beginning of WinVnSaveArtDlg",
- "(debug)", MB_OK | MB_ICONASTERISK);
- #endif
-
- switch (iMessage)
- {
-
- case WM_INITDIALOG:
- MyAppend = SaveArtAppend;
-
- CheckDlgButton (hDlg, IDD_APPEND, MyAppend);
- SetDlgItemText (hDlg, IDD_FILENAME, SaveArtFileName);
- return TRUE;
- break;
-
- case WM_COMMAND:
- switch (wParam)
- {
- case IDOK:
- GetDlgItemText (hDlg, IDD_FILENAME, SaveArtFileName, MAXFILENAME - 1);
-
- SaveArtAppend = MyAppend;
- if (!MRRWriteDocument (ActiveArticleDoc, sizeof (TypText), SaveArtFileName, SaveArtvRef, SaveArtAppend))
- {
- MessageBox (hWndConf, "Could not write to file", "Problems saving file", MB_OK | MB_ICONEXCLAMATION);
- }
- EndDialog (hDlg, TRUE);
- break;
-
- case IDCANCEL:
- EndDialog (hDlg, FALSE);
- break;
-
- case IDD_APPEND:
- MyAppend = !MyAppend;
- CheckDlgButton (hDlg, IDD_APPEND, MyAppend);
- break;
-
- default:
- return FALSE;
- }
- break;
-
- default:
- return FALSE;
- break;
- }
- return TRUE;
- }
-
- /*-- function WinVnFindDlg ---------------------------------------
- *
- * Dialog function to handle Search dialog box.
- */
-
- BOOL FAR PASCAL
- WinVnFindDlg (hDlg, iMessage, wParam, lParam)
- HWND hDlg;
- unsigned iMessage;
- WORD wParam;
- LONG lParam;
- {
- static int MyAppend;
-
- #if 0
- MessageBox (hWndConf, "At Beginning of WinVnSaveArtDlg",
- "(debug)", MB_OK | MB_ICONASTERISK);
- #endif
-
- switch (iMessage)
- {
-
- case WM_INITDIALOG:
- SetDlgItemText (hDlg, IDD_SEARCH_STRING, FindDoc->SearchStr);
- return TRUE;
- break;
-
- case WM_COMMAND:
- switch (wParam)
- {
- case IDOK:
- GetDlgItemText (hDlg, IDD_SEARCH_STRING, FindDoc->SearchStr, MAXFINDSTRING - 1);
-
- EndDialog (hDlg, TRUE);
- break;
-
- case IDCANCEL:
- EndDialog (hDlg, FALSE);
- break;
-
- default:
- return FALSE;
- }
- break;
-
- default:
- return FALSE;
- break;
- }
- return TRUE;
- }
-
- /*-- function WinVnSubjectDlg ---------------------------------------
- *
- * Dialog function to query the user for a posting's subject
- */
-
- BOOL FAR PASCAL
- WinVnSubjectDlg (hDlg, iMessage, wParam, lParam)
- HWND hDlg;
- unsigned iMessage;
- WORD wParam;
- LONG lParam;
- {
- static int MyAppend;
-
- switch (iMessage)
- {
-
- case WM_INITDIALOG:
- SetDlgItemText (hDlg, IDD_SUBJECT_STRING, SubjectString);
- return TRUE;
- break;
-
- case WM_COMMAND:
- switch (wParam)
- {
- case IDOK:
- GetDlgItemText (hDlg, IDD_SUBJECT_STRING, SubjectString, MAXSUBJECTSTRING - 1);
-
- EndDialog (hDlg, TRUE);
- break;
-
- case IDCANCEL:
- EndDialog (hDlg, FALSE);
- break;
-
- default:
- return FALSE;
- }
- break;
-
- default:
- return FALSE;
- break;
- }
- return TRUE;
- }
-
- /*-- function WinVnDoListDlg ---------------------------------------
- *
- * Dialog function to ask whether we should check for new
- * newsgroups.
- */
-
- BOOL FAR PASCAL
- WinVnDoListDlg (hDlg, iMessage, wParam, lParam)
- HWND hDlg;
- unsigned iMessage;
- WORD wParam;
- LONG lParam;
- {
-
- switch (iMessage)
- {
-
- case WM_COMMAND:
- switch (wParam)
- {
- case IDOK:
-
- EndDialog (hDlg, TRUE);
- break;
-
- case IDCANCEL:
-
- EndDialog (hDlg, FALSE);
- break;
-
- default:
- return FALSE;
- }
- break;
-
- default:
- return FALSE;
- break;
- }
- return TRUE;
- }
-
-
- /*--- Function WinVnPersonalInfoDlg ----------------------------------
- *
- * Dialog function to obtain personal configuration info
- * (Name, email address, etc.) from the user.
- */
-
- BOOL FAR PASCAL
- WinVnPersonalInfoDlg (hDlg, iMessage, wParam, lParam)
- HWND hDlg;
- unsigned iMessage;
- WORD wParam;
- LONG lParam;
- {
- #define MAXSTR 32
- #if 0
- static char *pszMyUserName;
- static char *pszMyMailAddress;
- static char *pszMyOrganization;
- #endif
-
- int write_ini = FALSE;
- int dialog_val;
- char *cptr;
-
-
- switch (iMessage)
- {
-
- case WM_INITDIALOG:
- #if 0
- pszMyUserName = malloc (MAILLEN);
- pszMyMailAddress = malloc (MAILLEN);
- pszMyOrganization = malloc (MAILLEN);
-
- strcpy (pszMyOrganization, Organization);
- strcpy (pszMyUserName, UserName);
- strcpy (pszMyMailAddress, MailAddress);
- #endif
-
- SetDlgItemText (hDlg, ID_CONFIG_EMAIL, MailAddress);
- SetDlgItemText (hDlg, ID_CONFIG_NAME, UserName);
- SetDlgItemText (hDlg, ID_CONFIG_ORG, Organization);
- return TRUE;
- break;
-
- case WM_COMMAND:
- switch (wParam)
- {
- case ID_OK_SAVE:
- write_ini = TRUE;
- case IDOK:
- GetDlgItemText (hDlg, ID_CONFIG_NAME, UserName, MAILLEN - 1);
- GetDlgItemText (hDlg, ID_CONFIG_EMAIL, MailAddress, MAILLEN - 1);
- GetDlgItemText (hDlg, ID_CONFIG_ORG, Organization, MAILLEN - 1);
-
- if (write_ini)
- {
- WritePrivateProfileString (szAppName, "UserName", UserName, szAppProFile);
- WritePrivateProfileString (szAppName, "MailAddress", MailAddress, szAppProFile);
- WritePrivateProfileString (szAppName, "Organization", Organization, szAppProFile);
- }
- dialog_val = TRUE;
- goto endit;
- break;
-
- case IDCANCEL:
- dialog_val = FALSE;
- endit:;
- #if 0
- free (pszMyUserName);
- free (pszMyMailAddress);
- free (pszMyOrganization);
- #endif
- EndDialog (hDlg, dialog_val);
- break;
-
- default:
- return FALSE;
- }
- break;
-
- default:
- return FALSE;
- break;
- }
- return TRUE;
- }
-
-
-
- /*--- Function WinVnMiscDlg ---------------------------------------------
- *
- * Dialog function to obtain miscellaneous configuration info
- * (whether we should open a new window for each group, etc.)
- * from the user.
- */
-
- BOOL FAR PASCAL
- WinVnMiscDlg (hDlg, iMessage, wParam, lParam)
- HWND hDlg;
- unsigned iMessage;
- WORD wParam;
- LONG lParam;
- {
- int write_ini = FALSE;
- int dialog_val;
- int item;
-
-
- switch (iMessage)
- {
-
- case WM_INITDIALOG:
- CheckRadioButton (hDlg, ID_DOLIST_BASE, ID_DOLIST_ASK, DoList + ID_DOLIST_BASE);
- CheckDlgButton (hDlg, ID_CONFIG_APPEND, SaveArtAppend);
- CheckDlgButton (hDlg, ID_CONFIG_NEW_WND_GROUP, ViewNew);
- CheckDlgButton (hDlg, ID_CONFIG_NEW_WND_ARTICLE, NewArticleWindow);
- CheckDlgButton (hDlg, ID_CONFIG_ARTICLE_FIXED_FONT, ArticleFixedFont);
-
- return TRUE;
- break;
-
- case WM_COMMAND:
- switch (wParam)
- {
- case ID_OK_SAVE:
- write_ini = TRUE;
- case IDOK:
- SaveArtAppend = (IsDlgButtonChecked (hDlg, ID_CONFIG_APPEND) != 0);
- ViewNew = (IsDlgButtonChecked (hDlg, ID_CONFIG_NEW_WND_GROUP) != 0);
- NewArticleWindow = (IsDlgButtonChecked (hDlg, ID_CONFIG_NEW_WND_ARTICLE) != 0);
- ArticleFixedFont = (IsDlgButtonChecked (hDlg, ID_CONFIG_ARTICLE_FIXED_FONT) != 0);
-
- for (item = ID_DOLIST_BASE; item <= ID_DOLIST_ASK; item++)
- {
- if (IsDlgButtonChecked (hDlg, item))
- {
- DoList = item - ID_DOLIST_BASE;
- }
- }
-
- if (write_ini)
- {
- WritePrivateProfileInt (szAppName, "SaveArtAppend", SaveArtAppend, szAppProFile);
- WritePrivateProfileInt (szAppName, "NewWndGroup", ViewNew, szAppProFile);
- WritePrivateProfileInt (szAppName, "NewWndArticle", NewArticleWindow, szAppProFile);
- WritePrivateProfileInt (szAppName, "DoList", DoList, szAppProFile);
- WritePrivateProfileInt (szAppName, "ArticleFixedFont", ArticleFixedFont, szAppProFile);
- }
- dialog_val = TRUE;
- goto endit;
- break;
-
- case IDCANCEL:
- dialog_val = FALSE;
- endit:;
- EndDialog (hDlg, dialog_val);
- break;
-
- default:
- return FALSE;
- }
- break;
-
- default:
- return FALSE;
- break;
- }
- return TRUE;
-
- }
-
- /*--- Function WinVnAppearanceDlg ----------------------------------
- *
- * Dialog function to obtain window appearance configuration info
- * (font, color, etc.)
- * from the user.
- */
-
- BOOL FAR PASCAL
- WinVnAppearanceDlg (hDlg, iMessage, wParam, lParam)
- HWND hDlg;
- unsigned iMessage;
- WORD wParam;
- LONG lParam;
- {
-
- }
-
- BOOL
- WritePrivateProfileInt (lpAppName, lpKeyName, intval,lpProFile)
- char far *lpAppName;
- char far *lpKeyName;
- char far *lpProFile;
- int intval;
- {
- char msg[20];
-
- itoa (intval, msg, 10);
- return (WritePrivateProfileString (lpAppName, lpKeyName, msg, lpProFile));
- }
-