diff --git a/ChangeLog b/ChangeLog index 8e55ced2..c706ef3e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -16108,3 +16108,6 @@ 2017-10-14 Fred Gleason * Fixed a bug in RDStation that caused RDCartSlot parameters to fail to be copied as part of the profile of a new host. +2017-10-14 Fred Gleason + * Fixed a bug in RDStation that caused Livewire node parameters to + fail to be copied as part of the profile of a new host. diff --git a/lib/rdstation.cpp b/lib/rdstation.cpp index 8b623520..fb4de92d 100644 --- a/lib/rdstation.cpp +++ b/lib/rdstation.cpp @@ -1592,6 +1592,33 @@ bool RDStation::create(const QString &name,QString *err_msg, delete q1; } delete q; + + // + // Clone Livewire Nodes + // + sql=QString("select ")+ + "MATRIX,"+ // 00 + "BASE_OUTPUT,"+ // 01 + "HOSTNAME,"+ // 02 + "PASSWORD,"+ // 03 + "TCP_PORT,"+ // 04 + "DESCRIPTION "+ // 05 + "from SWITCHER_NODES where "+ + "STATION_NAME=\""+RDEscapeString(exemplar)+"\""; + q=new RDSqlQuery(sql); + while(q->next()) { + sql=QString("insert into SWITCHER_NODES set ")+ + "STATION_NAME=\""+RDEscapeString(name)+"\","+ + QString().sprintf("MATRIX=%d,",q->value(0).toInt())+ + QString().sprintf("BASE_OUTPUT=%d,",q->value(1).toInt())+ + "HOSTNAME=\""+RDEscapeString(q->value(2).toString())+"\","+ + "PASSWORD=\""+RDEscapeString(q->value(3).toString())+"\","+ + QString().sprintf("TCP_PORT=%d,",q->value(4).toInt())+ + "DESCRIPTION=\""+RDEscapeString(q->value(5).toString())+"\""; + q1=new RDSqlQuery(sql); + delete q1; + } + delete q; } return true; } @@ -1738,8 +1765,14 @@ void RDStation::remove(const QString &name) "STATION_NAME=\""+RDEscapeString(name)+"\""; q=new RDSqlQuery(sql); delete q; + + sql=QString("delete from SWITCHER_NODES where ")+ + "STATION_NAME=\""+RDEscapeString(name)+"\""; + q=new RDSqlQuery(sql); + delete q; } + void RDStation::SetRow(const QString ¶m,const QString &value) const { RDSqlQuery *q;