From 59deb54430fec9313bd6273955e968caa85b2cdb Mon Sep 17 00:00:00 2001 From: IKhonakhbeeva Date: Fri, 15 Oct 2021 01:29:15 +0300 Subject: [PATCH] Clean code logic --- .../include/kitBase/devicesConfigurationWidget.h | 2 +- .../kitBase/src/devicesConfigurationProvider.cpp | 11 +++++------ .../kitBase/src/devicesConfigurationWidget.cpp | 16 +++++++--------- 3 files changed, 13 insertions(+), 16 deletions(-) diff --git a/plugins/robots/common/kitBase/include/kitBase/devicesConfigurationWidget.h b/plugins/robots/common/kitBase/include/kitBase/devicesConfigurationWidget.h index f18a99c4fc..af0e31e7f2 100644 --- a/plugins/robots/common/kitBase/include/kitBase/devicesConfigurationWidget.h +++ b/plugins/robots/common/kitBase/include/kitBase/devicesConfigurationWidget.h @@ -78,7 +78,7 @@ public slots: , Reason reason) override; void propagateChanges(const QString &robotId, const robotModel::PortInfo &port - , const robotModel::DeviceInfo &sensor); + , const robotModel::DeviceInfo &sensor, Reason reason); void propagateChangesFromBox(QComboBox *box); diff --git a/plugins/robots/common/kitBase/src/devicesConfigurationProvider.cpp b/plugins/robots/common/kitBase/src/devicesConfigurationProvider.cpp index df0ba11968..ee1b922fef 100644 --- a/plugins/robots/common/kitBase/src/devicesConfigurationProvider.cpp +++ b/plugins/robots/common/kitBase/src/devicesConfigurationProvider.cpp @@ -73,13 +73,12 @@ void DevicesConfigurationProvider::deviceConfigurationChanged(const QString &rob { if (mCurrentConfiguration[robotId][port] != device) { mCurrentConfiguration[robotId][port] = device; + // Allow provider to react on configuration change. + onDeviceConfigurationChanged(robotId, port, device, reason); for (DevicesConfigurationProvider * const provider : mConnectedProviders) { // Broadcast change. provider->deviceConfigurationChanged(robotId, port, device, reason); - - // Allow connected providers to react on configuration change. - provider->onDeviceConfigurationChanged(robotId, port, device, reason); } } } @@ -88,9 +87,9 @@ void DevicesConfigurationProvider::onDeviceConfigurationChanged(const QString &r , const PortInfo &port, const DeviceInfo &sensor, Reason reason) { Q_UNUSED(robotId) - Q_UNUSED(port); - Q_UNUSED(sensor); - Q_UNUSED(reason); + Q_UNUSED(port) + Q_UNUSED(sensor) + Q_UNUSED(reason) } void DevicesConfigurationProvider::clearConfiguration(Reason reason) diff --git a/plugins/robots/common/kitBase/src/devicesConfigurationWidget.cpp b/plugins/robots/common/kitBase/src/devicesConfigurationWidget.cpp index 90d08d845d..8151c87d7d 100644 --- a/plugins/robots/common/kitBase/src/devicesConfigurationWidget.cpp +++ b/plugins/robots/common/kitBase/src/devicesConfigurationWidget.cpp @@ -130,9 +130,7 @@ QLayout *DevicesConfigurationWidget::initPort(const QString &robotModelName void DevicesConfigurationWidget::onDeviceConfigurationChanged(const QString &robotId , const PortInfo &port, const DeviceInfo &sensor, Reason reason) { - Q_UNUSED(reason) - - propagateChanges(robotId, port, sensor); + propagateChanges(robotId, port, sensor, reason); // This method can be called when we did not accomplish processing all combo boxes during saving. // So ignoring such case. if (!mSaving && robotId == mCurrentRobotId) { @@ -179,14 +177,14 @@ void DevicesConfigurationWidget::save() void DevicesConfigurationWidget::propagateChangesFromBox(QComboBox *box) { - const PortInfo port = box->property("port").value(); - const DeviceInfo device = box->itemData(box->currentIndex()).value(); + const PortInfo &port = box->property("port").value(); + const DeviceInfo &device = box->itemData(box->currentIndex()).value(); if (currentConfiguration(mCurrentRobotId, port) != device) { - propagateChanges(mCurrentRobotId, port, device); + propagateChanges(mCurrentRobotId, port, device, Reason::userAction); } } -void DevicesConfigurationWidget::propagateChanges(const QString &robotId, const PortInfo &port, const DeviceInfo &sensor) +void DevicesConfigurationWidget::propagateChanges(const QString &robotId, const PortInfo &port, const DeviceInfo &sensor, Reason reason) { const auto kit = robotId.split(QRegExp("[A-Z]")).first(); for (const QString &robotModelType : mRobotModels.keys()) { @@ -195,12 +193,12 @@ void DevicesConfigurationWidget::propagateChanges(const QString &robotId, const for (const PortInfo &otherPort : robotModel->configurablePorts()) { if (areConvertible(port, otherPort)) { if (sensor.isNull()) { - deviceConfigurationChanged(robotModel->robotId(), otherPort, DeviceInfo(), Reason::userAction); + deviceConfigurationChanged(robotModel->robotId(), otherPort, DeviceInfo(), reason); } else { const DeviceInfo otherDevice = convertibleDevice(robotModel, otherPort, sensor); if (!otherDevice.isNull()) { deviceConfigurationChanged(robotModel->robotId(), otherPort - , otherDevice, Reason::userAction); + , otherDevice, reason); } } }