diff --git a/src/plugins/qbsprojectmanager/qbslogsink.cpp b/src/plugins/qbsprojectmanager/qbslogsink.cpp index bbfc449d2faa776e0c47adfb630f93130b865ded..3674425199d4b53fa65b27578ed5676622b7bcf5 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 78e0836d397ecd837a52da7efaf1369178921156..cfbfc1b1d00e717e2837cbddbf32ae15293eabe4 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 d4994be4ecbfc22139e0b5946da410f9917e598a..f82b90e4308b12b89b89702001a6d00e0e673f8a 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 e614999eefb848215d93a3cbb637caedff05ae5b..4420637955a518872b69f1123503823ddad38539 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 2545211c0863234cbc1aef92be2c27af1732287e..705271775d7199204dc35b78dd12afb9b89d23e3 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; };