2018-07-31 Fred Gleason <fredg@paravelsystems.com>

* Refactored 'RDMacro' to handle UTF-8 strings correctly.
This commit is contained in:
Fred Gleason
2018-07-31 12:54:08 -04:00
parent dbb0d9c415
commit 26c29e1d4e
47 changed files with 676 additions and 686 deletions

View File

@@ -276,18 +276,17 @@ void EditTtys::closeData()
macro.setCommand(RDMacro::SY);
macro.setRole(RDMacro::Cmd);
macro.setEchoRequested(false);
macro.setArgQuantity(1);
for(int i=0;i<MAX_TTYS;i++) {
if(edit_port_modified[i]) {
sql=QString().sprintf("select MATRIX from MATRICES where PORT=%d",i);
q=new RDSqlQuery(sql);
if(q->first()) {
macro.setCommand(RDMacro::SZ);
macro.setArg(0,q->value(0).toInt());
macro.addArg(q->value(0).toInt());
}
else {
macro.setCommand(RDMacro::SY);
macro.setArg(0,i);
macro.addArg(i);
}
macro.setAddress(rmt_station->address());
rda->ripc()->sendRml(&macro);

View File

@@ -291,16 +291,15 @@ void ListGpis::okData()
RDStation *station=new RDStation(list_matrix->station());
rml.setCommand(RDMacro::GI);
rml.setRole(RDMacro::Cmd);
rml.setArgQuantity(5);
rml.setArg(0,list_matrix->matrix());
rml.addArg(list_matrix->matrix());
switch(list_type) {
case RDMatrix::GpioInput:
rml.setArg(1,"I");
break;
case RDMatrix::GpioInput:
rml.addArg("I");
break;
case RDMatrix::GpioOutput:
rml.setArg(1,"O");
break;
case RDMatrix::GpioOutput:
rml.addArg("O");
break;
}
rml.setAddress(station->address());
rml.setEchoRequested(false);
@@ -316,9 +315,9 @@ void ListGpis::okData()
QString().sprintf("OFF_MACRO_CART=%d",item->text(3).toInt());
q=new RDSqlQuery(sql);
delete q;
rml.setArg(2,item->text(0).toInt());
rml.setArg(3,true);
rml.setArg(4,item->text(1).toInt());
rml.addArg(item->text(0).toInt());
rml.addArg(true);
rml.addArg(item->text(1).toInt());
rda->ripc()->sendRml(&rml);
rml.setArg(3,false);
rml.setArg(4,item->text(3).toInt());

View File

@@ -226,11 +226,10 @@ void ListMatrices::closeData()
macro.setCommand(RDMacro::SZ);
macro.setRole(RDMacro::Cmd);
macro.setEchoRequested(false);
macro.setArgQuantity(1);
for(int i=0;i<MAX_MATRICES;i++) {
if(list_matrix_modified[i]) {
macro.setAddress(rmt_station->address());
macro.setArg(0,i);
macro.addArg(i);
rda->ripc()->sendRml(&macro);
}
}