Index: trunk/BNC/src/bncwindow.cpp
===================================================================
--- trunk/BNC/src/bncwindow.cpp	(revision 11066)
+++ trunk/BNC/src/bncwindow.cpp	(revision 11075)
@@ -298,5 +298,7 @@
   }
   _corrPortLineEdit = new QLineEdit(settings.value("corrPort").toString());
-  _ssrQcFileLineEdit = new QLineEdit(settings.value("ssrQcFile").toString());
+  _ssrQcPathLineEdit = new QLineEdit(settings.value("ssrQcPath").toString());
+  _ssrQcRefLineEdit = new QLineEdit(settings.value("ssrQcRef").toString().isEmpty() ? QString("CONSENSUS") : settings.value("ssrQcRef").toString());
+  _ssrQcStreamsLineEdit = new QLineEdit(settings.value("ssrQcStreams").toString().isEmpty() ? QString("ALL") : settings.value("ssrQcStreams").toString());
   _ssrQcIntrComboBox = new QComboBox();
   _ssrQcIntrComboBox->setEditable(false);
@@ -309,5 +311,5 @@
     _ssrQcIntrComboBox->setCurrentIndex(_ssrQcIntrComboBox->findText("1 hour"));
   }
-  connect(_ssrQcFileLineEdit, SIGNAL(textChanged(const QString&)),
+  connect(_ssrQcPathLineEdit, SIGNAL(textChanged(const QString&)),
           this, SLOT(slotBncTextChanged()));
 
@@ -916,9 +918,13 @@
   cLayout->addWidget(new QLabel("Port"), 3, 0);
   cLayout->addWidget(_corrPortLineEdit, 3, 1);
-  cLayout->addWidget(new QLabel("QC Logfile"), 4, 0);
-  cLayout->addWidget(_ssrQcFileLineEdit, 4, 1, 1, 30);
-  cLayout->addWidget(new QLabel("QC Interval"), 5, 0);
-  cLayout->addWidget(_ssrQcIntrComboBox, 5, 1);
-  cLayout->addWidget(new QLabel(""), 6, 1);
+  cLayout->addWidget(new QLabel("QC Directory"), 4, 0);
+  cLayout->addWidget(_ssrQcPathLineEdit, 4, 1, 1, 30);
+  cLayout->addWidget(new QLabel("QC Streams"), 5, 0);
+  cLayout->addWidget(_ssrQcStreamsLineEdit, 5, 1, 1, 30);
+  cLayout->addWidget(new QLabel("QC Reference"), 6, 0);
+  cLayout->addWidget(_ssrQcRefLineEdit, 6, 1, 1, 30);
+  cLayout->addWidget(new QLabel("QC Interval"), 7, 0);
+  cLayout->addWidget(_ssrQcIntrComboBox, 7, 1);
+  cLayout->addWidget(new QLabel(""), 8, 1);
   cLayout->setRowStretch(7, 999);
   cgroup->setLayout(cLayout);
@@ -1588,5 +1594,7 @@
   _corrPathLineEdit->setWhatsThis(tr("<p>Specify a directory for saving Broadcast Ephemeris Correction files.</p><p>If the specified directory does not exist, BNC will not create the files. <i>[key: corrPath]</i></p>"));
   _corrIntrComboBox->setWhatsThis(tr("<p>Select the length of Broadcast Ephemeris Correction files. <i>[key: corrIntr]</i></p>"));
-  _ssrQcFileLineEdit->setWhatsThis(tr("<p>Specify the full path to a logfile for the quality control of all decoded Broadcast Correction streams: epochs, update intervals, gaps, latency, completeness, IODs, code biases of the reference signals, clock jumps and orbit correction size.</p><p>Default is an empty option field, meaning that no SSR QC is done. <i>[key: ssrQcFile]</i></p>"));
+  _ssrQcPathLineEdit->setWhatsThis(tr("<p>Specify a directory for the quality control of decoded Broadcast Correction streams: epochs, update intervals, gaps, latency, completeness, IODs, code and phase bias signals, code biases of the reference signals, clock jumps and orbit correction size. One daily file is written per stream.</p><p>Default is an empty option field, meaning that no SSR QC is done. <i>[key: ssrQcPath]</i></p>"));
+  _ssrQcRefLineEdit->setWhatsThis(tr("<p>Specify the reference for the comparison of the orbits and clocks of the checked streams: 'CONSENSUS' for the median of all other streams, or the name of a stream, e.g. 'INTERNAL' for the combination.</p><p>Default is 'CONSENSUS'. <i>[key: ssrQcRef]</i></p>"));
+  _ssrQcStreamsLineEdit->setWhatsThis(tr("<p>Specify the Broadcast Correction streams to be checked, as a comma separated list of stream names (e.g. SSRA00CNE1,SSRA00GMV0), or 'ALL' for all decoded streams.</p><p>Default is 'ALL'. <i>[key: ssrQcStreams]</i></p>"));
   _ssrQcIntrComboBox->setWhatsThis(tr("<p>Select the interval of the SSR QC reports. <i>[key: ssrQcIntr]</i></p>"));
   _corrPortLineEdit->setWhatsThis(tr("<p>BNC can produce Broadcast Ephemeris Corrections on your local host through an IP port.</p><p>Specify a port number here to activate this function. <i>[key: corrPort]</i></p>"));
@@ -1863,5 +1871,7 @@
   delete _corrPathLineEdit;
   delete _corrIntrComboBox;
-  delete _ssrQcFileLineEdit;
+  delete _ssrQcPathLineEdit;
+  delete _ssrQcStreamsLineEdit;
+  delete _ssrQcRefLineEdit;
   delete _ssrQcIntrComboBox;
   delete _corrPortLineEdit;
@@ -2391,5 +2401,7 @@
   settings.setValue("corrPath", _corrPathLineEdit->text());
   settings.setValue("corrIntr", _corrIntrComboBox->currentText());
-  settings.setValue("ssrQcFile", _ssrQcFileLineEdit->text());
+  settings.setValue("ssrQcPath", _ssrQcPathLineEdit->text());
+  settings.setValue("ssrQcStreams", _ssrQcStreamsLineEdit->text());
+  settings.setValue("ssrQcRef", _ssrQcRefLineEdit->text());
   settings.setValue("ssrQcIntr", _ssrQcIntrComboBox->currentText());
   settings.setValue("corrPort", _corrPortLineEdit->text());
@@ -2927,6 +2939,8 @@
     enableWidget(enable, _corrIntrComboBox);
   }
-  if (sender() == 0 || sender() == _ssrQcFileLineEdit) {
-    enableWidget(!_ssrQcFileLineEdit->text().isEmpty(), _ssrQcIntrComboBox);
+  if (sender() == 0 || sender() == _ssrQcPathLineEdit) {
+    enableWidget(!_ssrQcPathLineEdit->text().isEmpty(), _ssrQcIntrComboBox);
+    enableWidget(!_ssrQcPathLineEdit->text().isEmpty(), _ssrQcStreamsLineEdit);
+    enableWidget(!_ssrQcPathLineEdit->text().isEmpty(), _ssrQcRefLineEdit);
   }
 
