Index: trunk/BNC/bncmodel.cpp
===================================================================
--- trunk/BNC/bncmodel.cpp	(revision 2125)
+++ trunk/BNC/bncmodel.cpp	(revision 2126)
@@ -185,4 +185,6 @@
 ////////////////////////////////////////////////////////////////////////////
 bncModel::~bncModel() {
+  delete _nmeaStream;
+  delete _nmeaFile;
 }
 
Index: trunk/BNC/bncwindow.cpp
===================================================================
--- trunk/BNC/bncwindow.cpp	(revision 2125)
+++ trunk/BNC/bncwindow.cpp	(revision 2126)
@@ -302,4 +302,5 @@
   // -----------
   _pppMountLineEdit  = new QLineEdit(settings.value("pppMount").toString());
+  _pppNMEALineEdit   = new QLineEdit(settings.value("nmeaFile").toString());
   _pppStaticCheckBox = new QCheckBox();
   _pppStaticCheckBox->setCheckState(Qt::CheckState(
@@ -490,17 +491,4 @@
   connect(_rnxPathLineEdit, SIGNAL(textChanged(const QString &)),
           this, SLOT(bncText(const QString &)));
-  if (_rnxPathLineEdit->text().isEmpty()) { 
-    _rnxIntrComboBox->setStyleSheet("background-color: lightGray");
-    _rnxSamplSpinBox->setStyleSheet("background-color: lightGray");
-    _rnxSkelLineEdit->setStyleSheet("background-color: lightGray");
-    _rnxScrpLineEdit->setStyleSheet("background-color: lightGray");
-    palette.setColor(_rnxV3CheckBox->backgroundRole(), lightGray);
-    _rnxV3CheckBox->setPalette(palette);
-    _rnxIntrComboBox->setEnabled(false);
-    _rnxSamplSpinBox->setEnabled(false);
-    _rnxSkelLineEdit->setEnabled(false);
-    _rnxScrpLineEdit->setEnabled(false);
-    _rnxV3CheckBox->setEnabled(false);
-  }
 
   // RINEX Ephemeris
@@ -527,16 +515,4 @@
   connect(_outEphPortLineEdit, SIGNAL(textChanged(const QString &)),
           this, SLOT(bncText(const QString &)));
-
-  if (_ephPathLineEdit->text().isEmpty() && _outEphPortLineEdit->text().isEmpty()) { 
-    _ephIntrComboBox->setStyleSheet("background-color: lightGray");
-    palette.setColor(_ephV3CheckBox->backgroundRole(), lightGray);
-    _ephV3CheckBox->setPalette(palette);
-    _ephIntrComboBox->setEnabled(false);
-    _ephV3CheckBox->setEnabled(false);
-  }
-  if (_ephPathLineEdit->text().isEmpty() && !_outEphPortLineEdit->text().isEmpty()) { 
-    _ephIntrComboBox->setStyleSheet("background-color: lightGray");
-    _ephIntrComboBox->setEnabled(false);
-  }   
 
   // Broadcast Corrections
@@ -723,11 +699,4 @@
   connect(_miscMountLineEdit, SIGNAL(textChanged(const QString &)),
           this, SLOT(bncText(const QString &)));
-  if (_miscMountLineEdit->text().isEmpty()) { 
-    _perfIntrComboBox->setStyleSheet("background-color: lightGray");
-    palette.setColor(_scanRTCMCheckBox->backgroundRole(), lightGray);
-    _scanRTCMCheckBox->setPalette(palette);
-    _perfIntrComboBox->setEnabled(false);
-    _scanRTCMCheckBox->setEnabled(false);
-  }
 
   // PPP Client
@@ -736,5 +705,7 @@
   pppLayout->setColumnMinimumWidth(0,14*ww);
   pppLayout->addWidget(new QLabel("Mountpoint"),          0, 0);
-  pppLayout->addWidget(_pppMountLineEdit,                 0, 1, 1, 3);
+  pppLayout->addWidget(_pppMountLineEdit,                 0, 1, 1, 2);
+  pppLayout->addWidget(new QLabel("      NMEA Output"),   0, 4);
+  pppLayout->addWidget(_pppNMEALineEdit,                  0, 5, 1, 2);
   pppLayout->addWidget(new QLabel("Static"),              1, 0);
   pppLayout->addWidget(_pppStaticCheckBox,                1, 1);
@@ -751,15 +722,4 @@
   connect(_pppMountLineEdit, SIGNAL(textChanged(const QString &)),
           this, SLOT(bncText(const QString &)));
-  if (_pppMountLineEdit->text().isEmpty()) { 
-    palette.setColor(_pppStaticCheckBox->backgroundRole(), lightGray);
-    palette.setColor(_pppUsePhaseCheckBox->backgroundRole(), lightGray);
-    palette.setColor(_pppEstTropoCheckBox->backgroundRole(), lightGray);
-    _pppStaticCheckBox->setPalette(palette);
-    _pppUsePhaseCheckBox->setPalette(palette);
-    _pppEstTropoCheckBox->setPalette(palette);
-    _pppStaticCheckBox->setEnabled(false);
-    _pppUsePhaseCheckBox->setEnabled(false);
-    _pppEstTropoCheckBox->setEnabled(false);
-  }
 
   // Main Layout
@@ -1066,4 +1026,5 @@
   settings.setValue("miscMount",   _miscMountLineEdit->text());
   settings.setValue("pppMount",    _pppMountLineEdit->text());
+  settings.setValue("nmeaFile",    _pppNMEALineEdit->text());
   settings.setValue("pppStatic",   _pppStaticCheckBox->checkState());
   settings.setValue("pppUsePhase", _pppUsePhaseCheckBox->checkState());
@@ -1402,8 +1363,6 @@
   bool isEmpty = text.isEmpty();
 
-  QPalette palette;
-  QColor lightGray(230, 230, 230);
-  QColor white(255, 255, 255);
-
+  QPalette palette_white(QColor(255, 255, 255));
+  QPalette palette_gray(QColor(230, 230, 230));
 
   // Proxy
@@ -1426,6 +1385,5 @@
       _rnxSkelLineEdit->setStyleSheet("background-color: white");
       _rnxScrpLineEdit->setStyleSheet("background-color: white");
-      palette.setColor(_rnxV3CheckBox->backgroundRole(), white);
-      _rnxV3CheckBox->setPalette(palette);
+      _rnxV3CheckBox->setPalette(palette_white);
       _rnxIntrComboBox->setStyleSheet("background-color: white");
       _rnxSamplSpinBox->setEnabled(true);
@@ -1438,6 +1396,5 @@
       _rnxSkelLineEdit->setStyleSheet("background-color: lightGray");
       _rnxScrpLineEdit->setStyleSheet("background-color: lightGray");
-      palette.setColor(_rnxV3CheckBox->backgroundRole(), lightGray);
-      _rnxV3CheckBox->setPalette(palette);
+      _rnxV3CheckBox->setPalette(palette_gray);
       _rnxIntrComboBox->setStyleSheet("background-color: lightGray");
       _rnxSamplSpinBox->setEnabled(false);
@@ -1454,6 +1411,5 @@
     if (!_ephPathLineEdit->text().isEmpty() && !_outEphPortLineEdit->text().isEmpty()) { 
       _ephIntrComboBox->setStyleSheet("background-color: white");
-      palette.setColor(_ephV3CheckBox->backgroundRole(), white);
-      _ephV3CheckBox->setPalette(palette);
+      _ephV3CheckBox->setPalette(palette_white);
       _ephIntrComboBox->setEnabled(true);
       _ephV3CheckBox->setEnabled(true);
@@ -1461,6 +1417,5 @@
     if (_ephPathLineEdit->text().isEmpty() && !_outEphPortLineEdit->text().isEmpty()) { 
       _ephIntrComboBox->setStyleSheet("background-color: lightGray");
-      palette.setColor(_ephV3CheckBox->backgroundRole(), white);
-      _ephV3CheckBox->setPalette(palette);
+      _ephV3CheckBox->setPalette(palette_gray);
       _ephIntrComboBox->setEnabled(false);
       _ephV3CheckBox->setEnabled(true);
@@ -1468,6 +1423,5 @@
     if (!_ephPathLineEdit->text().isEmpty() && _outEphPortLineEdit->text().isEmpty()) { 
       _ephIntrComboBox->setStyleSheet("background-color: white");
-      palette.setColor(_ephV3CheckBox->backgroundRole(), white);
-      _ephV3CheckBox->setPalette(palette);
+      _ephV3CheckBox->setPalette(palette_white);
       _ephIntrComboBox->setEnabled(true);
       _ephV3CheckBox->setEnabled(true);
@@ -1475,6 +1429,5 @@
     if (_ephPathLineEdit->text().isEmpty() && _outEphPortLineEdit->text().isEmpty()) { 
       _ephIntrComboBox->setStyleSheet("background-color: lightGray");
-      palette.setColor(_ephV3CheckBox->backgroundRole(), lightGray);
-      _ephV3CheckBox->setPalette(palette);
+      _ephV3CheckBox->setPalette(palette_gray);
       _ephIntrComboBox->setEnabled(false);
       _ephV3CheckBox->setEnabled(false);
@@ -1592,12 +1545,10 @@
     if (!isEmpty) {
       _perfIntrComboBox->setStyleSheet("background-color: white");
-      palette.setColor(_scanRTCMCheckBox->backgroundRole(), white);
-      _scanRTCMCheckBox->setPalette(palette);
+      _scanRTCMCheckBox->setPalette(palette_white);
       _perfIntrComboBox->setEnabled(true);
       _scanRTCMCheckBox->setEnabled(true);
     } else {
       _perfIntrComboBox->setStyleSheet("background-color: lightGray");
-      palette.setColor(_scanRTCMCheckBox->backgroundRole(), lightGray);
-      _scanRTCMCheckBox->setPalette(palette);
+      _scanRTCMCheckBox->setPalette(palette_gray);
       _perfIntrComboBox->setEnabled(false);
       _scanRTCMCheckBox->setEnabled(false);
@@ -1609,20 +1560,18 @@
   if (_aogroup->currentIndex() == 9) {
     if (!isEmpty) {
-      palette.setColor(_pppStaticCheckBox->backgroundRole(), white);
-      palette.setColor(_pppUsePhaseCheckBox->backgroundRole(), white);
-      palette.setColor(_pppEstTropoCheckBox->backgroundRole(), white);
-      _pppStaticCheckBox->setPalette(palette);
-      _pppUsePhaseCheckBox->setPalette(palette);
-      _pppEstTropoCheckBox->setPalette(palette);
+      _pppNMEALineEdit->setPalette(palette_white);
+      _pppStaticCheckBox->setPalette(palette_white);
+      _pppUsePhaseCheckBox->setPalette(palette_white);
+      _pppEstTropoCheckBox->setPalette(palette_white);
+      _pppNMEALineEdit->setEnabled(true);
       _pppStaticCheckBox->setEnabled(true);
       _pppUsePhaseCheckBox->setEnabled(true);
       _pppEstTropoCheckBox->setEnabled(true);
     } else {
-      palette.setColor(_pppStaticCheckBox->backgroundRole(), lightGray);
-      palette.setColor(_pppUsePhaseCheckBox->backgroundRole(), lightGray);
-      palette.setColor(_pppEstTropoCheckBox->backgroundRole(), lightGray);
-      _pppStaticCheckBox->setPalette(palette);
-      _pppUsePhaseCheckBox->setPalette(palette);
-      _pppEstTropoCheckBox->setPalette(palette);
+      _pppNMEALineEdit->setPalette(palette_gray);
+      _pppStaticCheckBox->setPalette(palette_gray);
+      _pppUsePhaseCheckBox->setPalette(palette_gray);
+      _pppEstTropoCheckBox->setPalette(palette_gray);
+      _pppNMEALineEdit->setEnabled(false);
       _pppStaticCheckBox->setEnabled(false);
       _pppUsePhaseCheckBox->setEnabled(false);
Index: trunk/BNC/bncwindow.h
===================================================================
--- trunk/BNC/bncwindow.h	(revision 2125)
+++ trunk/BNC/bncwindow.h	(revision 2126)
@@ -113,4 +113,5 @@
     QLineEdit* _miscMountLineEdit;
     QLineEdit* _pppMountLineEdit;
+    QLineEdit* _pppNMEALineEdit;
     QCheckBox* _pppStaticCheckBox;
     QCheckBox* _pppUsePhaseCheckBox;
