IPShitlistUserTab.cpp
资源名称:warftpd.zip [点击查看]
上传用户:surprise9
上传日期:2007-01-04
资源大小:426k
文件大小:4k
源码类别:
Ftp客户端
开发平台:
Visual C++
- // IPShitlistUserTab.cpp : implementation file
- //
- #include "stdafx.h"
- #include "WarClient.h"
- #include "edituseroption.h"
- #include "resource.h"
- #include "UserDialog.h"
- #include "IPShitlistUserTab.h"
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
- /////////////////////////////////////////////////////////////////////////////
- // CIPShitlistUserTab dialog
- CIPShitlistUserTab::CIPShitlistUserTab(CWnd* pParent /*=NULL*/)
- : CWarUserDlgTemplate(CIPShitlistUserTab::IDD, pParent)
- {
- //{{AFX_DATA_INIT(CIPShitlistUserTab)
- //}}AFX_DATA_INIT
- }
- CIPShitlistUserTab::~CIPShitlistUserTab()
- {
- }
- void CIPShitlistUserTab::DoDataExchange(CDataExchange* pDX)
- {
- CDialog::DoDataExchange(pDX);
- CString cBuf;
- //{{AFX_DATA_MAP(CIPShitlistUserTab)
- DDX_Control(pDX, IDC_IPDISABLESHITLIST, m_ctlEnableShitlist);
- //}}AFX_DATA_MAP
- if (pDX->m_bSaveAndValidate)
- {
- // Shuffle data _from_ dialog
- // We don't do that. All controls are updated (written) realtime.
- }
- else
- {
- // Shuffle data _to_ dialog
- USER Origin;
- CUserInfo *pUser = m_pUserDlg->GetCurrentUser();
- if (!pUser || (pUser->m_AliasFor != INVALID_USER_VALUE))
- {
- // We don't want to handle aliases
- m_pShitlist->DeleteAllItems();
- m_pViplist->DeleteAllItems();
- m_pMaxConn->DeleteAllItems();
- GetDlgItem(IDC_IPTOTALSHITLIST)->EnableWindow(FALSE);
- GetDlgItem(IDC_IPTOTALVIPLIST)->EnableWindow(FALSE);
- GetDlgItem(IDC_IPDISABLESHITLIST)->EnableWindow(FALSE);
- GetDlgItem(IDC_IPMAXCONCURRENTCONN)->EnableWindow(FALSE);
- }
- else
- {
- m_pUserDlg->RefreshChkButton(&m_ctlEnableShitlist, "Disable IP Shitlist", Origin);
- m_pShitlist->DeleteAllItems();
- m_pViplist->DeleteAllItems();
- if (m_ctlEnableShitlist.GetCheck() == 0)
- {
- m_pShitlist->UpdateText();
- m_pViplist->UpdateText();
- }
- m_pMaxConn->UpdateText();
- GetDlgItem(IDC_IPTOTALSHITLIST)->EnableWindow(m_ctlEnableShitlist.GetCheck() == 0);
- GetDlgItem(IDC_IPTOTALVIPLIST)->EnableWindow(m_ctlEnableShitlist.GetCheck() == 0);
- GetDlgItem(IDC_IPDISABLESHITLIST)->EnableWindow(TRUE);
- GetDlgItem(IDC_IPMAXCONCURRENTCONN)->EnableWindow(TRUE);
- }
- }
- }
- BEGIN_MESSAGE_MAP(CIPShitlistUserTab, CWarUserDlgTemplate)
- //{{AFX_MSG_MAP(CIPShitlistUserTab)
- ON_BN_CLICKED(IDC_IPDISABLESHITLIST, OnIpdisableshitlist)
- //}}AFX_MSG_MAP
- END_MESSAGE_MAP()
- /////////////////////////////////////////////////////////////////////////////
- // CIPShitlistUserTab message handlers
- BOOL CIPShitlistUserTab::OnInitDialog()
- {
- // These lines will subclass the CListCtrl's in the dialog with
- // the DLL_WAR_CLIENT CEditUserOption class derived from CListCtrl.
- // The CEditUserOption class will display the correct value/icon, based
- // on the users type and at what level the value was found.
- // The CEditUserOption class handle updating of the user database itself. All
- // we have to do is to enable/disable the windows and call CEditUserOption::UpdateText()
- // whenever we want the list controls to reflect the value in the user database.
- // CEditUserOption handles both a single line (edit control substitute) and normal lists.
- // Note: CEditUserOption must be constructed prior to calling CDialog::OnInitDialog()!
- m_pShitlist = new CEditUserOption("IP Shitlist", ";", TRUE, IDC_IPTOTALSHITLIST, this);
- m_pViplist = new CEditUserOption("IP Viplist", ";", TRUE, IDC_IPTOTALVIPLIST, this);
- m_pMaxConn = new CEditUserOption("IP MaxConn", "", FALSE, IDC_IPMAXCONCURRENTCONN, this);
- CDialog::OnInitDialog();
- UpdateData();
- return TRUE; // return TRUE unless you set the focus to a control
- // EXCEPTION: OCX Property Pages should return FALSE
- }
- void CIPShitlistUserTab::OnIpdisableshitlist()
- {
- USER Origin;
- // When we use ChkButtonClikked(), the auto state of the dialog button
- // must be disabled! ChkButtonClikked() will trigger the state.
- m_pUserDlg->ChkButtonClikked(&m_ctlEnableShitlist, "Enable IP Shitlist");
- m_pUserDlg->RefreshChkButton(&m_ctlEnableShitlist, "Enable IP Shitlist", Origin);
- UpdateData(FALSE);
- }