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 #include +#include +#include +#include +#include +#include #include @@ -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)