From 6549641fe1ea3658f3d4ac1aa11871e88b9e65a3 Mon Sep 17 00:00:00 2001 From: Claudio Valerio Date: Fri, 28 Jun 2013 10:16:26 +0200 Subject: [PATCH] some cleaning on video audio graphics widget and restored video --- src/domain/UBGraphicsMediaItem.cpp | 48 ++++------------------ src/domain/UBGraphicsMediaItem.h | 19 +-------- src/domain/UBGraphicsMediaItemDelegate.cpp | 41 +++++++----------- src/domain/UBGraphicsProxyWidget.cpp | 7 +--- 4 files changed, 26 insertions(+), 89 deletions(-) diff --git a/src/domain/UBGraphicsMediaItem.cpp b/src/domain/UBGraphicsMediaItem.cpp index d799fda5..3396b93f 100644 --- a/src/domain/UBGraphicsMediaItem.cpp +++ b/src/domain/UBGraphicsMediaItem.cpp @@ -31,29 +31,6 @@ #include "board/UBBoardController.h" #include "core/memcheck.h" - -UBAudioPresentationWidget::UBAudioPresentationWidget(QWidget *parent) - : QWidget(parent) - , mBorderSize(10) -{ - -} - -void UBAudioPresentationWidget::paintEvent(QPaintEvent *event) -{ - QPainter painter(this); - painter.fillRect(rect(), QBrush(Qt::white)); - - QPen borderPen; - borderPen.setWidth(2); - borderPen.setColor(QColor(Qt::black)); - - painter.setPen(borderPen); - painter.drawRect(0,0, width(), height()); - - QWidget::paintEvent(event); -} - bool UBGraphicsMediaItem::sIsMutedByDefault = false; UBGraphicsMediaItem::UBGraphicsMediaItem(const QUrl& pMediaFileUrl, QGraphicsItem *parent) @@ -97,14 +74,9 @@ UBGraphicsMediaItem::UBGraphicsMediaItem(const QUrl& pMediaFileUrl, QGraphicsIte mAudioOutput = new Phonon::AudioOutput(Phonon::MusicCategory, this); mMediaObject->setTickInterval(1000); - mAudioWidget = new UBAudioPresentationWidget(); - int borderSize = 0; - UBAudioPresentationWidget* pAudioWidget = dynamic_cast(mAudioWidget); - if (pAudioWidget) - borderSize = pAudioWidget->borderSize(); - - mAudioWidget->resize(320,26+2*borderSize); //3*border size with enabled title - mAudioWidget->setMinimumSize(150,26+borderSize); + mAudioWidget = new QWidget(); + mAudioWidget->resize(320,26); + mAudioWidget->setMinimumSize(150,26); haveLinkedImage = false; } @@ -117,10 +89,7 @@ UBGraphicsMediaItem::UBGraphicsMediaItem(const QUrl& pMediaFileUrl, QGraphicsIte // we should create delegate after media objects because delegate uses his properties at creation. setDelegate(new UBGraphicsMediaItemDelegate(this, mMediaObject)); - // TODO claudio remove this because in contrast with the fact the frame should be created on demand. - // but without without forcing the control creation we do not have the frame and all the calculation - // for the different element of the interface will fail - Delegate()->createControls(); + // delegate should be created earler because we setWidget calls resize event for graphics proxy widgt. // resize uses delegate. @@ -130,6 +99,10 @@ UBGraphicsMediaItem::UBGraphicsMediaItem(const QUrl& pMediaFileUrl, QGraphicsIte setWidget(mAudioWidget); // media widget should be created and placed on proxy widget here. + // TODO claudio remove this because in contrast with the fact the frame should be created on demand. + // but without forcing the control creation we do not have the frame and all the calculation + // for the different element of the interface will fail + Delegate()->createControls(); if (mediaType_Audio == mMediaType) Delegate()->frame()->setOperationMode(UBGraphicsDelegateFrame::ResizingHorizontally); else @@ -196,11 +169,6 @@ void UBGraphicsMediaItem::clearSource() qDebug() << "cannot delete file: " << path; } -void UBGraphicsMediaItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) -{ - UBGraphicsProxyWidget::paint(painter, option, widget); -} - void UBGraphicsMediaItem::toggleMute() { mMuted = !mMuted; diff --git a/src/domain/UBGraphicsMediaItem.h b/src/domain/UBGraphicsMediaItem.h index aaf0f087..7b0eeaf1 100644 --- a/src/domain/UBGraphicsMediaItem.h +++ b/src/domain/UBGraphicsMediaItem.h @@ -32,22 +32,6 @@ #include "board/UBBoardController.h" #include "frameworks/UBFileSystemUtils.h" -class UBAudioPresentationWidget : public QWidget -{ -public: - UBAudioPresentationWidget(QWidget *parent = NULL); - - int borderSize() {return mBorderSize;} - void setTitle(QString title = QString()){mTitle = title;} - QString getTitle(){return mTitle;} - -private: - virtual void paintEvent(QPaintEvent *event); - - int mBorderSize; - QString mTitle; -}; - class UBGraphicsMediaItem : public UBGraphicsProxyWidget { Q_OBJECT @@ -121,7 +105,6 @@ protected: virtual void mousePressEvent(QGraphicsSceneMouseEvent *event); virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event); virtual void clearSource(); - virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget); Phonon::MediaObject *mMediaObject; Phonon::VideoWidget *mVideoWidget; @@ -145,7 +128,7 @@ private: QPointF mMouseMovePos; bool haveLinkedImage; - QGraphicsPixmapItem *mLinkedImage; + QGraphicsPixmapItem *mLinkedImage; qint64 mInitialPos; }; diff --git a/src/domain/UBGraphicsMediaItemDelegate.cpp b/src/domain/UBGraphicsMediaItemDelegate.cpp index 7d3a66bd..46f5b402 100644 --- a/src/domain/UBGraphicsMediaItemDelegate.cpp +++ b/src/domain/UBGraphicsMediaItemDelegate.cpp @@ -119,14 +119,14 @@ void UBGraphicsMediaItemDelegate::buildButtons() connect(mMuteButton, SIGNAL(clicked(bool)), mToolBarShowTimer, SLOT(start())); } - UBGraphicsMediaItem *audioItem = dynamic_cast(mDelegated); - if (audioItem) - { - if (audioItem->getMediaType() == UBGraphicsMediaItem::mediaType_Audio) - { +// UBGraphicsMediaItem *audioItem = dynamic_cast(mDelegated); +// if (audioItem) +// { +// if (audioItem->getMediaType() == UBGraphicsMediaItem::mediaType_Audio) +// { positionHandles(); - } - } +// } +// } } UBGraphicsMediaItemDelegate::~UBGraphicsMediaItemDelegate() @@ -143,23 +143,12 @@ void UBGraphicsMediaItemDelegate::positionHandles() if (mediaItem) { QRectF toolBarRect = mToolBarItem->rect(); - if (mediaItem->getMediaType() == UBGraphicsMediaItem::mediaType_Video) - { - mToolBarItem->setPos(0, delegated()->boundingRect().height()-mToolBarItem->rect().height()); - toolBarRect.setWidth(delegated()->boundingRect().width()); - } - else if (mediaItem->getMediaType() == UBGraphicsMediaItem::mediaType_Audio) - { - int borderSize = 0; - UBAudioPresentationWidget *audioWidget = dynamic_cast(delegated()->widget()); - if (audioWidget) - borderSize = audioWidget->borderSize(); - - mToolBarItem->setPos(borderSize,delegated()->boundingRect().height()-(mToolBarItem->rect().height() + borderSize)); - toolBarRect.setWidth((delegated()->boundingRect().width()-2*borderSize)); - mToolBarItem->show(); - } + mToolBarItem->setPos(0, delegated()->boundingRect().height()-mToolBarItem->rect().height()); + + toolBarRect.setWidth(delegated()->boundingRect().width()); + mToolBarItem->show(); + mToolBarItem->setRect(toolBarRect); } @@ -173,10 +162,10 @@ void UBGraphicsMediaItemDelegate::positionHandles() } toolBarMinimumWidth += mToolBarItem->boundingRect().height(); - UBAudioPresentationWidget* pAudioWidget = dynamic_cast(delegated()->widget()); + QWidget* pAudioWidget = delegated()->widget(); if (pAudioWidget) { - pAudioWidget->setMinimumSize(toolBarMinimumWidth + (int)mMediaControl->lcdAreaSize().width() + (int)mMediaControl->rect().height(),26+pAudioWidget->borderSize()); + pAudioWidget->setMinimumSize(toolBarMinimumWidth + (int)mMediaControl->lcdAreaSize().width() + (int)mMediaControl->rect().height(),26); } QRectF mediaItemRect = mMediaControl->rect(); @@ -187,7 +176,7 @@ void UBGraphicsMediaItemDelegate::positionHandles() mToolBarItem->positionHandles(); mMediaControl->positionHandles(); - if (mediaItem && mediaItem->getMediaType() == UBGraphicsMediaItem::mediaType_Audio) + if (mediaItem) mToolBarItem->show(); } diff --git a/src/domain/UBGraphicsProxyWidget.cpp b/src/domain/UBGraphicsProxyWidget.cpp index 1defd986..4b4c2aa4 100644 --- a/src/domain/UBGraphicsProxyWidget.cpp +++ b/src/domain/UBGraphicsProxyWidget.cpp @@ -37,10 +37,6 @@ UBGraphicsProxyWidget::UBGraphicsProxyWidget(QGraphicsItem* parent) { setData(UBGraphicsItemData::ItemLayerType, UBItemLayerType::Object); - //UBGraphicsItemDelegate* delegate = new UBGraphicsItemDelegate(this,0, true, false, false); - //delegate->init(); - //setDelegate(delegate); - setFlag(QGraphicsItem::ItemSendsGeometryChanges, true); QGraphicsProxyWidget::setAcceptHoverEvents(true); @@ -53,6 +49,7 @@ UBGraphicsProxyWidget::~UBGraphicsProxyWidget() void UBGraphicsProxyWidget::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { + QGraphicsProxyWidget::paint(painter,option,widget); Delegate()->postpaint(painter, option, widget); } @@ -158,7 +155,7 @@ void UBGraphicsProxyWidget::resize(const QSizeF & pSize) if (widget()) { - + QSizeF minimumItemSize(widget()->minimumSize()); if (minimumItemSize.width() > pSize.width()) sizeX = minimumItemSize.width();