r582: no message
[ctsim.git] / src / ctsim.cpp
index 1155aac3de857ab4996be27fbf8d55b310361158..0d459ad784a6d8c0458043bce3c6b2aac274f543 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: ctsim.cpp,v 1.87 2001/02/22 11:05:38 kevin Exp $
+**  $Id: ctsim.cpp,v 1.89 2001/02/25 10:52:55 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
@@ -53,6 +53,7 @@
 #include "views.h"
 #include "dialogs.h"
 #include "tips.h"
+#include "backgroundmgr.h"
 
 #if defined(HAVE_CONFIG_H)
 #include "config.h"
@@ -68,7 +69,7 @@
 #endif
 #endif
 
-static const char* rcsindent = "$Id: ctsim.cpp,v 1.87 2001/02/22 11:05:38 kevin Exp $";
+static const char* rcsindent = "$Id: ctsim.cpp,v 1.89 2001/02/25 10:52:55 kevin Exp $";
 
 struct option CTSimApp::ctsimOptions[] = 
 {
@@ -82,7 +83,7 @@ IMPLEMENT_APP(CTSimApp)
 
 CTSimApp::CTSimApp()
 :  m_bAdvancedOptions(false), m_bSetModifyNewDocs(true), m_bVerboseLogging(false), m_bShowStartupTips(true),
-   m_iCurrentTip(0),
+   m_iCurrentTip(0), m_bUseBackgroundTasks(false),
   m_docManager(NULL), m_pFrame(NULL), m_pLog(0), m_pLogDoc(0), m_pConfig(0)
 {
        theApp = this;
@@ -228,6 +229,7 @@ CTSimApp::OnInit()
   if (getStartupTips())
     ShowTips();
 
+  m_pBackgroundMgr = new BackgroundManager;
   return true;
 }
 
@@ -286,6 +288,7 @@ CTSimApp::openConfig()
   m_pConfig->Read ("VerboseLogging", &m_bVerboseLogging);
   m_pConfig->Read ("StartupTips", &m_bShowStartupTips);
   m_pConfig->Read ("CurrentTip", &m_iCurrentTip);
+  m_pConfig->Read ("UseBackgroundTasks", &m_bUseBackgroundTasks);
 }
 
 void
@@ -296,6 +299,7 @@ CTSimApp::closeConfig()
   m_pConfig->Write ("VerboseLogging", m_bVerboseLogging);
   m_pConfig->Write ("StartupTips", m_bShowStartupTips);
   m_pConfig->Write ("CurrentTip", m_iCurrentTip);
+  m_pConfig->Write ("UseBackgroundTasks", m_bUseBackgroundTasks);
 
        delete m_pConfig;
 }
@@ -552,7 +556,8 @@ MainFrame::OnCreateFilter (wxCommandEvent& WXUNUSED(event))
                rIF.setArraySize (m_iDefaultFilterXSize, m_iDefaultFilterYSize);
                rIF.filterResponse (strDomain.c_str(), m_dDefaultFilterBandwidth, strFilter.c_str(), m_dDefaultFilterParam, m_dDefaultFilterInputScale, m_dDefaultFilterOutputScale);
                rIF.labelAdd (os.str().c_str());
-    pFilterDoc->Modify (true);
+    if (theApp->getAskDeleteNewDocs())
+      pFilterDoc->Modify (true);
                pFilterDoc->UpdateAllViews();
                pFilterDoc->GetFirstView()->OnUpdate (NULL, NULL);
                pFilterDoc->getView()->getFrame()->SetClientSize(m_iDefaultFilterXSize, m_iDefaultFilterYSize);
@@ -854,12 +859,14 @@ void
 MainFrame::OnPreferences (wxCommandEvent& WXUNUSED(event) )
 {
   DialogPreferences dlg (this, "CTSim Preferences", theApp->getAdvancedOptions(), 
-    theApp->getAskDeleteNewDocs(), theApp->getVerboseLogging(), theApp->getStartupTips());
+    theApp->getAskDeleteNewDocs(), theApp->getVerboseLogging(), theApp->getStartupTips(), 
+    theApp->getUseBackgroundTasks());
   if (dlg.ShowModal() == wxID_OK) {
     theApp->setAdvancedOptions (dlg.getAdvancedOptions());
     theApp->setAskDeleteNewDocs (dlg.getAskDeleteNewDocs());
     theApp->setVerboseLogging (dlg.getVerboseLogging());
     theApp->setStartupTips (dlg.getStartupTips());
+    theApp->setUseBackgroundTasks (dlg.getUseBackgroundTasks());
   }
 }