mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-31 22:25:30 +00:00
589 lines
14 KiB
C++
589 lines
14 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 "mailpriv.h"
|
|
#include "wfemsg.h"
|
|
#include "prefapi.h"
|
|
#include "nethelp.h"
|
|
#include "xp_help.h"
|
|
#include "offpkdlg.h"
|
|
#include "offlndlg.h"
|
|
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// COfflineInfo
|
|
// Note bGoOffline is true if we need to go offline, false if we need
|
|
// to go online
|
|
// bChangeState is TRUE if the bGoOffline parameter is to be used,
|
|
// FALSE if it will be ignored.
|
|
COfflineInfo::COfflineInfo(BOOL bDownloadMail, BOOL bDownloadNews,
|
|
BOOL bDownloadDirectories,
|
|
BOOL bSendMail, BOOL bDownloadFlagged,
|
|
BOOL bGoOffline, BOOL bChangeState)
|
|
{
|
|
m_bDownloadMail = bDownloadMail;
|
|
m_bDownloadNews = bDownloadNews;
|
|
m_bDownloadDirectories = bDownloadDirectories;
|
|
m_bSendMail = bSendMail;
|
|
m_bDownloadFlagged = bDownloadFlagged;
|
|
m_bGoOffline = bGoOffline;
|
|
m_bChangeState = bChangeState;
|
|
}
|
|
|
|
BOOL COfflineInfo::DownloadMail()
|
|
{
|
|
return m_bDownloadMail;
|
|
}
|
|
|
|
BOOL COfflineInfo::DownloadNews()
|
|
{
|
|
return m_bDownloadNews;
|
|
}
|
|
|
|
BOOL COfflineInfo::DownloadDirectories()
|
|
{
|
|
return m_bDownloadDirectories;
|
|
}
|
|
|
|
BOOL COfflineInfo::SendMail()
|
|
{
|
|
return m_bSendMail;
|
|
}
|
|
|
|
BOOL COfflineInfo::DownloadFlagged()
|
|
{
|
|
return m_bDownloadFlagged;
|
|
}
|
|
|
|
BOOL COfflineInfo::GoOffline()
|
|
{
|
|
return m_bGoOffline;
|
|
}
|
|
|
|
BOOL COfflineInfo::ChangeState()
|
|
{
|
|
return m_bChangeState;
|
|
}
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// COfflineDlg dialog
|
|
|
|
|
|
COfflineDlg::COfflineDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(COfflineDlg::IDD, pParent)
|
|
{
|
|
XP_Bool bDiscussions = 0;
|
|
XP_Bool bMail = 0;
|
|
XP_Bool bMessages = 0;
|
|
XP_Bool bDirectories = 0;
|
|
XP_Bool bFlagged = 0;
|
|
XP_Bool bGoOffline = 0;
|
|
|
|
PREF_GetBoolPref("offline.download_discussions",&bDiscussions);
|
|
PREF_GetBoolPref("offline.download_mail",&bMail);
|
|
PREF_GetBoolPref("offline.download_messages",&bMessages);
|
|
PREF_GetBoolPref("offline.download_directories",&bDirectories);
|
|
// PREF_GetBoolPref("offline.download_flagged", &bFlagged);
|
|
PREF_GetBoolPref("offline.download_gooffline",&bGoOffline);
|
|
|
|
|
|
|
|
m_bDownLoadDiscussions = bDiscussions;
|
|
m_bDownLoadMail = bMail;
|
|
m_bSendMessages = bMessages;
|
|
m_bDownLoadDirectories = bDirectories;
|
|
// m_bDownLoadFlagged = bFlagged;
|
|
m_bGoOffline = bGoOffline;
|
|
|
|
m_bMode = NET_IsOffline();
|
|
}
|
|
|
|
void COfflineDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
DDX_Check(pDX, IDC_DWNLD_CHECK_MAIL, m_bDownLoadMail);
|
|
DDX_Check(pDX, IDC_DWNLD_CHECK_DISCUSSIONS, m_bDownLoadDiscussions);
|
|
DDX_Check(pDX, IDC_DWNLD_CHECK_DIRECTORIES, m_bDownLoadDirectories);
|
|
DDX_Check(pDX, IDC_DWNLD_CHECK_SENDMAIL, m_bSendMessages);
|
|
// DDX_Check(pDX, IDC_DOWNLOADFLAGGED, m_bDownLoadFlagged);
|
|
DDX_Check(pDX, IDC_DWNLD_CHECK_GO_OFFLINE, m_bGoOffline);
|
|
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(COfflineDlg, CDialog)
|
|
//{{AFX_MSG_MAP(COfflineDlg)
|
|
ON_BN_CLICKED(IDC_DWNLD_BUTTON_SELECT, OnButtonSelect)
|
|
ON_BN_CLICKED(IDC_DWNLD_HELP_GO_OFFLINE, OnHelp)
|
|
ON_WM_PAINT()
|
|
ON_WM_DESTROY()
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// COfflineDlg message handlers
|
|
|
|
void COfflineDlg::OnButtonSelect()
|
|
{
|
|
CDlgOfflinePicker OfflinePickerDlg(this);
|
|
OfflinePickerDlg.DoModal();
|
|
/*
|
|
CDlgSelectGroups dlgSelectGroups(this);
|
|
dlgSelectGroups.DoModal();
|
|
CWnd *pWnd = GetDlgItem(IDC_TEXT_DISCUSSIONS_SELECTED);
|
|
CString strCountText;
|
|
CString strTemp;
|
|
|
|
if (pWnd)
|
|
{
|
|
strTemp.LoadString(IDS_TEXT_DISCUSSIONS_SELECTED);
|
|
char buf[20];
|
|
strCountText = itoa(dlgSelectGroups.GetSelectionCount(),buf,10) + (CString)" "+ strTemp;
|
|
pWnd->SetWindowText(strCountText);
|
|
}
|
|
|
|
pWnd = GetDlgItem(IDC_TEXT_FOLDERS_SELECTED);
|
|
if (pWnd)
|
|
{
|
|
strTemp.LoadString(IDS_TEXT_FOLDERS_SELECTED);
|
|
char buf[20];
|
|
strCountText = itoa(dlgSelectGroups.GetMailSelectionCount(),buf,10) + (CString)" "+ strTemp;
|
|
pWnd->SetWindowText(strCountText);
|
|
}
|
|
*/
|
|
}
|
|
|
|
void COfflineDlg::ShutDownFrameCallBack(HWND hwnd, MSG_Pane *pane, void * closure)
|
|
{
|
|
if (::IsWindow(hwnd)) {
|
|
::ShowWindow(hwnd,SW_SHOW);
|
|
::UpdateWindow(hwnd);
|
|
}
|
|
|
|
if (pane)
|
|
{
|
|
COfflineInfo *info = (COfflineInfo *) closure;
|
|
|
|
|
|
BOOL bGoOffline = info->ChangeState() && info->GoOffline();
|
|
MSG_SynchronizeOffline(WFE_MSGGetMaster(), pane, info->DownloadNews(),
|
|
info->DownloadMail(), info->SendMail(), info->DownloadDirectories(),
|
|
bGoOffline);
|
|
|
|
}
|
|
}
|
|
|
|
BOOL COfflineDlg::ShowOnlineCallBack(HWND hWnd, MSG_Pane *pane, void * closure)
|
|
{
|
|
BOOL bSendMail = FALSE;
|
|
if (pane)
|
|
{
|
|
COfflineInfo *info = (COfflineInfo *) closure;
|
|
|
|
bSendMail = info->SendMail();
|
|
|
|
//handle going online:
|
|
if(info->ChangeState() && !info->GoOffline())
|
|
{
|
|
|
|
XP_Bool bSelectable;
|
|
MSG_COMMAND_CHECK_STATE selected;
|
|
const char * pString;
|
|
XP_Bool bPlural;
|
|
|
|
MSG_CommandStatus (pane,MSG_DeliverQueuedMessages,
|
|
NULL, 0,&bSelectable, &selected, &pString,
|
|
&bPlural);
|
|
int32 prefInt;
|
|
|
|
|
|
PREF_GetIntPref("offline.send.unsent_messages", &prefInt);
|
|
|
|
//check for unsent messages.
|
|
if(prefInt == 0)
|
|
{
|
|
bSendMail = FALSE;
|
|
if(bSelectable)
|
|
{
|
|
int result = ::MessageBox(hWnd, ::szLoadString(IDS_SENDONLINE),
|
|
::szLoadString(IDS_GOONLINE),
|
|
MB_YESNO | MB_APPLMODAL);
|
|
|
|
bSendMail = (result == IDYES);
|
|
}
|
|
|
|
}
|
|
else if (prefInt == 1)
|
|
{
|
|
//if there's mail send it otherwise don't.
|
|
bSendMail = bSelectable;
|
|
}
|
|
else
|
|
{
|
|
bSendMail = FALSE;
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
//if bSendMail is true we want to bring up a progress pane
|
|
return bSendMail;
|
|
}
|
|
|
|
void WFE_Synchronize(CWnd *pParent, BOOL bExitAfterSynchronizing)
|
|
{
|
|
if(bExitAfterSynchronizing)
|
|
{
|
|
theApp.HideFrames();
|
|
}
|
|
|
|
BOOL bOnline;
|
|
COfflineDlg rDlg(pParent);
|
|
PREF_GetBoolPref("network.online", &bOnline);
|
|
rDlg.InitDialog(!bOnline);
|
|
int result = rDlg.DoModal();
|
|
|
|
if(result == IDOK && rDlg.DownloadItems())
|
|
{
|
|
//note we only change state if we go offline.
|
|
COfflineInfo info(rDlg.m_bDownLoadMail, rDlg.m_bDownLoadDiscussions,
|
|
rDlg.m_bDownLoadDirectories,
|
|
rDlg.m_bSendMessages, FALSE,
|
|
rDlg.m_bGoOffline, rDlg.m_bGoOffline);
|
|
|
|
theApp.m_bSynchronizing = TRUE;
|
|
new COfflineProgressDialog(pParent, NULL,COfflineDlg::ShutDownFrameCallBack,
|
|
&info,szLoadString(IDS_SYNCHRONIZING), NULL, bExitAfterSynchronizing);
|
|
}
|
|
else
|
|
{
|
|
if(bExitAfterSynchronizing)
|
|
{
|
|
theApp.CommonAppExit();
|
|
}
|
|
}
|
|
}
|
|
|
|
/* rhp - This is for doing MAPI Synchronizing... */
|
|
void
|
|
WFE_MAPISynchronize(CWnd *pParent)
|
|
{
|
|
BOOL bOnline;
|
|
COfflineDlg rDlg(pParent);
|
|
PREF_GetBoolPref("network.online", &bOnline);
|
|
rDlg.InitDialog(!bOnline);
|
|
// int result = rDlg.DoModal(); - no need for showing dialog...
|
|
|
|
// we only change state if we go offline.
|
|
COfflineInfo info(rDlg.m_bDownLoadMail, rDlg.m_bDownLoadDiscussions,
|
|
rDlg.m_bDownLoadDirectories,
|
|
rDlg.m_bSendMessages, FALSE,
|
|
rDlg.m_bGoOffline, rDlg.m_bGoOffline);
|
|
|
|
theApp.m_bSynchronizing = TRUE;
|
|
new COfflineProgressDialog(pParent, NULL,COfflineDlg::ShutDownFrameCallBack,
|
|
&info,szLoadString(IDS_SYNCHRONIZING), NULL, FALSE);
|
|
}
|
|
|
|
/*
|
|
* Return if there are items to download based on this dialog's current settings
|
|
*/
|
|
BOOL COfflineDlg::DownloadItems()
|
|
{
|
|
|
|
return((m_bDownLoadDiscussions || m_bDownLoadMail || m_bSendMessages ||
|
|
m_bDownLoadDirectories ));
|
|
|
|
}
|
|
|
|
void COfflineDlg::OnOK()
|
|
{
|
|
// TODO: Add extra validation here
|
|
UpdateData();
|
|
|
|
/* if ((m_bDownLoadDiscussions || m_bDownLoadMail || m_bSendMessages ||
|
|
m_bDownLoadDirectories ))
|
|
{
|
|
new CProgressDialog(this, NULL,ShutDownFrameCallBack,
|
|
this,szLoadString(IDS_DOWNLOADINGARTICLES)); // need correct window title
|
|
;//DownLoad!!!!!!!
|
|
}
|
|
else
|
|
{
|
|
PREF_SetBoolPref("network.online", m_bMode);
|
|
}
|
|
*/
|
|
if (!m_bDownLoadDiscussions && !m_bDownLoadMail && !m_bDownLoadDirectories && !m_bSendMessages)
|
|
PREF_SetBoolPref("network.online", !m_bGoOffline);
|
|
|
|
PREF_SetBoolPref("offline.download_discussions",(XP_Bool)m_bDownLoadDiscussions);
|
|
PREF_SetBoolPref("offline.download_mail",(XP_Bool)m_bDownLoadMail);
|
|
PREF_SetBoolPref("offline.download_directories",(XP_Bool)m_bDownLoadDirectories);
|
|
PREF_SetBoolPref("offline.download_messages",(XP_Bool)m_bSendMessages);
|
|
// PREF_SetBoolPref("offline.download_flagged", (XP_Bool)m_bDownLoadFlagged);
|
|
|
|
CDialog::OnOK();
|
|
}
|
|
|
|
void COfflineDlg::OnHelp()
|
|
{
|
|
NetHelp(HELP_MAILNEWS_SYNCHRONIZE);
|
|
}
|
|
|
|
int COfflineDlg::DoModal()
|
|
{
|
|
if (!m_MNResourceSwitcher.Initialize())
|
|
return -1;
|
|
return CDialog::DoModal();
|
|
}
|
|
|
|
BOOL COfflineDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
m_MNResourceSwitcher.Reset();
|
|
|
|
CWnd *pWnd1 = GetDlgItem(IDC_DWNLD_STATIC_MGD);
|
|
if (!pWnd1 )
|
|
return FALSE;
|
|
|
|
HFONT hFont = (HFONT)this->SendMessage(WM_GETFONT);
|
|
if (hFont != NULL)
|
|
{ //make the title bold
|
|
VERIFY(::GetObject(hFont, sizeof(LOGFONT), &m_LogFont));
|
|
m_LogFont.lfWeight=FW_BOLD;
|
|
m_Font.CreateFontIndirect(&m_LogFont);
|
|
|
|
pWnd1->SetFont(&m_Font);
|
|
}
|
|
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
}
|
|
|
|
|
|
|
|
void COfflineDlg::OnDestroy( )
|
|
{
|
|
int i = 0;
|
|
}
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////
|
|
////CGoOfflineAndSynchDlg
|
|
|
|
CGoOfflineAndSynchDlg::CGoOfflineAndSynchDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(CGoOfflineAndSynchDlg::IDD, pParent)
|
|
{
|
|
XP_Bool bDiscussions = 0;
|
|
XP_Bool bMail = 0;
|
|
XP_Bool bMessages = 0;
|
|
#ifdef WIN32
|
|
XP_Bool bPages = 0;
|
|
XP_Bool bChannels = 0;
|
|
#endif
|
|
XP_Bool bDirectories = 0;
|
|
XP_Bool bGoOffline = 0;
|
|
|
|
PREF_GetBoolPref("offline.download_discussions",&bDiscussions);
|
|
PREF_GetBoolPref("offline.download_mail",&bMail);
|
|
PREF_GetBoolPref("offline.download_messages",&bMessages);
|
|
|
|
#ifdef WIN32
|
|
PREF_GetBoolPref("offline.download_pages",&bPages);
|
|
PREF_GetBoolPref("offline.download_channels",&bChannels);
|
|
#endif
|
|
PREF_GetBoolPref("offline.download_directories",&bDirectories);
|
|
PREF_GetBoolPref("offline.download_gooffline",&bGoOffline);
|
|
|
|
m_bDownLoadDiscussions = bDiscussions;
|
|
m_bDownLoadMail = bMail;
|
|
m_bSendMessages = bMessages;
|
|
|
|
#ifdef WIN32
|
|
m_bDownLoadPages = bPages;
|
|
m_bDownLoadChannels = bChannels;
|
|
#endif
|
|
m_bDownLoadDirectories = bDirectories;
|
|
m_bGoOffline = bGoOffline;
|
|
|
|
m_bMode = NET_IsOffline();//get offline mode
|
|
}
|
|
|
|
BEGIN_MESSAGE_MAP(CGoOfflineAndSynchDlg, CDialog)
|
|
//{{AFX_MSG_MAP(CGoOfflineAndSynchDlg)
|
|
ON_BN_CLICKED(IDCANCEL, OnCancel)
|
|
ON_BN_CLICKED(IDC_HELP_DOWNLOAD, OnHelp)
|
|
ON_BN_CLICKED(IDC_BUTTON_NO, OnNo)
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// COfflineDlg message handlers
|
|
|
|
void CGoOfflineAndSynchDlg::OnCancel()
|
|
{
|
|
CDialog::OnCancel();
|
|
}
|
|
|
|
void CGoOfflineAndSynchDlg::OnNo()
|
|
{
|
|
PREF_SetBoolPref("network.online", m_bMode);
|
|
CDialog::OnOK();
|
|
}
|
|
|
|
void CGoOfflineAndSynchDlg::ShutDownFrameCallBack(HWND hwnd, MSG_Pane *pane, void * closure)
|
|
{
|
|
if (::IsWindow(hwnd)) {
|
|
::ShowWindow(hwnd,SW_SHOW);
|
|
::UpdateWindow(hwnd);
|
|
}
|
|
|
|
if (pane)
|
|
{
|
|
CGoOfflineAndSynchDlg *SynchronizeDlg = (CGoOfflineAndSynchDlg *) closure;
|
|
MSG_GoOffline(WFE_MSGGetMaster(), pane, SynchronizeDlg->m_bDownLoadDiscussions, SynchronizeDlg->m_bDownLoadMail,
|
|
SynchronizeDlg->m_bSendMessages, FALSE /*getDirectories*/);
|
|
}
|
|
}
|
|
|
|
void CGoOfflineAndSynchDlg::OnOK()
|
|
{
|
|
// TODO: Add extra validation here
|
|
#ifdef WIN32
|
|
if ((m_bDownLoadDiscussions || m_bDownLoadMail || m_bSendMessages ||
|
|
m_bDownLoadDirectories || m_bDownLoadPages || m_bDownLoadChannels))
|
|
#else
|
|
if ((m_bDownLoadDiscussions || m_bDownLoadMail || m_bSendMessages ||
|
|
m_bDownLoadDirectories ))
|
|
#endif
|
|
{
|
|
new CProgressDialog(this, NULL,ShutDownFrameCallBack,
|
|
this,szLoadString(IDS_DOWNLOADINGARTICLES)); // need correct window title
|
|
;//DownLoad!!!!!!!
|
|
// somehow we need to wait until downloading is done.
|
|
}
|
|
else
|
|
{
|
|
PREF_SetBoolPref("network.online", m_bMode);
|
|
}
|
|
|
|
PREF_SetBoolPref("offline.download_discussions",(XP_Bool)m_bDownLoadDiscussions);
|
|
PREF_SetBoolPref("offline.download_mail",(XP_Bool)m_bDownLoadMail);
|
|
PREF_SetBoolPref("offline.download_directories",(XP_Bool)m_bDownLoadDirectories);
|
|
PREF_SetBoolPref("offline.download_messages",(XP_Bool)m_bSendMessages);
|
|
|
|
CDialog::OnOK();
|
|
}
|
|
|
|
void CGoOfflineAndSynchDlg::OnHelp()
|
|
{
|
|
NetHelp(HELP_OFFLINE_DOWNLOAD);
|
|
}
|
|
|
|
|
|
int CGoOfflineAndSynchDlg::DoModal()
|
|
{
|
|
if (!m_MNResourceSwitcher.Initialize())
|
|
return -1;
|
|
return CDialog::DoModal();
|
|
}
|
|
|
|
BOOL CGoOfflineAndSynchDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
m_MNResourceSwitcher.Reset();
|
|
|
|
CWnd *pWnd1 = GetDlgItem(IDC_STATIC_SYNC_QUESTION);
|
|
if (!pWnd1)
|
|
return FALSE;
|
|
|
|
HFONT hFont = (HFONT)this->SendMessage(WM_GETFONT);
|
|
if (hFont != NULL)
|
|
{ //make the title bold
|
|
VERIFY(::GetObject(hFont, sizeof(LOGFONT), &m_LogFont));
|
|
m_LogFont.lfWeight=FW_BOLD;
|
|
m_Font.CreateFontIndirect(&m_LogFont);
|
|
pWnd1->SetFont(&m_Font);
|
|
}
|
|
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CAskSynchronizeExitDlg dialog
|
|
|
|
|
|
CAskSynchronizeExitDlg::CAskSynchronizeExitDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(CAskSynchronizeExitDlg::IDD, pParent)
|
|
{
|
|
|
|
}
|
|
|
|
void CAskSynchronizeExitDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
DDX_Check(pDX, IDC_DONTASKAGAIN, m_bDontAskAgain);
|
|
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CAskSynchronizeExitDlg, CDialog)
|
|
//{{AFX_MSG_MAP(CAskSynchronizeExitDlg)
|
|
ON_BN_CLICKED(IDYES, OnYes)
|
|
ON_BN_CLICKED(IDNO, OnNo)
|
|
ON_WM_PAINT()
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CAskSynchronizeExitDlg message handlers
|
|
|
|
|
|
|
|
void CAskSynchronizeExitDlg::OnYes()
|
|
{
|
|
CommonClose();
|
|
EndDialog(IDYES);
|
|
}
|
|
|
|
void CAskSynchronizeExitDlg::OnNo()
|
|
{
|
|
CommonClose();
|
|
EndDialog(IDNO);
|
|
}
|
|
|
|
void CAskSynchronizeExitDlg::CommonClose()
|
|
{
|
|
// TODO: Add extra validation here
|
|
UpdateData();
|
|
|
|
|
|
if(m_bDontAskAgain)
|
|
{
|
|
PREF_SetBoolPref("offline.prompt_synch_on_exit",(XP_Bool)!m_bDontAskAgain);
|
|
}
|
|
}
|
|
|
|
|