view ui/textoverlaybutton.cpp @ 734:f6796ff72b65

Only show overlay if it is not "0"
author Andre Heinecke <andre.heinecke@intevation.de>
date Thu, 03 Jul 2014 16:28:35 +0200
parents 0bb54205c55a
children c92eb6298dd7
line wrap: on
line source
/* Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik
 * Software engineering by Intevation GmbH
 *
 * This file is Free Software under the GNU GPL (v>=2)
 * and comes with ABSOLUTELY NO WARRANTY!
 * See LICENSE.txt for details.
 */

#include <QPaintEvent>
#include <QPainter>
#include <QFont>
#include <QApplication>

#include <QDebug>

#include "textoverlaybutton.h"

void TextOverlayButton::paintEvent(QPaintEvent *e)
{
    QToolButton::paintEvent(e);
    if (mOverlay == "0") {
        return;
    }
    QPainter painter(this);
    QRect myRect = e->rect().translated(26, -29);

    // circle
    QLinearGradient gradient(myRect.topLeft(),
                             myRect.bottomRight());
    gradient.setColorAt(0, Qt::white);
    gradient.setColorAt(0.7, Qt::red);
    QBrush brush(gradient);
    painter.setBrush(brush);
    painter.setPen(Qt::white);
    painter.drawEllipse(75.5, 6, 20, 20);

    // font
    QFont font;
    font.setPixelSize(11);
    font.setWeight(QFont::Bold);
    painter.setFont(font);
    painter.drawText(myRect, Qt::AlignCenter | Qt::AlignVCenter, mOverlay);

    return;
}

http://wald.intevation.org/projects/trustbridge/