From 36ed688973ee818060fccb09bac3883cb0acc4a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=8B=D1=87=D0=BA=D0=BE=D0=B2=20=D0=90=D0=BD=D0=B4?= =?UTF-8?q?=D1=80=D0=B5=D0=B9?= Date: Fri, 13 Jan 2017 15:00:39 +0000 Subject: [PATCH] git-svn-id: svn://db.shs.com.ru/libs@156 a8b55f48-bf90-11e4-a774-851b48703e85 --- piqt_utils/piqt_connection_edit.cpp | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/piqt_utils/piqt_connection_edit.cpp b/piqt_utils/piqt_connection_edit.cpp index 6b1940c..4c2a716 100644 --- a/piqt_utils/piqt_connection_edit.cpp +++ b/piqt_utils/piqt_connection_edit.cpp @@ -286,6 +286,11 @@ void ConnectionEdit::recreateConnection() { conn->setDeviceName(dev, Q2PIString(di->name())); PIDiagnostics * diag = conn->diagnostic(dev); if (diag) diag->setDisconnectTimeout(di->disconnectTimeout()); + } + foreach (BlockItem * b, devs) { + DeviceItem * di = (DeviceItem*)b; + PIIODevice * dev = conn->deviceByName(Q2PIString(di->name())); + if (!dev) continue; BlockItemPin * p = b->pinByText("read"); if (!p) continue; QList buses = p->connectedBuses(), nbuses; @@ -305,19 +310,19 @@ void ConnectionEdit::recreateConnection() { bi_f = (cb[0]); } if (!fi_t || !bi_f) continue; - QString name_from; + PIString name_from; int type = bi_f->propertyByName("__type").value.toInt(); - if (type == __CV_Device) name_from = ((DeviceItem*)bi_f)->path(); - if (type == __CV_Filter) name_from = ((FilterItem*)bi_f)->name(); + if (type == __CV_Device) name_from = Q2PIString(((DeviceItem*)bi_f)->name()); + if (type == __CV_Filter) name_from = Q2PIString(((FilterItem*)bi_f)->name()); if (name_from.isEmpty()) continue; - PIPacketExtractor * pe = conn->addFilter(Q2PIString(fi_t->name()), Q2PIString(name_from), fi_t->mode()); + PIPacketExtractor * pe = conn->addFilter(Q2PIString(fi_t->name()),conn->deviceByName(name_from), fi_t->mode()); if (!pe) continue; pe->setHeader(PIByteArray::fromString(Q2PIString(fi_t->header()))); pe->setFooter(PIByteArray::fromString(Q2PIString(fi_t->footer()))); pe->setTimeout(fi_t->timeout()); pe->setPacketSize(fi_t->packetSize()); pe->setPayloadSize(fi_t->packetSize()); - diag = conn->diagnostic(pe); + PIDiagnostics * diag = conn->diagnostic(pe); if (diag) diag->setDisconnectTimeout(fi_t->disconnectTimeout()); QList nb = fi_t->pinByText("out")->connectedBuses(); foreach (BlockBusItem * b_, nb) @@ -355,10 +360,10 @@ void ConnectionEdit::recreateConnection() { if (!si->data().isEmpty()) conn->setSenderFixedData(Q2PIString(si->name()), PIByteArray::fromString(Q2PIString(si->data()))); } else { - if (type == __CV_Device) name_from = ((DeviceItem*)bi_f)->path(); + if (type == __CV_Device) name_from = ((DeviceItem*)bi_f)->name(); if (type == __CV_Filter) name_from = ((FilterItem*)bi_f)->name(); if (name_from.isEmpty()) continue; - conn->addChannel(Q2PIString(name_from), Q2PIString(di_t->path())); + conn->addChannel(Q2PIString(name_from), Q2PIString(di_t->name())); } } }