From 82453e51369e966f8d9a9aa8495c98d83cdf73fa Mon Sep 17 00:00:00 2001 From: Claudio Valerio Date: Tue, 16 Jul 2013 11:26:31 +0200 Subject: [PATCH] frame button and transparency strokes fixed issue 50 --- src/domain/UBGraphicsItemDelegate.cpp | 10 +++++++++- src/domain/UBGraphicsProxyWidget.cpp | 3 +++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/domain/UBGraphicsItemDelegate.cpp b/src/domain/UBGraphicsItemDelegate.cpp index 817aa4ba..91fc6252 100644 --- a/src/domain/UBGraphicsItemDelegate.cpp +++ b/src/domain/UBGraphicsItemDelegate.cpp @@ -120,14 +120,17 @@ void DelegateButton::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) void DelegateButton::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { + painter->save(); + painter->setCompositionMode(QPainter::CompositionMode_SourceOver); QGraphicsSvgItem::paint(painter, option, widget); + painter->restore(); if (mIsPressed && mShowProgressIndicator) { QPen pen; pen.setBrush(Qt::white); pen.setWidth(3); painter->save(); - + painter->setCompositionMode(QPainter::CompositionMode_SourceOver); painter->setPen(pen); int spanAngle = qMin(mPressProgres, UBSettings::longClickInterval) * 360 / UBSettings::longClickInterval; @@ -848,6 +851,11 @@ void UBGraphicsToolBarItem::paint(QPainter *painter, const QStyleOptionGraphicsI setBrush(QBrush(UBSettings::paletteColor)); +// QPainter newPainter; + +// newPaiter->setBrush(QBrush(Qt::red)); + + painter->fillPath(path, brush()); } diff --git a/src/domain/UBGraphicsProxyWidget.cpp b/src/domain/UBGraphicsProxyWidget.cpp index 046541df..24f3b6c7 100644 --- a/src/domain/UBGraphicsProxyWidget.cpp +++ b/src/domain/UBGraphicsProxyWidget.cpp @@ -49,8 +49,11 @@ UBGraphicsProxyWidget::~UBGraphicsProxyWidget() void UBGraphicsProxyWidget::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { + painter->save(); + painter->setCompositionMode(QPainter::CompositionMode_SourceOver); QGraphicsProxyWidget::paint(painter,option,widget); Delegate()->postpaint(painter, option, widget); + painter->restore(); } QVariant UBGraphicsProxyWidget::itemChange(GraphicsItemChange change, const QVariant &value)