Qt6 Migration: Merge latest Qt5 devel content and apply migration fixes

- Merged 292 changed files from dlbo snapshot
- Fixed IDL enum collisions (PortType, PdmEventType)
- Fixed Grantlee template for C++11 scoped enums
- Fixed CMake VERSION_GREATER syntax
- Added missing directories (THP, LtsRestClient, etc.)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
torstenandCopilot committed 2026-09-15 18:20:51 +00:00
1 parent c9e245a211
commit 3028302f7b
310 files changed
+2823 -740

No files matched your search

@@ -21,6 +21,11 @@
#include <QTime>
#include <QVBoxLayout>
#include <QFileDialog>
#include <QFile>
#include <QMessageBox>
#include <QSettings>
#include <AdlerJson/generatetelegrams.h>
#include <AdlerJson/telegrams.h>
@@ -41,6 +46,7 @@ ICDTest::ICDTest(QWidget *parent)
generatePositionReportsPage();
generateTextMessagePage();
generateErkundungsergebnissePage();
generateFilePage();
connect(m_ui->tbTrash, &QToolButton::clicked, m_ui->textEdit, &QTextEdit::clear);
connect(m_ui->tbRestart, &QToolButton::clicked, this, &ICDTest::doRestart);
connect(&m_heartbeatTimer, &QTimer::timeout, this, &ICDTest::generateConnectionTestMessage);
@@ -1170,6 +1176,57 @@ void ICDTest::generateErkundungsergebnissePage()
m_ui->toolBox->addItem(widget, tr("Erkundungsergebnisse"));
}
void ICDTest::selectAndSendJson() {
// 1. QSettings initialisieren
QSettings settings(QStringLiteral("Legatus"), QStringLiteral("JsonWebsocketSender"));
// 2. Letzten Pfad auslesen (Standard: leerer String)
QString lastDir = settings.value(QStringLiteral("lastDirectory"), QStringLiteral("")).toString();
// 3. Dialog mit dem letzten Pfad öffnen
QString filePath = QFileDialog::getOpenFileName(this,
tr("Select JSON file"),
lastDir, // Hier wird der gemerkte Pfad übergeben
tr("JSON Files (.json);;Text Files (.txt)"));
if (filePath.isEmpty()) return;
// 4. Neuen Pfad für das nächste Mal speichern
QFileInfo fileInfo(filePath);
settings.setValue(QStringLiteral("lastDirectory"), fileInfo.absolutePath());
// 5. Datei einlesen
QFile file(filePath);
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
QMessageBox::critical(this, tr("Error"), tr("Couldn't open file"));
return;
}
m_pendingData = file.readAll();
file.close();
QString message = QString::fromUtf8(m_pendingData);
m_ui->textEdit->append(message);
emit messsageToProxy(message);
}
void ICDTest::generateFilePage()
{
QVBoxLayout *lay = new QVBoxLayout(this);
QSpacerItem *item = new QSpacerItem(1, 1, QSizePolicy::Minimum, QSizePolicy::MinimumExpanding);
QWidget *widget = new QWidget(this);
QPushButton *btnEXAQ = new QPushButton(tr("JSON Files"));
connect(btnEXAQ, &QPushButton::clicked, this, &ICDTest::selectAndSendJson);
lay->addWidget(btnEXAQ);
lay->addItem(item);
widget->setLayout(lay);
m_ui->toolBox->addItem(widget, tr("Load JSON File"));
}
void ICDTest::generateStatusPage()
{
QVBoxLayout *lay = new QVBoxLayout(this);
@@ -82,6 +82,7 @@ class ICDTest : public QWidget
void generateEXFlugbahnberechnung(); // Flugbahnberechnung
void generateEXFlugbahndaten(); // Flugbahndaten
void onSendHeartbeatChanged();
void selectAndSendJson();
private:
void generateConnectionPage();
@@ -91,6 +92,7 @@ class ICDTest : public QWidget
void generateTrajectoryGenerationPage();
void generateTextMessagePage();
void generateErkundungsergebnissePage();
void generateFilePage();
void generateStatusPage();
void generateEXSQWS_1WS(const QString &verein, const QString &kenner);
@@ -101,6 +103,7 @@ class ICDTest : public QWidget
QTimer m_heartbeatTimer;
QString m_lastFeuerkampfReferenz;
QString m_fixedReference;
QByteArray m_pendingData;
};
} // namespace AdlerWebSocketSimulator