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:
1 parent
eb1d949edc
commit
815e16368e
1718 files changed
+126739
-18495
No files matched your search
@@ -20,7 +20,7 @@ Server::Server()
|
||||
: QObject(nullptr)
|
||||
, m_server(new QWebSocketServer(QString(), QWebSocketServer::NonSecureMode, this))
|
||||
{
|
||||
QRandomGenerator::global()->seed();
|
||||
// (legacy: qsrand(time(nullptr));) — Qt6's QRandomGenerator::global() is auto-seeded; ->seed() on the global aborts in Qt 6.10.
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -19,14 +19,14 @@ CustomWidget::~CustomWidget()
|
||||
|
||||
void CustomWidget::onPositionChanged(const Core::GeoPosition &position, int participantId)
|
||||
{
|
||||
if (participantId == 0 || std::isnan(position.lon()) || std::isnan(position.lat()))
|
||||
if (participantId == 0 || std::isnan(position.lon) || std::isnan(position.lat))
|
||||
m_ui->lblPos->setText(tr("Invalid Position"));
|
||||
else
|
||||
{
|
||||
QString mgrs = LtsCoordTrans::mgrsFromGeographic(position.lon(), position.lat());
|
||||
QString mgrs = LtsCoordTrans::mgrsFromGeographic(position.lon, position.lat);
|
||||
|
||||
if (!qFuzzyIsNull(position.z()))
|
||||
mgrs += QStringLiteral(" | ") + QString::number(position.z(), 'f', 2);
|
||||
if (!qFuzzyIsNull(position.z))
|
||||
mgrs += QStringLiteral(" | ") + QString::number(position.z, 'f', 2);
|
||||
|
||||
m_ui->lblPos->setText(mgrs);
|
||||
}
|
||||
|
||||
+2
-2
@@ -26,9 +26,9 @@ QWidget *GuiElementPlugin::createGuiElement(QWidget *parent)
|
||||
connect(m_customWidget, &CustomWidget::finOnMapClicked, this, &GuiElementPlugin::onFindOnMap);
|
||||
connect(m_ppmDtc.get(), &ParticipantManagement::Interface::Dtc::participantPositionChanged,
|
||||
m_customWidget, [=](const ParticipantManagement::ParticipantPosition &ppPos){
|
||||
m_customWidget->onPositionChanged(ppPos.pos(), m_participantId);
|
||||
m_customWidget->onPositionChanged(ppPos.pos, m_participantId);
|
||||
}, Qt::UniqueConnection);
|
||||
m_customWidget->onPositionChanged(m_ppmDtc->participantPosition(m_participantId).pos(), m_participantId);
|
||||
m_customWidget->onPositionChanged(m_ppmDtc->participantPosition(m_participantId).pos, m_participantId);
|
||||
return m_customWidget;
|
||||
}
|
||||
|
||||
|
||||
@@ -30,7 +30,8 @@ ParticipantDataGenerator::MainHandler::MainHandler(QObject *parent)
|
||||
, m_participantCreationTimer(new QElapsedTimer())
|
||||
, m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("PDG.MainHandler"))
|
||||
{
|
||||
QRandomGenerator::global()->seed(QDateTime::currentMSecsSinceEpoch());
|
||||
// (legacy: qsrand(QDateTime::currentMSecsSinceEpoch());) — Qt6's QRandomGenerator::global() is
|
||||
// auto-seeded non-deterministically; ->seed() on the global/system generator aborts in Qt 6.10.
|
||||
}
|
||||
|
||||
ParticipantDataGenerator::MainHandler::~MainHandler()
|
||||
@@ -269,7 +270,7 @@ ParticipantManagement::Type ParticipantDataGenerator::MainHandler::randomType()
|
||||
|
||||
int32_t ParticipantDataGenerator::MainHandler::randomSuperiorModId(int32_t upperBound)
|
||||
{
|
||||
QRandomGenerator::global()->seed(QDateTime::currentMSecsSinceEpoch());
|
||||
// (legacy: qsrand(...) re-seeded per call) — Qt6 global generator is auto-seeded; ->seed() aborts in Qt 6.10.
|
||||
auto ret = QRandomGenerator::global()->bounded(upperBound + 1);
|
||||
return ret == 0 ? ret + 1 : ret;
|
||||
}
|
||||
|
||||
@@ -37,6 +37,11 @@ NGL_TARGET_INCLUDE_DIRECTORIES(test_qledline
|
||||
NGL_WRAP_UI(test_qledline_SRCS ${test_qledline_UICS})
|
||||
|
||||
NGL_ADD_EXECUTABLE(WS NO_TRANSLATION test_qledline ${test_qledline_SRCS} ${test_qledline_HDRS} ${test_qledline_UICS})
|
||||
# The .ui files live in the ui/ subdir. The explicit NGL_WRAP_UI (qt6_wrap_ui) above
|
||||
# processes them with their ui/ paths; Qt6's strict AUTOUIC auto-scan instead looks for
|
||||
# the bare basenames in the source root and fails. Disable the auto-scan (explicit wrap
|
||||
# still generates the ui_*.h headers).
|
||||
set_target_properties(test_qledline PROPERTIES AUTOUIC OFF)
|
||||
|
||||
NGL_TARGET_LINK_LIBRARIES(test_qledline
|
||||
qledline
|
||||
|
||||
@@ -39,7 +39,7 @@ void BuiltinAnyListener::on_data_available(dds::sub::DataReader<S> &reader)
|
||||
continue;
|
||||
|
||||
dds::core::optional<dds::core::xtypes::DynamicType> dynamicType = sampleIt->data()->type();
|
||||
if (!dynamicType.is_set() || dynamicType.get().kind() != dds::core::xtypes::TypeKind::STRUCTURE_TYPE)
|
||||
if (!dynamicType.has_value() || dynamicType.get().kind() != dds::core::xtypes::TypeKind::STRUCTURE_TYPE)
|
||||
continue;
|
||||
|
||||
const dds::core::xtypes::StructType &structType = static_cast<dds::core::xtypes::StructType&>(dynamicType.get());
|
||||
|
||||
+17
-15
@@ -5,6 +5,7 @@
|
||||
#include <QtCore/QCoreApplication>
|
||||
#include <QtCore/QDateTime>
|
||||
#include <QtCore/QElapsedTimer>
|
||||
#include <QtCore/QRandomGenerator>
|
||||
#include "proxy_emulator.h"
|
||||
|
||||
#include <QtCore/QTimer>
|
||||
@@ -90,10 +91,11 @@ void VulnerabilityStateGenerator::MainHandler::quit()
|
||||
|
||||
ProjectDataManagement::VulnerabilityState VulnerabilityStateGenerator::MainHandler::randomVulnerabilityState()
|
||||
{
|
||||
qsrand(QDateTime::currentMSecsSinceEpoch());
|
||||
// (legacy: qsrand(QDateTime::currentMSecsSinceEpoch()); re-seeded per call) — Qt6's QRandomGenerator::global()
|
||||
// is auto-seeded; ->seed() on the global/system generator aborts in Qt 6.10.
|
||||
unsigned int index = 0;
|
||||
if (m_vsMap.size() > 0)
|
||||
index = qrand() % m_vsMap.size();
|
||||
index = QRandomGenerator::global()->bounded(m_vsMap.size());
|
||||
|
||||
|
||||
return m_vsMap.value(index);
|
||||
@@ -104,23 +106,23 @@ void VulnerabilityStateGenerator::MainHandler::setNewState()
|
||||
{
|
||||
for (auto it = m_partMap.begin(); it != m_partMap.end(); ++it)
|
||||
{
|
||||
if (it.value().m_equipmentNumber().is_set() && it.value().m_equipmentNumber().get() > 0)
|
||||
if (it.value().equipmentNumber.has_value() && it.value().equipmentNumber.value() > 0)
|
||||
m_proxyEmulator->publishNewState(randomVulnerabilityState(), it.value());
|
||||
}
|
||||
}
|
||||
|
||||
void VulnerabilityStateGenerator::MainHandler::fillMapFromEnum()
|
||||
{
|
||||
m_vsMap.insert(0, ProjectDataManagement::VulnerabilityState::CombatReady);
|
||||
m_vsMap.insert(1, ProjectDataManagement::VulnerabilityState::LightDamage);
|
||||
m_vsMap.insert(2, ProjectDataManagement::VulnerabilityState::MediumDamage);
|
||||
m_vsMap.insert(3, ProjectDataManagement::VulnerabilityState::HeavyDamage);
|
||||
m_vsMap.insert(4, ProjectDataManagement::VulnerabilityState::MobilityKill);
|
||||
m_vsMap.insert(5, ProjectDataManagement::VulnerabilityState::VisibleMobilityKill);
|
||||
m_vsMap.insert(6, ProjectDataManagement::VulnerabilityState::WeaponSystemDamage);
|
||||
m_vsMap.insert(7, ProjectDataManagement::VulnerabilityState::VisibleWeaponSystemDamage);
|
||||
m_vsMap.insert(8, ProjectDataManagement::VulnerabilityState::CatastrophicKill);
|
||||
m_vsMap.insert(9, ProjectDataManagement::VulnerabilityState::TemporarySeverance);
|
||||
m_vsMap.insert(10, ProjectDataManagement::VulnerabilityState::NearMiss);
|
||||
m_vsMap.insert(11, ProjectDataManagement::VulnerabilityState::HitWithNoEffect);
|
||||
m_vsMap.insert(0, ProjectDataManagement::VulnerabilityState::VulnerabilityState_CombatReady);
|
||||
m_vsMap.insert(1, ProjectDataManagement::VulnerabilityState::VulnerabilityState_LightDamage);
|
||||
m_vsMap.insert(2, ProjectDataManagement::VulnerabilityState::VulnerabilityState_MediumDamage);
|
||||
m_vsMap.insert(3, ProjectDataManagement::VulnerabilityState::VulnerabilityState_HeavyDamage);
|
||||
m_vsMap.insert(4, ProjectDataManagement::VulnerabilityState::VulnerabilityState_MobilityKill);
|
||||
m_vsMap.insert(5, ProjectDataManagement::VulnerabilityState::VulnerabilityState_VisibleMobilityKill);
|
||||
m_vsMap.insert(6, ProjectDataManagement::VulnerabilityState::VulnerabilityState_WeaponSystemDamage);
|
||||
m_vsMap.insert(7, ProjectDataManagement::VulnerabilityState::VulnerabilityState_VisibleWeaponSystemDamage);
|
||||
m_vsMap.insert(8, ProjectDataManagement::VulnerabilityState::VulnerabilityState_CatastrophicKill);
|
||||
m_vsMap.insert(9, ProjectDataManagement::VulnerabilityState::VulnerabilityState_TemporarySeverance);
|
||||
m_vsMap.insert(10, ProjectDataManagement::VulnerabilityState::VulnerabilityState_NearMiss);
|
||||
m_vsMap.insert(11, ProjectDataManagement::VulnerabilityState::VulnerabilityState_HitWithNoEffect);
|
||||
}
|
||||
+8
-8
@@ -46,14 +46,14 @@ void VulnerabilityStateGenerator::ProxyEmulator::giveInitState(const QMap<qint32
|
||||
{
|
||||
const ParticipantManagement::Participant ¤tParticipant = it.value();
|
||||
|
||||
if (currentParticipant.m_equipmentNumber().is_set())
|
||||
if (currentParticipant.equipmentNumber.has_value())
|
||||
{
|
||||
++participantsWithEquipmentNumber;
|
||||
TrainingAreaBase::EquipmentState state;
|
||||
|
||||
state.m_equipmentNumber(currentParticipant.m_equipmentNumber().get());
|
||||
state.sampleTime(QDateTime::currentMSecsSinceEpoch());
|
||||
state.vulnerabilityState(ProjectDataManagement::VulnerabilityState::CombatReady);
|
||||
state.equipmentNumber = currentParticipant.equipmentNumber.value();
|
||||
state.sampleTime = QDateTime::currentMSecsSinceEpoch();
|
||||
state.vulnerabilityState = ProjectDataManagement::VulnerabilityState::VulnerabilityState_CombatReady;
|
||||
|
||||
m_tabDts->publish(state);
|
||||
}
|
||||
@@ -76,11 +76,11 @@ void VulnerabilityStateGenerator::ProxyEmulator::publishNewState(ProjectDataMana
|
||||
{
|
||||
TrainingAreaBase::EquipmentState state;
|
||||
|
||||
state.m_equipmentNumber(participant.m_equipmentNumber().get());
|
||||
state.sampleTime(QDateTime::currentMSecsSinceEpoch());
|
||||
state.vulnerabilityState(newState);
|
||||
state.equipmentNumber = participant.equipmentNumber.value();
|
||||
state.sampleTime = QDateTime::currentMSecsSinceEpoch();
|
||||
state.vulnerabilityState = newState;
|
||||
|
||||
DEBUG_LOG(m_logger) << "participantId: " << participant.m_id() << ", state: " << newState << ", equipNo: " << participant.m_equipmentNumber().get();
|
||||
DEBUG_LOG(m_logger) << "participantId: " << participant.id << ", state: " << newState << ", equipNo: " << participant.equipmentNumber.value();
|
||||
m_tabDts->publish(state);
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user