/* -*- 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. */ // AdvOpDlg.cpp : implementation file // Called from srchfrm.cpp and used to customize search for the search messages dialog. #include "stdafx.h" #include "AdvOpDlg.h" #include "prefapi.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CAdvSearchOptionsDlg dialog CAdvSearchOptionsDlg::CAdvSearchOptionsDlg(CWnd* pParent /*=NULL*/) : CDialog(CAdvSearchOptionsDlg::IDD, pParent) { m_pParent = pParent; if (!CDialog::Create(CAdvSearchOptionsDlg::IDD, pParent)) { TRACE0("Warning: creation of CAdvSearchOptionsDlg dialog failed\n"); return; } if( m_pParent && ::IsWindow(m_pParent->m_hWnd) ){ m_pParent->EnableWindow(FALSE); } this->EnableWindow(TRUE); //{{AFX_DATA_INIT(CAdvSearchOptionsDlg) m_bIncludeSubfolders = FALSE; m_iSearchArea = 0; //}}AFX_DATA_INIT m_bChanges= FALSE; } void CAdvSearchOptionsDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CAdvSearchOptionsDlg) DDX_Check(pDX, IDC_CHECK_SUBFOLDERS, m_bIncludeSubfolders); DDX_Radio(pDX, IDC_RADIO_SEARCH_LOCAL, m_iSearchArea); //}}AFX_DATA_MAP } BOOL CAdvSearchOptionsDlg::OnInitDialog() { CDialog::OnInitDialog(); XP_Bool bSubFolders = FALSE; XP_Bool bSearchServer = FALSE; PREF_GetBoolPref("mailnews.searchSubFolders",&bSubFolders); m_bIncludeSubfolders = bSubFolders; PREF_GetBoolPref("mailnews.searchServer",&bSearchServer); m_iSearchArea = !bSearchServer ? 0 : 1; UpdateData(FALSE); return TRUE; } void CAdvSearchOptionsDlg::OnOK() { UpdateData(); PREF_SetBoolPref("mailnews.searchSubFolders",(XP_Bool)m_bIncludeSubfolders); XP_Bool bSearchServer = m_iSearchArea ? 1 : 0; PREF_SetBoolPref("mailnews.searchServer", bSearchServer); m_bChanges = TRUE; GetParent()->PostMessage(WM_ADVANCED_OPTIONS_DONE); OnClose(); } void CAdvSearchOptionsDlg::OnHelp() { //!!TODO add NetHelp(..) call here. } void CAdvSearchOptionsDlg::PostNcDestroy() { CDialog::PostNcDestroy(); if( m_pParent && ::IsWindow(m_pParent->m_hWnd) ){ m_pParent->EnableWindow(TRUE); // Return focus to parent window m_pParent->SetActiveWindow(); m_pParent->SetFocus(); } delete this; } void CAdvSearchOptionsDlg::OnClose() { DestroyWindow(); } BEGIN_MESSAGE_MAP(CAdvSearchOptionsDlg, CDialog) //{{AFX_MSG_MAP(CAdvSearchOptionsDlg) ON_BN_CLICKED( IDOK, OnOK) ON_BN_CLICKED( IDC_ADVANCED_SEARCH_HELP, OnHelp) ON_COMMAND(IDCANCEL, OnClose) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CAdvSearchOptionsDlg message handlers