mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-01 14:45:29 +00:00
145 lines
3.8 KiB
C++
145 lines
3.8 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.
|
||
|
*/
|
||
|
|
||
|
// AskMeDlg.cpp : implementation file
|
||
|
//
|
||
|
|
||
|
#include "stdafx.h"
|
||
|
#include "askmedlg.h"
|
||
|
#include "prefapi.h"
|
||
|
|
||
|
#ifdef _DEBUG
|
||
|
#define new DEBUG_NEW
|
||
|
#undef THIS_FILE
|
||
|
static char THIS_FILE[] = __FILE__;
|
||
|
#endif
|
||
|
|
||
|
void AskMeDlg(void)
|
||
|
{
|
||
|
int32 nPromptAskMe = FALSE;
|
||
|
PREF_GetIntPref("offline.startup_mode", &nPromptAskMe);
|
||
|
if (nPromptAskMe==0) //online
|
||
|
PREF_SetBoolPref("network.online", TRUE);
|
||
|
else if (nPromptAskMe==1) //offline
|
||
|
PREF_SetBoolPref("network.online", FALSE);
|
||
|
else if (nPromptAskMe==2) //ask me
|
||
|
{
|
||
|
CAskMeDlg rAskMeDlg(nPromptAskMe);
|
||
|
rAskMeDlg.DoModal();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
// CAskMeDlg dialog
|
||
|
|
||
|
|
||
|
CAskMeDlg::CAskMeDlg(BOOL bDefault/*FALSE*/, int nOnOffLine/*0-the default*/,
|
||
|
CWnd* pParent /*=NULL*/)
|
||
|
: CDialog(CAskMeDlg::IDD, pParent)
|
||
|
{
|
||
|
XP_Bool bOnline = TRUE;
|
||
|
PREF_GetBoolPref("network.online", &bOnline);
|
||
|
|
||
|
//{{AFX_DATA_INIT(CAskMeDlg)
|
||
|
m_nStartupSelection = (bOnline == 1 ? 0 : 1);
|
||
|
m_bAskMeDefault = 0;
|
||
|
//}}AFX_DATA_INIT
|
||
|
}
|
||
|
|
||
|
|
||
|
void CAskMeDlg::DoDataExchange(CDataExchange* pDX)
|
||
|
{
|
||
|
CDialog::DoDataExchange(pDX);
|
||
|
//{{AFX_DATA_MAP(CAskMeDlg)
|
||
|
DDX_Radio(pDX, IDC_RADIO_ONLINE, m_nStartupSelection);
|
||
|
DDX_Check(pDX, IDC_CHECK_ASKME_DEFAULT, m_bAskMeDefault);
|
||
|
//}}AFX_DATA_MAP
|
||
|
}
|
||
|
|
||
|
|
||
|
BEGIN_MESSAGE_MAP(CAskMeDlg, CDialog)
|
||
|
//{{AFX_MSG_MAP(CAskMeDlg)
|
||
|
ON_BN_CLICKED(IDC_CHECK_ASKME_DEFAULT, OnCheckAskMeDefault)
|
||
|
//}}AFX_MSG_MAP
|
||
|
END_MESSAGE_MAP()
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
// CAskMeDlg message handlers
|
||
|
|
||
|
void CAskMeDlg::OnOK()
|
||
|
{
|
||
|
//Save any preference settings that may have been chosen
|
||
|
CDialog::OnOK();
|
||
|
UpdateData();
|
||
|
if (IsDlgButtonChecked(IDC_CHECK_ASKME_DEFAULT))
|
||
|
{
|
||
|
if (IsDlgButtonChecked(IDC_RADIO_ONLINE))
|
||
|
{
|
||
|
PREF_SetBoolPref("network.online", TRUE);
|
||
|
PREF_SetIntPref("offline.startup_mode",0);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
PREF_SetBoolPref("network.online", FALSE);
|
||
|
PREF_SetIntPref("offline.startup_mode",1);
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if (IsDlgButtonChecked(IDC_RADIO_ONLINE))
|
||
|
PREF_SetBoolPref("network.online", TRUE);
|
||
|
else
|
||
|
PREF_SetBoolPref("network.online", FALSE);
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
void CAskMeDlg::OnCheckAskMeDefault()
|
||
|
{
|
||
|
}
|
||
|
|
||
|
|
||
|
void CAskMeDlg::EnableDisableItem(BOOL bState, UINT nIDC)
|
||
|
{
|
||
|
CWnd *pWnd = GetDlgItem(nIDC);
|
||
|
if (pWnd)
|
||
|
{
|
||
|
pWnd->EnableWindow(bState);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
BOOL CAskMeDlg::OnInitDialog()
|
||
|
{
|
||
|
BOOL bReturn = CDialog::OnInitDialog();
|
||
|
CWnd *pWnd = NULL;
|
||
|
|
||
|
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_hFont = theApp.CreateAppFont( m_LogFont );
|
||
|
::SendMessage(::GetDlgItem(m_hWnd, IDC_STATIC_TITLE), WM_SETFONT, (WPARAM)m_hFont, FALSE);
|
||
|
::SendMessage(::GetDlgItem(m_hWnd, IDC_RADIO_ONLINE), WM_SETFONT, (WPARAM)m_hFont, FALSE);
|
||
|
::SendMessage(::GetDlgItem(m_hWnd, IDC_RADIO_OFFLINE), WM_SETFONT, (WPARAM)m_hFont, FALSE);
|
||
|
::SendMessage(::GetDlgItem(m_hWnd, IDC_CHECK_ASKME_DEFAULT), WM_SETFONT, (WPARAM)m_hFont, FALSE);
|
||
|
}
|
||
|
|
||
|
return bReturn;
|
||
|
}
|