]> git.sur5r.net Git - minitube/blob - src/messagebar.cpp
Upload 3.9.3-2 to unstable
[minitube] / src / messagebar.cpp
1 #include "messagebar.h"
2 #include "iconutils.h"
3
4 MessageBar::MessageBar(QWidget *parent) : QWidget(parent) {
5     setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
6
7     QBoxLayout *layout = new QHBoxLayout(this);
8     layout->setSpacing(16);
9
10     msgLabel = new QLabel();
11     msgLabel->setOpenExternalLinks(true);
12     layout->addWidget(msgLabel);
13
14     QToolButton *closeToolButton = new QToolButton();
15     closeToolButton->setIcon(IconUtils::icon("close"));
16     connect(closeToolButton, &QToolButton::clicked, this, [this] {
17         emit closed();
18         hide();
19     });
20     layout->addWidget(closeToolButton);
21 }
22
23 void MessageBar::setMessage(const QString &message) {
24     msgLabel->setText(message);
25 }
26
27 void MessageBar::paintEvent(QPaintEvent *e) {
28     Q_UNUSED(e);
29     QStyleOption o;
30     o.initFrom(this);
31     QPainter p(this);
32     style()->drawPrimitive(QStyle::PE_Widget, &o, &p, this);
33 }