X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fctsim.cpp;h=5002d486d88026d407d1ac9e53d817861eaebae5;hb=dbd85db9ed07a5fc7a7b3d8dec944ffdd1d05480;hp=b08db827d2eefd8a80742ff142842a5cb8ede643;hpb=d3fa225aa232e132cc198672c4fc148f96a1ab8c;p=ctsim.git diff --git a/src/ctsim.cpp b/src/ctsim.cpp index b08db82..5002d48 100644 --- a/src/ctsim.cpp +++ b/src/ctsim.cpp @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: ctsim.cpp,v 1.74 2001/02/11 04:56:38 kevin Exp $ +** $Id: ctsim.cpp,v 1.76 2001/02/11 22:28:50 kevin Exp $ ** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License (version 2) as @@ -43,7 +43,9 @@ #include "wx/image.h" #include "wx/filesys.h" #include "wx/fs_zip.h" +#ifdef __WXMSW__ #include "wx/msw/helpchm.h" +#endif #if !wxUSE_DOC_VIEW_ARCHITECTURE #error You must set wxUSE_DOC_VIEW_ARCHITECTURE to 1 in setup.h! @@ -71,7 +73,7 @@ #endif #endif -static const char* rcsindent = "$Id: ctsim.cpp,v 1.74 2001/02/11 04:56:38 kevin Exp $"; +static const char* rcsindent = "$Id: ctsim.cpp,v 1.76 2001/02/11 22:28:50 kevin Exp $"; struct option CTSimApp::ctsimOptions[] = { @@ -83,7 +85,8 @@ struct option CTSimApp::ctsimOptions[] = IMPLEMENT_APP(CTSimApp) CTSimApp::CTSimApp() -: m_docManager(NULL), m_pFrame(NULL), m_pLog(0), m_pLogDoc(0), m_bAdvancedOptions(false) +: m_docManager(NULL), m_pFrame(NULL), m_pLog(0), m_pLogDoc(0), m_pConfig(0), + m_bAdvancedOptions(false), m_bSetModifyNewDocs(true) { theApp = this; } @@ -103,8 +106,7 @@ CTSimApp::OnInit() setpriority (PRIO_PROCESS, 0, 15); // set to low scheduling priority #endif - m_pConfig = new wxConfig("ctsim", _T(""), ".ctsim", "", wxCONFIG_USE_LOCAL_FILE); - wxConfigBase::Set(m_pConfig); + openConfig(); g_bRunningWXWindows = true; // process options @@ -183,13 +185,13 @@ CTSimApp::OnInit() #endif wxLog::SetActiveTarget (new wxLogTextCtrl(m_pLog)); -#ifdef CTSIM_WINHELP - if (! m_pFrame->getWinHelpController().Initialize("ctsim")) - *m_pLog << "Cannot initialize the Windows Help system" << "\n"; -#endif wxString helpDir; if (! m_pConfig->Read("HelpDir", &helpDir)) helpDir = ::wxGetCwd(); +#ifdef CTSIM_WINHELP + if (! m_pFrame->getWinHelpController().Initialize(helpDir + "/ctsim")) + *m_pLog << "Cannot initialize the Windows Help system" << "\n"; +#else if (! m_pFrame->getHtmlHelpController().Initialize(helpDir + "/ctsim") && ! m_pFrame->getHtmlHelpController().Initialize("/usr/local/man/ctsim")) *m_pLog << "Cannot initialize the HTML Help system" << "\n"; @@ -198,6 +200,7 @@ CTSimApp::OnInit() m_pFrame->getHtmlHelpController().SetTempDir(_T("/tmp")); m_pFrame->getHtmlHelpController().UseConfig (m_pConfig); } +#endif for (int i = optind + 1; i <= argc; i++) { wxString filename = argv [i - 1]; @@ -231,7 +234,7 @@ CTSimApp::usage(const char* program) int CTSimApp::OnExit() { - delete m_pConfig; + closeConfig(); #ifdef HAVE_DMALLOC dmalloc_shutdown(); @@ -239,6 +242,29 @@ CTSimApp::OnExit() return 0; } +void +CTSimApp::openConfig() +{ +#ifdef MSVC + m_pConfig = new wxConfig("ctsim", "Kevin Rosenberg", "", "", wxCONFIG_USE_LOCAL_FILE); +#else + m_pConfig = new wxConfig("ctsim", "Kevin Rosenberg", ".ctsim", "", wxCONFIG_USE_LOCAL_FILE); +#endif + + wxConfigBase::Set(m_pConfig); + m_pConfig->Read ("AdvancedOptions", &m_bAdvancedOptions); + m_pConfig->Read ("SetModifyNewDocs", &m_bSetModifyNewDocs); +} + +void +CTSimApp::closeConfig() +{ + m_pConfig->Write ("AdvancedOptions", m_bAdvancedOptions); + m_pConfig->Write ("SetModifyNewDocs", m_bSetModifyNewDocs); + delete m_pConfig; +} + + wxString CTSimApp::getUntitledFilename() { @@ -766,7 +792,12 @@ BitmapDialog::~BitmapDialog() void MainFrame::OnPreferences (wxCommandEvent& WXUNUSED(event) ) { - theApp->setAdvancedOptions (! theApp->getAdvancedOptions()); + DialogPreferences dlg (this, "CTSim Preferences", theApp->getAdvancedOptions(), + theApp->getAskDeleteNewDocs()); + if (dlg.ShowModal() == wxID_OK) { + theApp->setAdvancedOptions (dlg.getAdvancedOptions()); + theApp->setAskDeleteNewDocs (dlg.getAskDeleteNewDocs()); + } }