diff --git a/src/widgets/pixmapbutton.cpp b/src/widgets/pixmapbutton.cpp new file mode 100644 index 0000000..2814319 --- /dev/null +++ b/src/widgets/pixmapbutton.cpp @@ -0,0 +1,30 @@ + + +#include "pixmapbutton.h" + +#include +#include +#include +#include + +PixmapButton::PixmapButton (QWidget *parent) : QAbstractButton (parent) +{ +} + +PixmapButton::~PixmapButton () +{ +} + +void +PixmapButton::paintEvent( QPaintEvent * event ) +{ + QPixmap pixmap = icon().pixmap (size(), + isDown() ? QIcon::Active : QIcon::Normal, + isChecked() ? QIcon::On : QIcon::Off); + + QPainter p; + p.begin(this); + p.drawPixmap( rect(), pixmap, pixmap.rect() ); + p.end(); + +} diff --git a/src/widgets/pixmapbutton.h b/src/widgets/pixmapbutton.h new file mode 100644 index 0000000..7d8cff3 --- /dev/null +++ b/src/widgets/pixmapbutton.h @@ -0,0 +1,37 @@ +/** + * This file is a part of Promoe, an XMMS2 CLient + * + * Copyright (C) 2008 Thomas Frauendorfer + * + * 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 2 + * 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. + */ + +#ifndef __PIXMAPBUTTON_H__ +#define __PIXMAPBUTTON_H__ + +#include + +class QPaintEvent; +class QWidget; + +class PixmapButton : public QAbstractButton { + Q_OBJECT + + public: + PixmapButton (QWidget *parent); + ~PixmapButton (); + + protected: + void paintEvent ( QPaintEvent * event ); + +}; + +#endif diff --git a/src/widgets/widgets.pri b/src/widgets/widgets.pri new file mode 100644 index 0000000..64b44d4 --- /dev/null +++ b/src/widgets/widgets.pri @@ -0,0 +1,6 @@ +HEADERS += pixmapbutton.h + +SOURCES += pixmapbutton.cpp + +INCLUDEPATH += $$PWD +DEPENDPATH += $$PWD