2 * Copyright 2000, International Business Machines Corporation and others.
5 * This software has been released under the terms of the IBM Public
6 * License. For details, see the LICENSE file in the top-level source
7 * directory or online at http://www.openafs.org/dl/license10.html
11 * INCLUDES _________________________________________________________________
15 #include <afs/param.h>
24 * DEFINITIONS _________________________________________________________________
27 static HWND hDlg = 0; // HWND for this page's dialog
31 * PROTOTYPES _________________________________________________________________
34 static void OnInitDialog(HWND hwndDlg);
35 static void CheckEnableButtons();
36 static BOOL SavePageInfo();
37 static void ShowPageInfo();
38 static void IsFirstServer(BOOL bIs = TRUE);
42 * EXPORTED FUNCTIONS _________________________________________________________________
47 * Dialog Procs _________________________________________________________________
50 BOOL CALLBACK InfoPageDlgProc(HWND hRHS, UINT msg, WPARAM wp, LPARAM lp)
52 if (WizStep_Common_DlgProc (hRHS, msg, wp, lp))
64 g_pWiz->SetState (sidSTEP_THREE);
69 g_pWiz->SetState (sidSTEP_ONE);
72 case IDC_FIRST_SERVER:
76 case IDC_JOIN_EXISTING_CELL:
83 if (HIWORD(wp) == EN_CHANGE)
95 * STATIC FUNCTIONS ________________________________________________________________________
100 * Event Handler Functions _________________________________________________________________
103 static void OnInitDialog(HWND hwndDlg)
107 g_pWiz->EnableButtons(BACK_BUTTON);
111 if (g_CfgData.bFirstServer)
114 g_pWiz->SetDefaultControl(IDC_CELL_NAME);
119 * Utility Functions _________________________________________________________________
122 static void CheckEnableButtons()
124 BOOL bDisable = FALSE;
126 TCHAR szCellName[cchRESOURCE];
127 TCHAR szPW[cchRESOURCE];
128 TCHAR szVerifyPW[cchRESOURCE];
130 bDisable = lstrlen(GetWndText(hDlg, IDC_CELL_NAME, szCellName)) == 0;
132 GetWndText(hDlg, IDC_SERVER_PW, szPW);
133 GetWndText(hDlg, IDC_VERIFY_PW, szVerifyPW);
135 if (IsButtonChecked(hDlg, IDC_FIRST_SERVER))
136 bDisable |= !lstrlen(szPW) || !lstrlen(szVerifyPW) || lstrcmp(szPW, szVerifyPW);
139 g_pWiz->EnableButtons(BACK_BUTTON);
141 g_pWiz->EnableButtons(BACK_BUTTON | NEXT_BUTTON);
144 static BOOL SavePageInfo()
146 TCHAR szText[cchRESOURCE];
148 GetWndText(hDlg, IDC_CELL_NAME, szText);
149 if (lstrlen(szText) > MAX_CELL_NAME_LEN) {
150 MsgBox(hDlg, IDS_CELL_NAME_LEN_ERROR, GetAppTitleID(), MB_ICONSTOP | MB_OK);
154 lstrcpy(g_CfgData.szCellName, szText);
155 lstrncpy(g_CfgData.szServerPW, GetWndText(hDlg, IDC_SERVER_PW, szText), MAX_SERVER_PW_LEN);
156 g_CfgData.bFirstServer = IsButtonChecked(hDlg, IDC_FIRST_SERVER);
161 static void ShowPageInfo()
163 SetWndText(hDlg, IDC_CELL_NAME, g_CfgData.szCellName);
164 SetWndText(hDlg, IDC_SERVER_PW, g_CfgData.szServerPW);
165 SetWndText(hDlg, IDC_VERIFY_PW, g_CfgData.szServerPW);
167 if (g_CfgData.bFirstServer)
168 SetCheck(hDlg, IDC_FIRST_SERVER);
170 SetCheck(hDlg, IDC_JOIN_EXISTING_CELL);
173 static void IsFirstServer(BOOL bIs)
182 SetEnable(hDlg, IDC_PRINCIPAL_LABEL, es);
183 SetEnable(hDlg, IDC_PRINCIPAL, es);
185 SetEnable(hDlg, IDC_SERVER_PW_FRAME, es);
186 SetEnable(hDlg, IDC_SERVER_PW_LABEL, es);
187 SetEnable(hDlg, IDC_SERVER_PW_PROMPT, es);
188 SetEnable(hDlg, IDC_SERVER_PW, es);
189 SetEnable(hDlg, IDC_VERIFY_PW_LABEL, es);
190 SetEnable(hDlg, IDC_VERIFY_PW, es);
192 CheckEnableButtons();