Index: trunk/BNC/CHANGELOG.md
===================================================================
--- trunk/BNC/CHANGELOG.md	(revision 10547)
+++ trunk/BNC/CHANGELOG.md	(revision 10548)
@@ -1,10 +1,11 @@
 # Changelog
-## 2.13.1 (2024-0?-??)
-- FIXED: obs types from skl file can be used now to write them into RINEX version 3 AND 4 observation files as configured
+## 2.13.1 (2024-10-??)
+- FIXED: Obs types from skl file can be used now to write them into RINEX version 3 AND 4 observation files as configured
 - FIXED: **Bug in IGS SSR Epoch Time (BDS and GLO)**, which is defined as follows: Full seconds since the beginning of the week of continuous time scale with no offset from GPS, Galileo, QZSS, SBAS, **UTC leap seconds from GLONASS, -14 s offset from BDS**
-- ADDED: data field range checks within RTCM3 Ephemeris decoders mainly regarding TOC and TOE
-- ADDED: decoder string 'ZERO2FILE': Using this, BNC allows to by-pass its decoders and directly save the input in daily log files
-- CHANGED: decoder string 'ZERO': means that the raw data are forwarded only
-
+- ADDED: Service CRS and RTCM CRS message encodung and decoding
+- ADDED: Data field range checks within RTCM3 Ephemeris decoders mainly regarding TOC and TOE
+- ADDED: Decoder string 'ZERO2FILE': Using this, BNC allows to by-pass its decoders and directly save the input in daily log files
+- CHANGED: Decoder string 'ZERO': means that the raw data are forwarded only
+- CHANGED: Obsolete qt-class members are replaced
 
 ## 2.13.1 (2024-04-30)
Index: trunk/BNC/src/PPP/pppSatObs.cpp
===================================================================
--- trunk/BNC/src/PPP/pppSatObs.cpp	(revision 10547)
+++ trunk/BNC/src/PPP/pppSatObs.cpp	(revision 10548)
@@ -76,5 +76,5 @@
   // Select pseudo-ranges and phase observations
   // -------------------------------------------
