Add add and removed channels or features.

This commit is contained in:
srcejon 2024-04-04 15:21:09 +01:00
parent b70c7dc4a3
commit 3c75ac4f9e
2 changed files with 19 additions and 2 deletions

View File

@ -81,11 +81,28 @@ void AvailableChannelOrFeatureHandler::scanAvailableChannelsAndFeatures()
}
}
// Create lists of which channels and features have been added or removed
QStringList added;
QStringList removed;
for (const auto& channelOrFeature : availableChannelOrFeatureList)
{
if (m_availableChannelOrFeatureList.indexOfObject(channelOrFeature.m_object) < 0) {
added.append(channelOrFeature.getId());
}
}
for (const auto& channelOrFeature : m_availableChannelOrFeatureList)
{
if (availableChannelOrFeatureList.indexOfObject(channelOrFeature.m_object) < 0) {
removed.append(channelOrFeature.getId());
}
}
m_availableChannelOrFeatureList = availableChannelOrFeatureList;
// Signal if list has changed
if (changes) {
emit channelsOrFeaturesChanged(renameFrom, renameTo);
emit channelsOrFeaturesChanged(renameFrom, renameTo, removed, added);
}
}

View File

@ -78,7 +78,7 @@ private slots:
void handleFeatureRemoved(int featureSetIndex, Feature *feature);
signals:
void channelsOrFeaturesChanged(const QStringList& renameFrom, const QStringList& renameTo); //!< Emitted when list of channels or features has changed
void channelsOrFeaturesChanged(const QStringList& renameFrom, const QStringList& renameTo, const QStringList& removed, const QStringList& added); //!< Emitted when list of channels or features has changed
void messageEnqueued(MessageQueue *messageQueue); //!< Emitted when message enqueued to a pipe
};