From 85387c07e3a6021746b319dfbfd033bf368d8fb4 Mon Sep 17 00:00:00 2001 From: Christian Kandeler <christian.kandeler@digia.com> Date: Wed, 6 Feb 2013 11:28:33 +0100 Subject: [PATCH] QbsProjectManager: Adapt to qbs API change. Logging API was updated. Change-Id: I78ce4bfeb441d6b496c3331aebf924e7dc81b9c7 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com> --- src/plugins/qbsprojectmanager/qbslogsink.cpp | 71 +++---------------- src/plugins/qbsprojectmanager/qbslogsink.h | 6 +- src/plugins/qbsprojectmanager/qbsproject.cpp | 3 +- .../qbsprojectmanager/qbsprojectmanager.cpp | 4 +- .../qbsprojectmanager/qbsprojectmanager.h | 3 + 5 files changed, 19 insertions(+), 68 deletions(-) diff --git a/src/plugins/qbsprojectmanager/qbslogsink.cpp b/src/plugins/qbsprojectmanager/qbslogsink.cpp index bbfc449d2fa..3674425199d 100644 --- a/src/plugins/qbsprojectmanager/qbslogsink.cpp +++ b/src/plugins/qbsprojectmanager/qbslogsink.cpp @@ -44,6 +44,10 @@ namespace Internal { // QbsLogSink: // -------------------------------------------------------------------- +QbsLogSink::QbsLogSink(QObject *parent) : QObject(parent) +{ +} + void QbsLogSink::sendMessages() { QStringList toSend; @@ -55,77 +59,20 @@ void QbsLogSink::sendMessages() Core::MessageManager *mm = Core::MessageManager::instance(); foreach (const QString &msg, toSend) - mm->printToOutputPanePopup(msg); + mm->printToOutputPane(msg); } -void QbsLogSink::outputLogMessage(qbs::LoggerLevel level, const qbs::LogMessage &logMessage) +void QbsLogSink::doPrintMessage(qbs::LoggerLevel level, const QString &message, const QString &tag) { - QString msg; - if (logMessage.printLogLevel) { - QByteArray levelTag = qbs::Logger::logLevelTag(level); - qbs::Internal::TextColor color = qbs::Internal::TextColorDefault; - switch (level) { - case qbs::LoggerError: - color = qbs::Internal::TextColorRed; - break; - case qbs::LoggerWarning: - color = qbs::Internal::TextColorYellow; - break; - default: - break; - } - msg = colorize(color, levelTag); - } - - msg.append(colorize(logMessage.textColor, logMessage.data)); + Q_UNUSED(tag); + const QString fullMessage = QString::fromLocal8Bit(qbs::logLevelTag(level)) + message; { QMutexLocker l(&m_mutex); - m_messages.append(msg); + m_messages.append(fullMessage); } QMetaObject::invokeMethod(this, "sendMessages", Qt::QueuedConnection); } -QString QbsLogSink::colorize(qbs::Internal::TextColor color, const QByteArray &text) -{ - switch (color) { - case qbs::Internal::TextColorBlack: - return QString::fromLatin1("<font color=\"rgb(0,0, 0)\">%1</font>").arg(QString::fromLocal8Bit(text)); - case qbs::Internal::TextColorDarkRed: - return QString::fromLatin1("<font color=\"rgb(170,0,0)\">%1</font>").arg(QString::fromLocal8Bit(text)); - case qbs::Internal::TextColorDarkGreen: - return QString::fromLatin1("<font color=\"rgb(0,170,0)\">%1</font>").arg(QString::fromLocal8Bit(text)); - case qbs::Internal::TextColorDarkBlue: - return QString::fromLatin1("<font color=\"rgb(0,0,170)\">%1</font>").arg(QString::fromLocal8Bit(text)); - case qbs::Internal::TextColorDarkCyan: - return QString::fromLatin1("<font color=\"rgb(0,170,170)\">%1</font>").arg(QString::fromLocal8Bit(text)); - case qbs::Internal::TextColorDarkMagenta: - return QString::fromLatin1("<font color=\"rgb(170,0,170)\">%1</font>").arg(QString::fromLocal8Bit(text)); - case qbs::Internal::TextColorDarkYellow: - return QString::fromLatin1("<font color=\"rgb(170,85,0)\">%1</font>").arg(QString::fromLocal8Bit(text)); - case qbs::Internal::TextColorGray: - return QString::fromLatin1("<font color=\"rgb(170,170,170)\">%1</font>").arg(QString::fromLocal8Bit(text)); - case qbs::Internal::TextColorRed: - return QString::fromLatin1("<font color=\"rgb(255,85,85)\">%1</font>").arg(QString::fromLocal8Bit(text)); - case qbs::Internal::TextColorGreen: - return QString::fromLatin1("<font color=\"rgb(85,255,85)\">%1</font>").arg(QString::fromLocal8Bit(text)); - case qbs::Internal::TextColorBlue: - return QString::fromLatin1("<font color=\"rgb(85,85,255)\">%1</font>").arg(QString::fromLocal8Bit(text)); - case qbs::Internal::TextColorCyan: - return QString::fromLatin1("<font color=\"rgb(85,255,255)\">%1</font>").arg(QString::fromLocal8Bit(text)); - case qbs::Internal::TextColorMagenta: - return QString::fromLatin1("<font color=\"rgb(255,85,255)\">%1</font>").arg(QString::fromLocal8Bit(text)); - case qbs::Internal::TextColorYellow: - return QString::fromLatin1("<font color=\"rgb(255,255,85)\">%1</font>").arg(QString::fromLocal8Bit(text)); - case qbs::Internal::TextColorWhite: - return QString::fromLatin1("<font color=\"rgb(255,255,255)\">%1</font>").arg(QString::fromLocal8Bit(text)); - case qbs::Internal::TextColorBright: - case qbs::Internal::TextColorDefault: - // fallthrough: - default: - return QString::fromLocal8Bit(text); - } -} - } // namespace Internal } // namespace QbsProjectManager diff --git a/src/plugins/qbsprojectmanager/qbslogsink.h b/src/plugins/qbsprojectmanager/qbslogsink.h index 78e0836d397..cfbfc1b1d00 100644 --- a/src/plugins/qbsprojectmanager/qbslogsink.h +++ b/src/plugins/qbsprojectmanager/qbslogsink.h @@ -42,14 +42,14 @@ namespace Internal { class QbsLogSink : public QObject, public qbs::ILogSink { Q_OBJECT +public: + QbsLogSink(QObject *parent = 0); private slots: void sendMessages(); private: - void outputLogMessage(qbs::LoggerLevel level, const qbs::LogMessage &logMessage); - - QString colorize(qbs::TextColor color, const QByteArray &text); + void doPrintMessage(qbs::LoggerLevel level, const QString &message, const QString &tag); QStringList m_messages; QMutex m_mutex; diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp index d4994be4ecb..f82b90e4308 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.cpp +++ b/src/plugins/qbsprojectmanager/qbsproject.cpp @@ -30,6 +30,7 @@ #include "qbsproject.h" #include "qbsbuildconfiguration.h" +#include "qbslogsink.h" #include "qbsprojectfile.h" #include "qbsprojectmanagerconstants.h" #include "qbsnodes.h" @@ -389,7 +390,7 @@ void QbsProject::parse(const QVariantMap &config, const QString &dir) params.ignoreDifferentProjectFilePath = false; m_qbsSetupProjectJob - = qbs::Project::setupProject(params, m_manager->settings(), 0); + = qbs::Project::setupProject(params, m_manager->settings(), m_manager->logSink(), 0); connect(m_qbsSetupProjectJob, SIGNAL(finished(bool,qbs::AbstractJob*)), this, SLOT(handleQbsParsingDone(bool))); diff --git a/src/plugins/qbsprojectmanager/qbsprojectmanager.cpp b/src/plugins/qbsprojectmanager/qbsprojectmanager.cpp index e614999eefb..4420637955a 100644 --- a/src/plugins/qbsprojectmanager/qbsprojectmanager.cpp +++ b/src/plugins/qbsprojectmanager/qbsprojectmanager.cpp @@ -82,7 +82,7 @@ QbsManager::QbsManager(Internal::QbsProjectManagerPlugin *plugin) : setObjectName(QLatin1String("QbsProjectManager")); connect(ProjectExplorer::KitManager::instance(), SIGNAL(kitsChanged()), this, SLOT(pushKitsToQbs())); - qbs::Logger::instance().setLogSink(new Internal::QbsLogSink); + m_logSink = new Internal::QbsLogSink(this); int level = qbs::LoggerWarning; const QString levelEnv = QString::fromLocal8Bit(qgetenv("QBS_LOG_LEVEL")); if (!levelEnv.isEmpty()) { @@ -93,7 +93,7 @@ QbsManager::QbsManager(Internal::QbsProjectManagerPlugin *plugin) : tmp = static_cast<int>(qbs::LoggerMaxLevel); level = tmp; } - qbs::Logger::instance().setLevel(level); + m_logSink->setLogLevel(static_cast<qbs::LoggerLevel>(level)); } QbsManager::~QbsManager() diff --git a/src/plugins/qbsprojectmanager/qbsprojectmanager.h b/src/plugins/qbsprojectmanager/qbsprojectmanager.h index 2545211c086..705271775d7 100644 --- a/src/plugins/qbsprojectmanager/qbsprojectmanager.h +++ b/src/plugins/qbsprojectmanager/qbsprojectmanager.h @@ -47,6 +47,7 @@ class ProjectExplorerPlugin; namespace QbsProjectManager { namespace Internal { +class QbsLogSink; class QbsProject; class QbsProjectManagerPlugin; } // namespace Internal @@ -68,6 +69,7 @@ public: QStringList profileNames() const; static qbs::Settings *settings(); + Internal::QbsLogSink *logSink() { return m_logSink; } private slots: void pushKitsToQbs(); @@ -79,6 +81,7 @@ private: void addProfileFromKit(const ProjectExplorer::Kit *k); Internal::QbsProjectManagerPlugin *m_plugin; + Internal::QbsLogSink *m_logSink; static qbs::Settings *m_settings; }; -- GitLab