Qt6 Migration: Complete migration with DDS/RTI support and build validation

Major Changes:
- Merged latest Qt5 devel content from dlbo (292 files changed, 7 new dirs)
- Consolidated forward-declarations and include folders
- Removed unneeded modules per Niklas' repo check list

Build System Fixes:
- Fixed CMake VERSION_GREATER syntax in ParticipantManagement/CMakeLists.txt
- Added VLC packages (libvlc-dev, vlc-plugin-base) to docker_build.sh
- Added PostgreSQL dev packages (libpq-dev, postgresql-server-dev-all) to Dockerfile
- Fixed locale warnings (ANSI_X3.4-1968 → C.UTF-8)
- Fixed ArcGIS SDK path warnings when BUILD_ARCGIS=OFF

Code Generation Fixes:
- Fixed IDL enum collisions (PortType→CorePortType/DdsutPortType, PdmEventType)
- Fixed Grantlee template svc_translation.cpp.grantlee:
  - Changed {{ idl_enum.name }}_def:: to {{ idl_enum.name }}::
  - Fixed .underlying() calls for C++11 scoped enums (enum class)
- Removed generated files from repo (moc_*, *_dtc.h, *_ftc.h)

Validation:
- BUILD_RTI=ON: SUCCESS
- BUILD_RTI=OFF: SUCCESS
- C++17 standard maintained for RTI 7.7 compatibility
- Ubuntu 26.04 Docker environment verified

Remaining Warnings (expected):
- BgViewer, KDChart, KDReports, Poppler-Qt6 not found (optional features)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
torstenandCopilot committed 2026-09-15 18:20:26 +00:00
1 parent f23384bb68
commit 7173785915
18662 files changed
+4115092 -5435

No files matched your search

