Index: trunk/BNC/src/bncwindow.cpp
===================================================================
--- trunk/BNC/src/bncwindow.cpp	(revision 9252)
+++ trunk/BNC/src/bncwindow.cpp	(revision 9292)
@@ -492,6 +492,5 @@
   QPushButton* delCmbRowButton = new QPushButton("Delete");
 
-  connect(_cmbTable, SIGNAL(itemSelectionChanged()),
-          SLOT(slotBncTextChanged()));
+  connect(_cmbTable, SIGNAL(itemSelectionChanged()), SLOT(slotBncTextChanged()));
 
   _cmbMethodComboBox = new QComboBox();
@@ -514,4 +513,26 @@
     enableWidget(false, _cmbSamplSpinBox);
   }
+  _cmbGpsCheckBox = new QCheckBox();
+  _cmbGpsCheckBox->setCheckState(Qt::CheckState(settings.value("cmbGps").toInt()));
+  _cmbGloCheckBox = new QCheckBox();
+  _cmbGloCheckBox->setCheckState(Qt::CheckState(settings.value("cmbGlo").toInt()));
+  _cmbGalCheckBox = new QCheckBox();
+  _cmbGalCheckBox->setCheckState(Qt::CheckState(settings.value("cmbGal").toInt()));
+  _cmbBdsCheckBox = new QCheckBox();
+  _cmbBdsCheckBox->setCheckState(Qt::CheckState(settings.value("cmbBds").toInt()));
+  _cmbQzssCheckBox = new QCheckBox();
+  _cmbQzssCheckBox->setCheckState(Qt::CheckState(settings.value("cmbQzss").toInt()));
+  _cmbSbasCheckBox = new QCheckBox();
+  _cmbSbasCheckBox->setCheckState(Qt::CheckState(settings.value("cmbSbas").toInt()));
+  _cmbIrnssCheckBox = new QCheckBox();
+  _cmbIrnssCheckBox->setCheckState(Qt::CheckState(settings.value("cmbIrnss").toInt()));
+
+  connect(_cmbGpsCheckBox, SIGNAL(stateChanged(int)), this, SLOT(slotBncTextChanged()));
+  connect(_cmbGloCheckBox, SIGNAL(stateChanged(int)), this, SLOT(slotBncTextChanged()));
+  connect(_cmbGalCheckBox, SIGNAL(stateChanged(int)), this, SLOT(slotBncTextChanged()));
+  connect(_cmbBdsCheckBox, SIGNAL(stateChanged(int)), this, SLOT(slotBncTextChanged()));
+  connect(_cmbQzssCheckBox, SIGNAL(stateChanged(int)), this, SLOT(slotBncTextChanged()));
+  connect(_cmbSbasCheckBox, SIGNAL(stateChanged(int)), this, SLOT(slotBncTextChanged()));
+  connect(_cmbIrnssCheckBox, SIGNAL(stateChanged(int)), this, SLOT(slotBncTextChanged()));
 
   // Upload Results
@@ -1209,13 +1230,29 @@
   cmbLayout->addWidget(_cmbTable,                                            0, 0, 8, 3);
   cmbLayout->addWidget(new QLabel(" Combine Broadcast Correction streams.<br>"), 1, 6, 1, 10);
