/* * Squawk messenger. * Copyright (C) 2019 Yury Gubich * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "badge.h" Badge::Badge(const QString& p_id, const QString& p_text, const QIcon& icon, QWidget* parent): QFrame(parent), id(p_id), image(new QLabel()), text(new QLabel(p_text)), closeButton(new QPushButton()), layout(new QHBoxLayout(this)) { setBackgroundRole(QPalette::Base); //setAutoFillBackground(true); setFrameStyle(QFrame::StyledPanel); setFrameShadow(QFrame::Raised); image->setPixmap(icon.pixmap(25, 25)); closeButton->setIcon(QIcon::fromTheme("tab-close")); closeButton->setMaximumHeight(25); closeButton->setMaximumWidth(25); layout->addWidget(image); layout->addWidget(text); layout->addWidget(closeButton); layout->setContentsMargins(2, 2, 2, 2); connect(closeButton, &QPushButton::clicked, this, &Badge::close); } Badge::~Badge() { } bool Badge::Comparator::operator()(const Badge* a, const Badge* b) const { return a->id < b->id; } bool Badge::Comparator::operator()(const Badge& a, const Badge& b) const { return a.id < b.id; }