@@ -0,0 +1,127 @@
/**
* @RDE_HEADER@
* rde color scheme helper
* $Id$
* $HeadURL$
* $Author$
*/
#pragma once
#include <QString>
#include <QColor>
namespace ColorScheme
{
QString normal() { return QString(); }
QString hover() { return QStringLiteral(":hover"); }
QString pressed() { return QStringLiteral(":pressed"); }
QString checked() { return QStringLiteral(":checked"); }
QString disabled() { return QStringLiteral(":disabled"); }
QString disabledChecked() { return QStringLiteral(":disabled:checked"); }
QString selected() { return QStringLiteral(":selected"); }
QString defaulted() { return QStringLiteral(":default "); }
QString disabledDefaulted() { return QStringLiteral(":disabled:default "); }
QString hoverDefault() { return QStringLiteral(":hover:default "); }
}
namespace QToolButtonDefaultColorScheme
{
QString cssTemplate() { return QStringLiteral("QToolButton%1 { margin: 2px; padding: 3px; border: %2px solid; border-color: qlineargradient(x1: 0.3, y1: 0.4, x2: 1, y2: 1, stop: 0 %3, stop: 1 %6); background-color: qlineargradient(x1: 0.5, y1: 0.6, x2: 1, y2: 1, stop: 0 %4, stop: 1 %7); color: %5; border-radius: 4px;}"); }
QString get(const QString &type, const float borderSize, const QColor &borderColor, const QColor &bgColor, const QColor &fgColor)
{
return cssTemplate().arg(type, QString::number(borderSize), borderColor.name(), bgColor.name(), fgColor.name(), borderColor.lighter(220).name(), bgColor.darker(105).name());
}
}
namespace QToolButtonIconOnlyColorScheme
{
QString cssTemplate() { return QStringLiteral("QToolButton[toolButtonStyle='0']%1 { margin: 0px; padding: 5px; border: %2px solid; border-color: %3; background-color: %4; color: %5; border-radius: 20px; }"); }
QString get(const QString &type, const float borderSize, const QColor &borderColor, const QColor &bgColor, const QColor &fgColor) { return cssTemplate().arg(type, QString::number(borderSize), borderColor.name(), bgColor.name(), fgColor.name()); }
}
namespace QScrollBarColorScheme
{
QString cssTemplate() { return QStringLiteral("QScrollBar:%1%2 { border: 0px; border-radius: 5px; background: %3; }"); }
QString get(const QString &type, const QColor &bgColor) { return (cssTemplate().arg(QStringLiteral("horizontal"), type, bgColor.name()) + cssTemplate().arg(QStringLiteral("vertical"), type, bgColor.name())); }
}
namespace QScrollBarHandleColorScheme
{
QString cssTemplate() { return QStringLiteral("QScrollBar::handle:%1%2 { background: %3; border: 0px; border-radius: 5px; }"); }
QString get(const QString &type, const QColor &bgColor) { return (cssTemplate().arg(QStringLiteral("horizontal"), type, bgColor.name()) + cssTemplate().arg(QStringLiteral("vertical"), type, bgColor.name())); }
}
namespace QPushButtonColorScheme
{
QString cssTemplate() { return QStringLiteral("QPushButton%1 { padding: 4px; border: %5px %6; border-color: %2; border-radius: 2px; color: %3; background-color: %4; outline: none; }"); }
QString get(const QString &type, const QColor &borderColor, const QColor &bgColor, const QColor &fgColor, int bordersize = 1, const QString &borderStyle = QStringLiteral("solid")) { return (cssTemplate().arg(type, borderColor.name(), fgColor.name(), bgColor.name(), QString::number(bordersize), borderStyle )); }
}
namespace QTabBarColorScheme
{
QString cssTemplate() { return QStringLiteral("QTabBar%1 { border: none; background-color: %2; }"); }
QString get(const QString &type, const QColor &bgColor) { return (cssTemplate().arg(type, bgColor.name())); }
}
namespace QTabBarTabColorScheme
{
QString cssTemplate() { return QStringLiteral("QTabBar::tab%1 { border: none; background: %2; color: %3; padding-left: 7px; padding-right: 7px; padding-top: 7px; padding-bottom: 7px; }"); }
QString get(const QString &type, const QColor &bgColor, const QColor &fgColor) { return (cssTemplate().arg(type, bgColor.name(), fgColor.name())); }
}
namespace QSecondaryTabBarColorScheme
{
QString cssTemplate() { return QTabBarColorScheme::cssTemplate().arg(QStringLiteral("[secondary='true']%1")); }
QString get(const QString &type, const QColor &bgColor) { return (cssTemplate().arg(type, bgColor.name())); }
}
namespace QSecondaryTabBarTabColorScheme
{
QString cssTemplate() { return QTabBarTabColorScheme::cssTemplate().arg(QStringLiteral("[secondary='true']%1")); }
QString get(const QString &type, const QColor &bgColor, const QColor &fgColor) { return (cssTemplate().arg(type, bgColor.name(), fgColor.name())); }
}
namespace QSplitter
{
QString cssTemplate() { return QStringLiteral("QSplitter::handle%1 { border: none; background-color: %2; } QSplitter::handle:horizontal%1 { width: %3px; } QSplitter::handle:vertical%1 { height: %3px; }"); }
// TODO: no width & height, otherwise tablets cannot scale
QString get(const QString &type, const QColor &bgColor, int splitterHandleSize) { return (cssTemplate().arg(type, bgColor.name(), QString::number(splitterHandleSize))); }
}
namespace EditsColorScheme
{
QString cssTemplate() { return QStringLiteral("QLineEdit%1, QTextEdit%1, QPlainTextEdit%1 { border: 1px solid; border-color: %2; padding: 4px; border-radius: 2px; background-color: %3; color: %4; }"); }
QString get(const QString &type, const QColor &border, const QColor &bg, const QColor &fg) { return (cssTemplate().arg(type, border.name(), bg.name(), fg.name())); }
}
namespace SearchLineEditColorScheme
{
QString cssTemplate() { return QStringLiteral("QLineEdit[isSearchLineEdit=true]%1 { border: 0px solid; padding: 1px; background-color: %3; color: %4; }"); }
QString get(const QString &type, const QColor &bg, const QColor &fg) { return (cssTemplate().arg(type, bg.name(), fg.name())); }
}