// FileZilla Server - a Windows ftp server // Copyright (C) 2002-2004 - Tim Kosse // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "stdafx.h" #include "filezilla server.h" #include "OptionsDlg.h" #include "OptionsPage.h" #include "OptionsLoggingPage.h" #if defined(_DEBUG) && !defined(MMGR) #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // Dialogfeld COptionsLoggingPage COptionsLoggingPage::COptionsLoggingPage(COptionsDlg *pOptionsDlg, CWnd* pParent /*=NULL*/) : COptionsPage(pOptionsDlg, COptionsLoggingPage::IDD, pParent) { //{{AFX_DATA_INIT(COptionsLoggingPage) m_bDelete = FALSE; m_DeleteTime = _T("14"); m_bLimit = FALSE; m_LimitSize = _T("100"); m_bEnable = FALSE; m_nLogtype = 0; //}}AFX_DATA_INIT } void COptionsLoggingPage::DoDataExchange(CDataExchange* pDX) { COptionsPage::DoDataExchange(pDX); //{{AFX_DATA_MAP(COptionsLoggingPage) DDX_Control(pDX, IDC_OPTIONS_LOGGING_LOGTYPE, m_cLogtype); DDX_Control(pDX, IDC_OPTIONS_LOGGING_LOGTYPE2, m_cLogtype2); DDX_Control(pDX, IDC_OPTIONS_LOGGING_LIMITSIZE, m_cLimitSize); DDX_Control(pDX, IDC_OPTIONS_LOGGING_LIMIT, m_cLimit); DDX_Control(pDX, IDC_OPTIONS_LOGGING_DELETETIME, m_cDeleteTime); DDX_Control(pDX, IDC_OPTIONS_LOGGING_DELETE, m_cDelete); DDX_Check(pDX, IDC_OPTIONS_LOGGING_DELETE, m_bDelete); DDX_Text(pDX, IDC_OPTIONS_LOGGING_DELETETIME, m_DeleteTime); DDV_MaxChars(pDX, m_DeleteTime, 3); DDX_Check(pDX, IDC_OPTIONS_LOGGING_LIMIT, m_bLimit); DDX_Text(pDX, IDC_OPTIONS_LOGGING_LIMITSIZE, m_LimitSize); DDV_MaxChars(pDX, m_LimitSize, 6); DDX_Check(pDX, IDC_OPTIONS_LOGGING_ENABLE, m_bEnable); DDX_Radio(pDX, IDC_OPTIONS_LOGGING_LOGTYPE, m_nLogtype); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(COptionsLoggingPage, COptionsPage) //{{AFX_MSG_MAP(COptionsLoggingPage) ON_BN_CLICKED(IDC_OPTIONS_LOGGING_ENABLE, OnOptionsLoggingChangedOption) ON_BN_CLICKED(IDC_OPTIONS_LOGGING_DELETE, OnOptionsLoggingChangedOption) ON_BN_CLICKED(IDC_OPTIONS_LOGGING_LIMIT, OnOptionsLoggingChangedOption) ON_BN_CLICKED(IDC_OPTIONS_LOGGING_LOGTYPE, OnOptionsLoggingChangedOption) ON_BN_CLICKED(IDC_OPTIONS_LOGGING_LOGTYPE2, OnOptionsLoggingChangedOption) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // Behandlungsroutinen für Nachrichten COptionsLoggingPage BOOL COptionsLoggingPage::OnInitDialog() { COptionsPage::OnInitDialog(); //Set ctrl states OnOptionsLoggingChangedOption(); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX-Eigenschaftenseiten sollten FALSE zurückgeben } void COptionsLoggingPage::OnOptionsLoggingChangedOption() { UpdateData(TRUE); if (m_bEnable) { m_cLimit.EnableWindow(TRUE); m_cLimitSize.EnableWindow(m_bLimit); m_cLogtype.EnableWindow(TRUE); m_cLogtype2.EnableWindow(TRUE); if (m_nLogtype == 1) { m_cDelete.EnableWindow(TRUE); m_cDeleteTime.EnableWindow(m_bDelete); } else { m_cDelete.EnableWindow(FALSE); m_cDeleteTime.EnableWindow(FALSE); } } else { m_cLimit.EnableWindow(FALSE); m_cLimitSize.EnableWindow(FALSE); m_cLogtype.EnableWindow(FALSE); m_cLogtype2.EnableWindow(FALSE); m_cDelete.EnableWindow(FALSE); m_cDeleteTime.EnableWindow(FALSE); } } void COptionsLoggingPage::LoadData() { m_bEnable = m_pOptionsDlg->GetOptionVal(OPTION_ENABLELOGGING) != 0; int nLimit = (int)m_pOptionsDlg->GetOptionVal(OPTION_LOGLIMITSIZE); m_bLimit = nLimit ? TRUE : FALSE; if (nLimit) m_LimitSize.Format(_T("%d"), nLimit); m_nLogtype = (int)m_pOptionsDlg->GetOptionVal(OPTION_LOGTYPE); int nDelete = (int)m_pOptionsDlg->GetOptionVal(OPTION_LOGDELETETIME); m_bDelete = nDelete ? TRUE : FALSE; if (nDelete) m_DeleteTime.Format(_T("%d"), nDelete); } void COptionsLoggingPage::SaveData() { m_pOptionsDlg->SetOption(OPTION_ENABLELOGGING, m_bEnable); m_pOptionsDlg->SetOption(OPTION_LOGLIMITSIZE, m_bLimit ? _ttoi(m_LimitSize) : 0); m_pOptionsDlg->SetOption(OPTION_LOGTYPE, m_nLogtype); m_pOptionsDlg->SetOption(OPTION_LOGDELETETIME, m_bDelete ? _ttoi(m_DeleteTime) : 0); }