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-2021 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 
32 QSize BtColorWidget::sizeHint() const { return QSize(35, 18); }
33 
34 void BtColorWidget::setColor(QColor const & color) {
35  QPalette p(palette());
36  p.setColor(QPalette::Normal, QPalette::Window, color);
37  setPalette(p);
38  update();
39 }
40 
41 void 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