158 const QRect area = rect();
159 if (area.isEmpty()) {
163 const int bandHeight = qMin(kBandHeight, area.height());
164 const QRect band(0, area.height() - bandHeight, area.width(), bandHeight);
165 painter->fillRect(band, QColor(0, 0, 0, 150));
167 const int margin = qMin(kBandMargin, area.width() / 4);
168 const QRect line(band.left() + margin, band.top() + 4, qMax(0, band.width() - 2 * margin), kLineHeight);
170 QFont font = painter->font();
172 painter->setFont(font);
173 painter->setPen(QColor(0xff, 0xff, 0xff));
175 QString title = d->m_applicationName;
176 if (!d->m_version.isEmpty()) {
177 title += QStringLiteral(
" ");
178 title += d->m_version;
180 painter->drawText(line, Qt::AlignLeft | Qt::AlignVCenter, title);
183 painter->setFont(font);
184 painter->setPen(QColor(0xd0, 0xd0, 0xd0));
186 const QRect messageLine(line.left(), line.top() + kLineHeight, line.width(), kLineHeight);
187 painter->drawText(messageLine, Qt::AlignLeft | Qt::AlignVCenter, d->m_message);
189 if (d->m_progress < 0) {
193 painter->setPen(QColor(0xff, 0xff, 0xff));
194 painter->drawText(messageLine, Qt::AlignRight | Qt::AlignVCenter, QStringLiteral(
"%1%").arg(d->m_progress));
196 const QRect track(band.left() + margin, band.bottom() - 3, qMax(0, band.width() - 2 * margin), 2);
197 painter->fillRect(track, QColor(0xff, 0xff, 0xff, 60));
199 fill.setWidth(track.width() * d->m_progress / 100);
200 painter->fillRect(fill, QColor(0x2f, 0x7c, 0xd1));