mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-01 06:35:42 +00:00
691 lines
16 KiB
C++
691 lines
16 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.
|
|
*/
|
|
|
|
// dspppage.cpp : implementation file
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "dspppage.h"
|
|
#include "mailpriv.h"
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
|
|
#define DEF_DAYS 30
|
|
#define DEF_KEEP_NEW 500
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CDiskSpacePropertyPage property page
|
|
#ifndef _AFXDLL
|
|
#define new DEBUG_NEW
|
|
#endif
|
|
|
|
CDiskSpacePropertyPage::CDiskSpacePropertyPage(CNewsFolderPropertySheet *pParent,BOOL bDefaultPref,int nSelection, int nDays, int nKeepNew, BOOL bKeepUnread)
|
|
: CNetscapePropertyPage(CDiskSpacePropertyPage::IDD)
|
|
{
|
|
//{{AFX_DATA_INIT(CDiskSpacePropertyPage)
|
|
m_bCheckDefault = bDefaultPref;
|
|
m_nKeepSelection= nSelection;
|
|
m_nDays = DEF_DAYS;//nDays;
|
|
m_nKeepNew = DEF_KEEP_NEW;//nKeepNew;
|
|
m_bCheckUnread = bKeepUnread;
|
|
//}}AFX_DATA_INIT
|
|
m_pParent = (CNewsFolderPropertySheet*)pParent;
|
|
m_pMoreDlg = new CMoreChoicesDlg((CWnd*)this);
|
|
m_folderInfo = NULL;
|
|
}
|
|
|
|
CDiskSpacePropertyPage::~CDiskSpacePropertyPage()
|
|
{
|
|
if (m_pMoreDlg)
|
|
delete m_pMoreDlg;
|
|
}
|
|
|
|
void CDiskSpacePropertyPage::SetFolderInfo( MSG_FolderInfo *folderInfo )
|
|
{
|
|
m_folderInfo = folderInfo;
|
|
}
|
|
|
|
BOOL CDiskSpacePropertyPage::OnSetActive()
|
|
{
|
|
return CPropertyPage::OnSetActive();
|
|
}
|
|
|
|
void CDiskSpacePropertyPage::DisableOthers(BOOL bChecked)
|
|
{
|
|
//this is a toggle to the other windows of what
|
|
//ever the current state of IDC_CHECK2_DEFAULT is.
|
|
EnableDisableItem(!bChecked,IDC_BNT_MORE);
|
|
EnableDisableItem(!bChecked,IDC_EDIT_DAYS);
|
|
EnableDisableItem(!bChecked,IDC_RADIO_KEEP1);
|
|
EnableDisableItem(!bChecked,IDC_RADIO_KEEP2);
|
|
EnableDisableItem(!bChecked,IDC_RADIO_KEEP3);
|
|
EnableDisableItem(!bChecked,IDC_EDIT_NEWEST);
|
|
EnableDisableItem(!bChecked,IDC_CHECK_KEEP4);
|
|
}
|
|
|
|
|
|
BOOL CDiskSpacePropertyPage::OnInitDialog()
|
|
{
|
|
BOOL ret = CNetscapePropertyPage::OnInitDialog();
|
|
MSG_PurgeByPreferences purgeBy;
|
|
int32 nDays;
|
|
int32 nKeepNew;
|
|
|
|
//get the default start state
|
|
MSG_GetHeaderPurgingInfo(m_folderInfo, &m_bCheckDefault, &purgeBy, &m_bCheckUnread, &nDays, &nKeepNew);
|
|
|
|
m_nDays = CASTINT(nDays);
|
|
m_nKeepNew = CASTINT(nKeepNew);
|
|
|
|
switch ( purgeBy )
|
|
{
|
|
case MSG_PurgeByAge:
|
|
m_nKeepSelection = 0;
|
|
break;
|
|
case MSG_PurgeNone:
|
|
m_nKeepSelection = 1;
|
|
break;
|
|
case MSG_PurgeByNumHeaders:
|
|
m_nKeepSelection = 2;
|
|
break;
|
|
}
|
|
if (m_hWnd != NULL || IsWindow(m_hWnd))
|
|
UpdateData(FALSE);
|
|
|
|
CheckDlgButton(IDC_CHECK_KEEP4,m_bCheckUnread);
|
|
return ret;
|
|
}
|
|
|
|
|
|
void CDiskSpacePropertyPage::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CPropertyPage::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(CDiskSpacePropertyPage)
|
|
DDX_Radio(pDX,IDC_RADIO_KEEP1,m_nKeepSelection);
|
|
DDX_Text(pDX, IDC_EDIT_DAYS, m_nDays);
|
|
DDV_MinMaxUInt(pDX, m_nDays, 0, 2000);
|
|
DDX_Text(pDX, IDC_EDIT_NEWEST, m_nKeepNew);
|
|
DDV_MinMaxUInt(pDX, m_nKeepNew, 0, 2000);
|
|
DDX_Check(pDX,IDC_CHECK_KEEP4,m_bCheckUnread);
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CDiskSpacePropertyPage, CPropertyPage)
|
|
//{{AFX_MSG_MAP(CDiskSpacePropertyPage)
|
|
ON_BN_CLICKED(IDC_BNT_MORE, OnBtnMore)
|
|
ON_BN_CLICKED(IDC_DOWNLOAD_NOW, OnDownloadNow)
|
|
ON_EN_CHANGE(IDC_EDIT_DAYS, OnChangeEditDays)
|
|
ON_BN_CLICKED(IDC_RADIO_KEEP1, OnRdKeepDays)
|
|
ON_BN_CLICKED(IDC_RADIO_KEEP3, OnRdKeepNew)
|
|
ON_BN_CLICKED(IDC_RADIO_KEEP2, OnRdKeepall)
|
|
ON_EN_CHANGE(IDC_EDIT_NEWEST, OnChangeEditNewest)
|
|
ON_BN_CLICKED(IDC_CHECK_KEEP4,OnCheckUnread)
|
|
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CDiskSpacePropertyPage message handlers
|
|
void CDiskSpacePropertyPage::EnableDisableItem(BOOL bState, UINT nIDC)
|
|
{ //disable or enable a dialog item window
|
|
CWnd *pWnd = GetDlgItem(nIDC);
|
|
if (pWnd)
|
|
{
|
|
pWnd->EnableWindow(bState);
|
|
}
|
|
}
|
|
|
|
void CDiskSpacePropertyPage::OnCheckUnread()
|
|
{
|
|
SetModified();
|
|
}
|
|
|
|
|
|
void CDiskSpacePropertyPage::OnBtnMore()
|
|
{
|
|
if(m_pMoreDlg)
|
|
{
|
|
MSG_PurgeByPreferences purgeBy = MSG_PurgeNone;
|
|
int32 nDays = 30;
|
|
XP_Bool useDefaults;
|
|
|
|
MSG_GetArticlePurgingInfo(m_folderInfo, &useDefaults, &purgeBy, &nDays);
|
|
m_pMoreDlg->m_bCheck = (purgeBy == MSG_PurgeByAge) ? TRUE : FALSE;
|
|
m_pMoreDlg->m_nDays = CASTINT(nDays);
|
|
if (m_pMoreDlg->DoModal() == IDOK)
|
|
{
|
|
purgeBy = (m_pMoreDlg->m_bCheck) ? MSG_PurgeByAge : MSG_PurgeNone;
|
|
nDays = m_pMoreDlg->m_nDays;
|
|
MSG_SetArticlePurgingInfo(m_folderInfo, FALSE, purgeBy, nDays);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
void CDiskSpacePropertyPage::OnDownloadNow()
|
|
{
|
|
m_pParent->OnDownLoadButton();
|
|
}
|
|
|
|
|
|
void CDiskSpacePropertyPage::OnChangeEditDays()
|
|
{
|
|
UpdateData();
|
|
m_nKeepSelection=0;
|
|
UpdateData(FALSE);
|
|
SetModified();
|
|
}
|
|
|
|
void CDiskSpacePropertyPage::OnRdKeepDays()
|
|
{
|
|
CWnd *pWnd = GetDlgItem(IDC_EDIT_DAYS);
|
|
if (pWnd)
|
|
GotoDlgCtrl(pWnd);
|
|
SetModified();
|
|
}
|
|
|
|
void CDiskSpacePropertyPage::OnRdKeepNew()
|
|
{
|
|
CWnd *pWnd = GetDlgItem(IDC_EDIT_NEWEST);
|
|
if (pWnd)
|
|
GotoDlgCtrl(pWnd);
|
|
SetModified();
|
|
}
|
|
|
|
void CDiskSpacePropertyPage::OnRdKeepall()
|
|
{
|
|
SetModified();
|
|
}
|
|
|
|
void CDiskSpacePropertyPage::OnChangeEditNewest()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
UpdateData();
|
|
m_nKeepSelection=2;
|
|
UpdateData(FALSE);
|
|
SetModified();
|
|
}
|
|
|
|
|
|
void CDiskSpacePropertyPage::OnOK()
|
|
{
|
|
if (m_hWnd == NULL || !IsWindow(m_hWnd))
|
|
{
|
|
CNetscapePropertyPage::OnOK();
|
|
return;
|
|
}
|
|
|
|
MSG_PurgeByPreferences purgeBy = MSG_PurgeNone;
|
|
|
|
|
|
UpdateData();
|
|
|
|
switch ( m_nKeepSelection )
|
|
{
|
|
case 0:
|
|
purgeBy = MSG_PurgeByAge;
|
|
break;
|
|
case 1:
|
|
purgeBy = MSG_PurgeNone;
|
|
break;
|
|
case 2:
|
|
purgeBy = MSG_PurgeByNumHeaders;
|
|
break;
|
|
default:
|
|
XP_ASSERT(FALSE);
|
|
break;
|
|
}
|
|
|
|
//we do not allow them to change toggle from default to manual settings.
|
|
//defaults only good for newly subscribed groups. Once manual settings are
|
|
//applied, they stay applied for now.
|
|
MSG_SetHeaderPurgingInfo(m_folderInfo, FALSE, purgeBy, m_bCheckUnread, (int32) m_nDays, (int32) m_nKeepNew);
|
|
CNetscapePropertyPage::OnOK();
|
|
}
|
|
|
|
|
|
|
|
/////CMoreChoicesDlg: called from CDiskSpacePropertyPage
|
|
|
|
CMoreChoicesDlg::CMoreChoicesDlg(CWnd* pParent)
|
|
: CDialog(CMoreChoicesDlg::IDD, pParent)
|
|
{
|
|
//{{AFX_DATA_INIT(CMoreChoicesDlg)
|
|
m_bCheck = TRUE;
|
|
m_nDays = DEF_DAYS;
|
|
m_pParent = (CDiskSpacePropertyPage*)pParent;
|
|
//}}AFX_DATA_INIT
|
|
}
|
|
|
|
|
|
void CMoreChoicesDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(CMoreChoicesDlg)
|
|
DDX_Check(pDX, IDC_CHECK1, m_bCheck);
|
|
DDX_Text(pDX, IDC_EDIT1, m_nDays);
|
|
DDV_MinMaxUInt(pDX, m_nDays, 0, 2000);
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CMoreChoicesDlg, CDialog)
|
|
//{{AFX_MSG_MAP(CMoreChoicesDlg)
|
|
ON_BN_CLICKED(IDC_CHECK1, OnCheck)
|
|
ON_EN_CHANGE(IDC_EDIT1, OnChangeEdit)
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CMoreChoicesDlg message handlers
|
|
|
|
void CMoreChoicesDlg::OnCheck()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
if (m_pParent)
|
|
m_pParent->SetModified();
|
|
CWnd *pWnd = GetDlgItem(IDC_EDIT1);
|
|
if (pWnd)
|
|
GotoDlgCtrl(pWnd);
|
|
}
|
|
|
|
void CMoreChoicesDlg::OnChangeEdit()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
UpdateData();
|
|
if (m_pParent)
|
|
m_pParent->SetModified();
|
|
UpdateData(FALSE);
|
|
CheckDlgButton(IDC_CHECK1,TRUE);
|
|
}
|
|
|
|
void CMoreChoicesDlg::OnCancel()
|
|
{
|
|
CDialog::OnCancel();
|
|
if (m_pParent)
|
|
m_pParent->SetModified(FALSE);
|
|
}
|
|
|
|
void CMoreChoicesDlg::OnOK()
|
|
{
|
|
CDialog::OnOK();
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CDownLoadPPNews
|
|
// The download options property page used for Mail and News properties.
|
|
|
|
|
|
CDownLoadPPNews::CDownLoadPPNews(CNewsFolderPropertySheet *pParent) : CNetscapePropertyPage(CDownLoadPPNews::IDD)
|
|
{
|
|
//{{AFX_DATA_INIT(CNetscapePropertyPage)
|
|
m_bCheckArticles = FALSE;
|
|
m_bCheckDefault = FALSE;
|
|
m_bCheckDownLoad = FALSE;
|
|
m_bCheckByDate = FALSE;
|
|
m_nDaysAgo = 0;
|
|
m_nRadioValue = -1;
|
|
//}}AFX_DATA_INIT
|
|
m_pParent = (CNewsFolderPropertySheet*)pParent;
|
|
}
|
|
|
|
CDownLoadPPNews::~CDownLoadPPNews()
|
|
{
|
|
|
|
}
|
|
void CDownLoadPPNews::SetFolderInfo( MSG_FolderInfo *folderInfo )
|
|
{
|
|
m_folderInfo = folderInfo;
|
|
}
|
|
|
|
void CDownLoadPPNews::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CNetscapePropertyPage::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(CDownLoadPPNews)
|
|
DDX_Check(pDX, IDC_CHECK_BY_ARTICLES, m_bCheckArticles);
|
|
DDX_Check(pDX, IDC_CHECK_DEFAULT, m_bCheckDefault);
|
|
DDX_Check(pDX, IDC_CHECK_DOWNLOAD, m_bCheckDownLoad);
|
|
DDX_Check(pDX, IDC_CHECK4_BY_DATE, m_bCheckByDate);
|
|
DDX_Text(pDX, IDC_EDIT_DAYS_AGO, m_nDaysAgo);
|
|
DDV_MinMaxUInt(pDX, m_nDaysAgo, 0, 1000);
|
|
DDX_Radio(pDX, IDC_RADIO_FROM, m_nRadioValue);
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CDownLoadPPNews, CNetscapePropertyPage)
|
|
//{{AFX_MSG_MAP(CNetscapePropertyPage)
|
|
ON_BN_CLICKED(IDC_DOWNLOAD_NOW, OnDownloadNow)
|
|
ON_BN_CLICKED(IDC_CHECK_DEFAULT, OnCheckDefault)
|
|
ON_CBN_SETFOCUS(IDC_COMBO2, OnSetfocusCombo2)
|
|
ON_CBN_SELCHANGE(IDC_COMBO2, OnSelchangeCombo2)
|
|
ON_EN_CHANGE(IDC_EDIT_DAYS_AGO, OnChangeEditDaysAgo)
|
|
ON_BN_CLICKED(IDC_RADIO_SINCE, OnRadioSince)
|
|
ON_BN_CLICKED(IDC_RADIO_FROM, OnRadioFrom)
|
|
ON_BN_CLICKED(IDC_CHECK_BY_ARTICLES, OnCheckByArticles)
|
|
ON_BN_CLICKED(IDC_CHECK4_BY_DATE,OnCheckByDate)
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CDownLoadPPNews message handlers
|
|
|
|
void CDownLoadPPNews::OnDownloadNow()
|
|
{
|
|
m_pParent->OnDownLoadButton();
|
|
}
|
|
|
|
void CDownLoadPPNews::DisableOthers(BOOL bChecked)
|
|
{
|
|
//this is a toggle to the other windows of what
|
|
//ever the current state of IDC_CHECK_DEFAULT is.
|
|
EnableDisableItem(!bChecked,IDC_COMBO2);
|
|
EnableDisableItem(!bChecked,IDC_EDIT_DAYS_AGO);
|
|
EnableDisableItem(!bChecked,IDC_RADIO_SINCE);
|
|
EnableDisableItem(!bChecked,IDC_RADIO_FROM);
|
|
EnableDisableItem(!bChecked,IDC_CHECK_BY_ARTICLES);
|
|
EnableDisableItem(!bChecked,IDC_CHECK4_BY_DATE);
|
|
}
|
|
|
|
|
|
void CDownLoadPPNews::EnableDisableItem(BOOL bState, UINT nIDC)
|
|
{ //disable or enable a dialog item window
|
|
CWnd *pWnd = GetDlgItem(nIDC);
|
|
if (pWnd)
|
|
{
|
|
pWnd->EnableWindow(bState);
|
|
}
|
|
}
|
|
|
|
void CDownLoadPPNews::OnCheckDefault()
|
|
{
|
|
DisableOthers(IsDlgButtonChecked(IDC_CHECK_DEFAULT));
|
|
UpdateData();
|
|
}
|
|
|
|
void CDownLoadPPNews::OnCheckByDate()
|
|
{
|
|
//we want to default to the from radio on check by date
|
|
if (IsDlgButtonChecked(IDC_CHECK4_BY_DATE))
|
|
{
|
|
if (IsDlgButtonChecked(IDC_RADIO_SINCE))
|
|
CheckDlgButton(IDC_RADIO_SINCE,FALSE);
|
|
|
|
CWnd *pWnd = GetDlgItem(IDC_COMBO2);
|
|
CheckDlgButton(IDC_RADIO_FROM,TRUE);
|
|
if (pWnd)
|
|
GotoDlgCtrl(pWnd);
|
|
SetModified();
|
|
}
|
|
UpdateData();
|
|
}
|
|
|
|
|
|
|
|
void CDownLoadPPNews::OnSetfocusCombo2()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
|
|
CComboBox *pCombo = (CComboBox*)GetDlgItem(IDC_COMBO2);
|
|
if (pCombo)
|
|
pCombo->SetCurSel(0);
|
|
UpdateData();
|
|
}
|
|
|
|
void CDownLoadPPNews::OnSelchangeCombo2()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
if (IsDlgButtonChecked(IDC_RADIO_SINCE))
|
|
{
|
|
CheckDlgButton(IDC_RADIO_SINCE,FALSE);
|
|
CheckDlgButton(IDC_RADIO_FROM,TRUE);
|
|
}
|
|
|
|
if (!IsDlgButtonChecked(IDC_CHECK4_BY_DATE))
|
|
CheckDlgButton(IDC_CHECK4_BY_DATE,TRUE);
|
|
|
|
UpdateData();
|
|
SetModified();
|
|
}
|
|
|
|
void CDownLoadPPNews::OnChangeEditDaysAgo()
|
|
{
|
|
|
|
BOOL ret = UpdateData();
|
|
m_nRadioValue = 1;
|
|
SetModified();
|
|
UpdateData(FALSE);
|
|
if(!IsDlgButtonChecked(IDC_CHECK4_BY_DATE))
|
|
CheckDlgButton(IDC_CHECK4_BY_DATE,TRUE);
|
|
}
|
|
|
|
void CDownLoadPPNews::OnRadioSince()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
CWnd *pWnd = GetDlgItem(IDC_EDIT_DAYS_AGO);
|
|
if (pWnd)
|
|
GotoDlgCtrl(pWnd);
|
|
|
|
UpdateData();
|
|
SetModified();
|
|
}
|
|
|
|
void CDownLoadPPNews::OnRadioFrom()
|
|
{
|
|
CWnd *pWnd = GetDlgItem(IDC_COMBO2);
|
|
if (pWnd)
|
|
GotoDlgCtrl(pWnd);
|
|
SetModified();
|
|
}
|
|
|
|
void CDownLoadPPNews::OnCheckByArticles()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
UpdateData();
|
|
SetModified();
|
|
}
|
|
|
|
void CDownLoadPPNews::OnOK()
|
|
{
|
|
if (m_hWnd == NULL || !IsWindow(m_hWnd))
|
|
{
|
|
CNetscapePropertyPage::OnOK();
|
|
return;
|
|
}
|
|
UpdateData(TRUE);
|
|
|
|
|
|
if (m_nRadioValue == 0)
|
|
{
|
|
CComboBox *pCombo = (CComboBox*)GetDlgItem(IDC_COMBO2);
|
|
if (pCombo)
|
|
{
|
|
switch (pCombo->GetCurSel())
|
|
{
|
|
case 0:
|
|
m_nDaysAgo = 1;
|
|
break;
|
|
case 1:
|
|
m_nDaysAgo = 7;
|
|
break;
|
|
case 2:
|
|
m_nDaysAgo = 14;
|
|
break;
|
|
case 3:
|
|
m_nDaysAgo = 31;
|
|
break;
|
|
case 4:
|
|
m_nDaysAgo = 183;
|
|
break;
|
|
case 5:
|
|
m_nDaysAgo = 365;
|
|
|
|
}
|
|
}
|
|
}
|
|
if (m_bCheckDownLoad)
|
|
MSG_SetFolderPrefFlags(m_folderInfo, MSG_GetFolderPrefFlags(m_folderInfo) | MSG_FOLDER_PREF_OFFLINE);
|
|
else
|
|
MSG_SetFolderPrefFlags(m_folderInfo, MSG_GetFolderPrefFlags(m_folderInfo) & ~MSG_FOLDER_PREF_OFFLINE);
|
|
|
|
MSG_SetOfflineRetrievalInfo(m_folderInfo, m_bCheckDefault, m_bCheckArticles, m_bCheckArticles, m_bCheckByDate, m_nDaysAgo);
|
|
|
|
CNetscapePropertyPage::OnOK();
|
|
}
|
|
|
|
BOOL CDownLoadPPNews::OnInitDialog()
|
|
{
|
|
BOOL bRet = CNetscapePropertyPage::OnInitDialog();
|
|
XP_Bool bUnreadOnly = FALSE;
|
|
int iComboSel = -1;
|
|
int32 i32DaysAgo;
|
|
MSG_GetOfflineRetrievalInfo(m_folderInfo, &m_bCheckDefault, &m_bCheckArticles, &bUnreadOnly, &m_bCheckByDate, &i32DaysAgo);
|
|
|
|
|
|
CheckDlgButton(IDC_CHECK_BY_ARTICLES,m_bCheckArticles);
|
|
CheckDlgButton(IDC_CHECK4_BY_DATE,m_bCheckByDate);
|
|
|
|
switch (i32DaysAgo)
|
|
{
|
|
case 1:
|
|
iComboSel = 0;
|
|
break;
|
|
case 7:
|
|
iComboSel = 1;
|
|
break;
|
|
case 14:
|
|
iComboSel = 2;
|
|
break;
|
|
case 31:
|
|
iComboSel = 3;
|
|
break;
|
|
case 183:
|
|
iComboSel = 4;
|
|
break;
|
|
case 365:
|
|
iComboSel = 5;
|
|
}
|
|
if (m_bCheckByDate) {
|
|
if (iComboSel != -1) {
|
|
CComboBox *pCombo = (CComboBox*)GetDlgItem(IDC_COMBO2);
|
|
if (pCombo) {
|
|
pCombo->SetCurSel(iComboSel);
|
|
}
|
|
m_nRadioValue = 0;
|
|
CheckDlgButton(IDC_RADIO_FROM,TRUE);
|
|
}
|
|
else
|
|
{
|
|
m_nRadioValue = 1;
|
|
m_nDaysAgo=i32DaysAgo;
|
|
CheckDlgButton(IDC_RADIO_SINCE,TRUE);
|
|
}
|
|
}
|
|
m_bCheckDownLoad = MSG_GetFolderPrefFlags(m_folderInfo) & MSG_FOLDER_PREF_OFFLINE;
|
|
CheckDlgButton(IDC_CHECK_DOWNLOAD,m_bCheckDownLoad);
|
|
CheckDlgButton(IDC_CHECK_DEFAULT,m_bCheckDefault);
|
|
DisableOthers(m_bCheckDefault);
|
|
UpdateData(FALSE);
|
|
return bRet;
|
|
}
|
|
|
|
BOOL CDownLoadPPNews::OnSetActive()
|
|
{
|
|
return CNetscapePropertyPage::OnSetActive();
|
|
}
|
|
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CDownLoadPPNews
|
|
// The download options property page used for Mail and News properties.
|
|
|
|
|
|
CDownLoadPPMail::CDownLoadPPMail() : CNetscapePropertyPage(CDownLoadPPMail::IDD)
|
|
{
|
|
//{{AFX_DATA_INIT(CNetscapePropertyPage)
|
|
m_bCheckDownLoadMail = FALSE;
|
|
//}}AFX_DATA_INIT
|
|
}
|
|
|
|
CDownLoadPPMail::~CDownLoadPPMail()
|
|
{
|
|
}
|
|
|
|
void CDownLoadPPMail::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CNetscapePropertyPage::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(CDownLoadPPMail)
|
|
DDX_Check(pDX, IDC_CHECK1, m_bCheckDownLoadMail);
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CDownLoadPPMail, CNetscapePropertyPage)
|
|
//{{AFX_MSG_MAP(CNetscapePropertyPage)
|
|
ON_BN_CLICKED(IDC_CHECK_DEFAULT, OnCheckDownLoad)
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CDownLoadPPNews message handlers
|
|
|
|
void CDownLoadPPMail::OnCheckDownLoad()
|
|
{
|
|
}
|
|
|
|
void CDownLoadPPMail::SetFolderInfo(MSG_FolderInfo *pfolderInfo)
|
|
{
|
|
m_pfolderInfo = pfolderInfo;
|
|
}
|
|
|
|
void CDownLoadPPMail::OnOK()
|
|
{
|
|
if (m_hWnd == NULL || !IsWindow(m_hWnd))
|
|
{
|
|
CNetscapePropertyPage::OnOK();
|
|
return;
|
|
}
|
|
CNetscapePropertyPage::OnOK();
|
|
|
|
MSG_SetFolderPrefFlags(m_pfolderInfo, (m_bCheckDownLoadMail == 1 ? MSG_FOLDER_PREF_OFFLINE : !MSG_FOLDER_PREF_OFFLINE) );
|
|
|
|
// TODO: Add your specialized code here and/or call the base class
|
|
}
|
|
|
|
BOOL CDownLoadPPMail::OnInitDialog()
|
|
{
|
|
BOOL ret = CNetscapePropertyPage::OnInitDialog();
|
|
// TODO: Add your specialized code here and/or call the base class
|
|
m_bCheckDownLoadMail = MSG_FOLDER_PREF_OFFLINE & MSG_GetFolderPrefFlags(m_pfolderInfo);
|
|
|
|
UpdateData(FALSE);
|
|
return ret;
|
|
}
|