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

@@ -5,6 +5,15 @@
# Created by Mike Wille, SLSE, 2016-05-05
#
# Build this target as separate translation units (NOT a unity build). It links the
# ddsftc INTERFACE target, which propagates generic_ftc.cpp /
# generic_ftc_threading.cpp as INTERFACE sources (legacy design: consumers compile
# the generic FTC implementation themselves, one TU per file, hidden visibility).
# A unity build concatenates those .cpp's into this target's single TU, and LTO
# (USE_IPO) then reports "multiple definition of Threading::..." from the same
# object. Separate TUs restore the legacy per-file structure (behavior-neutral).
set(CMAKE_UNITY_BUILD FALSE)
# Make ${Qt6_Widgets} optional
if(QT6_GUI_AVAILABLE AND TARGET Qt6::Widgets)
set(Qt6_Widgets ${Qt6_Widgets})
@@ -41,7 +41,7 @@ ChargeEditDialog::ChargeEditDialog(const int chargeId,
}});
setOnlineHelpFilename(QStringLiteral("Administrator-ChargeEdit"));
m_chargeType.id(chargeId);
m_chargeType.id = chargeId;
}
ChargeEditDialog::~ChargeEditDialog()
@@ -60,7 +60,7 @@ bool ChargeEditDialog::init()
!m_ftc->enableUpdateChargeNames())
return false;
m_chargeType = dtc->chargeType(m_chargeType.id());
m_chargeType = dtc->chargeType(m_chargeType.id);
loadUiValues();
return true;
@@ -69,9 +69,9 @@ bool ChargeEditDialog::init()
void ChargeEditDialog::loadUiValues()
{
m_ui->leLongName->setText(QString::fromStdString(m_chargeType.name()));
m_ui->leShortName->setText(QString::fromStdString(m_chargeType.shortName()));
m_ui->lbPredefinedName->setText(QString::fromStdString(m_chargeType.predefinedName()));
m_ui->leLongName->setText(QString::fromStdString(m_chargeType.name));
m_ui->leShortName->setText(QString::fromStdString(m_chargeType.shortName));
m_ui->lbPredefinedName->setText(QString::fromStdString(m_chargeType.predefinedName));
retranslate();
}
@@ -93,7 +93,7 @@ void ChargeEditDialog::retranslate()
bool ChargeEditDialog::apply()
{
ProjectDataManagement::UpdateChargeNamesRequest req(m_chargeType.id(),m_ui->leLongName->text().toStdString(),m_ui->leShortName->text().toStdString());
ProjectDataManagement::UpdateChargeNamesRequest req(m_chargeType.id,m_ui->leLongName->text().toStdString(),m_ui->leShortName->text().toStdString());
return m_requestHelper->startSingleRequest([req, this]()
{
return m_ftc->updateChargeNamesRequest(req, this);
@@ -4,6 +4,13 @@
#pragma once
#include <memory>
#include <LtsWidgets/lts_dialog.h>
#include <ProjectDataManagement/pdm_ftc.h>
#include <ProjectDataManagement/logger.h>
namespace Ui {
class ChargeEditDialog;
}
namespace Core {
class FunctionReplyObject;
@@ -25,17 +32,6 @@ namespace ProjectDataManagement
struct ChargeType;
#endif
namespace Interface {
namespace Ftc {
class UpdateChargeNamesReplyHandler;
}
}
// Forward declaration - LtsWidgets::LtsDialog wird in CPP definiert
namespace LtsWidgets {
class LtsDialog;
}
#ifdef BUILD_WITH_EXTERNAL_DDS
class ChargeEditDialog : public LtsWidgets::LtsDialog
@@ -15,9 +15,11 @@
#include <QtWidgets/QTreeView>
#include <LtsSession/lts_session.h>
#include <LtsUtils/LtsUtilsGui/LtsUtilsGuiDds/request_helper.h>
#include <NGLLogger/NGLLoggerBootstrap.h>
#include <PluginInterfaces/gui_plugin_interface.h>
#include <FileManagement/flm_translation.h>
#include <FileManagement/flm_explorer_gui_plugin_interface.h>
#include <QtCore/QJsonArray>
#include <QtCore/QJsonObject>
@@ -34,6 +36,7 @@ ChargeTableDialog::ChargeTableDialog(QWidget *parent, bool organiser)
, m_requestHelper(new LtsUtils::RequestHelper(this))
, m_model(nullptr)
, m_isOrganiser(organiser)
, m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger())
{
m_ui->setupUi(this);
@@ -215,11 +218,11 @@ void ChargeTableDialog::onEditCharge()
const QModelIndex idx = m_ui->widget->currentIndex();
const ProjectDataManagement::ChargeType ct = m_model->getRowData(idx.row());
if (ct.id() <= 0)
if (ct.id <= 0)
return;
ChargeEditDialog *dialog = new ChargeEditDialog(ct.id(), m_session, this);
const QString identifier = QLatin1String("EditCharge") + QString::number(ct.id());
ChargeEditDialog *dialog = new ChargeEditDialog(ct.id, m_session, this);
const QString identifier = QLatin1String("EditCharge") + QString::number(ct.id);
addDialog(dialog, menuGroup(), identifier, LtsWidgets::LayoutArea::eDialogTab);
@@ -6,6 +6,14 @@
#include <memory>
#include <vector>
#include <QtCore/QSet>
#include <LtsWidgets/lts_dialog.h>
#include "charge_table_model.h"
#include <ProjectDataManagement/pdm_ftc.h>
#include <ProjectDataManagement/logger.h>
namespace Ui {
class ChargeTableDialog;
}
namespace Core {
class FunctionReplyObject;
@@ -26,28 +34,6 @@ class ForeignGuiInterface;
namespace ProjectDataManagement
{
#ifdef BUILD_WITH_EXTERNAL_DDS
// Forward declarations for external dependencies
struct GearClass;
struct ChargeType;
#else
// Forward declarations for external dependencies
struct GearClass;
struct ChargeType;
#endif
namespace Interface {
namespace Ftc {
class UpdateChargeTypeReplyHandler;
class UpdateChargeNamesReplyHandler;
}
}
// Forward declaration - LtsWidgets::LtsDialog wird in CPP definiert
namespace LtsWidgets {
class LtsDialog;
}
#ifdef BUILD_WITH_EXTERNAL_DDS
class ChargeTableDialog : public LtsWidgets::LtsDialog
@@ -3,6 +3,7 @@
#include "charge_table_model.h"
#include <NGLLogger/NGLLoggerBootstrap.h>
#ifdef BUILD_WITH_EXTERNAL_DDS
@@ -53,6 +54,7 @@ ChargeTableDialogModel::ChargeTableDialogModel(bool isOrganiser, QObject *parent
parent)
, m_dtc(nullptr)
, m_isOrganiser(isOrganiser)
, m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger())
{}
ChargeTableDialogModel::~ChargeTableDialogModel()
@@ -66,11 +68,11 @@ bool ChargeTableDialogModel::initModel(const std::shared_ptr<ProjectDataManageme
this, &ChargeTableDialogModel::onDataChanged);
m_dtc->chargeTypes([this](const ProjectDataManagement::ChargeType &ct)
{
if (!m_isOrganiser && !m_dtc->isVisible(ct.id()))
if (!m_isOrganiser && !m_dtc->isVisible(ct.id))
return;
insertRow(ct);
if (m_isOrganiser && m_dtc->isVisible(ct.id()))
m_visibleCharges.insert(ct.id());
if (m_isOrganiser && m_dtc->isVisible(ct.id))
m_visibleCharges.insert(ct.id);
});
return true;
@@ -96,19 +98,19 @@ QVariant ChargeTableDialogModel::data(const QModelIndex &index, int role) const
if (m_isOrganiser)
{
if (index.column() == IsVisible)
return (m_visibleCharges.contains(ct.id()) ? Qt::Checked : Qt::Unchecked);
return (m_visibleCharges.contains(ct.id) ? Qt::Checked : Qt::Unchecked);
return QVariant();
}
qint32 tasCode = ct.id();
qint32 tasCode = ct.id;
if (tasCode < 2000)
{
if (index.column() == IsVisible)
return m_visibleCharges.contains(ct.id()) ? Qt::Checked : Qt::Unchecked;
return m_visibleCharges.contains(ct.id) ? Qt::Checked : Qt::Unchecked;
if (tasCode >= 1 && tasCode <= 46 && tasCode != 25 && tasCode != 30)
@@ -133,7 +135,7 @@ QVariant ChargeTableDialogModel::data(const QModelIndex &index, int role) const
return m_visibleCharges.contains(ct.id()) ? Qt::Checked : Qt::Unchecked;
return m_visibleCharges.contains(ct.id) ? Qt::Checked : Qt::Unchecked;
}
@@ -192,19 +194,19 @@ QVariant ChargeTableDialogModel::data(const QModelIndex &index, int role) const
{
case IsVisible:
if (m_isOrganiser)
return m_dtc->isVisible(ct.id()) ? tr("Yes") : tr("No");
return m_dtc->isVisible(ct.id) ? tr("Yes") : tr("No");
else
return ct.id();
return ct.id;
case Id:
return QString::number(ct.id());
return QString::number(ct.id);
case PredefinedName:
return QString::fromStdString(ct.predefinedName());
return QString::fromStdString(ct.predefinedName);
case ShortName:
return QString::fromStdString(ct.shortName());
return QString::fromStdString(ct.shortName);
case LongName:
return QString::fromStdString(ct.name());
return QString::fromStdString(ct.name);
case DisEntity:
return QString::fromStdString(ct.disEntity());
return QString::fromStdString(ct.disEntity);
}
}
return QVariant();
@@ -228,7 +230,7 @@ bool ChargeTableDialogModel::setData(const QModelIndex &idx, const QVariant &val
ChargeType ct = getRowData(idx.row());
QJsonDocument propsDoc = QJsonDocument::fromJson(QByteArray::fromStdString(ct.properties()));
QJsonDocument propsDoc = QJsonDocument::fromJson(QByteArray::fromStdString(ct.properties));
QJsonObject propsObj;
if (propsDoc.isObject())
propsObj = propsDoc.object();
@@ -237,22 +239,22 @@ bool ChargeTableDialogModel::setData(const QModelIndex &idx, const QVariant &val
if (bVal)
{
propsObj.remove(QLatin1String("suppressVisibility"));
m_visibleCharges.insert(m_vecData.at(idx.row()).id());
m_visibleCharges.insert(m_vecData.at(idx.row()).id);
}
else
{
propsObj.insert(QLatin1String("suppressVisibility"), true);
m_visibleCharges.remove(m_vecData.at(idx.row()).id());
m_visibleCharges.remove(m_vecData.at(idx.row()).id);
}
ct.properties(QJsonDocument(propsObj).toJson(QJsonDocument::Compact).toStdString());
ct.properties = QJsonDocument(propsObj).toJson(QJsonDocument::Compact).toStdString();
setRowData(idx.row(), ct);
if (m_dtc->isVisible(ct.id()) != bVal)
m_differences.insert(ct.id());
if (m_dtc->isVisible(ct.id) != bVal)
m_differences.insert(ct.id);
else
m_differences.remove(ct.id());
m_differences.remove(ct.id);
emit chargeVisibilityChanged(!m_differences.isEmpty());
@@ -260,7 +262,7 @@ bool ChargeTableDialogModel::setData(const QModelIndex &idx, const QVariant &val
}
else
{
const int tasCode = m_vecData.at(idx.row()).id();
const int tasCode = m_vecData.at(idx.row()).id;
if (tasCode < 1000)
{
if (bVal)
@@ -390,7 +392,7 @@ QVector<ChargeType> ChargeTableDialogModel::getChargeTypesWithChangedVisibility(
{
QVector<ChargeType> cts;
for (const auto &ct : m_vecData)
if (m_differences.contains(ct.id()))
if (m_differences.contains(ct.id))
cts << ct;
return cts;
}
@@ -411,7 +413,7 @@ bool ChargeTableDialogModel::isFiltered(const ProjectDataManagement::ChargeType
{
Q_UNUSED(modType);
return isFiltered(data.id());
return isFiltered(data.id);
}
QSet<int> ChargeTableDialogModel::selectedCharges() const
@@ -18,7 +18,7 @@ namespace ProjectDataManagement
#ifdef BUILD_WITH_EXTERNAL_DDS
inline uint qHash(GearClass gc)
{
return ::qHash(gc.underlying());
return ::qHash(gc);
}
#endif