BibleTime
btcolorwidget.cpp
Go to the documentation of this file.
1/*********
2*
3* In the name of the Father, and of the Son, and of the Holy Spirit.
4*
5* This file is part of BibleTime's source code, https://bibletime.info/
6*
7* Copyright 1999-2025 by the BibleTime developers.
8* The BibleTime source code is licensed under the GNU General Public License
9* version 2.0.
10*
11**********/
12
13#include "btcolorwidget.h"
14
15#include <QColorDialog>
16#include <QMouseEvent>
17#include <QPalette>
18#include <QSizePolicy>
19#include <Qt>
20
21
23 : QFrame(parent)
24{
25 setFrameShadow(QFrame::Sunken);
26 setFrameShape(QFrame::StyledPanel);
27 setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
28 setAutoFillBackground(true);
29 setBackgroundRole(QPalette::Window);
30}
31
32QSize BtColorWidget::sizeHint() const { return QSize(35, 18); }
33
34void BtColorWidget::setColor(QColor const & color) {
35 QPalette p(palette());
36 p.setColor(QPalette::Normal, QPalette::Window, color);
37 setPalette(p);
38 update();
39}
40
41void BtColorWidget::mouseReleaseEvent(QMouseEvent * event) {
42 if (event->button() == Qt::LeftButton) {
43 event->accept();
44 QColor const color(QColorDialog::getColor(
45 palette().color(QPalette::Normal, QPalette::Window),
46 this));
47 if (color.isValid()) {
48 setColor(color);
49 Q_EMIT changed(color);
50 }
51 }
52}
void setColor(QColor const &color)
void changed(QColor const &color)
BtColorWidget(QWidget *parent=nullptr)
QSize sizeHint() const override
void mouseReleaseEvent(QMouseEvent *event) override