www.pudn.com > BesidesFTPServer.rar > GeneralTab.cpp


// GeneralTab.cpp : implementation file 
// 
 
#include "stdafx.h" 
#include "ftpserverapp.h" 
#include "ftpserver.h" 
#include "GeneralTab.h" 
#include "UserAccountPage.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
///////////////////////////////////////////////////////////////////////////// 
// CGeneralTab dialog 
 
 
CGeneralTab::CGeneralTab(CWnd* pParent /*=NULL*/) 
	: CDialogResize(CGeneralTab::IDD, pParent) 
{ 
	//{{AFX_DATA_INIT(CGeneralTab) 
	m_bDisableAccount = FALSE; 
	m_strHomeDirectory = _T(""); 
	m_strPassword = _T(""); 
	m_bAllowCreateDirectory = FALSE; 
	m_bAllowDelete = FALSE; 
	m_bAllowRename = FALSE; 
	m_bAllowUpload = FALSE; 
	m_bAllowDownload = FALSE; 
	//}}AFX_DATA_INIT 
	m_pParent = NULL; 
} 
 
 
void CGeneralTab::DoDataExchange(CDataExchange* pDX) 
{ 
	CDialogResize::DoDataExchange(pDX); 
	//{{AFX_DATA_MAP(CGeneralTab) 
	DDX_Check(pDX, IDC_DISABLE_ACCOUNT, m_bDisableAccount); 
	DDX_Text(pDX, IDC_HOME_DIRECTORY, m_strHomeDirectory); 
	DDX_Text(pDX, IDC_PASSWORD, m_strPassword); 
	DDX_Check(pDX, IDC_CREATE_DIR, m_bAllowCreateDirectory); 
	DDX_Check(pDX, IDC_DELETE, m_bAllowDelete); 
	DDX_Check(pDX, IDC_RENAME, m_bAllowRename); 
	DDX_Check(pDX, IDC_UPLOAD, m_bAllowUpload); 
	DDX_Check(pDX, IDC_DOWNLOAD, m_bAllowDownload); 
	//}}AFX_DATA_MAP 
} 
 
 
BEGIN_MESSAGE_MAP(CGeneralTab, CDialogResize) 
	//{{AFX_MSG_MAP(CGeneralTab) 
	ON_BN_CLICKED(IDC_BROWSE, OnBrowse) 
	ON_EN_CHANGE(IDC_PASSWORD, OnSomethingChanged) 
	ON_BN_CLICKED(IDC_DISABLE_ACCOUNT, OnDisableAccount) 
	ON_EN_CHANGE(IDC_HOME_DIRECTORY, OnSomethingChanged) 
	ON_BN_CLICKED(IDC_DOWNLOAD, OnSomethingChanged) 
	ON_BN_CLICKED(IDC_UPLOAD, OnSomethingChanged) 
	ON_BN_CLICKED(IDC_RENAME, OnSomethingChanged) 
	ON_BN_CLICKED(IDC_DELETE, OnSomethingChanged) 
	ON_BN_CLICKED(IDC_CREATE_DIR, OnSomethingChanged) 
	ON_WM_ENABLE() 
	//}}AFX_MSG_MAP 
END_MESSAGE_MAP() 
 
 
BEGIN_DLGRESIZE_MAP(CGeneralTab) 
	DLGRESIZE_CONTROL(IDC_HOME_DIRECTORY, DLSZ_SIZE_X) 
	DLGRESIZE_CONTROL(IDC_LINE, DLSZ_SIZE_X) 
	DLGRESIZE_CONTROL(IDC_BROWSE, DLSZ_MOVE_X) 
END_DLGRESIZE_MAP() 
 
 
 
/********************************************************************/ 
/*																	*/ 
/* Function name : OnDisableAccount									*/ 
/* Description   : Disable account has been clicked					*/ 
/*																	*/ 
/********************************************************************/ 
void CGeneralTab::OnDisableAccount()  
{ 
	m_bDisableAccount = IsDlgButtonChecked(IDC_DISABLE_ACCOUNT); 
	CWnd* pWnd = GetWindow(GW_CHILD); 
	while (pWnd) 
	{ 
		if (pWnd->GetDlgCtrlID() != IDC_DISABLE_ACCOUNT) 
		{ 
			pWnd->EnableWindow(!m_bDisableAccount); 
		} 
		pWnd = pWnd->GetWindow(GW_HWNDNEXT); 
	} 
 
	CUserAccountPage *pParent = (CUserAccountPage *)m_pParent; 
	pParent->SetModified(); 
	pParent->m_TabCtrl.m_tabPages[1]->EnableWindow(!m_bDisableAccount); 
} 
 
 
/********************************************************************/ 
/*																	*/ 
/* Function name : OnInitDialog										*/ 
/* Description   : Called by the framework in response to the		*/ 
/*				   WM_INITDIALOG message.							*/ 
/*																	*/ 
/********************************************************************/ 
BOOL CGeneralTab::OnInitDialog()  
{ 
	CDialogResize::OnInitDialog(); 
	 
	InitResizing(FALSE, FALSE, WS_CLIPCHILDREN);	 
	return TRUE; 
} 
 
 
/********************************************************************/ 
/*																	*/ 
/* Function name : OnBrowse											*/ 
/* Description   : Browse for Root Folder							*/ 
/*																	*/ 
/********************************************************************/ 
void CGeneralTab::OnBrowse()  
{ 
	CString strDir = BrowseForFolder(m_hWnd, "Select a home directory:", BIF_RETURNONLYFSDIRS); 
	if (!strDir.IsEmpty()) 
	{ 
		m_strHomeDirectory = strDir; 
		UpdateData(FALSE); 
	}	 
} 
 
void CGeneralTab::OnSomethingChanged()  
{ 
	UpdateData(); 
 
	CUserAccountPage *pParent = (CUserAccountPage *)m_pParent; 
	pParent->SetModified(); 
} 
 
void CGeneralTab::OnCancel()  
{ 
//	CDialogResize::OnCancel(); 
} 
 
void CGeneralTab::OnOK()  
{ 
//	CDialogResize::OnOK(); 
} 
 
void CGeneralTab::OnEnable(BOOL bEnable)  
{ 
	CDialogResize::OnEnable(bEnable); 
	 
	CWnd* pWnd = GetWindow(GW_CHILD); 
	while (pWnd) 
	{ 
		pWnd->EnableWindow(bEnable); 
		pWnd = pWnd->GetWindow(GW_HWNDNEXT); 
	}	 
}