2
* Copyright (C) 2013 - 2015 Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
4
* This library is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU Lesser General Public
6
* License as published by the Free Software Foundation; either
7
* version 2.1 of the License, or (at your option) any later version.
9
* This library is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
* Lesser General Public License for more details.
14
* You should have received a copy of the GNU Lesser General Public
15
* License along with this library; if not, write to the Free Software
16
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21
#include "colorbutton.h"
22
#include <QColorDialog>
26
ColorButton::ColorButton(QWidget* parent): QPushButton(parent) {
27
connect(this, &QPushButton::clicked, this, &ColorButton::onClicked);
30
ColorButton::~ColorButton() {
34
void ColorButton::onClicked() {
35
QColorDialog dlg(color_);
36
if(dlg.exec() == QDialog::Accepted) {
37
setColor(dlg.selectedColor());
41
void ColorButton::setColor(const QColor& color) {
44
// use qss instead of QPalette to set the background color
45
// otherwise, this won't work when using the gtk style.
46
QString style = QString("QPushButton{background-color:%1;}").arg(color.name());