mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-01 14:45:29 +00:00
1695 lines
45 KiB
C++
1695 lines
45 KiB
C++
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
|
*
|
|
* The contents of this file are subject to the Netscape Public License
|
|
* Version 1.0 (the "NPL"); you may not use this file except in
|
|
* compliance with the NPL. You may obtain a copy of the NPL at
|
|
* http://www.mozilla.org/NPL/
|
|
*
|
|
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
|
* for the specific language governing rights and limitations under the
|
|
* NPL.
|
|
*
|
|
* The Initial Developer of this code under the NPL is Netscape
|
|
* Communications Corporation. Portions created by Netscape are
|
|
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
|
* Reserved.
|
|
*/
|
|
|
|
#include "stdafx.h"
|
|
|
|
#include "property.h"
|
|
#include "styles.h"
|
|
|
|
#include "helper.h"
|
|
#include "display.h"
|
|
#include "dialog.h"
|
|
|
|
#include "secnav.h"
|
|
#include "custom.h"
|
|
#include "cxabstra.h"
|
|
#include "setupwiz.h"
|
|
#include "logindg.h"
|
|
#include "prefapi.h"
|
|
#include "mnwizard.h"
|
|
#include "msgcom.h"
|
|
#include "mailmisc.h"
|
|
#include "mucproc.h"
|
|
#include "profile.h"
|
|
#include "mnprefs.h"
|
|
|
|
#define BUFSZ MAX_PATH+1
|
|
|
|
extern "C" BOOL IsNumeric(char* pStr);
|
|
|
|
#ifdef XP_WIN32
|
|
|
|
#ifdef _DEBUG
|
|
#undef THIS_FILE
|
|
static char BASED_CODE THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CConfirmPage
|
|
|
|
CConfirmPage::CConfirmPage(CWnd *pParent)
|
|
: CNetscapePropertyPage(IDD)
|
|
{
|
|
//{{AFX_DATA_INIT(CIntroPage)
|
|
//}}AFX_DATA_INIT
|
|
m_pParent = (CNewProfileWizard*)pParent;
|
|
}
|
|
|
|
CConfirmPage::~CConfirmPage()
|
|
{
|
|
}
|
|
|
|
BOOL CConfirmPage::OnSetActive()
|
|
{
|
|
m_pParent->SetWizardButtons(PSWIZB_FINISH | PSWIZB_BACK);
|
|
return CNetscapePropertyPage::OnSetActive();
|
|
}
|
|
|
|
void CConfirmPage::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
}
|
|
|
|
BOOL CConfirmPage::OnInitDialog()
|
|
{
|
|
BOOL ret;
|
|
|
|
ret = CNetscapePropertyPage::OnInitDialog();
|
|
|
|
CButton * pMove = (CButton *) GetDlgItem(IDC_MOVEFILES);
|
|
|
|
if (!m_pParent->m_bUpgrade) {
|
|
GetDlgItem(IDC_MOVEFILES)->EnableWindow(FALSE);
|
|
GetDlgItem(IDC_COPYFILES)->EnableWindow(FALSE);
|
|
((CButton *)GetDlgItem(IDC_IGNOREFILES))->SetCheck(TRUE);
|
|
}
|
|
else if (pMove)
|
|
pMove->SetCheck(TRUE);
|
|
|
|
return ret;
|
|
}
|
|
|
|
int CConfirmPage::DoFinish()
|
|
{
|
|
CButton * pMove = (CButton *) GetDlgItem(IDC_MOVEFILES);
|
|
CButton * pCopy = (CButton *) GetDlgItem(IDC_COPYFILES);
|
|
CButton * pIgnore = (CButton *) GetDlgItem(IDC_IGNOREFILES);
|
|
int iMove = TRUE;
|
|
int iCopy = FALSE;
|
|
int iIgnore = FALSE;
|
|
|
|
if (pMove)
|
|
iMove = pMove->GetCheck();
|
|
if (pCopy)
|
|
iCopy = pCopy->GetCheck();
|
|
if (pIgnore)
|
|
iIgnore = pIgnore->GetCheck();
|
|
|
|
if (iMove) {
|
|
login_UpdateFilesToNewLocation(m_pParent->m_pProfilePath,m_pParent,FALSE); // move files
|
|
login_UpdatePreferencesToJavaScript(m_pParent->m_pProfilePath); // upgrade prefs
|
|
} else if (iCopy) {
|
|
login_UpdateFilesToNewLocation(m_pParent->m_pProfilePath,m_pParent,TRUE); // Copy files
|
|
login_UpdatePreferencesToJavaScript(m_pParent->m_pProfilePath); // upgrade prefs
|
|
} else {
|
|
// just create the directories --
|
|
login_CreateEmptyProfileDir(m_pParent->m_pProfilePath, m_pParent,m_pParent->m_bExistingDir);
|
|
}
|
|
return TRUE;
|
|
}
|
|
|
|
BEGIN_MESSAGE_MAP(CConfirmPage, CNetscapePropertyPage)
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CIntroPage
|
|
|
|
CIntroPage::CIntroPage(CWnd *pParent)
|
|
: CNetscapePropertyPage(IDD)
|
|
{
|
|
//{{AFX_DATA_INIT(CIntroPage)
|
|
//}}AFX_DATA_INIT
|
|
m_pParent = (CNewProfileWizard*)pParent;
|
|
}
|
|
|
|
BOOL CIntroPage::OnSetActive()
|
|
{
|
|
m_pParent->SetWizardButtons(PSWIZB_NEXT);
|
|
return CNetscapePropertyPage::OnSetActive();
|
|
}
|
|
|
|
BOOL CIntroPage::OnInitDialog()
|
|
{
|
|
BOOL ret = CNetscapePropertyPage::OnInitDialog();
|
|
|
|
if(theApp.m_bPEEnabled)
|
|
{
|
|
CString m_str;
|
|
m_str.LoadString(IDS_PE_INTROPAGE_TEXT);
|
|
GetDlgItem(IDC_INTRO_TEXT)->SetWindowText(m_str);
|
|
}
|
|
return ret;
|
|
}
|
|
|
|
void CIntroPage::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CIntroPage, CNetscapePropertyPage)
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CNamePage
|
|
|
|
CNamePage::CNamePage(CWnd *pParent)
|
|
: CNetscapePropertyPage(IDD)
|
|
{
|
|
//{{AFX_DATA_INIT(CProfileNamePage)
|
|
//}}AFX_DATA_INIT
|
|
m_pParent = (CNewProfileWizard*)pParent;
|
|
}
|
|
|
|
CNamePage::~CNamePage()
|
|
{
|
|
}
|
|
|
|
BOOL CNamePage::OnInitDialog()
|
|
{
|
|
BOOL ret;
|
|
char * pString = NULL;
|
|
|
|
ret = CNetscapePropertyPage::OnInitDialog();
|
|
|
|
if (m_pParent->m_bUpgrade) {
|
|
// if we aren't creating a new profile, we are updating an existing one
|
|
CString csUserAddr = theApp.GetProfileString("User","User_Addr","DefaultUser");
|
|
CString csFullName = theApp.GetProfileString("User","User_Name","");
|
|
|
|
m_pParent->m_pUserAddr = csUserAddr;
|
|
m_pParent->m_pFullName = csFullName;
|
|
} else {
|
|
char buffer[256];
|
|
int nLen = 255;
|
|
|
|
if (PREF_NOERROR == PREF_GetCharPref("mail.identity.username", buffer, &nLen))
|
|
m_pParent->m_pFullName = buffer;
|
|
if (PREF_NOERROR == PREF_GetCharPref("mail.identity.useremail", buffer, &nLen))
|
|
m_pParent->m_pUserAddr = buffer;
|
|
}
|
|
|
|
SetDlgItemText(IDC_USER_NAME, m_pParent->m_pFullName);
|
|
SetDlgItemText(IDC_EMAIL_ADDR, m_pParent->m_pUserAddr);
|
|
|
|
if(theApp.m_bPEEnabled)
|
|
ShowHideEmailName();
|
|
|
|
return ret;
|
|
}
|
|
void CNamePage::ShowHideEmailName()
|
|
{
|
|
// PE: disable email entry
|
|
int nShowCmd;
|
|
CString text;
|
|
|
|
if(theApp.m_bPEEnabled && m_pParent->m_bASWEnabled)
|
|
{
|
|
text.LoadString(IDS_PEMUC_NAMEPAGE_TEXT);
|
|
SetDlgItemText(IDC_EMAIL_TEXT1,(LPCTSTR)text);
|
|
nShowCmd = SW_HIDE;
|
|
}
|
|
else
|
|
{
|
|
text.LoadString(IDS_MUP_NAMEPAGE_TEXT);
|
|
SetDlgItemText(IDC_EMAIL_TEXT1,(LPCTSTR)text);
|
|
nShowCmd = SW_SHOW;
|
|
}
|
|
|
|
GetDlgItem(IDC_EMAIL_ADDRTEXT)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_EMAIL_ADDR)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_EMAIL_ADDREG)->ShowWindow(nShowCmd);
|
|
|
|
}
|
|
BOOL CNamePage::OnSetActive()
|
|
{
|
|
m_pParent->SetWizardButtons(PSWIZB_NEXT | PSWIZB_BACK);
|
|
return CNetscapePropertyPage::OnSetActive();
|
|
}
|
|
|
|
void CNamePage::DoFinish()
|
|
{
|
|
if (!m_pParent->m_pFullName.IsEmpty())
|
|
PREF_SetCharPref("mail.identity.username",m_pParent->m_pFullName);
|
|
if (!m_pParent->m_pUserAddr.IsEmpty())
|
|
PREF_SetCharPref("mail.identity.useremail",m_pParent->m_pUserAddr);
|
|
}
|
|
|
|
void CNamePage::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
if (pDX->m_bSaveAndValidate) {
|
|
char name[BUFSZ];
|
|
if (GetDlgItemText(IDC_EMAIL_ADDR, name, BUFSZ))
|
|
m_pParent->m_pUserAddr = name;
|
|
if (GetDlgItemText(IDC_USER_NAME, name, BUFSZ))
|
|
m_pParent->m_pFullName = name;
|
|
|
|
// Set the preference now so that future pages (like the mail/news pages) will be able
|
|
// to access it.
|
|
if (!m_pParent->m_pFullName.IsEmpty())
|
|
PREF_SetCharPref("mail.identity.username",m_pParent->m_pFullName);
|
|
if (!m_pParent->m_pUserAddr.IsEmpty())
|
|
PREF_SetCharPref("mail.identity.useremail",m_pParent->m_pUserAddr);
|
|
|
|
}
|
|
}
|
|
|
|
BEGIN_MESSAGE_MAP(CNamePage, CNetscapePropertyPage)
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CProfileNamePage
|
|
|
|
CProfileNamePage::CProfileNamePage(CWnd *pParent)
|
|
: CNetscapePropertyPage(IDD)
|
|
{
|
|
//{{AFX_DATA_INIT(CProfileNamePage)
|
|
//}}AFX_DATA_INIT
|
|
m_pParent = (CNewProfileWizard*)pParent;
|
|
m_pParent->m_pProfileName = "";
|
|
m_pParent->m_pProfilePath = "";
|
|
}
|
|
|
|
CProfileNamePage::~CProfileNamePage()
|
|
{
|
|
}
|
|
|
|
BOOL CProfileNamePage::OnInitDialog()
|
|
{
|
|
BOOL ret;
|
|
char * pString = NULL;
|
|
|
|
ret = CNetscapePropertyPage::OnInitDialog();
|
|
|
|
CString csUserAddrShort;
|
|
CString csUserDirectory;
|
|
|
|
csUserDirectory.Empty();
|
|
|
|
int iAtSign = m_pParent->m_pUserAddr.Find('@');
|
|
|
|
if (iAtSign != -1)
|
|
csUserAddrShort = m_pParent->m_pUserAddr.Left(iAtSign);
|
|
else
|
|
csUserAddrShort = m_pParent->m_pUserAddr;
|
|
|
|
if (csUserAddrShort.IsEmpty())
|
|
csUserAddrShort = "default";
|
|
|
|
CUserProfileDB::AssignProfileDirectoryName(csUserAddrShort,csUserDirectory);
|
|
|
|
SetDlgItemText(IDC_PROFILE_DIR, csUserDirectory);
|
|
SetDlgItemText(IDC_PROFILE_NAME, csUserAddrShort);
|
|
PREF_SetCharPref("mail.pop_name",csUserAddrShort);
|
|
return ret;
|
|
}
|
|
|
|
BOOL CProfileNamePage::OnSetActive()
|
|
{
|
|
#ifndef MOZ_MAIL_NEWS // Is this the correct ifdef?
|
|
if(!theApp.m_bPEEnabled ||( theApp.m_bPEEnabled && (!m_pParent->m_bMucEnabled) && (!m_pParent->m_bASWEnabled)))
|
|
{
|
|
if(!m_pParent->m_bUpgrade)
|
|
{
|
|
m_pParent->SetWizardButtons(PSWIZB_FINISH | PSWIZB_BACK);
|
|
|
|
CString text;
|
|
text.LoadString(IDS_CLICK_FINISH);
|
|
GetDlgItem(IDC_PROFILENAME_TEXT)->SetWindowText(text);
|
|
}
|
|
|
|
}
|
|
else
|
|
m_pParent->SetWizardButtons(PSWIZB_NEXT | PSWIZB_BACK);
|
|
#else
|
|
m_pParent->SetWizardButtons(PSWIZB_NEXT | PSWIZB_BACK);
|
|
#endif /* MOZ_MAIL_NEWS */
|
|
return CNetscapePropertyPage::OnSetActive();
|
|
}
|
|
|
|
|
|
int CProfileNamePage::DoFinish()
|
|
{
|
|
char path[BUFSZ],name[BUFSZ];
|
|
int ret;
|
|
XP_StatStruct statinfo;
|
|
|
|
if (!GetDlgItemText(IDC_PROFILE_NAME, name, BUFSZ)) {
|
|
AfxMessageBox(szLoadString(IDS_INVALID_PROFILE_NAME),MB_OK);
|
|
return FALSE;
|
|
}
|
|
|
|
if (GetDlgItemText(IDC_PROFILE_DIR, path, BUFSZ)) {
|
|
if (path[strlen(path)-1] == '\\') path[strlen(path)-1] = NULL; // remove last slash...
|
|
|
|
ret = _stat((char *) path, &statinfo);
|
|
if (!ret) {
|
|
// Directory already exists!
|
|
if (AfxMessageBox(szLoadString(IDS_PROFDIR_EXISTS),MB_OKCANCEL) == IDCANCEL)
|
|
return FALSE;
|
|
else
|
|
m_pParent->m_bExistingDir = TRUE;
|
|
}
|
|
if(ret == -1) {
|
|
// see if we can just create it
|
|
char * slash = strchr(path,'\\');
|
|
while (slash) {
|
|
slash[0] = NULL;
|
|
ret = CreateDirectory(path,NULL);
|
|
slash[0] = '\\';
|
|
if (slash+1) slash = strchr(slash+1,'\\');
|
|
}
|
|
ret = CreateDirectory(path,NULL);
|
|
if (!ret) {
|
|
AfxMessageBox(szLoadString(IDS_UNABLE_CREATE_DIR),MB_OK);
|
|
return FALSE;
|
|
}
|
|
}
|
|
} else {
|
|
AfxMessageBox(szLoadString(IDS_INVALID_PROFILE_NAME),MB_OK);
|
|
return FALSE;
|
|
}
|
|
|
|
if (GetDlgItemText(IDC_PROFILE_NAME, name, BUFSZ))
|
|
login_CreateNewUserKey(name,path);
|
|
m_pParent->m_pProfileName = name;
|
|
m_pParent->m_pProfilePath = path;
|
|
return TRUE;
|
|
}
|
|
|
|
void CProfileNamePage::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
}
|
|
|
|
BOOL CProfileNamePage::UpdateData(BOOL bValidate)
|
|
{
|
|
char path[BUFSZ];
|
|
|
|
if (bValidate) {
|
|
if (GetDlgItemText(IDC_PROFILE_DIR, path, BUFSZ)) {
|
|
if (!path || !path[0]) {
|
|
AfxMessageBox(szLoadString(IDS_PROFILE_EMPTY));
|
|
return FALSE;
|
|
}
|
|
}
|
|
else return FALSE;
|
|
}
|
|
return TRUE;
|
|
}
|
|
|
|
void CProfileNamePage::GetProfilePath(char *path)
|
|
{
|
|
|
|
if (GetDlgItemText(IDC_PROFILE_DIR, path, BUFSZ))
|
|
if (path[strlen(path)-1] == '\\')
|
|
path[strlen(path)-1] = NULL; // remove last slash...
|
|
}
|
|
|
|
BEGIN_MESSAGE_MAP(CProfileNamePage, CNetscapePropertyPage)
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CNewProfileWizard
|
|
CNewProfileWizard::CNewProfileWizard(CWnd *pParent, BOOL bUpgrade)
|
|
: CNetscapePropertySheet("", pParent)
|
|
{
|
|
m_pIntroPage = new CIntroPage(this);
|
|
m_pNamePage = new CNamePage(this);
|
|
m_pProfileNamePage = new CProfileNamePage(this);
|
|
m_pConfirmPage = new CConfirmPage(this);
|
|
|
|
m_bUpgrade = bUpgrade;
|
|
m_bExistingDir = FALSE;
|
|
m_pUserAddr = "defaultuser@domain.com";
|
|
|
|
#ifdef MOZ_MAIL_NEWS
|
|
m_pSendMailPage = new CSendMailPage(this);
|
|
m_pReceiveMailPage = new CReceiveMailPage(this);
|
|
m_pReadNewsPage = new CReadNewsPage(this);
|
|
#endif /* MOZ_MAIL_NEWS */
|
|
|
|
// PE: pe multiple user configuration
|
|
if(theApp.m_bPEEnabled){
|
|
m_pMucIntroPage = new CMucIntroPage(this);
|
|
m_pMucEditPage = new CMucEditPage(this,TRUE);
|
|
m_pASWReadyPage = new CASWReadyPage(this);
|
|
m_pMucReadyPage = new CMucReadyPage(this);
|
|
}
|
|
|
|
// PE: replace intro page with pe intro page
|
|
if(theApp.m_bPEEnabled)
|
|
{
|
|
AddPage(m_pIntroPage);
|
|
AddPage(m_pMucIntroPage);
|
|
AddPage(m_pNamePage);
|
|
AddPage(m_pProfileNamePage);
|
|
AddPage(m_pASWReadyPage);
|
|
#ifdef MOZ_MAIL_NEWS
|
|
AddPage(m_pSendMailPage);
|
|
AddPage(m_pReceiveMailPage);
|
|
AddPage(m_pReadNewsPage);
|
|
#endif // MOZ_MAIL_NEWS
|
|
AddPage(m_pMucReadyPage);
|
|
AddPage(m_pMucEditPage);
|
|
AddPage(m_pConfirmPage);
|
|
}
|
|
else
|
|
{
|
|
AddPage(m_pIntroPage);
|
|
AddPage(m_pNamePage);
|
|
AddPage(m_pProfileNamePage);
|
|
if (bUpgrade)
|
|
AddPage(m_pConfirmPage);
|
|
else
|
|
{
|
|
#ifdef MOZ_MAIL_NEWS
|
|
AddPage(m_pSendMailPage);
|
|
AddPage(m_pReceiveMailPage);
|
|
AddPage(m_pReadNewsPage);
|
|
#endif /* MOZ_MAIL_NEWS */
|
|
}
|
|
}
|
|
SetWizardMode();
|
|
}
|
|
|
|
BOOL CNewProfileWizard::OnInitDialog()
|
|
{
|
|
BOOL ret = CNetscapePropertySheet::OnInitDialog();
|
|
GetWindowText(m_title);
|
|
GetDlgItem(IDHELP)->ShowWindow(SW_HIDE);
|
|
|
|
return ret;
|
|
}
|
|
|
|
CNewProfileWizard::~CNewProfileWizard()
|
|
{
|
|
if (m_pIntroPage)
|
|
delete m_pIntroPage;
|
|
if (m_pNamePage)
|
|
delete m_pNamePage;
|
|
if (m_pProfileNamePage)
|
|
delete m_pProfileNamePage;
|
|
if (m_pConfirmPage)
|
|
delete m_pConfirmPage;
|
|
#ifdef MOZ_MAIL_NEWS
|
|
if (m_pSendMailPage)
|
|
delete m_pSendMailPage;
|
|
if (m_pReceiveMailPage)
|
|
delete m_pReceiveMailPage;
|
|
if (m_pReadNewsPage)
|
|
delete m_pReadNewsPage;
|
|
#endif // MOZ_MAIL_NEWS
|
|
// PE: MUC
|
|
if (theApp.m_bPEEnabled && m_pMucIntroPage)
|
|
delete m_pMucIntroPage;
|
|
if (theApp.m_bPEEnabled && m_pMucEditPage)
|
|
delete m_pMucEditPage;
|
|
if (theApp.m_bPEEnabled && m_pMucReadyPage)
|
|
delete m_pMucReadyPage;
|
|
if (theApp.m_bPEEnabled && m_pASWReadyPage)
|
|
delete m_pASWReadyPage;
|
|
}
|
|
|
|
// flag is to enable finish button push
|
|
void CNewProfileWizard::DoFinish()
|
|
{
|
|
if (m_pNamePage && ::IsWindow(m_pNamePage->GetSafeHwnd()))
|
|
m_pNamePage->DoFinish();
|
|
|
|
if (m_pProfileNamePage && ::IsWindow(m_pProfileNamePage->GetSafeHwnd())) {
|
|
if (m_pProfileNamePage->DoFinish()) {
|
|
if (m_bUpgrade) {
|
|
if (m_pConfirmPage && ::IsWindow(m_pConfirmPage->GetSafeHwnd()))
|
|
m_pConfirmPage->DoFinish();
|
|
} else {
|
|
login_CreateEmptyProfileDir(m_pProfilePath, this, m_bExistingDir);
|
|
|
|
#ifdef MOZ_MAIL_NEWS
|
|
if (m_pSendMailPage && ::IsWindow(m_pSendMailPage->GetSafeHwnd()))
|
|
m_pSendMailPage->DoFinish();
|
|
if (m_pReceiveMailPage && ::IsWindow(m_pReceiveMailPage->GetSafeHwnd()))
|
|
m_pReceiveMailPage->DoFinish();
|
|
if (m_pReadNewsPage && ::IsWindow(m_pReadNewsPage->GetSafeHwnd()))
|
|
m_pReadNewsPage->DoFinish();
|
|
#endif // MOZ_MAIL_NEWS
|
|
}
|
|
|
|
if (theApp.m_bPEEnabled)
|
|
{
|
|
// PE: upgrad case
|
|
if(m_bMucEnabled && m_bUpgrade && m_pMucEditPage
|
|
&& ::IsWindow(m_pMucEditPage->GetSafeHwnd()))
|
|
m_pMucEditPage->DoFinish();
|
|
|
|
// PE: dialer thread:
|
|
if(m_bMucEnabled && m_pMucEditPage
|
|
&& ::IsWindow(m_pMucEditPage->GetSafeHwnd()))
|
|
m_pMucEditPage->DoFinish();
|
|
|
|
// PE: account setup thread
|
|
else if (m_bASWEnabled && m_pASWReadyPage
|
|
&& ::IsWindow(m_pASWReadyPage->GetSafeHwnd()))
|
|
m_pASWReadyPage->DoFinish();
|
|
|
|
// PE: network thread
|
|
else
|
|
{
|
|
CMucProc m_mucProc;
|
|
m_mucProc.SetDialOnDemand("",FALSE);
|
|
}
|
|
}
|
|
|
|
PressButton(PSBTN_FINISH);
|
|
}
|
|
}
|
|
}
|
|
|
|
void CNewProfileWizard::DoNext()
|
|
{
|
|
PressButton(PSBTN_NEXT);
|
|
|
|
if(theApp.m_bPEEnabled)
|
|
{
|
|
CPropertyPage* curPage = GetActivePage();
|
|
|
|
if(curPage == m_pMucIntroPage && m_bUpgrade) // skip muc intro page
|
|
SetActivePage(m_pNamePage);
|
|
|
|
if(curPage == m_pNamePage && ::IsWindow(m_pNamePage->GetSafeHwnd()))
|
|
m_pNamePage->ShowHideEmailName();
|
|
|
|
if(curPage == m_pASWReadyPage)
|
|
{
|
|
if(!m_bASWEnabled)
|
|
{
|
|
if (m_bUpgrade)
|
|
SetActivePage(m_pMucEditPage);
|
|
else
|
|
#ifdef MOZ_MAIL_NEWS
|
|
SetActivePage(m_pSendMailPage);
|
|
#else
|
|
SetActivePage(m_pMucReadyPage);
|
|
#endif /* MOZ_MAIL_NEWS */
|
|
}
|
|
}
|
|
|
|
#ifdef MOZ_MAIL_NEWS
|
|
if(curPage == m_pReceiveMailPage)
|
|
m_pReadNewsPage->SetFinish(!m_bMucEnabled);
|
|
#endif /* MOZ_MAIL_NEWS */
|
|
|
|
if(curPage == m_pMucReadyPage || curPage == m_pMucEditPage)
|
|
SetTitle(m_title);
|
|
}
|
|
}
|
|
|
|
void CNewProfileWizard::DoBack()
|
|
{
|
|
PressButton(PSBTN_BACK);
|
|
|
|
if(theApp.m_bPEEnabled)
|
|
{
|
|
CPropertyPage* curPage = GetActivePage();
|
|
|
|
if(curPage == m_pASWReadyPage)
|
|
SetActivePage(m_pProfileNamePage);
|
|
|
|
if(curPage == m_pMucReadyPage && m_bUpgrade)
|
|
SetActivePage(m_pProfileNamePage);
|
|
|
|
if(curPage == m_pMucIntroPage && m_bUpgrade)
|
|
SetActivePage(m_pIntroPage);
|
|
}
|
|
}
|
|
|
|
void CNewProfileWizard::GetProfilePath(char *str)
|
|
{
|
|
if (m_pProfileNamePage && ::IsWindow(m_pProfileNamePage->GetSafeHwnd()))
|
|
m_pProfileNamePage->GetProfilePath(str);
|
|
}
|
|
|
|
BEGIN_MESSAGE_MAP(CNewProfileWizard, CNetscapePropertySheet)
|
|
ON_BN_CLICKED(ID_WIZFINISH,DoFinish)
|
|
ON_BN_CLICKED(ID_WIZNEXT,DoNext)
|
|
ON_BN_CLICKED(ID_WIZBACK,DoBack)
|
|
END_MESSAGE_MAP()
|
|
|
|
#else
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CNewProfileWizard
|
|
CNewProfileWizard::CNewProfileWizard(CWnd *pParent, BOOL bUpgrade)
|
|
: CDialog(IDD, pParent)
|
|
{
|
|
m_nCurrentPage = ID_PAGE_INTRO;
|
|
m_bUpgrade = bUpgrade;
|
|
|
|
// PE: pe multiple user configuration
|
|
if(theApp.m_bPEEnabled)
|
|
{
|
|
m_pMucIntroPage = new CMucIntroPage(this);
|
|
m_pMucEditPage = new CMucEditPage(this,TRUE);
|
|
m_pASWReadyPage = new CASWReadyPage(this);
|
|
m_pMucReadyPage = new CMucReadyPage(this);
|
|
}
|
|
}
|
|
|
|
CNewProfileWizard::~CNewProfileWizard()
|
|
{
|
|
}
|
|
|
|
void CNewProfileWizard::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
}
|
|
|
|
void CNewProfileWizard::InitPrefStrings()
|
|
{
|
|
CString csUserAddr = "";
|
|
CString csFullName = "";
|
|
|
|
if (m_bUpgrade) {
|
|
csUserAddr = theApp.GetProfileString("User","User_Addr","");
|
|
csFullName = theApp.GetProfileString("User","User_Name","");
|
|
}
|
|
|
|
m_pUserAddr = csUserAddr;
|
|
m_pFullName = csFullName;
|
|
m_pProfileName = "";
|
|
m_pProfilePath = "";
|
|
m_bExistingDir = FALSE;
|
|
|
|
#ifdef MOZ_MAIL_NEWS
|
|
PREF_GetBoolPref("mail.leave_on_server", &m_bLeftOnServer);
|
|
|
|
m_szFullName = g_MsgPrefs.m_csUsersFullName;
|
|
m_szEmail = g_MsgPrefs.m_csUsersEmailAddr;
|
|
#endif /* MOZ_MAIL_NEWS */
|
|
|
|
char *prefStr = NULL;
|
|
|
|
PREF_CopyCharPref("network.hosts.smtp_server", &prefStr);
|
|
if (prefStr)
|
|
m_szMailServer = prefStr;
|
|
XP_FREEIF(prefStr);
|
|
|
|
prefStr = NULL;
|
|
PREF_CopyCharPref("mail.pop_name", &prefStr);
|
|
if (prefStr)
|
|
m_szPopName = prefStr;
|
|
XP_FREEIF(prefStr);
|
|
|
|
prefStr = NULL;
|
|
PREF_CopyCharPref("network.hosts.pop_server", &prefStr);
|
|
if (prefStr)
|
|
m_szInMailServer = prefStr;
|
|
XP_FREEIF(prefStr);
|
|
|
|
if (m_szInMailServer.IsEmpty())
|
|
m_szInMailServer = m_szMailServer;
|
|
|
|
int32 prefInt = 0;
|
|
PREF_GetIntPref("mail.server_type", &prefInt);
|
|
m_bUseIMAP = prefInt == MSG_Imap4;
|
|
|
|
#ifdef MOZ_MAIL_NEWS
|
|
if (m_bUseIMAP)
|
|
{
|
|
char serverName[128];
|
|
GetImapServerName(serverName);
|
|
m_szPopName = serverName;
|
|
if (strlen(serverName) > 0)
|
|
{
|
|
char userName[128];
|
|
GetImapUserName(serverName, userName);
|
|
if (strlen(userName) > 0)
|
|
m_szInMailServer = userName;
|
|
}
|
|
}
|
|
else
|
|
{ //POP server
|
|
pPrefStr = NULL;
|
|
PREF_CopyCharPref("mail.pop_name", &pPrefStr);
|
|
m_szPopName = pPrefStr;
|
|
if (pPrefStr) XP_FREE(pPrefStr);
|
|
|
|
pPrefStr = NULL;
|
|
PREF_CopyCharPref("network.hosts.pop_server", &pPrefStr);
|
|
m_szInMailServer = pPrefStr;
|
|
if (pPrefStr) XP_FREE(pPrefStr);
|
|
}
|
|
#endif /* MOZ_MAIL_NEWS */
|
|
|
|
prefStr = NULL;
|
|
PREF_CopyCharPref("network.hosts.nntp_server", &prefStr);
|
|
if (prefStr)
|
|
m_szNewsServer = prefStr;
|
|
XP_FREEIF(prefStr);
|
|
|
|
m_bIsSecure = FALSE;
|
|
m_nPort = NEWS_PORT;
|
|
}
|
|
|
|
BOOL CNewProfileWizard::OnInitDialog()
|
|
{
|
|
GetDlgItem(IDC_EDIT1)->ShowWindow(SW_HIDE);
|
|
GetDlgItem(IDC_STATIC_EG1)->ShowWindow(SW_HIDE);
|
|
GetDlgItem(IDC_STATIC2)->ShowWindow(SW_HIDE);
|
|
GetDlgItem(IDC_EDIT2)->ShowWindow(SW_HIDE);
|
|
GetDlgItem(IDC_STATIC_EG2)->ShowWindow(SW_HIDE);
|
|
GetDlgItem(IDC_STATIC3)->ShowWindow(SW_HIDE);
|
|
GetDlgItem(IDC_EDIT3)->ShowWindow(SW_HIDE);
|
|
GetDlgItem(IDC_READMAIL_POP1)->ShowWindow(SW_HIDE);
|
|
GetDlgItem(IDC_READMAIL_POP2)->ShowWindow(SW_HIDE);
|
|
GetDlgItem(IDC_READMAIL_IMAP)->ShowWindow(SW_HIDE);
|
|
GetDlgItem(IDC_STATIC5)->ShowWindow(SW_HIDE);
|
|
GetDlgItem(IDC_X)->ShowWindow(SW_HIDE);
|
|
|
|
GetDlgItem(IDC_STATIC_TITLE)->ShowWindow(SW_HIDE);
|
|
GetDlgItem(IDC_STATIC1)->ShowWindow(SW_HIDE);
|
|
|
|
ShowHideNamePage(SW_HIDE);
|
|
ShowHideProfilePage(SW_HIDE);
|
|
ShowHideConfirmPage(SW_HIDE);
|
|
ShowHideSendPage(SW_HIDE);
|
|
ShowHideReceivePage(SW_HIDE);
|
|
ShowHideNewsPage(SW_HIDE);
|
|
|
|
InitPrefStrings();
|
|
|
|
SetDlgItemText(IDC_USER_NAME, m_pFullName);
|
|
SetDlgItemText(IDC_EMAIL_ADDR, m_pUserAddr);
|
|
GetDlgItem(IDC_BUTTON_BACK)->EnableWindow(FALSE);
|
|
|
|
if(theApp.m_bPEEnabled)
|
|
{
|
|
m_pMucIntroPage->Create(IDD_MUCWIZARD_INTRO, this);
|
|
m_pMucEditPage->Create(IDD_MUCWIZARD_EDIT, this);
|
|
m_pASWReadyPage->Create(IDD_MUCWIZARD_ASWREADY, this);
|
|
m_pMucReadyPage->Create(IDD_MUCWIZARD_MUCREADY, this);
|
|
|
|
ShowHidePEMucIntroPage(SW_HIDE);
|
|
ShowHidePEMucEditPage(SW_HIDE);
|
|
ShowHidePEMucASWReadyPage(SW_HIDE);
|
|
ShowHidePEMucReadyPage(SW_HIDE);
|
|
}
|
|
|
|
return CDialog::OnInitDialog();
|
|
}
|
|
|
|
void CNewProfileWizard::DoBack()
|
|
{
|
|
// PE:
|
|
if(theApp.m_bPEEnabled)
|
|
{
|
|
if(m_nCurrentPage == ID_PEMUC_INTRO)
|
|
m_nCurrentPage = ID_PAGE_INTRO;
|
|
else if(m_nCurrentPage == ID_PAGE_NAME && !m_bUpgrade)
|
|
m_nCurrentPage = ID_PEMUC_INTRO;
|
|
else if(m_nCurrentPage == ID_PAGE_NAME && m_bUpgrade)
|
|
m_nCurrentPage = ID_PAGE_INTRO;
|
|
else if(m_nCurrentPage == ID_PEMUC_ASWREADY)
|
|
m_nCurrentPage = ID_PAGE_PROFILE;
|
|
#ifdef MOZ_MAIL_NEWS
|
|
else if(m_nCurrentPage == ID_PEMUC_MUCREADY && !m_bUpgrade)
|
|
m_nCurrentPage = ID_PAGE_READNEWS;
|
|
#else
|
|
else if(m_nCurrentPage == ID_PEMUC_MUCREADY && !m_bUpgrade)
|
|
m_nCurrentPage = ID_PAGE_PROFILE;
|
|
#endif /* MOZ_MAIL_NEWS */
|
|
else if(m_nCurrentPage == ID_PEMUC_MUCREADY && m_bUpgrade)
|
|
m_nCurrentPage = ID_PAGE_PROFILE;
|
|
else if(m_nCurrentPage == ID_PEMUC_MUCEDIT)
|
|
m_nCurrentPage = ID_PEMUC_MUCREADY;
|
|
else if (m_nCurrentPage == ID_PAGE_SENDMAIL)
|
|
m_nCurrentPage = ID_PAGE_PROFILE;
|
|
else if (m_nCurrentPage == ID_PAGE_FINISH && m_bUpgrade)
|
|
m_nCurrentPage = ID_PAGE_CONFIRM;
|
|
else if (m_nCurrentPage == ID_PAGE_CONFIRM)
|
|
m_nCurrentPage = ID_PEMUC_MUCEDIT;
|
|
else if (m_nCurrentPage == ID_PAGE_FINISH && m_bASWEnabled)
|
|
m_nCurrentPage = ID_PEMUC_ASWREADY;
|
|
else if (m_nCurrentPage == ID_PAGE_FINISH && m_bMucEnabled)
|
|
m_nCurrentPage = ID_PEMUC_MUCEDIT;
|
|
#ifndef MOZ_MAIL_NEWS
|
|
else if (m_nCurrentPage == ID_PAGE_FINISH && (!m_bMucEnabled) && (!m_bASWEnabled))
|
|
m_nCurrentPage = ID_PAGE_PROFILE;
|
|
#else
|
|
else if (m_nCurrentPage == ID_PAGE_FINISH && (!m_bMucEnabled) && (!m_bASWEnabled))
|
|
m_nCurrentPage = ID_PAGE_READNEWS;
|
|
#endif // MOZ_MAIL_NEWS
|
|
else
|
|
m_nCurrentPage -= 1;
|
|
|
|
} //pe
|
|
else
|
|
{
|
|
#ifdef MOZ_MAIL_NEWS
|
|
if (m_nCurrentPage == ID_PAGE_SENDMAIL)
|
|
m_nCurrentPage = ID_PAGE_PROFILE;
|
|
else
|
|
m_nCurrentPage -= 1;
|
|
#else
|
|
if(m_bUpgrade && m_nCurrentPage == ID_PAGE_FINISH)
|
|
m_nCurrentPage = ID_PAGE_CONFIRM;
|
|
else if(m_bUpgrade && m_nCurrentPage == ID_PAGE_CONFIRM)
|
|
m_nCurrentPage = ID_PAGE_PROFILE;
|
|
else m_nCurrentPage -= 1;
|
|
#endif /* MOZ_MAIL_NEWS */
|
|
|
|
}
|
|
|
|
|
|
switch (m_nCurrentPage)
|
|
{
|
|
case ID_PAGE_INTRO: // 1st page
|
|
if(theApp.m_bPEEnabled)
|
|
ShowHidePEMucIntroPage(SW_HIDE);
|
|
ShowHideNamePage(SW_HIDE);
|
|
ShowHideIntroPage(SW_SHOW);
|
|
GetDlgItem(IDC_BUTTON_BACK)->EnableWindow(FALSE);
|
|
break;
|
|
case ID_PAGE_NAME: // 2nd page
|
|
#ifndef MOZ_MAIL_NEWS // Is this the correct ifdef?
|
|
SetControlText(IDOK, IDS_NEXT);
|
|
#endif // MOZ_MAIL_NEWS
|
|
ShowHideProfilePage(SW_HIDE);
|
|
ShowHideNamePage(SW_SHOW);
|
|
break;
|
|
case ID_PEMUC_INTRO: // PE: 2nd page
|
|
ShowHideNamePage(SW_HIDE);
|
|
ShowHidePEMucIntroPage(SW_SHOW);
|
|
break;
|
|
case ID_PAGE_PROFILE: // 3rd page
|
|
#ifndef MOZ_MAIL_NEWS // Is this the correct ifdef?
|
|
if((!theApp.m_bPEEnabled) && (!m_bUpgrade))
|
|
SetControlText(IDOK, IDS_FINISH);
|
|
else if (theApp.m_bPEEnabled && (m_bASWEnabled || m_bMucEnabled || m_bUpgrade))
|
|
SetControlText(IDOK, IDS_NEXT);
|
|
#else
|
|
SetControlText(IDOK, IDS_NEXT);
|
|
#endif // MOZ_MAIL_NEWS
|
|
ShowHideConfirmPage(SW_HIDE);
|
|
ShowHideSendPage(SW_HIDE);
|
|
if(theApp.m_bPEEnabled)
|
|
{
|
|
ShowHidePEMucASWReadyPage(SW_HIDE);
|
|
ShowHidePEMucReadyPage(SW_HIDE); //upgrade
|
|
}
|
|
ShowHideProfilePage(SW_SHOW);
|
|
break;
|
|
#ifdef MOZ_MAIL_NEWS
|
|
case ID_PAGE_SENDMAIL: // 4th page
|
|
ShowHideReceivePage(SW_HIDE);
|
|
ShowHideSendPage(SW_SHOW);
|
|
break;
|
|
case ID_PAGE_RECEIVEMAIL: // 5th page
|
|
SetControlText(IDOK, IDS_NEXT);
|
|
ShowHideNewsPage(SW_HIDE);
|
|
ShowHideReceivePage(SW_SHOW);
|
|
break;
|
|
case ID_PAGE_READNEWS: // PE: 6th page
|
|
if(theApp.m_bPEEnabled && m_bMucEnabled)
|
|
SetControlText(IDOK, IDS_NEXT);
|
|
else
|
|
SetControlText(IDOK, IDS_FINISH);
|
|
ShowHidePEMucReadyPage(SW_HIDE);
|
|
ShowHideNewsPage(SW_SHOW);
|
|
break;
|
|
#endif /* MOZ_MAIL_NEWS */
|
|
case ID_PEMUC_MUCREADY: // PE: 7th page
|
|
SetControlText(IDOK, IDS_NEXT);
|
|
ShowHidePEMucReadyPage(SW_SHOW);
|
|
ShowHidePEMucEditPage(SW_HIDE);
|
|
break;
|
|
case ID_PEMUC_MUCEDIT: // PE: 8th page
|
|
if(m_bUpgrade)
|
|
{
|
|
SetControlText(IDOK, IDS_NEXT);
|
|
ShowHideConfirmPage(SW_HIDE);
|
|
ShowHidePEMucEditPage(SW_SHOW);
|
|
}
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
void CNewProfileWizard::DoNext()
|
|
{
|
|
CString text;
|
|
|
|
// PE:
|
|
if(theApp.m_bPEEnabled)
|
|
{
|
|
if (m_nCurrentPage == ID_PAGE_INTRO && !m_bUpgrade)
|
|
m_nCurrentPage = ID_PEMUC_INTRO;
|
|
else if (m_nCurrentPage == ID_PAGE_INTRO && m_bUpgrade)
|
|
m_nCurrentPage = ID_PAGE_NAME;
|
|
else if (m_nCurrentPage == ID_PEMUC_INTRO)
|
|
m_nCurrentPage = ID_PAGE_NAME;
|
|
else if (m_nCurrentPage == ID_PAGE_PROFILE && m_bASWEnabled && !m_bUpgrade)
|
|
m_nCurrentPage = ID_PEMUC_ASWREADY;
|
|
#ifdef MOZ_MAIL_NEWS
|
|
else if (m_nCurrentPage == ID_PAGE_PROFILE && (!m_bASWEnabled) && !m_bUpgrade)
|
|
m_nCurrentPage = ID_PAGE_SENDMAIL;
|
|
#else
|
|
else if (m_nCurrentPage == ID_PAGE_PROFILE && (m_bMucEnabled))
|
|
m_nCurrentPage = ID_PEMUC_MUCREADY;
|
|
else if (m_nCurrentPage == ID_PAGE_PROFILE && (!m_bMucEnabled))
|
|
m_nCurrentPage = ID_PAGE_FINISH;
|
|
#endif /* MOZ_MAIL_NEWS */
|
|
else if (m_nCurrentPage == ID_PAGE_PROFILE && (!m_bASWEnabled) && m_bUpgrade)
|
|
m_nCurrentPage = ID_PEMUC_MUCREADY;
|
|
else if (m_nCurrentPage == ID_PEMUC_ASWREADY)
|
|
m_nCurrentPage = ID_PAGE_FINISH;
|
|
else if (m_nCurrentPage == ID_PEMUC_MUCEDIT && m_bUpgrade)
|
|
m_nCurrentPage = ID_PAGE_CONFIRM;
|
|
else if (m_nCurrentPage == ID_PAGE_CONFIRM)
|
|
m_nCurrentPage = ID_PAGE_FINISH;
|
|
else if (m_nCurrentPage == ID_PEMUC_MUCEDIT&& !m_bUpgrade)
|
|
m_nCurrentPage = ID_PAGE_FINISH;
|
|
else if (m_nCurrentPage == ID_PEMUC_MUCREADY)
|
|
m_nCurrentPage = ID_PEMUC_MUCEDIT;
|
|
#ifdef MOZ_MAIL_NEWS
|
|
else if (m_nCurrentPage == ID_PAGE_READNEWS && m_bMucEnabled)
|
|
m_nCurrentPage = ID_PEMUC_MUCREADY;
|
|
else if (m_nCurrentPage == ID_PAGE_READNEWS && (!m_bMucEnabled))
|
|
m_nCurrentPage = ID_PAGE_FINISH;
|
|
#endif /* MOZ_MAIL_NEWS */
|
|
else if (m_nCurrentPage == ID_PAGE_FINISH)
|
|
m_nCurrentPage = ID_PAGE_FINISH;
|
|
else
|
|
m_nCurrentPage += 1;
|
|
}
|
|
else
|
|
{
|
|
if (m_nCurrentPage == ID_PAGE_PROFILE) {
|
|
// special magic on this page
|
|
if (m_bUpgrade) m_nCurrentPage = ID_PAGE_CONFIRM;
|
|
#ifndef MOZ_MAIL_NEWS
|
|
else m_nCurrentPage = ID_PAGE_FINISH;
|
|
#else
|
|
else m_nCurrentPage = ID_PAGE_SENDMAIL;
|
|
#endif /* MOZ_MAIL_NEWS */
|
|
}
|
|
else if (m_nCurrentPage == ID_PAGE_CONFIRM)
|
|
// confirm page next is finish
|
|
m_nCurrentPage = ID_PAGE_FINISH;
|
|
else if (m_nCurrentPage == ID_PAGE_FINISH)
|
|
m_nCurrentPage = ID_PAGE_FINISH;
|
|
else
|
|
m_nCurrentPage += 1;
|
|
}
|
|
|
|
switch (m_nCurrentPage)
|
|
{
|
|
case ID_PAGE_NAME: // 2nd page
|
|
if(theApp.m_bPEEnabled)
|
|
ShowHidePEMucIntroPage(SW_HIDE);
|
|
ShowHideIntroPage(SW_HIDE);
|
|
ShowHideNamePage(SW_SHOW);
|
|
GetDlgItem(IDC_BUTTON_BACK)->EnableWindow(TRUE);
|
|
break;
|
|
case ID_PEMUC_INTRO: // PE: 2nd page
|
|
ShowHideIntroPage(SW_HIDE);
|
|
ShowHidePEMucIntroPage(SW_SHOW);
|
|
GetDlgItem(IDC_BUTTON_BACK)->EnableWindow(TRUE);
|
|
break;
|
|
case ID_PAGE_PROFILE: // 3rd page
|
|
ShowHideNamePage(SW_HIDE);
|
|
ShowHideProfilePage(SW_SHOW);
|
|
#ifndef MOZ_MAIL_NEWS // Is this the correct ifdef??
|
|
if(!m_bUpgrade)
|
|
if(!((theApp.m_bPEEnabled && m_bASWEnabled) || (theApp.m_bPEEnabled && m_bMucEnabled)))
|
|
{
|
|
SetControlText(IDOK, IDS_FINISH);
|
|
SetControlText(IDC_NAME3, IDS_CLICK_FINISH);
|
|
}
|
|
#endif /* MOZ_MAIL_NEWS */
|
|
break;
|
|
case ID_PAGE_CONFIRM: // 4th page
|
|
SetControlText(IDOK, IDS_FINISH);
|
|
ShowHideProfilePage(SW_HIDE);
|
|
ShowHidePEMucEditPage(SW_HIDE);
|
|
ShowHideConfirmPage(SW_SHOW);
|
|
break;
|
|
case ID_PEMUC_ASWREADY: // PE: 4th page
|
|
SetControlText(IDOK, IDS_FINISH);
|
|
ShowHideProfilePage(SW_HIDE);
|
|
ShowHidePEMucASWReadyPage(SW_SHOW);
|
|
break;
|
|
#ifdef MOZ_MAIL_NEWS
|
|
case ID_PAGE_SENDMAIL: // other 4th page
|
|
ShowHideProfilePage(SW_HIDE);
|
|
ShowHideSendPage(SW_SHOW);
|
|
break;
|
|
case ID_PAGE_RECEIVEMAIL: // 5th page
|
|
ShowHideSendPage(SW_HIDE);
|
|
ShowHideReceivePage(SW_SHOW);
|
|
break;
|
|
case ID_PAGE_READNEWS: // 6th page
|
|
if(!(theApp.m_bPEEnabled && m_bMucEnabled))
|
|
SetControlText(IDOK, IDS_FINISH);
|
|
ShowHideReceivePage(SW_HIDE);
|
|
ShowHideNewsPage(SW_SHOW);
|
|
break;
|
|
#endif /* MOZ_MAIL_NEWS */
|
|
case ID_PEMUC_MUCREADY: // PE: 7th page
|
|
ShowHideNewsPage(SW_HIDE);
|
|
ShowHidePEMucReadyPage(SW_SHOW);
|
|
break;
|
|
case ID_PEMUC_MUCEDIT: // PE: 8th page
|
|
if(!m_bUpgrade)
|
|
SetControlText(IDOK, IDS_FINISH);
|
|
else
|
|
SetControlText(IDOK, IDS_NEXT);
|
|
ShowHidePEMucReadyPage(SW_HIDE);
|
|
ShowHidePEMucEditPage(SW_SHOW);
|
|
break;
|
|
case ID_PAGE_FINISH: // done, save value
|
|
if (DoFinish())
|
|
EndDialog(IDOK);
|
|
else
|
|
DoBack();
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
void CNewProfileWizard::SetControlText(int nID, int nStringID)
|
|
{
|
|
CString text;
|
|
text.LoadString(nStringID);
|
|
SetDlgItemText(nID, LPCTSTR(text));
|
|
}
|
|
|
|
void CNewProfileWizard::ShowHideIntroPage(int nShowCmd)
|
|
{
|
|
GetDlgItem(IDC_INTRO1)->ShowWindow(nShowCmd);
|
|
if(theApp.m_bPEEnabled)
|
|
{
|
|
CString m_str;
|
|
m_str.LoadString(IDS_PE_INTROPAGE_TEXT);
|
|
SetDlgItemText(IDC_INTRO2, (LPCSTR)m_str);
|
|
}
|
|
GetDlgItem(IDC_INTRO2)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_INTRO3)->ShowWindow(nShowCmd);
|
|
}
|
|
|
|
void CNewProfileWizard::ShowHideNamePage(int nShowCmd)
|
|
{
|
|
char name[BUFSZ];
|
|
|
|
GetDlgItem(IDC_PROFILE1)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_PROFILE2)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_PROFILE3)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_PROFILE4)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_USER_NAME)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_EMAIL_ADDR)->ShowWindow(nShowCmd);
|
|
if (nShowCmd == SW_HIDE) {
|
|
if (GetDlgItemText(IDC_EMAIL_ADDR, name, BUFSZ))
|
|
m_pUserAddr = name;
|
|
if (GetDlgItemText(IDC_USER_NAME, name, BUFSZ))
|
|
m_pFullName = name;
|
|
// setup mail/news wizard parts
|
|
m_szFullName = m_pFullName;
|
|
m_szEmail = m_pUserAddr;
|
|
}
|
|
|
|
if (nShowCmd == SW_SHOW) {
|
|
GetDlgItem(IDC_USER_NAME)->SetFocus();
|
|
}
|
|
|
|
//PE: disable email addr.
|
|
if(theApp.m_bPEEnabled & nShowCmd==SW_SHOW)
|
|
{
|
|
int nCmd;
|
|
CString text;
|
|
if(m_bASWEnabled)
|
|
{
|
|
text.LoadString(IDS_PEMUC_NAMEPAGE_TEXT);
|
|
nCmd = SW_HIDE;
|
|
}
|
|
else
|
|
{
|
|
text.LoadString(IDS_MUP_NAMEPAGE_TEXT);
|
|
nCmd = SW_SHOW;
|
|
}
|
|
SetDlgItemText(IDC_PROFILE1,(LPCTSTR)text);
|
|
GetDlgItem(IDC_PROFILE4)->ShowWindow(nCmd);
|
|
GetDlgItem(IDC_EMAIL_ADDR)->ShowWindow(nCmd);
|
|
}
|
|
}
|
|
|
|
void CNewProfileWizard::ShowHideProfilePage(int nShowCmd)
|
|
{
|
|
GetDlgItem(IDC_NAME1)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_NAME2)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_NAME3)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_NAME4)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_PROFILE_NAME)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_PROFILE_DIR)->ShowWindow(nShowCmd);
|
|
|
|
if (nShowCmd == SW_SHOW) {
|
|
CString csUserDirectory;
|
|
CString csUserAddrShort;
|
|
char buf[4];
|
|
|
|
int iAtSign = m_pUserAddr.Find('@');
|
|
|
|
if (iAtSign != -1)
|
|
csUserAddrShort = m_pUserAddr.Left(iAtSign);
|
|
else
|
|
csUserAddrShort = m_pUserAddr;
|
|
|
|
if (csUserAddrShort.IsEmpty())
|
|
csUserAddrShort = "default";
|
|
|
|
CUserProfileDB::AssignProfileDirectoryName(csUserAddrShort,csUserDirectory);
|
|
|
|
PREF_SetCharPref("mail.pop_name",csUserAddrShort);
|
|
|
|
if (!GetDlgItemText(IDC_PROFILE_DIR,buf,4))
|
|
SetDlgItemText(IDC_PROFILE_DIR, csUserDirectory);
|
|
if (!GetDlgItemText(IDC_PROFILE_NAME,buf,4))
|
|
SetDlgItemText(IDC_PROFILE_NAME, csUserAddrShort);
|
|
GetDlgItem(IDC_PROFILE_NAME)->SetFocus();
|
|
}
|
|
}
|
|
|
|
void CNewProfileWizard::ShowHideConfirmPage(int nShowCmd)
|
|
{
|
|
GetDlgItem(IDC_CONFIRM1)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_MOVEFILES)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_COPYFILES)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_IGNOREFILES)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_CONFIRM2)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_CONFIRM3)->ShowWindow(nShowCmd);
|
|
|
|
if (!m_bUpgrade) {
|
|
GetDlgItem(IDC_MOVEFILES)->EnableWindow(FALSE);
|
|
GetDlgItem(IDC_COPYFILES)->EnableWindow(FALSE);
|
|
((CButton *)GetDlgItem(IDC_IGNOREFILES))->SetCheck(TRUE);
|
|
}
|
|
else ((CButton *)GetDlgItem(IDC_MOVEFILES))->SetCheck(TRUE);
|
|
}
|
|
|
|
void CNewProfileWizard::ShowHideSendPage(int nShowCmd)
|
|
{
|
|
if (nShowCmd == SW_SHOW) {
|
|
SetControlText(IDC_STATIC_TITLE, IDS_WIZARD_SENDMAIL);
|
|
SetControlText(IDC_STATIC1, IDS_SENDMAIL_STATIC1);
|
|
SetControlText(IDC_STATIC_EG1, IDS_SENDMAIL_EG1);
|
|
SetControlText(IDC_STATIC2, IDS_SENDMAIL_STATIC2);
|
|
SetControlText(IDC_STATIC_EG2, IDS_SENDMAIL_EG2);
|
|
SetControlText(IDC_STATIC3, IDS_SENDMAIL_STATIC3);
|
|
SetControlText(IDC_STATIC5, IDS_SENDREADMAIL_STATIC5);
|
|
}
|
|
GetDlgItem(IDC_EDIT1)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_STATIC_EG1)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_STATIC2)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_EDIT2)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_STATIC_EG2)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_STATIC3)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_EDIT3)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_STATIC5)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_STATIC_TITLE)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_STATIC1)->ShowWindow(nShowCmd);
|
|
if (nShowCmd == SW_SHOW)
|
|
{ // init value
|
|
SetDlgItemText(IDC_EDIT1, m_szFullName);
|
|
SetDlgItemText(IDC_EDIT2, m_szEmail);
|
|
SetDlgItemText(IDC_EDIT3, m_szMailServer);
|
|
GetDlgItem(IDC_EDIT1)->SetFocus();
|
|
}
|
|
else
|
|
{ // save value
|
|
char text[BUFSZ];
|
|
if (GetDlgItemText(IDC_EDIT1, text, BUFSZ))
|
|
m_szFullName = text;
|
|
else
|
|
m_szFullName = "";
|
|
if (GetDlgItemText(IDC_EDIT2, text, BUFSZ))
|
|
m_szEmail = text;
|
|
else
|
|
m_szEmail = "";
|
|
if (GetDlgItemText(IDC_EDIT3, text, BUFSZ))
|
|
m_szMailServer = text;
|
|
else
|
|
m_szMailServer = "";
|
|
}
|
|
}
|
|
|
|
void CNewProfileWizard::ShowHideReceivePage(int nShowCmd)
|
|
{
|
|
if (nShowCmd == SW_SHOW) {
|
|
SetControlText(IDC_STATIC_TITLE, IDS_WIZARD_READMAIL);
|
|
SetControlText(IDC_STATIC1, IDS_READMAIL_STATIC1);
|
|
SetControlText(IDC_STATIC_EG1, IDS_READMAIL_EG1);
|
|
SetControlText(IDC_STATIC2, IDS_READMAIL_STATIC2);
|
|
SetControlText(IDC_STATIC3, IDS_READMAIL_STATIC3);
|
|
SetControlText(IDC_STATIC5, IDS_SENDREADMAIL_STATIC5);
|
|
}
|
|
GetDlgItem(IDC_EDIT1)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_STATIC_EG1)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_STATIC2)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_EDIT2)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_STATIC3)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_READMAIL_POP1)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_READMAIL_POP2)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_READMAIL_IMAP)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_STATIC5)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_STATIC_TITLE)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_STATIC1)->ShowWindow(nShowCmd);
|
|
if (nShowCmd == SW_SHOW)
|
|
{ // init value
|
|
SetDlgItemText(IDC_EDIT1, m_szPopName);
|
|
SetDlgItemText(IDC_EDIT2, m_szInMailServer);
|
|
if (m_bUseIMAP)
|
|
((CButton*)GetDlgItem(IDC_READMAIL_IMAP))->SetCheck(TRUE);
|
|
else if (m_bLeftOnServer)
|
|
((CButton*)GetDlgItem(IDC_READMAIL_POP2))->SetCheck(TRUE);
|
|
else
|
|
((CButton*)GetDlgItem(IDC_READMAIL_POP1))->SetCheck(TRUE);
|
|
GetDlgItem(IDC_EDIT1)->SetFocus();
|
|
}
|
|
else
|
|
{ // save value
|
|
char text[BUFSZ];
|
|
|
|
m_bUseIMAP = m_bLeftOnServer = FALSE;
|
|
if (GetDlgItemText(IDC_EDIT1, text, BUFSZ))
|
|
m_szPopName = text;
|
|
else
|
|
m_szPopName = "";
|
|
if (GetDlgItemText(IDC_EDIT2, text, BUFSZ))
|
|
m_szInMailServer = text;
|
|
else
|
|
m_szInMailServer = "";
|
|
if (IsDlgButtonChecked(IDC_READMAIL_IMAP))
|
|
m_bUseIMAP = TRUE;
|
|
else if (IsDlgButtonChecked(IDC_READMAIL_POP2))
|
|
m_bLeftOnServer = TRUE;
|
|
}
|
|
}
|
|
|
|
void CNewProfileWizard::ShowHideNewsPage(int nShowCmd)
|
|
{
|
|
if (nShowCmd == SW_SHOW) {
|
|
SetControlText(IDC_STATIC_TITLE, IDS_WIZARD_READNEWS);
|
|
SetControlText(IDC_STATIC1, IDS_READNEWS_STATIC1);
|
|
SetControlText(IDC_STATIC2, IDS_READNEWS_STATIC2);
|
|
if(theApp.m_bPEEnabled && m_bMucEnabled)
|
|
SetControlText(IDC_STATIC5, IDS_PEMUC_NEWSPAGE);
|
|
else
|
|
SetControlText(IDC_STATIC5, IDS_READNEWS_STATIC5);
|
|
}
|
|
GetDlgItem(IDC_EDIT1)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_STATIC5)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_STATIC_TITLE)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_STATIC1)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_STATIC2)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_EDIT2)->ShowWindow(nShowCmd);
|
|
GetDlgItem(IDC_X)->ShowWindow(nShowCmd);
|
|
if (nShowCmd == SW_SHOW)
|
|
{ // init value
|
|
char szPort[16];
|
|
SetDlgItemText(IDC_EDIT1, m_szNewsServer);
|
|
sprintf(szPort, "%ld", m_nPort);
|
|
SetDlgItemText(IDC_EDIT2, szPort);
|
|
if (m_bIsSecure)
|
|
((CButton*)GetDlgItem(IDC_X))->SetCheck(TRUE);
|
|
else
|
|
((CButton*)GetDlgItem(IDC_X))->SetCheck(FALSE);
|
|
GetDlgItem(IDC_EDIT1)->SetFocus();
|
|
}
|
|
else
|
|
{ // save value
|
|
char text[BUFSZ];
|
|
if(GetDlgItemText(IDC_EDIT1, text, BUFSZ))
|
|
m_szNewsServer = text;
|
|
else
|
|
m_szNewsServer = "";
|
|
|
|
if (IsDlgButtonChecked(IDC_X))
|
|
m_bIsSecure = TRUE;
|
|
else
|
|
m_bIsSecure = FALSE;
|
|
if (GetDlgItemText(IDC_EDIT2, text, BUFSZ))
|
|
m_nPort = atol(text);
|
|
else
|
|
{
|
|
if (m_bIsSecure)
|
|
m_nPort = SECURE_NEWS_PORT;
|
|
else
|
|
m_nPort = NEWS_PORT;
|
|
}
|
|
}
|
|
}
|
|
|
|
void CNewProfileWizard::ShowHidePEMucIntroPage(int nShowCmd)
|
|
{
|
|
if(theApp.m_bPEEnabled && m_pMucIntroPage
|
|
&& ::IsWindow(m_pMucIntroPage->GetSafeHwnd()))
|
|
m_pMucIntroPage->ShowWindow(nShowCmd);
|
|
if(nShowCmd == SW_SHOW)
|
|
SetFocus();
|
|
}
|
|
|
|
void CNewProfileWizard::ShowHidePEMucASWReadyPage(int nShowCmd)
|
|
{
|
|
if(theApp.m_bPEEnabled && m_pASWReadyPage
|
|
&& ::IsWindow(m_pASWReadyPage->GetSafeHwnd()))
|
|
m_pASWReadyPage->ShowWindow(nShowCmd);
|
|
if(nShowCmd == SW_SHOW)
|
|
SetFocus();
|
|
}
|
|
|
|
void CNewProfileWizard::ShowHidePEMucReadyPage(int nShowCmd)
|
|
{
|
|
if(theApp.m_bPEEnabled && m_pMucReadyPage
|
|
&& ::IsWindow(m_pMucReadyPage->GetSafeHwnd()))
|
|
m_pMucReadyPage->ShowWindow(nShowCmd);
|
|
if(nShowCmd == SW_SHOW)
|
|
SetFocus();
|
|
}
|
|
|
|
void CNewProfileWizard::ShowHidePEMucEditPage(int nShowCmd)
|
|
{
|
|
CString m_str;
|
|
|
|
if(theApp.m_bPEEnabled && m_pMucEditPage
|
|
&& ::IsWindow(m_pMucEditPage->GetSafeHwnd()))
|
|
m_pMucEditPage->ShowWindow(nShowCmd);
|
|
if(nShowCmd == SW_SHOW)
|
|
{
|
|
if(m_bUpgrade)
|
|
m_str.LoadString(IDS_PEMUCEDIT_UPGRADE);
|
|
else
|
|
m_str.LoadString(IDS_PEMUCEDIT_NORMAL);
|
|
(m_pMucEditPage->GetDlgItem(IDC_EDIT_TEXT))->SetWindowText(m_str);
|
|
SetFocus();
|
|
}
|
|
}
|
|
|
|
void CNewProfileWizard::OnMove(int x, int y)
|
|
{
|
|
CDialog::OnMove(x, y);
|
|
|
|
if(theApp.m_bPEEnabled && m_pMucIntroPage && m_pASWReadyPage
|
|
&& m_pMucReadyPage && m_pMucEditPage)
|
|
{
|
|
int nShowCmd;
|
|
|
|
if (m_nCurrentPage == ID_PEMUC_INTRO) nShowCmd = SW_SHOW;
|
|
else nShowCmd = SW_HIDE;
|
|
m_pMucIntroPage->SetMove(x,y, nShowCmd);
|
|
|
|
if (m_nCurrentPage == ID_PEMUC_ASWREADY) nShowCmd = SW_SHOW;
|
|
else nShowCmd = SW_HIDE;
|
|
m_pASWReadyPage->SetMove(x,y,nShowCmd);
|
|
|
|
if (m_nCurrentPage == ID_PEMUC_MUCREADY) nShowCmd = SW_SHOW;
|
|
else nShowCmd = SW_HIDE;
|
|
m_pMucReadyPage->SetMove(x,y,nShowCmd);
|
|
|
|
if (m_nCurrentPage == ID_PEMUC_MUCEDIT) nShowCmd = SW_SHOW;
|
|
else nShowCmd = SW_HIDE;
|
|
m_pMucEditPage->SetMove(x,y,nShowCmd);
|
|
}
|
|
}
|
|
|
|
// this internal function does not attempt to insure that every aspect of the
|
|
// path is valid. If they enter an invalid character for example, it will show
|
|
// up when we attempt to create the directory. This simply insures that there
|
|
// are no parts of the path greater than 8 characters...Since mkdir simply truncates
|
|
// this, it works but we are then screwed because we have the wrong pointer...
|
|
BOOL checkValidWin16Path(char *path)
|
|
{
|
|
BOOL bRet = TRUE;
|
|
char * slash1 = path; // start of path
|
|
char * slash2 = strchr(path,'\\');
|
|
|
|
if (!slash2) bRet = FALSE; // need at least 1 slash!
|
|
|
|
while (slash2) {
|
|
// the difference between any 2 slashes can't be greater than 8
|
|
if ((slash2 - slash1) > 9)
|
|
bRet = FALSE;
|
|
if (slash2+1) {
|
|
slash1 = slash2;
|
|
slash2 = strchr(slash2+1,'\\');
|
|
} else slash2 = NULL;
|
|
}
|
|
// what is on the end can't be too large either
|
|
if (strlen(slash1) > 9) // 8 + slash
|
|
bRet = FALSE;
|
|
return bRet;
|
|
}
|
|
|
|
BOOL CNewProfileWizard::DoFinish()
|
|
{
|
|
if (!m_pFullName.IsEmpty())
|
|
PREF_SetCharPref("mail.identity.username",m_pFullName);
|
|
if (!m_pUserAddr.IsEmpty())
|
|
PREF_SetCharPref("mail.identity.useremail",m_pUserAddr);
|
|
|
|
char path[BUFSZ],name[BUFSZ];
|
|
int ret;
|
|
XP_StatStruct statinfo;
|
|
|
|
if (!GetDlgItemText(IDC_PROFILE_NAME, name, BUFSZ)) {
|
|
AfxMessageBox(szLoadString(IDS_INVALID_PROFILE_NAME),MB_OK);
|
|
return FALSE;
|
|
}
|
|
|
|
if (GetDlgItemText(IDC_PROFILE_DIR, path, BUFSZ)) {
|
|
if (path[strlen(path)-1] == '\\') path[strlen(path)-1] = NULL; // remove last slash...
|
|
|
|
if (!checkValidWin16Path(path)) {
|
|
AfxMessageBox(szLoadString(IDS_INVALID_WIN16_DIR));
|
|
return FALSE;
|
|
}
|
|
|
|
ret = _stat((char *) path, &statinfo);
|
|
if (!ret) {
|
|
// Directory already exists!
|
|
if (AfxMessageBox(szLoadString(IDS_PROFDIR_EXISTS),MB_OKCANCEL) == IDCANCEL)
|
|
return FALSE;
|
|
else
|
|
m_bExistingDir = TRUE;
|
|
}
|
|
if(ret == -1) {
|
|
char * slash = strchr(path,'\\');
|
|
while (slash) {
|
|
slash[0] = NULL;
|
|
ret = _mkdir(path);
|
|
slash[0] = '\\';
|
|
if (slash+1) slash = strchr(slash+1,'\\');
|
|
}
|
|
ret = _mkdir(path);
|
|
if (ret == -1) {
|
|
AfxMessageBox(szLoadString(IDS_UNABLE_CREATE_DIR),MB_OK);
|
|
return FALSE;
|
|
}
|
|
}
|
|
// else "Warn already exists"
|
|
} else {
|
|
AfxMessageBox(szLoadString(IDS_INVALID_PROFILE_NAME),MB_OK);
|
|
return FALSE;
|
|
}
|
|
|
|
|
|
if (GetDlgItemText(IDC_PROFILE_NAME, name, BUFSZ))
|
|
login_CreateNewUserKey(name,path);
|
|
|
|
m_pProfileName = name;
|
|
m_pProfilePath = path;
|
|
|
|
// PE finish -
|
|
if (theApp.m_bPEEnabled)
|
|
{
|
|
// asw thread
|
|
if(m_bASWEnabled && m_pASWReadyPage && ::IsWindow(m_pASWReadyPage->GetSafeHwnd()))
|
|
m_pASWReadyPage->DoFinish();
|
|
|
|
// dialer cfg thread
|
|
else if (m_bMucEnabled && m_pMucEditPage && ::IsWindow(m_pMucEditPage->GetSafeHwnd()))
|
|
m_pMucEditPage->DoFinish();
|
|
|
|
// network thread
|
|
else
|
|
{
|
|
CMucProc m_mucProc;
|
|
m_mucProc.SetDialOnDemand("",FALSE);
|
|
}
|
|
}
|
|
|
|
CButton * pMove = (CButton *) GetDlgItem(IDC_MOVEFILES);
|
|
CButton * pCopy = (CButton *) GetDlgItem(IDC_COPYFILES);
|
|
CButton * pIgnore = (CButton *) GetDlgItem(IDC_IGNOREFILES);
|
|
int iMove = TRUE;
|
|
int iCopy = FALSE;
|
|
int iIgnore = FALSE;
|
|
|
|
if (m_bUpgrade) {
|
|
if (pMove)
|
|
iMove = pMove->GetCheck();
|
|
if (pCopy)
|
|
iCopy = pCopy->GetCheck();
|
|
if (pIgnore)
|
|
iIgnore = pIgnore->GetCheck();
|
|
} else {
|
|
iIgnore = TRUE;
|
|
iMove = FALSE;
|
|
iCopy = FALSE;
|
|
}
|
|
|
|
if (iMove) {
|
|
login_UpdateFilesToNewLocation(m_pProfilePath,this,FALSE); // move files
|
|
login_UpdatePreferencesToJavaScript(m_pProfilePath); // upgrade prefs
|
|
} else if (iCopy) {
|
|
login_UpdateFilesToNewLocation(m_pProfilePath,this,TRUE); // Copy files
|
|
login_UpdatePreferencesToJavaScript(m_pProfilePath); // upgrade prefs
|
|
} else {
|
|
// just create the directories --
|
|
login_CreateEmptyProfileDir(m_pProfilePath, this, m_bExistingDir);
|
|
}
|
|
|
|
if (!m_bUpgrade) {
|
|
#ifdef MOZ_MAIL_NEWS
|
|
PREF_SetCharPref("mail.identity.username", m_szFullName);
|
|
PREF_SetCharPref("mail.identity.useremail", m_szEmail);
|
|
PREF_SetCharPref("network.hosts.smtp_server", m_szMailServer);
|
|
|
|
if (m_bUseIMAP)
|
|
{
|
|
PREF_SetBoolPref("mail.leave_on_server", m_bUseIMAP);
|
|
SetImapServerName(LPCTSTR(m_szInMailServer));
|
|
IMAP_SetCharPref(LPCTSTR(m_szInMailServer), CHAR_USERNAME, LPCTSTR(m_szPopName));
|
|
}
|
|
else
|
|
{
|
|
PREF_SetBoolPref("mail.leave_on_server", m_bLeftOnServer);
|
|
PREF_SetCharPref("network.hosts.pop_server", m_szInMailServer);
|
|
PREF_SetCharPref("mail.pop_name", m_szPopName);
|
|
}
|
|
long imapPref = m_bUseIMAP ? MSG_Imap4 : MSG_Pop3;
|
|
PREF_SetIntPref("mail.server_type", imapPref);
|
|
|
|
char szPort[10];
|
|
int nPortLen = 0;
|
|
int nNewsServerLen = 0;
|
|
|
|
if (nNewsServerLen = GetDlgItemText(IDC_EDIT1, name, BUFSZ))
|
|
m_szNewsServer = name;
|
|
else
|
|
m_szNewsServer = "";
|
|
|
|
if (IsDlgButtonChecked(IDC_X))
|
|
m_bIsSecure = TRUE;
|
|
else
|
|
m_bIsSecure = FALSE;
|
|
if (nPortLen = GetDlgItemText(IDC_EDIT2, szPort, 10) > 0)
|
|
m_nPort = atoi(szPort);
|
|
else
|
|
{
|
|
if (m_bIsSecure)
|
|
m_nPort = SECURE_NEWS_PORT;
|
|
else
|
|
m_nPort = NEWS_PORT;
|
|
}
|
|
|
|
if (nNewsServerLen && nPortLen)
|
|
{
|
|
if (m_nPort < 0 || m_nPort> MAX_PORT_NUMBER)
|
|
{
|
|
AfxMessageBox(IDS_PORT_RANGE);
|
|
((CEdit*)GetDlgItem(IDC_EDIT2))->SetFocus();
|
|
((CEdit*)GetDlgItem(IDC_EDIT2))->SetSel((DWORD)MAKELONG(0, -1));
|
|
return FALSE;
|
|
}
|
|
if (!::IsNumeric(szPort))
|
|
{
|
|
AfxMessageBox(IDS_NUMBERS_ONLY);
|
|
((CEdit*)GetDlgItem(IDC_EDIT2))->SetFocus();
|
|
((CEdit*)GetDlgItem(IDC_EDIT2))->SetSel((DWORD)MAKELONG(0, -1));
|
|
return FALSE;
|
|
}
|
|
}
|
|
|
|
PREF_SetCharPref("network.hosts.nntp_server", LPCTSTR(m_szNewsServer));
|
|
|
|
if (nNewsServerLen)
|
|
{
|
|
PREF_SetBoolPref("news.server_is_secure", m_bIsSecure);
|
|
PREF_SetIntPref("news.server_port", (int32)m_nPort);
|
|
}
|
|
else
|
|
{
|
|
PREF_SetBoolPref("news.server_is_secure", FALSE);
|
|
PREF_SetIntPref("news.server_port", (int32)NEWS_PORT);
|
|
}
|
|
#endif // MOZ_MAIL_NEWS
|
|
|
|
PREF_SavePrefFile();
|
|
}
|
|
return TRUE;
|
|
}
|
|
|
|
void CNewProfileWizard::OnCheckSecure()
|
|
{
|
|
char port[16];
|
|
BOOL bIsSecure;
|
|
|
|
if (IsDlgButtonChecked(IDC_X))
|
|
bIsSecure = TRUE;
|
|
else
|
|
bIsSecure = FALSE;
|
|
if (GetDlgItemText(IDC_EDIT2, port, 16) == 0)
|
|
{
|
|
if (bIsSecure)
|
|
SetDlgItemInt(IDC_EDIT2, SECURE_NEWS_PORT);
|
|
else
|
|
SetDlgItemInt(IDC_EDIT2, NEWS_PORT);
|
|
}
|
|
else
|
|
{
|
|
int32 lPort = atol(port);
|
|
|
|
if (bIsSecure && lPort == NEWS_PORT)
|
|
SetDlgItemInt(IDC_EDIT2, SECURE_NEWS_PORT);
|
|
else if (!bIsSecure && lPort == SECURE_NEWS_PORT)
|
|
SetDlgItemInt(IDC_EDIT2, NEWS_PORT);
|
|
}
|
|
}
|
|
|
|
BEGIN_MESSAGE_MAP(CNewProfileWizard, CDialog)
|
|
ON_BN_CLICKED(IDC_BUTTON_BACK, DoBack)
|
|
ON_BN_CLICKED(IDOK, DoNext)
|
|
ON_BN_CLICKED(IDC_X, OnCheckSecure)
|
|
ON_WM_MOVE()
|
|
END_MESSAGE_MAP()
|
|
|
|
#endif XPWIN_32
|