// DialogSettings.cpp // // (c)1998-2025 Codejock Software, All Rights Reserved. // // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN // CONSENT OF CODEJOCK SOFTWARE. // // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED // IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A // SINGLE COMPUTER. // // CONTACT INFORMATION: // support@codejock.com // http://www.codejock.com // ///////////////////////////////////////////////////////////////////////////// #include "stdafx.h" #include "grep.h" #include "DialogSettings.h" #include "MainFrm.h" #ifdef _DEBUG # define new DEBUG_NEW # undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif CApplicationSettings::CApplicationSettings() { m_bUseEditor = TRUE; m_strEditor = _T("notepad.exe"); } void CApplicationSettings::SaveSettings() { AfxGetApp()->WriteProfileInt(_T("Settings"), _T("UseEditor"), m_bUseEditor); AfxGetApp()->WriteProfileString(_T("Settings"), _T("Editor"), m_strEditor); } void CApplicationSettings::LoadSettings() { m_bUseEditor = AfxGetApp()->GetProfileInt(_T("Settings"), _T("UseEditor"), TRUE); m_strEditor = AfxGetApp()->GetProfileString(_T("Settings"), _T("Editor"), m_strEditor); } CApplicationSettings g_settings; ///////////////////////////////////////////////////////////////////////////// // CDialogSettings dialog CDialogSettings::CDialogSettings(CWnd* pParent /*=NULL*/) : CXTPDialog(CDialogSettings::IDD, pParent) { //{{AFX_DATA_INIT(CDialogSettings) m_bUseEditor = g_settings.m_bUseEditor; m_strEditor = g_settings.m_strEditor; //}}AFX_DATA_INIT } CDialogSettings::~CDialogSettings() { if (m_brBack.GetSafeHandle()) m_brBack.DeleteObject(); } void CDialogSettings::DoDataExchange(CDataExchange* pDX) { CXTPDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CDialogSettings) DDX_Control(pDX, IDC_GROUP_SETTINGS, m_btnGBox); DDX_Control(pDX, IDC_RADIO_ASSOCIATED, m_btnAssociated); DDX_Control(pDX, IDC_RADIO_EDITOR, m_btnEditor); DDX_Control(pDX, IDC_EDIT_EDITOR, m_Editor); DDX_Control(pDX, IDOK, m_btnOk); DDX_Control(pDX, IDCANCEL, m_btnCancel); DDX_Radio(pDX, IDC_RADIO_ASSOCIATED, m_bUseEditor); DDX_Text(pDX, IDC_EDIT_EDITOR, m_strEditor); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CDialogSettings, CXTPDialog) //{{AFX_MSG_MAP(CDialogSettings) ON_WM_CTLCOLOR() ON_BN_CLICKED(IDC_RADIO_ASSOCIATED, OnRadioEditorChanged) ON_BN_CLICKED(IDC_RADIO_EDITOR, OnRadioEditorChanged) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CDialogSettings message handlers void CDialogSettings::OnOK() { UpdateData(); g_settings.m_bUseEditor = m_bUseEditor; g_settings.m_strEditor = m_strEditor; g_settings.SaveSettings(); CXTPDialog::OnOK(); } void CDialogSettings::OnRadioEditorChanged() { UpdateData(); GetDlgItem(IDC_EDIT_EDITOR)->EnableWindow(m_bUseEditor); } BOOL CDialogSettings::OnInitDialog() { CXTPDialog::OnInitDialog(); if (InitCommandBars()) { CXTPCommandBars* pCommandBars = GetCommandBars(); if (pCommandBars) pCommandBars->EnableFrameTheme(TRUE); } RefreshColors(); OnRadioEditorChanged(); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CDialogSettings::RefreshColors() { if (m_brBack.GetSafeHandle()) m_brBack.DeleteObject(); m_brBack.CreateSolidBrush(theApp.m_csPane.m_clrBack); SendMessageToDescendants(WM_XTP_SETCONTROLTHEME, theApp.m_nControlsTheme); } HBRUSH CDialogSettings::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hBrush = CXTPDialog::OnCtlColor(pDC, pWnd, nCtlColor); if (nCtlColor == CTLCOLOR_EDIT || nCtlColor == CTLCOLOR_LISTBOX || nCtlColor == CTLCOLOR_BTN || nCtlColor == CTLCOLOR_DLG || nCtlColor == CTLCOLOR_SCROLLBAR || nCtlColor == CTLCOLOR_STATIC) { pDC->SetBkColor(theApp.m_csPane.m_clrBack); pDC->SetTextColor(theApp.m_csPane.m_clrText); return (HBRUSH)m_brBack; } return hBrush; }