Complete Qt6 migration: full clean build green across groups G1-G12 incl. runtime plugin set

new_docker_build.sh gains Group 12 (212 GUI/Data plugins); fixes LtsUtilsGuiDds visibility (LTO-stripped exports), LtsProjectionWorkstation unity name shadow, 6 unity-off dirs (dup file-scope statics, ddsftc INTERFACE sources) and reconfigures BUILD_FILTERMANAGEMENT/BUILD_PLUGINS_SERVICEMONITOR=ON
This commit is contained in:
berrux-dev committed 2026-10-20 09:36:57 +02:00
1 parent eb1d949edc
commit 815e16368e
1718 files changed
+126739 -18495

No files matched your search

@@ -21,28 +21,28 @@ struct SoundArea
{
SoundArea() = default;
explicit SoundArea(const InfrastructureManagement::EffectArea &effectArea)
: id(effectArea.id())
, areaEgcuId(effectArea.areaEgcuId())
: id(effectArea.id)
, areaEgcuId(effectArea.areaEgcuId)
#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
, egcuIds(QVector<int>(effectArea.egcuIds().begin(), effectArea.egcuIds().end()))
, egcuIds(QVector<int>(effectArea.egcuIds.begin(), effectArea.egcuIds.end()))
#else
, egcuIds(QVector<int>::fromStdVector(effectArea.egcuIds()))
, egcuIds(QVector<int>::fromStdVector(effectArea.egcuIds))
#endif
, displayName(QString::fromStdString(effectArea.name()))
, displayName(QString::fromStdString(effectArea.name))
{
}
bool addActiveSound(const SoundManagement::SoundState &soundState)
{
if (activeSounds.contains(soundState.id()))
if (activeSounds.contains(soundState.id))
return false;
activeSounds.insert(soundState.id(), soundState);
activeSounds.insert(soundState.id, soundState);
return true;
}
bool removeActiveSound(const SoundManagement::SoundState &soundState)
{
return removeActiveSound(soundState.id());
return removeActiveSound(soundState.id);
}
bool removeActiveSound(const int &id)
{
@@ -52,21 +52,21 @@ struct SoundArea
bool hasActiveSound(const SoundManagement::SoundCategory &category, const int &id) const
{
for (const auto &sound : std::as_const(activeSounds))
if ( (sound.category() == category) && (sound.soundId() == id) )
if ( (sound.category == category) && (sound.soundId == id) )
return true;
return false;
}
bool hasActiveSound(const int32_t &category, const int32_t &id) const
{
for (const auto &sound : std::as_const(activeSounds))
if ( (static_cast<int32_t>(sound.category().underlying()) == category) && (sound.soundId() == id) )
if ( (static_cast<int32_t>(sound.category) == category) && (sound.soundId == id) )
return true;
return false;
}
bool hasActiveSound(const SoundKey &key) const
{
for (const auto &sound : std::as_const(activeSounds))
if ( (static_cast<int32_t>(sound.category().underlying()) == key.first) && (sound.soundId() == key.second) )
if ( (static_cast<int32_t>(sound.category) == key.first) && (sound.soundId == key.second) )
return true;
return false;
}
@@ -177,7 +177,7 @@ bool SoundAreaEditDialog::init(LtsSession::LtsSessionDataDds* session)
auto* reqHandler = new ControlSoundRequester;
if (!m_somFtc->controlSoundRequest(
ControlSoundRequest(ss.egcuId(), ss.soundId(), ss.category(), 0, PlayControl::StopSound), reqHandler))
ControlSoundRequest(ss.egcuId, ss.soundId, ss.category, 0, PlayControl::StopSound), reqHandler))
{
new LtsWidgets::LtsMessageDialogNew(this, tr("Stopping sound failed with unknown error"));
return;
@@ -6,6 +6,7 @@
#include <LtsWidgets/lts_dialog.h>
#include <SoundManagement/som_dtc.h>
#include <SoundManagement/som_ftc.h>
#include <NGLLogger/NGLLoggerBootstrap.h>
namespace NGL
{
@@ -41,6 +42,8 @@ class ControlSoundRequester : public QObject, public SoundManagement::Interface:
{
Q_OBJECT
public:
ControlSoundRequester() : m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger()) {}
void onControlSoundReply(const Core::FunctionReplyObject& reply) override final
{
m_reply = reply;
@@ -1,6 +1,7 @@
#include "efm_sound_area_edit_model_playlist.h"
#include <NGLLogger/NGLLoggerBootstrap.h>
#include "../logger.h"
#include "efm_sound_area_helper.h"
@@ -19,7 +20,7 @@ namespace EffectManagement
QIcon SoundAreaEditPlaylistDelegate::s_iconInf = QIcon(QStringLiteral("icon:infinity.svg"));
SoundAreaEditPlaylistDelegate::SoundAreaEditPlaylistDelegate(QObject* parent)
: QStyledItemDelegate(parent), m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger())
: QStyledItemDelegate(parent)
{
}
@@ -54,6 +55,7 @@ SoundAreaPlaylistModel::SoundAreaPlaylistModel(const QVector<int32_t>& egcuIds,
: LtsAbstractTableModel<SoundState>({tr("Category"), tr("Sound"), tr("EGCU"), tr("Duration"), tr("Option")},
parent),
m_helper(helper), m_egcuIds(egcuIds)
, m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger())
{
}
@@ -71,7 +73,7 @@ bool SoundAreaPlaylistModel::init(std::shared_ptr<SoundManagement::Interface::Dt
const QMap<int32_t, SoundManagement::SoundState> soundStates = somDtc->soundStates();
for (const auto& data : std::as_const(soundStates))
{
if (!m_egcuIds.contains(data.egcuId()))
if (!m_egcuIds.contains(data.egcuId))
continue;
addActiveSound(SoundState(data));
@@ -97,8 +99,8 @@ int SoundAreaPlaylistModel::indexOf(const SoundState& data) const
int idx = 0;
for (const auto& item : std::as_const(m_vecData))
{
if ((item.category() == data.category()) && (item.soundId() == data.soundId()) &&
(item.egcuId() == data.egcuId()))
if ((item.category == data.category) && (item.soundId == data.soundId) &&
(item.egcuId == data.egcuId))
return idx;
++idx;
}
@@ -107,9 +109,9 @@ int SoundAreaPlaylistModel::indexOf(const SoundState& data) const
bool SoundAreaPlaylistModel::addActiveSound(SoundState data)
{
data.duration(m_helper->soundDuration(data.category(), data.soundId()));
data.duration(m_helper->soundDuration(data.category, data.soundId));
const int row = indexOf(data);
const QString name(m_helper->soundName(data.category(), data.soundId()));
const QString name(m_helper->soundName(data.category, data.soundId));
if (row != -1)
{
@@ -146,16 +148,16 @@ QVariant SoundAreaPlaylistModel::data(const QModelIndex& index, int role) const
switch (index.column())
{
case Column::Category:
return m_helper->categoryName(soundState.category());
return m_helper->categoryName(soundState.category);
case Column::Sound:
return m_helper->soundName(soundState.category(), soundState.soundId());
return m_helper->soundName(soundState.category, soundState.soundId);
case Column::Egcu:
return m_helper->egcuName(soundState.egcuId());
return m_helper->egcuName(soundState.egcuId);
case Column::Duration:
return soundState.inLoop()
return soundState.inLoop
? QString()
: QTime(0, 0).addMSecs(soundState.duration()).toString(QStringLiteral("hh:mm:ss.zzz"));
@@ -164,15 +166,15 @@ QVariant SoundAreaPlaylistModel::data(const QModelIndex& index, int role) const
return soundState.status();
}
case Qt::BackgroundColorRole:
case Qt::BackgroundRole:
if ((index.column() != Column::Category) && (index.column() != Column::Sound))
return QVariant();
return m_helper->soundCategoryBackgroundColor(static_cast<int32_t>(soundState.category().underlying()));
return m_helper->soundCategoryBackgroundColor(static_cast<int32_t>(soundState.category));
case Qt::TextColorRole:
case Qt::ForegroundRole:
if ((index.column() != Column::Category) && (index.column() != Column::Sound))
return QVariant();
return m_helper->soundCategoryTextColor(static_cast<int32_t>(soundState.category().underlying()));
return m_helper->soundCategoryTextColor(static_cast<int32_t>(soundState.category));
case Qt::TextAlignmentRole:
return index.column() == Column::Duration ? Qt::AlignCenter : Qt::AlignVCenter;
@@ -184,7 +186,7 @@ QVariant SoundAreaPlaylistModel::data(const QModelIndex& index, int role) const
bool SoundAreaPlaylistModel::onDataChanged(const SoundState& data, DataModification modType)
{
if (!m_egcuIds.contains(data.egcuId()))
if (!m_egcuIds.contains(data.egcuId))
return false;
int row;
@@ -204,7 +206,7 @@ bool SoundAreaPlaylistModel::onDataChanged(const SoundState& data, DataModificat
idx = SoundAreaPlaylistModel::index(m_vecData.indexOf(data), 0);
if (row == -1)
{
ERROR_LOG(m_logger) << "'" << m_helper->soundName(data.category(), data.soundId())
ERROR_LOG(m_logger) << "'" << m_helper->soundName(data.category, data.soundId)
<< "' is neither scheduled nor active";
return false;
}
@@ -31,7 +31,6 @@ class SoundAreaEditPlaylistDelegate : public QStyledItemDelegate
void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const override;
private:
NGL::INGLLogger& m_logger;
static QIcon s_iconInf;
};
@@ -68,6 +67,7 @@ class SoundAreaPlaylistModel : public LtsWidgets::LtsAbstractTableModel<SoundSta
std::shared_ptr<SoundAreaHelper> m_helper{nullptr};
QVector<int32_t> m_egcuIds;
QTimer* m_timer{nullptr};
NGL::INGLLogger& m_logger;
};
} // namespace EffectManagement
@@ -1,6 +1,7 @@
#include "efm_sound_area_edit_model_tree.h"
#include <NGLLogger/NGLLoggerBootstrap.h>
#include "../logger.h"
#include "efm_sound_area.h"
@@ -105,7 +106,8 @@ SoundAreaTreeModel::SoundAreaTreeModel(const QVector<int>& egcuIds, std::shared_
QWidget* parent)
: QAbstractItemModel(parent), m_helper(helper),
m_root(new SoundTreeItem({tr("Category"), tr("Sound"), tr("Loop"), tr("Volume")}, SoundKey(0, 0))),
m_egcuIds(egcuIds)
m_egcuIds(egcuIds),
m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger())
{
}
@@ -163,23 +165,23 @@ bool SoundAreaTreeModel::init(const std::shared_ptr<SoundManagement::Interface::
{
QString name{m_helper->categoryName(category)};
QVector<QVariant> data{QVector<QVariant>{name, QVariant(), 0, 100}};
key.first = static_cast<int32_t>(category.underlying());
key.first = static_cast<int32_t>(category);
key.second = 0;
m_root->appendChild(new SoundTreeItem(data, key, m_root));
}
SoundManagement::Sounds sounds = somDtc->sounds();
for (const auto& sound : std::as_const(sounds.sounds()))
for (const auto& sound : std::as_const(sounds.sounds))
{
for (auto& category : m_root->children())
{
if (category->soundKey().first == static_cast<int32_t>(sound.category().underlying()))
if (category->soundKey().first == static_cast<int32_t>(sound.category))
{
QString displayName = m_helper->soundName(sound.category(), sound.soundId());
QString displayName = m_helper->soundName(sound.category, sound.soundId);
QVector<QVariant> data{
QVector<QVariant>{category->data(0).toString(), displayName, sound.isRepeatable() ? 1 : 0, 100}};
key.first = static_cast<int32_t>(sound.category().underlying());
key.second = sound.soundId();
QVector<QVariant>{category->data(0).toString(), displayName, sound.isRepeatable ? 1 : 0, 100}};
key.first = static_cast<int32_t>(sound.category);
key.second = sound.soundId;
category->appendChild(new SoundTreeItem(data, key, category));
break;
}
@@ -236,8 +238,8 @@ QVariant SoundAreaTreeModel::data(const QModelIndex& index, int role) const
if (!index.isValid())
return QVariant();
if ((role != Qt::DisplayRole) && (role != Qt::ToolTipRole) && (role != Qt::BackgroundColorRole) &&
(role != Qt::TextColorRole) && (role != Qt::EditRole))
if ((role != Qt::DisplayRole) && (role != Qt::ToolTipRole) && (role != Qt::BackgroundRole) &&
(role != Qt::ForegroundRole) && (role != Qt::EditRole))
return QVariant();
SoundTreeItem* item = static_cast<SoundTreeItem*>(index.internalPointer());
@@ -295,7 +297,7 @@ QVariant SoundAreaTreeModel::data(const QModelIndex& index, int role) const
return m_helper->soundCategoryBackgroundColor(item->soundKey().first);
return QVariant();
case Qt::TextColorRole:
case Qt::ForegroundRole:
if ((index.column() == Column::Category) || (index.column() == Column::Sound))
return m_helper->soundCategoryTextColor(item->soundKey().first);
return QVariant();
@@ -165,6 +165,7 @@ class SoundAreaTreeModel : public QAbstractItemModel
SoundTreeItem* m_root{nullptr};
QVector<int32_t> m_egcuIds;
NGL::INGLLogger& m_logger;
};
} // namespace EffectManagement
@@ -12,30 +12,30 @@ namespace EffectManagement
{
SoundAreaHelper::SoundAreaHelper(SoundAreaHelper* helper)
: m_ismDtc(helper->ismDtc()), m_somDtc(helper->somDtc()), m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger())
: m_ismDtc(helper->ismDtc()), m_somDtc(helper->somDtc()), m_logger(getLogger("Plugins.Gui.SoundArea.Helper"))
{
QMap<int32_t, InfrastructureManagement::InstrumentationAsset> assets = m_ismDtc->instrumentationAssets();
for (const auto& asset : std::as_const(assets))
if (asset.mountingPointTypeId() == InfrastructureManagement::MountingPointType::EffectGenerationControlUnit)
m_egcuNames.insert(asset.id(), QString::fromStdString(asset.name()));
if (asset.mountingPointTypeId == InfrastructureManagement::MountingPointType::EffectGenerationControlUnit)
m_egcuNames.insert(asset.id, QString::fromStdString(asset.name));
SoundManagement::Sounds sounds = m_somDtc->sounds();
for (const auto& sound : std::as_const(sounds.sounds()))
m_soundDuration.insert(SoundKey(sound.category().underlying(), sound.soundId()), sound.duration());
for (const auto& sound : std::as_const(sounds.sounds))
m_soundDuration.insert(SoundKey(static_cast<int32_t>(sound.category), sound.soundId), sound.duration);
}
SoundAreaHelper::SoundAreaHelper(std::shared_ptr<InfrastructureManagement::Interface::Dtc>& ismDtc,
std::shared_ptr<SoundManagement::Interface::Dtc>& somDtc)
: m_ismDtc(ismDtc), m_somDtc(somDtc)
: m_ismDtc(ismDtc), m_somDtc(somDtc), m_logger(getLogger("Plugins.Gui.SoundArea.Helper"))
{
QMap<int32_t, InfrastructureManagement::InstrumentationAsset> assets = m_ismDtc->instrumentationAssets();
for (const auto& asset : std::as_const(assets))
if (asset.mountingPointTypeId() == InfrastructureManagement::MountingPointType::EffectGenerationControlUnit)
m_egcuNames.insert(asset.id(), QString::fromStdString(asset.name()));
if (asset.mountingPointTypeId == InfrastructureManagement::MountingPointType::EffectGenerationControlUnit)
m_egcuNames.insert(asset.id, QString::fromStdString(asset.name));
SoundManagement::Sounds sounds = m_somDtc->sounds();
for (const auto& sound : std::as_const(sounds.sounds()))
m_soundDuration.insert(SoundKey(sound.category().underlying(), sound.soundId()), sound.duration());
for (const auto& sound : std::as_const(sounds.sounds))
m_soundDuration.insert(SoundKey(static_cast<int32_t>(sound.category), sound.soundId), sound.duration);
}
QVector<SoundManagement::SoundCategory> SoundAreaHelper::soundCategories()
@@ -50,7 +50,7 @@ QVector<SoundManagement::SoundCategory> SoundAreaHelper::soundCategories()
QString SoundAreaHelper::categoryName(SoundManagement::SoundCategory category)
{
switch (category.underlying())
switch (category)
{
case SoundManagement::SoundCategory::Aircraft:
return QStringLiteral("Aircraft");
@@ -82,7 +82,7 @@ QString SoundAreaHelper::categoryName(const int32_t& category)
QString SoundAreaHelper::soundName(SoundManagement::SoundCategory category, const int& id)
{
switch (category.underlying())
switch (category)
{
case SoundManagement::SoundCategory::Aircraft:
switch (id)
@@ -231,7 +231,7 @@ QString SoundAreaHelper::soundName(const int& category, const int& id)
int SoundAreaHelper::soundDuration(SoundManagement::SoundCategory category, const int& id) const
{
return soundDuration(static_cast<int>(category.underlying()), id);
return soundDuration(static_cast<int>(category), id);
}
int SoundAreaHelper::soundDuration(const int& category, const int& id) const
@@ -247,7 +247,7 @@ QString SoundAreaHelper::egcuName(const int& id) const
QColor SoundAreaHelper::soundCategoryTextColor(const int32_t& category)
{
switch (category)
switch (static_cast<SoundManagement::SoundCategory>(category))
{
case SoundManagement::SoundCategory::Aircraft:
return {Qt::white};
@@ -274,7 +274,7 @@ QColor SoundAreaHelper::soundCategoryTextColor(const int32_t& category)
QColor SoundAreaHelper::soundCategoryBackgroundColor(const int32_t& category)
{
switch (category)
switch (static_cast<SoundManagement::SoundCategory>(category))
{
case SoundManagement::SoundCategory::Aircraft:
return QColor::fromRgb(25, 25, 112);
@@ -18,7 +18,8 @@ namespace EffectManagement
SoundAreaSelectDialog::SoundAreaSelectDialog(QWidget* parent)
: LtsWidgets::LtsDialog(parent), m_requestHelper(new LtsUtils::RequestHelper(this)),
m_model(new SoundAreaSelectModel(this)), m_ui(new Ui::SoundAreasDialog)
m_model(new SoundAreaSelectModel(this)), m_ui(new Ui::SoundAreasDialog),
m_logger(getLogger("Plugins.Gui.SoundArea.SelectDialog"))
{
m_ui->setupUi(this);
@@ -13,7 +13,7 @@ namespace EffectManagement
{
SoundAreaSelectDelegate::SoundAreaSelectDelegate(QObject* parent)
: QItemDelegate(parent), m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger())
: QItemDelegate(parent)
{
}
@@ -38,6 +38,7 @@ void SoundAreaSelectDelegate::paint(QPainter* painter, const QStyleOptionViewIte
SoundAreaSelectModel::SoundAreaSelectModel(QWidget* parent)
: LtsWidgets::LtsAbstractTableModel<SoundArea>(
{tr("ID"), tr("Name"), tr("Main EGCU"), tr("Sound Area EGCUs"), tr("Active Sounds"), tr("Stop")}, parent)
, m_logger(getLogger("Plugins.Gui.SoundArea.SelectModel"))
{
}
@@ -45,21 +46,21 @@ bool SoundAreaSelectModel::onSoundStateChanged(const SoundManagement::SoundState
{
for (auto& soundArea : m_vecData)
{
if (soundArea.egcuIds.contains(data.egcuId()))
if (soundArea.egcuIds.contains(data.egcuId))
{
QHash<int32_t, SoundManagement::SoundState>::iterator it = soundArea.activeSounds.find(data.id());
QHash<int32_t, SoundManagement::SoundState>::iterator it = soundArea.activeSounds.find(data.id);
switch (modType)
{
case DataModification::eAdded:
if (it != soundArea.activeSounds.end())
{
DEBUG_LOG(m_logger)
<< "'" << m_helper->soundName(data.category(), data.soundId()) << "' is already active";
<< "'" << m_helper->soundName(data.category, data.soundId) << "' is already active";
return false;
}
else
{
soundArea.activeSounds.insert(data.id(), data);
soundArea.activeSounds.insert(data.id, data);
emit dataChanged(SoundAreaSelectModel::index(0, Column::ActiveSounds),
SoundAreaSelectModel::index(m_vecData.size(), Column::ActiveSounds));
return true;
@@ -69,7 +70,7 @@ bool SoundAreaSelectModel::onSoundStateChanged(const SoundManagement::SoundState
if (it == soundArea.activeSounds.end())
{
DEBUG_LOG(m_logger)
<< "'" << m_helper->soundName(data.category(), data.soundId()) << "' is not active";
<< "'" << m_helper->soundName(data.category, data.soundId) << "' is not active";
return false;
}
else
@@ -171,7 +172,7 @@ QVariant SoundAreaSelectModel::data(const QModelIndex& index, int role) const
if (soundArea.activeSounds.size() > 0)
{
SoundManagement::SoundState sound = soundArea.activeSounds.begin().value();
return m_helper->soundName(sound.category(), sound.soundId());
return m_helper->soundName(sound.category, sound.soundId);
}
return QString();
@@ -200,7 +201,7 @@ QVariant SoundAreaSelectModel::data(const QModelIndex& index, int role) const
case Column::ActiveSounds:
for (const auto& sound : soundArea.activeSounds)
str += m_helper->soundName(sound.category(), sound.soundId()).toStdString() + "\n";
str += m_helper->soundName(sound.category, sound.soundId).toStdString() + "\n";
if (str.size() > 1)
str = str.substr(0, str.length() - 1);
return QString::fromStdString(str);
@@ -14,7 +14,7 @@ const QIcon SwitchItemDelegate::s_iconOn = QIcon(QStringLiteral("icon:switch_on.
const QIcon SwitchItemDelegate::s_iconOff = QIcon(QStringLiteral("icon:switch_off.svg"));
SwitchItemDelegate::SwitchItemDelegate(QObject* parent)
: QStyledItemDelegate(parent), m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger())
: QStyledItemDelegate(parent), m_logger(getLogger("Plugins.Gui.SoundArea.SwitchItemDelegate"))
{
}