-  QStringList priorList = _signalPriorities.split(" ", QString::SkipEmptyParts);
+  QStringList priorList = _signalPriorities.split(" ", Qt::SkipEmptyParts);
   string preferredAttrib;
   for (unsigned iFreq = 1; iFreq < t_frequency::max; iFreq++) {
@@ -92,7 +92,7 @@
     for (int ii = 0; ii < priorList.size(); ii++) {
       if (priorList[ii].indexOf(":") != -1) {
-        hlp = priorList[ii].split(":", QString::SkipEmptyParts);
+        hlp = priorList[ii].split(":", Qt::SkipEmptyParts);
         if (hlp.size() == 2 && hlp[0].length() == 1 && hlp[0][0] == frqSys) {
-          hlp = hlp[1].split("&", QString::SkipEmptyParts);
+          hlp = hlp[1].split("&", Qt::SkipEmptyParts);
         }
         if (hlp.size() == 2 && hlp[0].indexOf(frqNum) != -1) {
Index: trunk/BNC/src/RTCM3/crsEncoder.cpp
===================================================================
--- trunk/BNC/src/RTCM3/crsEncoder.cpp	(revision 10547)
+++ trunk/BNC/src/RTCM3/crsEncoder.cpp	(revision 10548)
@@ -87,5 +87,5 @@
   SCALEADDBITS(32, 50000.0, helmertPar._ox)
   SCALEADDBITS(32, 50000.0, helmertPar._oy)
-  SCALEADDBITS(32, 50000.0, helmertPar._oz)
+  SCALEADDBITS(31, 50000.0, helmertPar._oz)
 
   SCALEADDBITS(25, 100000.0, helmertPar._sc)
Index: trunk/BNC/src/bncmain.cpp
===================================================================
--- trunk/BNC/src/bncmain.cpp	(revision 10547)
+++ trunk/BNC/src/bncmain.cpp	(revision 10548)
@@ -458,5 +458,5 @@
       QString val(argv[ii+2]);
       if (val.indexOf(";") != -1) {
-        settings.setValue(key, val.split(";", QString::SkipEmptyParts));
+        settings.setValue(key, val.split(";", Qt::SkipEmptyParts));
       }
       else {
Index: trunk/BNC/src/bncsinextro.cpp
===================================================================
--- trunk/BNC/src/bncsinextro.cpp	(revision 10547)
+++ trunk/BNC/src/bncsinextro.cpp	(revision 10548)
@@ -93,5 +93,5 @@
     signalPriorities = "G:12&CWPSLX R:12&CP E:1&CBX E:5&QIX C:26&IQX";
   }
-  QStringList priorList = signalPriorities.split(" ", QString::SkipEmptyParts);
+  QStringList priorList = signalPriorities.split(" ", Qt::SkipEmptyParts);
   QStringList frqStrList;
   for (unsigned iFreq = 1; iFreq < t_frequency::max; iFreq++) {
@@ -102,7 +102,7 @@
     for (int ii = 0; ii < priorList.size(); ii++) {
       if (priorList[ii].indexOf(":") != -1) {
-        hlp = priorList[ii].split(":", QString::SkipEmptyParts);
+        hlp = priorList[ii].split(":", Qt::SkipEmptyParts);
         if (hlp.size() == 2 && hlp[0].length() == 1 && hlp[0][0] == frqSys) {
-          hlp = hlp[1].split("&", QString::SkipEmptyParts);
+          hlp = hlp[1].split("&", Qt::SkipEmptyParts);
         }
         if (hlp.size() == 2 && hlp[0].indexOf(frqNum) != -1) {
Index: trunk/BNC/src/combination/bnccomb.cpp
===================================================================
--- trunk/BNC/src/combination/bnccomb.cpp	(revision 10547)
+++ trunk/BNC/src/combination/bnccomb.cpp	(revision 10548)
@@ -176,5 +176,5 @@
       newAC->name         = hlp[1];
       newAC->weightFactor = hlp[2].toDouble();
-      newAC->excludeSats  = hlp[3].split(QRegExp("[ ,]"), QString::SkipEmptyParts);
+      newAC->excludeSats  = hlp[3].split(QRegExp("[ ,]"), Qt::SkipEmptyParts);
       newAC->isAPC        = bool(newAC->mountPoint.mid(0,4) == "SSRA");
       QMapIterator<char, unsigned> itSys(_cmbSysPrn);
Index: trunk/BNC/src/orbComp/sp3Comp.cpp
===================================================================
--- trunk/BNC/src/orbComp/sp3Comp.cpp	(revision 10547)
+++ trunk/BNC/src/orbComp/sp3Comp.cpp	(revision 10548)
@@ -54,5 +54,5 @@
 
   bncSettings settings;
-  _sp3FileNames = settings.value("sp3CompFile").toString().split(QRegExp("[ ,]"), QString::SkipEmptyParts);
+  _sp3FileNames = settings.value("sp3CompFile").toString().split(QRegExp("[ ,]"), Qt::SkipEmptyParts);
   for (int ii = 0; ii < _sp3FileNames.size(); ii++) {
     expandEnvVar(_sp3FileNames[ii]);
@@ -62,5 +62,5 @@
   _log         = 0;
 
-  _excludeSats = settings.value("sp3CompExclude").toString().split(QRegExp("[ ,]"), QString::SkipEmptyParts);
+  _excludeSats = settings.value("sp3CompExclude").toString().split(QRegExp("[ ,]"), Qt::SkipEmptyParts);
 
   _summaryOnly = (Qt::CheckState(settings.value("sp3CompSummaryOnly").toInt()) == Qt::Checked);
Index: trunk/BNC/src/pppMain.cpp
===================================================================
--- trunk/BNC/src/pppMain.cpp	(revision 10547)
+++ trunk/BNC/src/pppMain.cpp	(revision 10548)
@@ -407,5 +407,5 @@
 
     QString     priorStr  = QString::fromStdString(opt->_signalPriorities);
-    QStringList priorList = priorStr.split(" ", QString::SkipEmptyParts);
+    QStringList priorList = priorStr.split(" ", Qt::SkipEmptyParts);
     QStringList hlpList;
     vector<char> systems = opt->systems();
@@ -414,7 +414,7 @@
       for (int ii = 0; ii < priorList.size(); ii++) {
         if (priorList[ii].indexOf(":") != -1) {
-          hlpList = priorList[ii].split(":", QString::SkipEmptyParts);
+          hlpList = priorList[ii].split(":", Qt::SkipEmptyParts);
           if (hlpList.size() == 2 && hlpList[0].length() == 1 && hlpList[0][0] == sys) {
-            hlpList = hlpList[1].split("&", QString::SkipEmptyParts);
+            hlpList = hlpList[1].split("&", Qt::SkipEmptyParts);
             if (hlpList.size() == 2) {
               for (int jj = 0; jj < hlpList[0].size(); jj++) {
Index: trunk/BNC/src/rinex/reqcanalyze.cpp
===================================================================
--- trunk/BNC/src/rinex/reqcanalyze.cpp	(revision 10547)
+++ trunk/BNC/src/rinex/reqcanalyze.cpp	(revision 10548)
@@ -66,6 +66,6 @@
   _log             = 0;
   _currEpo         = 0;
-  _obsFileNames    = settings.value("reqcObsFile").toString().split(",", QString::SkipEmptyParts);
-  _navFileNames    = settings.value("reqcNavFile").toString().split(",", QString::SkipEmptyParts);
+  _obsFileNames    = settings.value("reqcObsFile").toString().split(",", Qt::SkipEmptyParts);
+  _navFileNames    = settings.value("reqcNavFile").toString().split(",", Qt::SkipEmptyParts);
   _reqcPlotSignals = settings.value("reqcSkyPlotSignals").toString();
   _defaultSignalTypes << "G:1&2&5" << "R:1&2&3" << "J:1&2" << "E:1&5" << "S:1&5" << "C:2&6" << "I:5&9";
@@ -149,8 +149,8 @@
 void t_reqcAnalyze::analyzePlotSignals() {
 
-  QStringList signalsOpt = _reqcPlotSignals.split(" ", QString::SkipEmptyParts);
+  QStringList signalsOpt = _reqcPlotSignals.split(" ", Qt::SkipEmptyParts);
 
   for (int ii = 0; ii < signalsOpt.size(); ii++) {
-    QStringList input = signalsOpt.at(ii).split(QRegExp("[:&]"), QString::SkipEmptyParts);
+    QStringList input = signalsOpt.at(ii).split(QRegExp("[:&]"), Qt::SkipEmptyParts);
     if (input.size() > 1 && input[0].length() == 1) {
       char        system   = input[0].toLatin1().constData()[0];
Index: trunk/BNC/src/rinex/reqcedit.cpp
===================================================================
--- trunk/BNC/src/rinex/reqcedit.cpp	(revision 10547)
+++ trunk/BNC/src/rinex/reqcedit.cpp	(revision 10548)
@@ -58,7 +58,7 @@
   _logFile        = 0;
   _log            = 0;
-  _obsFileNames   = settings.value("reqcObsFile").toString().split(",", QString::SkipEmptyParts);
+  _obsFileNames   = settings.value("reqcObsFile").toString().split(",", Qt::SkipEmptyParts);
   _outObsFileName = settings.value("reqcOutObsFile").toString();
-  _navFileNames   = settings.value("reqcNavFile").toString().split(",", QString::SkipEmptyParts);
+  _navFileNames   = settings.value("reqcNavFile").toString().split(",", Qt::SkipEmptyParts);
   _outNavFileName = settings.value("reqcOutNavFile").toString();
   int version     = settings.value("reqcRnxVersion").toInt();
@@ -242,5 +242,5 @@
   // ------------------------
   bncSettings settings;
-  QStringList useObsTypes = settings.value("reqcUseObsTypes").toString().split(" ", QString::SkipEmptyParts);
+  QStringList useObsTypes = settings.value("reqcUseObsTypes").toString().split(" ", Qt::SkipEmptyParts);
 
   // Put together all observation types
@@ -785,5 +785,5 @@
         QString preferredAttrib;
         if (preferredAttribListSys[ii].indexOf("&") != -1) {
-          QStringList hlp = preferredAttribListSys[ii].split("&", QString::SkipEmptyParts);
+          QStringList hlp = preferredAttribListSys[ii].split("&", Qt::SkipEmptyParts);
           if (hlp.size() == 2 && hlp[0].contains(band)) {
             preferredAttrib = hlp[1];
Index: trunk/BNC/src/rinex/rnxnavfile.cpp
===================================================================
--- trunk/BNC/src/rinex/rnxnavfile.cpp	(revision 10547)
+++ trunk/BNC/src/rinex/rnxnavfile.cpp	(revision 10548)
@@ -158,5 +158,5 @@
     }
 
-    QStringList hlp = line.split(QRegExp("\\s+"), QString::SkipEmptyParts);
+    QStringList hlp = line.split(QRegExp("\\s+"), Qt::SkipEmptyParts);
     QString firstStr = hlp.at(0);
     QString prn;
@@ -317,8 +317,8 @@
       }
       else if (it.key() == "RUN BY DATE") {
-    	  runByDate = it.value().split("\\n", QString::SkipEmptyParts);
+    	  runByDate = it.value().split("\\n", Qt::SkipEmptyParts);
       }
       else if (it.key() == "COMMENT") {
-        comments = it.value().split("\\n", QString::SkipEmptyParts);
+        comments = it.value().split("\\n", Qt::SkipEmptyParts);
       }
     }
Index: trunk/BNC/src/rinex/rnxobsfile.cpp
===================================================================
--- trunk/BNC/src/rinex/rnxobsfile.cpp	(revision 10547)
+++ trunk/BNC/src/rinex/rnxobsfile.cpp	(revision 10548)
@@ -505,5 +505,5 @@
     for (int iType = 0; iType < useObsTypes->size(); iType++) {
       if (useObsTypes->at(iType).indexOf(":") != -1) {
-        QStringList hlp = useObsTypes->at(iType).split(":", QString::SkipEmptyParts);
+        QStringList hlp = useObsTypes->at(iType).split(":", Qt::SkipEmptyParts);
         if (hlp.size() == 2 && hlp[0].length() == 1) {
           if (_version >= 3.0) {
@@ -551,6 +551,6 @@
     else {
       foreach (const QString &str, *phaseShifts) {
-        QStringList hlp  = str.split("_", QString::SkipEmptyParts);
-        QStringList hlp1 = hlp.last().split(":", QString::SkipEmptyParts);
+        QStringList hlp  = str.split("_", Qt::SkipEmptyParts);
+        QStringList hlp1 = hlp.last().split(":", Qt::SkipEmptyParts);
         QString type = hlp.first();
         double shift = hlp1.first().toDouble();
@@ -577,5 +577,5 @@
     else {
       foreach (const QString &str, *gloBiases) {
-        QStringList hlp = str.split(":", QString::SkipEmptyParts);
+        QStringList hlp = str.split(":", Qt::SkipEmptyParts);
         QString type = hlp.first();;
         double  value = hlp.last().toDouble();
@@ -590,5 +590,5 @@
     else {
       foreach (const QString &str, *gloSlots) {
-        QStringList hlp = str.split(":", QString::SkipEmptyParts);
+        QStringList hlp = str.split(":", Qt::SkipEmptyParts);
         QString sat = hlp.first();
         int    slot = hlp.last().toInt();
@@ -631,8 +631,8 @@
       }
       else if (it.key() == "RUN BY DATE") {
-    	  runByDate = it.value().split("\\n", QString::SkipEmptyParts);
+    	  runByDate = it.value().split("\\n", Qt::SkipEmptyParts);
       }
       else if ((it.key().indexOf("COMMENT")) != -1) {
-        newComments += it.value().split("\\n", QString::SkipEmptyParts);
+        newComments += it.value().split("\\n", Qt::SkipEmptyParts);
       }
     }
@@ -1428,5 +1428,5 @@
       for (int ii = 0; ii < preferredAttribList.size(); ii++) {
         if (preferredAttribList[ii].indexOf("&") != -1) {
-          QStringList hlp = preferredAttribList[ii].split("&", QString::SkipEmptyParts);
+          QStringList hlp = preferredAttribList[ii].split("&", Qt::SkipEmptyParts);
           if (hlp.size() == 2 && hlp[0].contains(typeV2[1])) {
             preferredAttrib = hlp[1];
@@ -1677,5 +1677,5 @@
   // ---------------------------------------------------
   if (reqcAction == "Edit/Concatenate") {
-    priorList = settings.value("reqcV2Priority").toString().split(" ", QString::SkipEmptyParts);
+    priorList = settings.value("reqcV2Priority").toString().split(" ", Qt::SkipEmptyParts);
   }
 
@@ -1683,5 +1683,5 @@
   // ----------------------------
   else {
-    priorList = settings.value("rnxV2Priority").toString().split(" ", QString::SkipEmptyParts);
+    priorList = settings.value("rnxV2Priority").toString().split(" ", Qt::SkipEmptyParts);
   }
 
@@ -1689,5 +1689,5 @@
   for (int ii = 0; ii < priorList.size(); ii++) {
     if (priorList[ii].indexOf(":") != -1) {
-      QStringList hlp = priorList[ii].split(":", QString::SkipEmptyParts);
+      QStringList hlp = priorList[ii].split(":", Qt::SkipEmptyParts);
       if (hlp.size() == 2 && hlp[0].length() == 1 && hlp[0][0] == sys) {
         result.append(hlp[1]);
Index: trunk/BNC/src/upload/bncrtnetuploadcaster.cpp
===================================================================
--- trunk/BNC/src/upload/bncrtnetuploadcaster.cpp	(revision 10547)
+++ trunk/BNC/src/upload/bncrtnetuploadcaster.cpp	(revision 10548)
@@ -331,5 +331,5 @@
     if      (nextEpoch != -1 && nextEpoch < iEpoEnd) {
       rtnetStreamBuffer = rtnetStreamBuffer.mid(nextEpoch, nextEpochEnd);
-      lines = rtnetStreamBuffer.split('\n', QString::SkipEmptyParts);
+      lines = rtnetStreamBuffer.split('\n', Qt::SkipEmptyParts);
       if (lines.size() > 2) {
         decodeRtnetEpoch(lines);
@@ -343,5 +343,5 @@
   }
 
-  lines = _rtnetStreamBuffer.left(iEpoEnd).split('\n', QString::SkipEmptyParts);
+  lines = _rtnetStreamBuffer.left(iEpoEnd).split('\n', Qt::SkipEmptyParts);
 
   _rtnetStreamBuffer = _rtnetStreamBuffer.mid(iEpoEnd + 3);
