|  | @@ -13014,6 +13014,11 @@ notifications to the various places that may be interested in these and not
 | 
		
	
		
			
			| 13014 | 13014 |  bother notification aware controls that are uninterested in unrelated
 | 
		
	
		
			
			| 13015 | 13015 |  notifications, a notification object is created for each notification.
 | 
		
	
		
			
			| 13016 | 13016 |  
 | 
		
	
		
			
			|  | 13017 | +Note that the notification channel is an identifier and unquoted identifiers
 | 
		
	
		
			
			|  | 13018 | +will be converted to lowercase while \pn{} will attempt to match subscribed to
 | 
		
	
		
			
			|  | 13019 | +notifications exactly. This means that it is generally a good idea to subscribe
 | 
		
	
		
			
			|  | 13020 | +with the channel specified in lowercase.
 | 
		
	
		
			
			|  | 13021 | +
 | 
		
	
		
			
			| 13017 | 13022 |  @<Application Implementation@>=
 | 
		
	
		
			
			| 13018 | 13023 |  DatabaseNotification* Application::subscribe(const QString ¬ification)
 | 
		
	
		
			
			| 13019 | 13024 |  {
 | 
		
	
	
		
			
			|  | @@ -13986,7 +13991,6 @@ void SqlConnectionSetup::testConnection()
 | 
		
	
		
			
			| 13986 | 13991 |          settings.setValue("database/dbname", dbname->text());
 | 
		
	
		
			
			| 13987 | 13992 |          settings.setValue("database/user", user->text());
 | 
		
	
		
			
			| 13988 | 13993 |          settings.setValue("database/password", password->text());
 | 
		
	
		
			
			| 13989 |  | -        database.close();
 | 
		
	
		
			
			| 13990 | 13994 |          AppInstance->setDatabaseConnected(true);
 | 
		
	
		
			
			| 13991 | 13995 |          accept();
 | 
		
	
		
			
			| 13992 | 13996 |      }
 | 
		
	
	
		
			
			|  | @@ -14026,7 +14030,6 @@ if(!database.open())
 | 
		
	
		
			
			| 14026 | 14030 |  }
 | 
		
	
		
			
			| 14027 | 14031 |  else
 | 
		
	
		
			
			| 14028 | 14032 |  {
 | 
		
	
		
			
			| 14029 |  | -    database.close();
 | 
		
	
		
			
			| 14030 | 14033 |      AppInstance->setDatabaseConnected(true);
 | 
		
	
		
			
			| 14031 | 14034 |  }
 | 
		
	
		
			
			| 14032 | 14035 |  
 | 
		
	
	
		
			
			|  | @@ -18782,7 +18785,6 @@ void ModbusRTUDevice::decimalResponse(QByteArray response)
 | 
		
	
		
			
			| 18782 | 18785 |      tchar[0] = response.at(4);
 | 
		
	
		
			
			| 18783 | 18786 |      decimalPosition = temp;
 | 
		
	
		
			
			| 18784 | 18787 |      emit SVDecimalChanged(decimalPosition);
 | 
		
	
		
			
			| 18785 |  | -    qDebug() << "Received decimal response";
 | 
		
	
		
			
			| 18786 | 18788 |  }
 | 
		
	
		
			
			| 18787 | 18789 |  
 | 
		
	
		
			
			| 18788 | 18790 |  void ModbusRTUDevice::unitResponse(QByteArray response)
 | 
		
	
	
		
			
			|  | @@ -18800,7 +18802,6 @@ void ModbusRTUDevice::unitResponse(QByteArray response)
 | 
		
	
		
			
			| 18800 | 18802 |      {
 | 
		
	
		
			
			| 18801 | 18803 |          unitIsF = @[false@];
 | 
		
	
		
			
			| 18802 | 18804 |      }
 | 
		
	
		
			
			| 18803 |  | -    qDebug() << "Received unit response";
 | 
		
	
		
			
			| 18804 | 18805 |  }
 | 
		
	
		
			
			| 18805 | 18806 |  
 | 
		
	
		
			
			| 18806 | 18807 |  void ModbusRTUDevice::svlResponse(QByteArray response)
 | 
		
	
	
		
			
			|  | @@ -18815,7 +18816,6 @@ void ModbusRTUDevice::svlResponse(QByteArray response)
 | 
		
	
		
			
			| 18815 | 18816 |          outputSVLower /= 10;
 | 
		
	
		
			
			| 18816 | 18817 |      }
 | 
		
	
		
			
			| 18817 | 18818 |      emit SVLowerChanged(outputSVLower);
 | 
		
	
		
			
			| 18818 |  | -    qDebug() << "Received set value lower bound response";
 | 
		
	
		
			
			| 18819 | 18819 |  }
 | 
		
	
		
			
			| 18820 | 18820 |  
 | 
		
	
		
			
			| 18821 | 18821 |  void ModbusRTUDevice::svuResponse(QByteArray response)
 | 
		
	
	
		
			
			|  | @@ -18830,7 +18830,6 @@ void ModbusRTUDevice::svuResponse(QByteArray response)
 | 
		
	
		
			
			| 18830 | 18830 |          outputSVUpper /= 10;
 | 
		
	
		
			
			| 18831 | 18831 |      }
 | 
		
	
		
			
			| 18832 | 18832 |      emit SVUpperChanged(outputSVUpper);
 | 
		
	
		
			
			| 18833 |  | -    qDebug() << "Received set value upper bound response";
 | 
		
	
		
			
			| 18834 | 18833 |  }
 | 
		
	
		
			
			| 18835 | 18834 |  
 | 
		
	
		
			
			| 18836 | 18835 |  void ModbusRTUDevice::requestMeasurement()
 | 
		
	
	
		
			
			|  | @@ -19103,7 +19102,6 @@ void ModbusRTUDevice::sendNextMessage()
 | 
		
	
		
			
			| 19103 | 19102 |          char *check = (char*)&crc;
 | 
		
	
		
			
			| 19104 | 19103 |          message.append(check[0]);
 | 
		
	
		
			
			| 19105 | 19104 |          message.append(check[1]);
 | 
		
	
		
			
			| 19106 |  | -        qDebug() << "Writing" << message.toHex();
 | 
		
	
		
			
			| 19107 | 19105 |          port->write(message);
 | 
		
	
		
			
			| 19108 | 19106 |          commTimeout->start(2000);
 | 
		
	
		
			
			| 19109 | 19107 |          messageDelayTimer->start(delayTime);
 |