From 5037c78f89f075be2be0c4cc5f459bf55b4a3dc1 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin <daniel.molkentin@nokia.com> Date: Wed, 2 Dec 2009 16:33:19 +0100 Subject: [PATCH] Show errors in overlay icon on Windows 7. Complements 275146afdfc2e75dcdc74f5737e65c315ea5851a Task-Number: QTCREATORBUG-386 --- .../progressmanager/progressmanager_win.cpp | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/plugins/coreplugin/progressmanager/progressmanager_win.cpp b/src/plugins/coreplugin/progressmanager/progressmanager_win.cpp index 5e324c2bcdc..82d43d44156 100644 --- a/src/plugins/coreplugin/progressmanager/progressmanager_win.cpp +++ b/src/plugins/coreplugin/progressmanager/progressmanager_win.cpp @@ -29,6 +29,11 @@ #include <QtCore/QVariant> #include <QtGui/QMainWindow> +#include <QtGui/QFont> +#include <QtGui/QFontMetrics> +#include <QtGui/QPixmap> +#include <QtGui/QPainter> +#include <QtGui/QLabel> #include <coreplugin/icore.h> @@ -76,7 +81,22 @@ void Core::Internal::ProgressManagerPrivate::cleanup() void Core::Internal::ProgressManagerPrivate::setApplicationLabel(const QString &text) { - Q_UNUSED(text) + if (!pITask) + return; + + WId winId = Core::ICore::instance()->mainWindow()->winId(); + if (text.isNull()) { + pITask->SetOverlayIcon(winId, NULL, NULL); + } else { + QPixmap pix = QPixmap(":/projectexplorer/images/compile_error.png"); + QPainter p(&pix); + p.setPen(Qt::white); + QFont font = p.font(); + font.setPointSize(font.pointSize()-2); + p.setFont(font); + p.drawText(QRect(QPoint(0,0), pix.size()), Qt::AlignHCenter|Qt::AlignCenter, text); + pITask->SetOverlayIcon(winId, pix.toWinHICON(), text.utf16()); + } } void Core::Internal::ProgressManagerPrivate::setApplicationProgressRange(int min, int max) -- GitLab