-  cmbLayout->addWidget(addCmbRowButton,                                      2, 6);
-  cmbLayout->addWidget(delCmbRowButton,                                      2, 7);
-  cmbLayout->addWidget(new QLabel("Method"),                                 3, 6, Qt::AlignRight);
-  cmbLayout->addWidget(_cmbMethodComboBox,                                   3, 7);
-  cmbLayout->addWidget(new QLabel(" Maximal residuum"),                      4, 6, Qt::AlignRight);
-  cmbLayout->addWidget(_cmbMaxresLineEdit,                                   4, 7, Qt::AlignRight);
-  cmbLayout->addWidget(new QLabel("Sampling"),                               5, 6, Qt::AlignRight);
-  cmbLayout->addWidget(_cmbSamplSpinBox,                                     5, 7);
-  cmbLayout->setRowStretch(5, 999);
+  cmbLayout->addWidget(addCmbRowButton,                                      2,  6);
+  cmbLayout->addWidget(delCmbRowButton,                                      2,  7);
+  cmbLayout->addWidget(new QLabel("Method"),                                 3,  6, Qt::AlignRight);
+  cmbLayout->addWidget(_cmbMethodComboBox,                                   3,  7);
+  cmbLayout->addWidget(new QLabel(" Maximal residuum"),                      4,  6, Qt::AlignRight);
+  cmbLayout->addWidget(_cmbMaxresLineEdit,                                   4,  7, Qt::AlignRight);
+  cmbLayout->addWidget(new QLabel("Sampling"),                               5,  6, Qt::AlignRight);
+  cmbLayout->addWidget(_cmbSamplSpinBox,                                     5,  7);
+  cmbLayout->addWidget(new QLabel("GNSS"),                                   6,  6, Qt::AlignRight);
+  cmbLayout->addWidget(new QLabel("Systems"),                                6,  7, Qt::AlignLeft);
+  cmbLayout->addWidget(new QLabel("GPS"),                                    6,  8);
+  cmbLayout->addWidget(_cmbGpsCheckBox,                                      6,  9);
+  cmbLayout->addWidget(new QLabel("GLO"),                                    6, 10);
+  cmbLayout->addWidget(_cmbGloCheckBox,                                      6, 11);
+  cmbLayout->addWidget(new QLabel("Galileo"),                                6, 12);
+  cmbLayout->addWidget(_cmbGalCheckBox,                                      6, 13);
+  cmbLayout->addWidget(new QLabel("Beidou"),                                 6, 14);
+  cmbLayout->addWidget(_cmbBdsCheckBox,                                      6, 15);
+  cmbLayout->addWidget(new QLabel("QZSS"),                                   7,  8);
+  cmbLayout->addWidget(_cmbQzssCheckBox,                                     7,  9);
+  cmbLayout->addWidget(new QLabel("SBAS"),                                   7, 10);
+  cmbLayout->addWidget(_cmbSbasCheckBox,                                     7, 11);
+  cmbLayout->addWidget(new QLabel("IRNSS"),                                  7, 12);
+  cmbLayout->addWidget(_cmbIrnssCheckBox,                                    7, 13);
+  cmbLayout->setRowStretch(6, 999);
 
   connect(addCmbRowButton, SIGNAL(clicked()), this, SLOT(slotAddCmbRow()));
@@ -1426,4 +1463,11 @@
   _cmbMaxresLineEdit->setWhatsThis(tr("<p>BNC combines all incoming clocks according to specified weights. Individual clock estimates that differ by more than 'Maximal residuum' meters from the average of all clocks will be ignored.<p></p>It is suggested to specify a value of about 0.2 m for the Kalman filter combination approach and a value of about 3.0 meters for the Single-Epoch combination approach.</p><p>Default is a value of '999.0'. <i>[key: cmbMaxres]</i></p>"));
   _cmbSamplSpinBox->setWhatsThis(tr("<p>Select a combination Sampling interval for the clocks. Clock corrections will be produced following that interval.</p><p>A value of 10 sec may be an appropriate choice. <i>[key: cmbSampl]</i></p>"));
