** 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
#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!
#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[] =
{
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;
}
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
#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";
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];
int
CTSimApp::OnExit()
{
- delete m_pConfig;
+ closeConfig();
#ifdef HAVE_DMALLOC
dmalloc_shutdown();
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()
{
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());
+ }
}