Added a new class to handle the pseudo-buttons on the canvas.

Added a new class, named Button, that has a clicked() signal,
and can be connected to the view to emulate buttons. While
I know that Qt supports widgets on canvas - I think it's too
nineties to have such square controls on something that can have
rounded borders.

Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
This commit is contained in:
Tomaz Canabrava 2013-06-21 16:44:38 -03:00
parent 01d1a49d94
commit 28f48227f7
2 changed files with 33 additions and 1 deletions

View file

@ -43,6 +43,14 @@ DivePlannerGraphics::DivePlannerGraphics(QWidget* parent): QGraphicsView(parent)
depthString = new QGraphicsSimpleTextItem();
depthString->setFlag(QGraphicsItem::ItemIgnoresTransformations);
scene()->addItem(depthString);
plusDepth = new Button();
plusDepth->setPos(15, 1);
scene()->addItem(plusDepth);
plusTime = new Button();
plusTime->setPos( 95, 90);
scene()->addItem(plusTime);
}
void DivePlannerGraphics::mouseDoubleClickEvent(QMouseEvent* event)
@ -352,3 +360,13 @@ double Ruler::minimum() const
return min;
}
Button::Button(QObject* parent): QObject(parent), QGraphicsPixmapItem()
{
setPixmap(QPixmap(":plus").scaled(20,20));
setFlag(ItemIgnoresTransformations);
}
void Button::mousePressEvent(QGraphicsSceneMouseEvent* event)
{
emit clicked();
}