+  _cmbGpsCheckBox->setWhatsThis(tr("<p>GPS corrections shall be combined. <i>[key: cmbGps]</i></p>"));
+  _cmbGloCheckBox->setWhatsThis(tr("<p>GLONASS corrections shall be combined; GPS Broadcast ephemeris and corrections are required. <i>[key: cmbGlo]</i></p>"));
+  _cmbGalCheckBox->setWhatsThis(tr("<p>Galileo corrections shall be combined; GLONASS Broadcast ephemeris and corrections are required. <i>[key: cmbGal]</i></p>"));
+  _cmbBdsCheckBox->setWhatsThis(tr("<p>Beidou corrections shall be combined; Galileo Broadcast ephemeris and corrections are required. <i>[key: cmbBds]</i></p>"));
+  _cmbQzssCheckBox->setWhatsThis(tr("<p>QZSS corrections shall be combined; QZSS Broadcast ephemeris and corrections are required. <i>[key: cmbQzss]</i></p>"));
+  _cmbSbasCheckBox->setWhatsThis(tr("<p>SBAS corrections shall be combined; SBAS Broadcast ephemeris and corrections are required. <i>[key: cmbSbas]</i></p>"));
+  _cmbIrnssCheckBox->setWhatsThis(tr("<p>IRNSS corrections shall be combined; IRNSS Broadcast ephemeris and corrections are required. <i>[key: cmbIrnss]</i></p>"));
 
   // WhatsThis, Upload Corrections
@@ -1554,5 +1598,12 @@
   delete _cmbMaxresLineEdit;
   delete _cmbSamplSpinBox;
-  delete _cmbMethodComboBox;;
+  delete _cmbMethodComboBox;
+  delete _cmbGpsCheckBox;
+  delete _cmbGloCheckBox;
+  delete _cmbGalCheckBox;
+  delete _cmbBdsCheckBox;
+  delete _cmbQzssCheckBox;
+  delete _cmbSbasCheckBox;
+  delete _cmbIrnssCheckBox;
   _uploadEphTable->deleteLater();
   delete _uploadSamplRtcmEphCorrSpinBox;
@@ -1986,5 +2037,4 @@
   settings.setValue("outFile",     _outFileLineEdit->text());
   settings.setValue("outLockTime",_outLockTimeCheckBox->checkState());    settings.setValue("outUPort",    _outUPortLineEdit->text());
-
 // Serial Output
   settings.setValue("serialMountPoint",_serialMountPointLineEdit->text());
@@ -2033,4 +2083,12 @@
   settings.setValue("cmbMaxres",     _cmbMaxresLineEdit->text());
   settings.setValue("cmbSampl",      _cmbSamplSpinBox->value());
+  settings.setValue("cmbGps",        _cmbGpsCheckBox->checkState());
+  settings.setValue("cmbGlo",        _cmbGloCheckBox->checkState());
+  settings.setValue("cmbGal",        _cmbGalCheckBox->checkState());
+  settings.setValue("cmbBds",        _cmbBdsCheckBox->checkState());
+  settings.setValue("cmbQzss",       _cmbQzssCheckBox->checkState());
+  settings.setValue("cmbSbas",       _cmbSbasCheckBox->checkState());
+  settings.setValue("cmbIrnss",      _cmbIrnssCheckBox->checkState());
+
 // Upload Corrections
   if (!uploadMountpointsOut.isEmpty()) {
@@ -2548,4 +2606,11 @@
       enableWidget(true, _cmbMaxresLineEdit);
       enableWidget(true, _cmbSamplSpinBox);
+      enableWidget(true, _cmbGpsCheckBox);
+      enableWidget(true, _cmbGloCheckBox);
+      enableWidget(true, _cmbGalCheckBox);
+      enableWidget(true, _cmbBdsCheckBox);
+      enableWidget(true, _cmbQzssCheckBox);
+      enableWidget(true, _cmbSbasCheckBox);
+      enableWidget(true, _cmbIrnssCheckBox);
     }
     else {
@@ -2553,4 +2618,11 @@
       enableWidget(false, _cmbMaxresLineEdit);
       enableWidget(false, _cmbSamplSpinBox);
+      enableWidget(false, _cmbGpsCheckBox);
+      enableWidget(false, _cmbGloCheckBox);
+      enableWidget(false, _cmbGalCheckBox);
+      enableWidget(false, _cmbBdsCheckBox);
+      enableWidget(false, _cmbQzssCheckBox);
+      enableWidget(false, _cmbSbasCheckBox);
+      enableWidget(false, _cmbIrnssCheckBox);
     }
   }
