#include #include #include #include #include #ifndef WIN32 #include #endif #include "LogViewGui.hpp" #include "logger.h" int main(int argc, char *argv[]) { std::string logConfigFileName; std::string dir; #ifdef WIN32 dir = argv[0]; #else std::stringstream s; s << "/proc/" << getpid() << "/exe"; char buf[1024]; ssize_t len = readlink(s.str().c_str(), buf, 1024); if(len > 0) { buf[len] = '\0'; dir = buf; } else { dir = argv[0]; } #endif std::string::size_type pos = dir.find_last_of('/'); if (std::string::npos != pos) logConfigFileName += dir.substr(0, pos + 1);; logConfigFileName += "LogView_log4cxx.props"; qputenv("TDS_DEVEL", QByteArray::number(1)); NGLApplication app(argc, argv); QNetworkProxy::setApplicationProxy(QNetworkProxy()); app.createLogger("LogView", logConfigFileName.c_str()); QCoreApplication::setOrganizationName(QStringLiteral("RME")); QCoreApplication::setApplicationName(QStringLiteral("LogView")); QSettings settings; settings.beginGroup(N_LogView::LogViewGui::WINDOW_GROUP); int screenNbr = settings.value(N_LogView::LogViewGui::SCREEN, 0).toInt(); settings.endGroup(); QScreen *screen = QGuiApplication::screens().value(screenNbr, QGuiApplication::primaryScreen()); N_LogView::LogViewGui* logViewGui = new N_LogView::LogViewGui(nullptr); // A QScreen is not a QWidget in Qt6, so the target screen can no longer be passed as the // parent widget. Create the native window first, then assign it to the requested screen. logViewGui->winId(); if (screen && logViewGui->windowHandle()) logViewGui->windowHandle()->setScreen(screen); logViewGui->show(); int ret = app.exec(); delete logViewGui; return ret; }