diff options
Diffstat (limited to 'src/libs/installer/loggingutils.cpp')
-rw-r--r-- | src/libs/installer/loggingutils.cpp | 45 |
1 files changed, 43 insertions, 2 deletions
diff --git a/src/libs/installer/loggingutils.cpp b/src/libs/installer/loggingutils.cpp index 8c542a1d1..9a36720dd 100644 --- a/src/libs/installer/loggingutils.cpp +++ b/src/libs/installer/loggingutils.cpp @@ -29,8 +29,10 @@ #include "loggingutils.h" #include "component.h" +#include "componentalias.h" #include "globals.h" #include "fileutils.h" +#include "packagemanagercore.h" #include "remoteclient.h" #include "remotefileengine.h" @@ -110,6 +112,7 @@ public: */ LoggingHandler::LoggingHandler() : m_verbLevel(VerbosityLevel::Silent) + , m_outputRedirected(false) { #if defined(Q_OS_UNIX) m_outputRedirected = !isatty(fileno(stdout)); @@ -251,7 +254,7 @@ bool LoggingHandler::outputRedirected() const /*! Prints update information from \a components. */ -void LoggingHandler::printUpdateInformation(const QList<Component *> components) const +void LoggingHandler::printUpdateInformation(const QList<Component *> &components) const { QString output; QXmlStreamWriter stream(&output); @@ -365,6 +368,44 @@ void LoggingHandler::printPackageInformation(const PackagesList &matchedPackages } /*! + Prints basic or more detailed information about component \a aliases, + depending on the current verbosity level. +*/ +void LoggingHandler::printAliasInformation(const QList<ComponentAlias *> &aliases) +{ + QList<ComponentAlias *> sortedAliases = aliases; + std::sort(sortedAliases.begin(), sortedAliases.end(), + [](const ComponentAlias *lhs, const ComponentAlias *rhs) { + return lhs->name() < rhs->name(); + } + ); + + QString output; + QTextStream stream(&output); + + stream << Qt::endl; + for (auto *alias : qAsConst(sortedAliases)) { + stream << "Name: " << alias->name() << Qt::endl; + stream << "Display name: " << alias->displayName() << Qt::endl; + stream << "Description: " << alias->description() << Qt::endl; + stream << "Version: " << alias->version() << Qt::endl; + if (verboseLevel() == VerbosityLevel::Detailed) + stream << "Virtual: " << alias->value(scVirtual) << Qt::endl; + + stream << "Components: " << alias->value(scRequiredComponents) << Qt::endl; + stream << "Required aliases: " << alias->value(scRequiredAliases) << Qt::endl; + + stream << "Optional components: " << alias->value(scOptionalComponents) << Qt::endl; + stream << "Optional aliases: " << alias->value(scOptionalAliases) << Qt::endl; + + if (sortedAliases.indexOf(alias) != (sortedAliases.count() - 1)) + stream << "========================================" << Qt::endl; + } + + std::cout << qPrintable(output); +} + +/*! \internal */ VerboseWriter::VerboseWriter() @@ -441,7 +482,7 @@ VerboseWriter *VerboseWriter::instance() */ void VerboseWriter::appendLine(const QString &msg) { - m_stream << msg << endl; + m_stream << msg << Qt::endl; } /*! |