The API changed for rotations, requiring another argument for positions.
[contacts_plasmoid.git] / contactbutton.cpp
blob5c24c764fd3eca7508650aa134c1a8a73f723fe2
1 #include "contactbutton.h"
3 #include <QPainter>
4 #include <QGraphicsSceneMouseEvent>
5 #include <QDebug>
7 ContactButton::ContactButton( const QString &pixmapPath, QGraphicsItem *parent )
8 : QGraphicsWidget( parent )
10 if ( mPixmap.load( pixmapPath ) )
11 qDebug()<<"error loading path:"<<pixmapPath;
12 resize(mPixmap.width(), mPixmap.height());
13 setAcceptedMouseButtons( Qt::LeftButton );
14 setOpacity(0.6);
17 ContactButton::ContactButton( ContactButton &button )
19 setAcceptedMouseButtons( Qt::LeftButton );
20 setGeometry( button.geometry() );
21 setPos( 0, 0 );
22 mPixmap = button.mPixmap;
23 setFlag(ItemIgnoresParentOpacity);
26 void ContactButton::paint( QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget)
29 painter->drawPixmap(QPoint( 0, 0 ), mPixmap);
32 void ContactButton::mousePressEvent(QGraphicsSceneMouseEvent *event)
34 qDebug()<< "ContactButton::mousePressEvent = " << event->pos() <<" "<< geometry();
35 emit clicked();
36 return QGraphicsItem::mousePressEvent(event);
39 QSizeF ContactButton::sizeHint( Qt::SizeHint which, const QSizeF & constraint ) const
41 //Adjust it to work with pulser
42 /* switch (which) {
43 case Qt::MinimumSize:
44 case Qt::PreferredSize:
45 return mPixmap.size();
46 case Qt::MaximumSize:
47 return mPixmap.size();
48 default:
49 break;
52 return QGraphicsWidget::sizeHint(which, constraint);