- Copied complete Lts/Tools directory from qt5-before to qt6-after - Updated 32 CMakeLists.txt files (Qt5:: → Qt6::) - Tools subdirectory already included in parent Lts/CMakeLists.txt - All 72 tool submodules now present in qt6-migrated-legatus - Includes: Adler, ArAssets, ConfigX, DBAdministration, DBUpdate, DdsView, InfrastructureManagement, and 67 more tools - C++17 standard (RTI 7.7.0 compatibility maintained) - Tests deferred until final validation phase Migration progress: ✅ Lts/Application (68 files) ✅ Lts/DDS (verified Qt6-ready) ✅ Lts/Plugins (60 submodules, verified) ✅ Lts/Projects (5 submodules, verified) ✅ Lts/Proxies (13 submodules, verified) ✅ Lts/Services (47 submodules, verified) ✅ Lts/Tools (72 submodules, copied + CMake updated) ✅ Lts/Viewer (LtsFileDialog, LtsReportDisplay, SituationMap) 🟡 TetraIF (partial) 🟡 Z (partial: nglwidgets, QtSingleApplication, qsql_informix, WMS_Interface)
54 lines
1.2 KiB
C++
Executable File
54 lines
1.2 KiB
C++
Executable File
#include "configurator.h"
|
|
|
|
#include <unistd.h>
|
|
|
|
#include <QApplication>
|
|
#include <QMessageBox>
|
|
#include <QProcess>
|
|
#include <QtCore/QDebug>
|
|
|
|
|
|
int main(int argc, char **argv)
|
|
{
|
|
QApplication app(argc, argv);
|
|
|
|
QStringList arguments = app.arguments();
|
|
|
|
if (arguments.count() < 2)
|
|
{
|
|
qWarning() << "usage:" << arguments.at(0)
|
|
<< "<project name (" << Configurator::projectNames().join(QStringLiteral(", ")) << ")>";
|
|
return -1;
|
|
}
|
|
|
|
QString projectName = arguments.at(1);
|
|
if (!Configurator::projectNames().contains(projectName))
|
|
{
|
|
QMessageBox::critical(nullptr, QString(),
|
|
QStringLiteral("Unknown project. Available project names: %1").arg(
|
|
Configurator::projectNames().join(QStringLiteral(", "))));
|
|
return -2;
|
|
}
|
|
|
|
bool isDebug = (arguments.count() > 2 && arguments.at(2) == QStringLiteral("debug"));
|
|
|
|
if (!isDebug)
|
|
{
|
|
// restart if not root
|
|
uid_t uid = getuid();
|
|
|
|
if (uid != 0) // root
|
|
{
|
|
QProcess::startDetached(QStringLiteral("xgd-su -c %1 %2").arg(arguments.at(0), projectName));
|
|
//qWarning() << "wrong uid" << uid;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
Configurator *c = new Configurator(projectName);
|
|
c->show();
|
|
|
|
return app.exec();
|
|
}
|