/* -*- 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 "viewerse.h" #ifdef _DEBUG #undef THIS_FILE static char BASED_CODE THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CViewerSecurity dialog CViewerSecurity::CViewerSecurity(CWnd* pParent /*=NULL*/) : CDialog(CViewerSecurity::IDD, pParent) { //{{AFX_DATA_INIT(CViewerSecurity) m_csMessage = _T(""); m_bAskNoMore = FALSE; m_csDontAskText = _T(""); //}}AFX_DATA_INIT } void CViewerSecurity::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CViewerSecurity) DDX_Text(pDX, IDC_MESSAGE, m_csMessage); DDX_Check(pDX, IDC_DONTASKAGAIN, m_bAskNoMore); DDX_Text(pDX, IDC_DONTASKTEXT, m_csDontAskText); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CViewerSecurity, CDialog) //{{AFX_MSG_MAP(CViewerSecurity) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CViewerSecurity message handlers void CViewerSecurity::OnCancel() { // TODO: Add extra cleanup here m_bCanceled = TRUE; // Call the OnOK handler to save the items therein. CDialog::OnOK(); } void CViewerSecurity::OnOK() { // TODO: Add extra validation here m_bCanceled = FALSE; CDialog::OnOK(); } ///////////////////////////////////////////////////////////////////////////// // CLaunchHelper dialog // XXX - this should become part of our general part utility routines... static LPSTR PathFindFileName(LPCSTR lpszPath) { for (LPCSTR lpszFilename = lpszPath; *lpszPath; lpszPath = AnsiNext(lpszPath)) { if ((lpszPath[0] == '\\' || lpszPath[0] == ':') && lpszPath[1] && (lpszPath[1] != '\\')) lpszFilename = lpszPath + 1; } return (LPSTR)lpszFilename; } CLaunchHelper::CLaunchHelper(LPCSTR lpszFilename, LPCSTR lpszHelperApp, BOOL canDoOLE, CWnd* pParent) : CDialog(CLaunchHelper::IDD, pParent) { //{{AFX_DATA_INIT(CLaunchHelper) m_strMessage = _T(""); m_bAlwaysAsk = FALSE; m_nAction = HELPER_OPEN_IT; m_bHandleByOLE = FALSE; //}}AFX_DATA_INIT m_doc = lpszFilename; m_canDoOLE = canDoOLE; // Build the message string that's based on the name of the application. Just use // the filename and extension part of the helper app m_strMessage.Format(szLoadString(IDS_OPENING_FILE), lpszFilename, PathFindFileName(lpszHelperApp)); } BOOL CLaunchHelper::OnInitDialog() { // Set the icon ::SendMessage(::GetDlgItem(m_hWnd, IDC_ICON1), STM_SETICON, (WPARAM)::LoadIcon(NULL, IDI_QUESTION), 0L); if (!m_canDoOLE) { EnableOLECheck(FALSE); m_bHandleByOLE = FALSE; ::ShowWindow(::GetDlgItem(m_hWnd, IDC_HANDLEBYOLE), SW_HIDE); } else { if (m_nAction == HELPER_OPEN_IT) { EnableOLECheck(TRUE); } else { EnableOLECheck(FALSE); } } return CDialog::OnInitDialog(); } void CLaunchHelper::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CViewerSecurity) DDX_Text(pDX, IDC_MESSAGE, m_strMessage); DDX_Check(pDX, IDC_CHECK1, m_bAlwaysAsk); DDX_Check(pDX, IDC_HANDLEBYOLE, m_bHandleByOLE); DDX_Radio(pDX, IDC_RADIO1, m_nAction); //}}AFX_DATA_MAP } void CLaunchHelper::EnableOLECheck(BOOL enable) { CWnd * pcWin = GetDlgItem(IDC_HANDLEBYOLE); if (enable) { pcWin->EnableWindow(TRUE); } else // if this app does not have an ole inplace server, gray out the check box. pcWin->EnableWindow(FALSE); } void CLaunchHelper::OnOpenit() { if (!m_canDoOLE) { EnableOLECheck(FALSE); m_bHandleByOLE = FALSE; ::ShowWindow(::GetDlgItem(m_hWnd, IDC_HANDLEBYOLE), SW_HIDE); } else { EnableOLECheck(TRUE); } } void CLaunchHelper::OnSaveit() { EnableOLECheck(FALSE); } BEGIN_MESSAGE_MAP(CLaunchHelper, CDialog) //{{AFX_MSG_MAP(CLaunchHelper) ON_BN_CLICKED( IDC_RADIO1, OnOpenit) ON_BN_CLICKED( IDC_RADIO2, OnSaveit) //}}AFX_MSG_MAP END_MESSAGE_MAP()