From a629b70724b5f428de69be2fc6a8b4cb7279e07e Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Wed, 12 Feb 2020 21:45:51 +0100 Subject: [PATCH] Ref T773, clear log when written, set object name for logger --- src/blackcore/simulator.cpp | 5 ++++- src/blackmisc/simulation/interpolationlogger.cpp | 7 +++++-- src/blackmisc/simulation/interpolationlogger.h | 2 +- src/plugins/simulator/emulated/simulatoremulated.cpp | 2 ++ 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/blackcore/simulator.cpp b/src/blackcore/simulator.cpp index 0c64fbcb0..d4102242e 100644 --- a/src/blackcore/simulator.cpp +++ b/src/blackcore/simulator.cpp @@ -445,7 +445,8 @@ namespace BlackCore this->clearInterpolationLogCallsigns(); // write - m_interpolationLogger.writeLogInBackground(); + const bool clearLog = true; + m_interpolationLogger.writeLogInBackground(clearLog); CLogMessage(this).info(u"Started writing interpolation log"); return true; } @@ -687,6 +688,8 @@ namespace BlackCore CIdentifiable(this) { this->setObjectName("Simulator: " + pluginInfo.getIdentifier()); + m_interpolationLogger.setObjectName("Logger: " + pluginInfo.getIdentifier()); + ISimulator::registerHelp(); // provider signals, hook up with remote aircraft provider diff --git a/src/blackmisc/simulation/interpolationlogger.cpp b/src/blackmisc/simulation/interpolationlogger.cpp index 5c7f96e64..9081ea8eb 100644 --- a/src/blackmisc/simulation/interpolationlogger.cpp +++ b/src/blackmisc/simulation/interpolationlogger.cpp @@ -45,7 +45,7 @@ namespace BlackMisc return cats; } - CWorker *CInterpolationLogger::writeLogInBackground() + CWorker *CInterpolationLogger::writeLogInBackground(bool clearLog) { QList situations; QList parts; @@ -58,10 +58,13 @@ namespace BlackMisc parts = m_partsLogs; } - CWorker *worker = CWorker::fromTask(this, "WriteInterpolationLog", [situations, parts]() + QPointer myself(this); + CWorker *worker = CWorker::fromTask(this, "WriteInterpolationLog", [situations, parts, myself, clearLog]() { const CStatusMessageList msg = CInterpolationLogger::writeLogFiles(situations, parts); CLogMessage::preformatted(msg); + + if (clearLog && myself) { myself->clearLog(); } }); return worker; } diff --git a/src/blackmisc/simulation/interpolationlogger.h b/src/blackmisc/simulation/interpolationlogger.h index 04c39c144..8485faa02 100644 --- a/src/blackmisc/simulation/interpolationlogger.h +++ b/src/blackmisc/simulation/interpolationlogger.h @@ -104,7 +104,7 @@ namespace BlackMisc static const CLogCategoryList &getLogCategories(); //! Write a log in background - CWorker *writeLogInBackground(); + CWorker *writeLogInBackground(bool clearLog); //! Clear log file void clearLog(); diff --git a/src/plugins/simulator/emulated/simulatoremulated.cpp b/src/plugins/simulator/emulated/simulatoremulated.cpp index a94027f93..42c0cf693 100644 --- a/src/plugins/simulator/emulated/simulatoremulated.cpp +++ b/src/plugins/simulator/emulated/simulatoremulated.cpp @@ -481,6 +481,8 @@ namespace BlackSimPlugin // update provider, own name, title this->updateOwnModel(settings.getOwnModel()); this->setObjectName(simulator); + m_interpolationLogger.setObjectName("Logger (emulated driver): " + simulator.toQString()); + if (m_monitorWidget) { m_monitorWidget->updateWindowTitleAndUiValues(simulator); } }