/***************************************************************************
- * Copyright (C) 2005-08 by the Quassel IRC Team *
+ * Copyright (C) 2005-2020 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
-#ifndef _COLORBUTTON_H_
-#define _COLORBUTTON_H_
+#pragma once
-#include <QPushButton>
+#include "uisupport-export.h"
-class ColorButton : public QPushButton {
- Q_OBJECT
+#include <QToolButton>
- public:
- ColorButton(QWidget *parent = 0);
- void setColor(const QColor &color);
+class UISUPPORT_EXPORT ColorButton : public QToolButton
+{
+ Q_OBJECT
+ Q_PROPERTY(QColor color READ color WRITE setColor USER true)
+
+public:
+ explicit ColorButton(QWidget* parent = nullptr);
+ explicit ColorButton(const QColor& c, QWidget* parent = nullptr);
+
+ void setColor(const QColor& color);
QColor color() const;
- protected:
- void paintEvent(QPaintEvent *event);
+signals:
+ void colorChanged(const QColor&);
- private:
+private slots:
+ void chooseColor();
+
+private:
QColor _color;
};
-
-#endif