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 2b957d1edb
commit 598fc2560e
1718 files changed
+126739 -18495

No files matched your search

@@ -2,6 +2,7 @@
#include "avm_edit_training_voice_communication_dialog.h"
#include <NGLLogger/NGLLoggerBootstrap.h>
#include <utility>
#include "ui_avm_edit_training_voice_communication_dialog.h"
#include <AudioVideoManagement/avm_dtc.h>
@@ -45,18 +46,18 @@ EditTrainingVoiceCommunicationDialog::EditTrainingVoiceCommunicationDialog(const
EditTrainingVoiceCommunicationDialog::EditTrainingVoiceCommunicationDialog(const TvcConfig &config, const std::shared_ptr<Interface::Dtc> &avmDtc, const std::shared_ptr<Interface::Ftc> &avmFtc,
ExerciseManagement::Interface::Dtc *exmDtc, int32_t exerciseId, QWidget *parent)
: EditTrainingVoiceCommunicationDialog(config.id(), avmDtc, avmFtc, exmDtc, exerciseId, parent)
: EditTrainingVoiceCommunicationDialog(config.id, avmDtc, avmFtc, exmDtc, exerciseId, parent)
{
m_ui->leInfo->setText(QString::fromStdString(config.info()));
m_ui->chkRecording->setChecked(config.recording());
m_ui->leInfo->setText(QString::fromStdString(config.info));
m_ui->chkRecording->setChecked(config.recording);
{
QSignalBlocker blockSignals(m_ui->chkIsGlobal);
m_ui->chkIsGlobal->setChecked(!config.exerciseId().is_set());
m_ui->chkIsGlobal->setChecked(!config.exerciseId.has_value());
}
m_ui->leRadioCircuit->setText(QString::fromStdString(config.radioCircuit()));
initCbChannelsForEdit(config.tetraChannelId());
m_ui->leRadioCircuit->setText(QString::fromStdString(config.radioCircuit));
initCbChannelsForEdit(config.tetraChannelId);
}
EditTrainingVoiceCommunicationDialog::EditTrainingVoiceCommunicationDialog(int32_t id, const std::shared_ptr<Interface::Dtc> &avmDtc, const std::shared_ptr<Interface::Ftc> &avmFtc,
@@ -69,6 +70,7 @@ EditTrainingVoiceCommunicationDialog::EditTrainingVoiceCommunicationDialog(int32
, m_avmFtc(avmFtc)
, m_exmDtc(exmDtc)
, m_requestHelper(new LtsUtils::RequestHelper(this))
, m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger())
{
Q_ASSERT(id >= 0);
Q_ASSERT(exmDtc);
@@ -99,16 +101,16 @@ bool EditTrainingVoiceCommunicationDialog::apply()
{
ModifyTvcConfigRequest request;
request.tetraChannelId(m_ui->cbChannel->currentData().toInt());
Q_ASSERT(request.tetraChannelId() > 0);
request.radioCircuit(m_ui->leRadioCircuit->text().toStdString());
request.recording(m_ui->chkRecording->isChecked());
request.info(m_ui->leInfo->text().toStdString());
request.id(m_id);
request.tetraChannelId = m_ui->cbChannel->currentData().toInt();
Q_ASSERT(request.tetraChannelId > 0);
request.radioCircuit = m_ui->leRadioCircuit->text().toStdString();
request.recording = m_ui->chkRecording->isChecked();
request.info = m_ui->leInfo->text().toStdString();
request.id = m_id;
bool isLocal = !m_ui->chkIsGlobal->isChecked();
if (isLocal)
request.exerciseId(m_exerciseId);
request.exerciseId = m_exerciseId;
return m_requestHelper->startSingleRequest([this, request] () { return m_avmFtc->modifyTvcConfigRequest(request, this); });
}
@@ -142,18 +144,18 @@ void EditTrainingVoiceCommunicationDialog::updateFreeChannelsAndTakenNames()
const auto allTvcConfigs = m_avmDtc->tvcConfigs();
for (const auto &tvcConfig : allTvcConfigs)
{
if (m_id > 0 && m_id == tvcConfig.id())
if (m_id > 0 && m_id == tvcConfig.id)
continue;
if (!isGlobal)
{
if (tvcConfig.exerciseId().is_set() && !exercises.contains(tvcConfig.exerciseId().get()))
if (tvcConfig.exerciseId.has_value() && !exercises.contains(tvcConfig.exerciseId.get()))
continue;
}
if (tvcConfig.exerciseId().is_set() && exercisesIgnore.contains(tvcConfig.exerciseId().get()))
if (tvcConfig.exerciseId.has_value() && exercisesIgnore.contains(tvcConfig.exerciseId.get()))
continue;
m_takenNames.push_back(QString::fromStdString(tvcConfig.radioCircuit()));
freeChannels.removeOne(tvcConfig.tetraChannelId());
m_takenNames.push_back(QString::fromStdString(tvcConfig.radioCircuit));
freeChannels.removeOne(tvcConfig.tetraChannelId);
}
updateCbChannels(std::move(freeChannels));
@@ -167,7 +169,7 @@ void EditTrainingVoiceCommunicationDialog::updateCbChannels(QVector<int> &&freeC
const auto allChannels = m_avmDtc->tvcChannels();
const auto byName = [&allChannels] (int leftChannelId, int rightChannelId) { return QLatin1String(allChannels[leftChannelId].name().c_str()) < QLatin1String(allChannels[rightChannelId].name().c_str()); };
const auto byName = [&allChannels] (int leftChannelId, int rightChannelId) { return QLatin1String(allChannels[leftChannelId].name.c_str()) < QLatin1String(allChannels[rightChannelId].name.c_str()); };
std::sort(freeChannels.begin(), freeChannels.end(), byName);
int currentlySelctedChannelId = m_ui->cbChannel->currentData().toInt();
@@ -179,7 +181,7 @@ void EditTrainingVoiceCommunicationDialog::updateCbChannels(QVector<int> &&freeC
m_ui->cbChannel->clear();
m_ui->cbChannel->addItem(NO_CHANNEL(), -1);
for (const auto &channelId : freeChannels)
m_ui->cbChannel->addItem(QString::fromStdString(allChannels[channelId].name()), channelId);
m_ui->cbChannel->addItem(QString::fromStdString(allChannels[channelId].name), channelId);
m_ui->cbChannel->setCurrentIndex(newlySelectedIndex);
}
@@ -189,18 +191,18 @@ QVector<int> EditTrainingVoiceCommunicationDialog::exercisesToConsider() const
{
const auto allExercises_ = m_exmDtc->exercises();
if (!isActive(allExercises_[m_exerciseId].state()))
if (!isActive(allExercises_[m_exerciseId].state))
return {m_exerciseId};
auto allExercises = allExercises_.values();
auto newEnd = std::remove_if(allExercises.begin(), allExercises.end(), [] (const ExerciseManagement::Exercise &ex) { return ex.isDeleted(); });
auto newEnd = std::remove_if(allExercises.begin(), allExercises.end(), [] (const ExerciseManagement::Exercise &ex) { return ex.isDeleted; });
allExercises.erase(newEnd, allExercises.end());
QVector<int> toBeConsidered;
for (const auto &exercise : std::as_const(allExercises))
{
if (::isActive(exercise.state()))
toBeConsidered.append(exercise.id());
if (::isActive(exercise.state))
toBeConsidered.append(exercise.id);
}
return toBeConsidered;
}
@@ -211,16 +213,16 @@ QVector<int> EditTrainingVoiceCommunicationDialog::exercisesToIgnore() const
auto canBeIgnored = [] (const ExerciseManagement::Exercise &ex) -> bool
{
return (ex.state() == ExerciseManagement::ExerciseState::Stopped ||
ex.state() == ExerciseManagement::ExerciseState::Terminated ||
ex.isDeleted());
return (ex.state == ExerciseManagement::ExerciseState::Stopped ||
ex.state == ExerciseManagement::ExerciseState::Terminated ||
ex.isDeleted);
};
QVector<int> exercisesToIgnore;
for (const auto &ex : allExercises)
{
if (canBeIgnored(ex))
exercisesToIgnore += ex.id();
exercisesToIgnore += ex.id;
}
return exercisesToIgnore;
}
@@ -1,6 +1,7 @@
#include "avm_training_voice_communication_dialog.h"
#include <NGLLogger/NGLLoggerBootstrap.h>
#include "avm_edit_training_voice_communication_dialog.h"
#include "avm_training_voice_communication_dialog_model.h"
@@ -21,6 +22,7 @@ TrainingVoiceCommunicationDialog::TrainingVoiceCommunicationDialog(const QString
: LtsWidgets::LtsDialog(parent, LtsWidgets::ButtonCombination::CloseOnly), m_session(session),
m_ui(new Ui::TrainingVoiceCommunicationDialog), m_menuGroup(menuGroup),
m_requestHelper(new LtsUtils::RequestHelper(this)), m_avmDtc(nullptr), m_avmFtc(nullptr)
, m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger())
{
m_ui->setupUi(this);
@@ -125,7 +127,7 @@ void TrainingVoiceCommunicationDialog::onEditClicked()
EditTrainingVoiceCommunicationDialog* dialog =
new EditTrainingVoiceCommunicationDialog(config, m_avmDtc, m_avmFtc, m_exmDtc, m_session->exerciseId(), this);
addDialog(dialog, m_menuGroup, QStringLiteral("EditTVCConfig%1").arg(config.id()),
addDialog(dialog, m_menuGroup, QStringLiteral("EditTVCConfig%1").arg(config.id),
LtsWidgets::LayoutArea::eDialogTab);
}
@@ -136,7 +138,7 @@ void TrainingVoiceCommunicationDialog::onRemoveClicked()
if (!currentIndex.isValid())
return;
Core::RemoveElementRequest request(m_model->getRowData(currentIndex.row()).id());
Core::RemoveElementRequest request(m_model->getRowData(currentIndex.row()).id);
m_requestHelper->startSingleRequest([this, request]() { return m_avmFtc->removeTvcConfigRequest(request, this); });
}
@@ -1,6 +1,7 @@
#include "avm_training_voice_communication_dialog_model.h"
#include <NGLLogger/NGLLoggerBootstrap.h>
#include <FileManagement/flm_translation.h>
#include <QtCore/QJsonArray>
@@ -14,6 +15,7 @@ TrainingVoiceCommunicationDialogModel::TrainingVoiceCommunicationDialogModel(QOb
: LtsAbstractTableModel<AudioVideoManagement::TvcConfig>(
{tr("Channel Number"), tr("Radio Circuit"), tr("Recording"), tr("Info"), tr("Global")}, parent),
m_exerciseId(-1)
, m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger())
{
}
@@ -27,15 +29,15 @@ QVariant TrainingVoiceCommunicationDialogModel::data(const QModelIndex& index, i
switch (index.column())
{
case CHANNEL:
return QString::fromStdString(m_tetraChannels.value(config.tetraChannelId()).name());
return QString::fromStdString(m_tetraChannels.value(config.tetraChannelId).name);
case RADIO_CIRCUIT:
return QString::fromStdString(config.radioCircuit());
return QString::fromStdString(config.radioCircuit);
case RECORDING:
return config.recording() ? tr("On") : tr("Off");
return config.recording ? tr("On") : tr("Off");
case INFO:
return QString::fromStdString(config.info());
return QString::fromStdString(config.info);
case GLOBAL:
return config.exerciseId().is_set() ? tr("No") : tr("Yes");
return config.exerciseId.has_value() ? tr("No") : tr("Yes");
}
return QVariant();
@@ -70,11 +72,11 @@ QByteArray TrainingVoiceCommunicationDialogFilter::modelToJson() const
QJsonObject inner;
const TvcConfig& config = m_sourceModel->getRowData(sourceRow);
inner[QLatin1String("isGlobal")] = !config.exerciseId().is_set();
inner[QLatin1String("info")] = QString::fromStdString(config.info());
inner[QLatin1String("radioCircuit")] = QString::fromStdString(config.radioCircuit());
inner[QLatin1String("recording")] = config.recording();
inner[QLatin1String("tetraChannelId")] = config.tetraChannelId();
inner[QLatin1String("isGlobal")] = !config.exerciseId.has_value();
inner[QLatin1String("info")] = QString::fromStdString(config.info);
inner[QLatin1String("radioCircuit")] = QString::fromStdString(config.radioCircuit);
inner[QLatin1String("recording")] = config.recording;
inner[QLatin1String("tetraChannelId")] = config.tetraChannelId;
arr += inner;
}
@@ -98,14 +100,14 @@ TrainingVoiceCommunicationDialogModel::jsonToTvcConfigVector(const QByteArray& c
ModifyTvcConfigRequest config;
if (!obj.contains(QLatin1String("isGlobal")) || !obj[QLatin1String("isGlobal")].toBool())
config.exerciseId(m_exerciseId);
config.id(0);
config.info(obj[QLatin1String("info")].toString().toStdString());
config.radioCircuit(obj[QLatin1String("radioCircuit")].toString().toStdString());
config.recording(obj[QLatin1String("recording")].toBool());
config.tetraChannelId(obj[QLatin1String("tetraChannelId")].toInt());
config.exerciseId = m_exerciseId;
config.id = 0;
config.info = obj[QLatin1String("info")].toString().toStdString();
config.radioCircuit = obj[QLatin1String("radioCircuit")].toString().toStdString();
config.recording = obj[QLatin1String("recording")].toBool();
config.tetraChannelId = obj[QLatin1String("tetraChannelId")].toInt();
INFO_LOG(m_logger) << "insertRow: " << config.radioCircuit() << " tvcChannelId=" << config.tetraChannelId();
INFO_LOG(m_logger) << "insertRow: " << config.radioCircuit << " tvcChannelId=" << config.tetraChannelId;
result.push_back(std::move(config));
}
return result;
@@ -123,7 +125,7 @@ bool TrainingVoiceCommunicationDialogFilter::filterAcceptsRow(int sourceRow, con
{
TvcConfig tvcConfig = m_sourceModel->getRowData(sourceRow);
if (tvcConfig.exerciseId().is_set() && tvcConfig.exerciseId().get() != m_exerciseId)
if (tvcConfig.exerciseId.has_value() && tvcConfig.exerciseId.get() != m_exerciseId)
return false;
return LtsColumnFilterProxyModel::filterAcceptsRow(sourceRow, sourceParent);