From cc5cef3b48d1e5b7642fcccb4c6de7b3077884a6 Mon Sep 17 00:00:00 2001 From: Emmanuel Engelhart Date: Mon, 3 Jan 2022 12:26:24 +0100 Subject: [PATCH] Better (with dependences version) --version --- src/kiwixapp.cpp | 13 +++++++++++-- src/kiwixapp.h | 1 + src/main.cpp | 10 ++++++++-- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/kiwixapp.cpp b/src/kiwixapp.cpp index 46144c9..b9161fa 100644 --- a/src/kiwixapp.cpp +++ b/src/kiwixapp.cpp @@ -1,7 +1,9 @@ #include "kiwixapp.h" #include "static_content.h" #include "zim/error.h" +#include "zim/version.h" #include "kiwix/tools.h" +#include "kiwix/version.h" #include #include @@ -36,8 +38,6 @@ KiwixApp::KiwixApp(int& argc, char *argv[]) QMessageBox::critical(nullptr, "Translation error", e.what()); return; } - qInfo() << "Compiled with Qt Version " << QT_VERSION_STR; - qInfo() << "Runtime Qt Version " << qVersion(); m_qtTranslator.load(QLocale(), "qt", "_", QLibraryInfo::location(QLibraryInfo::TranslationsPath)); installTranslator(&m_qtTranslator); @@ -444,3 +444,12 @@ void KiwixApp::updateNameMapper() { m_nameMapper.update(); } + +void KiwixApp::printVersions(std::ostream& out) { + out << version.toStdString() << std::endl; + out << "+ libqt (compile time) " << QT_VERSION_STR << std::endl; + out << "+ libqt (run time) " << qVersion() << std::endl << std::endl; + kiwix::printVersions(out); + out << std::endl; + zim::printVersions(out); +} diff --git a/src/kiwixapp.h b/src/kiwixapp.h index 8e8446d..31d65c7 100644 --- a/src/kiwixapp.h +++ b/src/kiwixapp.h @@ -101,6 +101,7 @@ public slots: void printPage(); void disableItemsOnLibraryPage(bool displayed); void updateNameMapper(); + void printVersions(std::ostream& out = std::cout); protected: void createAction(); diff --git a/src/main.cpp b/src/main.cpp index 930c57d..743cef2 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -15,12 +15,18 @@ int main(int argc, char *argv[]) QWebEngineUrlScheme::registerScheme(scheme); #endif KiwixApp a(argc, argv); - a.setApplicationVersion(version); + QCommandLineParser parser; parser.setApplicationDescription(QStringLiteral("The Kiwix Desktop is a viewer/manager of ZIM files for GNU/Linux and Microsoft Windows OSes.")); parser.addHelpOption(); - parser.addVersionOption(); parser.addPositionalArgument("zimfile", "The zim file"); + + // Set version string + std::ostringstream versions; + a.printVersions(versions); + a.setApplicationVersion(QString::fromStdString(versions.str())); + parser.addVersionOption(); + parser.process(a); auto positionalArguments = parser.positionalArguments(); if (a.isRunning()) {