Clean up ToolButton class

This commit is contained in:
Lukas W
2014-12-07 11:53:32 +01:00
parent 44b52ebd99
commit c6ee614012
2 changed files with 7 additions and 89 deletions

View File

@@ -34,48 +34,16 @@ class ToolButton : public QToolButton
{
Q_OBJECT
public:
ToolButton( const QPixmap & _pixmap, const QString & _tooltip,
QObject * _receiver, const char * _slot,
QWidget * _parent );
ToolButton(const QPixmap & _pixmap, const QString & _tooltip,
QObject * _receiver=nullptr, const char * _slot=nullptr,
QWidget * _parent=nullptr);
inline ToolButton( QWidget * _parent ) :
QToolButton( _parent ),
m_colorStandard( s_stdColor ),
m_colorHighlighted( s_hlColor )
{
// setup colors
leaveEvent( NULL );
}
inline ToolButton(QWidget * _parent) :
QToolButton(_parent)
{ }
virtual ~ToolButton();
inline void setStandardColor( const QColor & _color )
{
m_colorStandard = _color;
}
inline void setHighlightedColor( const QColor & _color )
{
m_colorHighlighted = _color;
}
protected:
virtual void enterEvent( QEvent * _ev );
virtual void leaveEvent( QEvent * _ev );
private slots:
void toggledBool( bool _on );
private:
static const QColor s_stdColor;
static const QColor s_hlColor;
QColor m_colorStandard;
QColor m_colorHighlighted;
} ;
#endif

View File

@@ -27,24 +27,12 @@
#include "ToolTip.h"
const QColor ToolButton::s_stdColor = QColor( 216, 216, 216 );
const QColor ToolButton::s_hlColor = QColor( 240, 240, 240 );
ToolButton::ToolButton( const QPixmap & _pixmap, const QString & _tooltip,
QObject * _receiver, const char * _slot,
QWidget * _parent ) :
QToolButton( _parent ),
m_colorStandard( s_stdColor ),
m_colorHighlighted( s_hlColor )
QToolButton( _parent )
{
setAutoFillBackground( false );
QPalette pal = palette();
pal.setColor( backgroundRole(), m_colorStandard );
pal.setColor( QPalette::Window, m_colorStandard );
pal.setColor( QPalette::Button, m_colorStandard );
setPalette( pal );
if( _receiver != NULL && _slot != NULL )
{
@@ -53,9 +41,6 @@ ToolButton::ToolButton( const QPixmap & _pixmap, const QString & _tooltip,
ToolTip::add( this, _tooltip );
setFixedSize( 30, 30 );
setIcon( _pixmap );
leaveEvent( NULL );
connect( this, SIGNAL( toggled( bool ) ), this,
SLOT( toggledBool( bool ) ) );
}
@@ -68,40 +53,5 @@ ToolButton::~ToolButton()
void ToolButton::enterEvent( QEvent * )
{
QPalette pal = palette();
pal.setColor( backgroundRole(), m_colorHighlighted );
pal.setColor( QPalette::Window, m_colorHighlighted );
pal.setColor( QPalette::Button, m_colorHighlighted );
setPalette( pal );
}
void ToolButton::leaveEvent( QEvent * )
{
QPalette pal = palette();
pal.setColor( backgroundRole(), m_colorStandard );
pal.setColor( QPalette::Window, m_colorStandard );
pal.setColor( QPalette::Button, m_colorStandard );
setPalette( pal );
}
void ToolButton::toggledBool( bool _on )
{
if( _on == true )
{
emit( clicked() );
}
}