diff --git a/src/domain/UBGraphicsMediaItem.cpp b/src/domain/UBGraphicsMediaItem.cpp index f5e9e6b0..222dff89 100644 --- a/src/domain/UBGraphicsMediaItem.cpp +++ b/src/domain/UBGraphicsMediaItem.cpp @@ -23,6 +23,33 @@ #include "board/UBBoardController.h" #include "core/memcheck.h" + +UBAudioPresentationWidget::UBAudioPresentationWidget(QWidget *parent) + : QWidget(parent) + , mBorderSize(10) + , mTitleSize(10) +{ + +} + +void UBAudioPresentationWidget::paintEvent(QPaintEvent *event) +{ + QPainter painter(this); + painter.fillRect(rect(), QBrush(Qt::black)); + + if (QString() != mTitle) + { + painter.setPen(QPen(Qt::white)); + QRect titleRect = rect(); + titleRect.setX(mBorderSize); + titleRect.setY(2); + titleRect.setHeight(15); + painter.drawText(titleRect, mTitle); + } + + QWidget::paintEvent(event); +} + bool UBGraphicsMediaItem::sIsMutedByDefault = false; UBGraphicsMediaItem::UBGraphicsMediaItem(const QUrl& pMediaFileUrl, QGraphicsItem *parent) @@ -67,9 +94,9 @@ UBGraphicsMediaItem::UBGraphicsMediaItem(const QUrl& pMediaFileUrl, QGraphicsIte mAudioOutput = new Phonon::AudioOutput(Phonon::MusicCategory, this); mMediaObject->setTickInterval(1000); - mAudioWidget = new UBGraphicsMediaItem::UBAudioPresentationWidget(); + mAudioWidget = new UBAudioPresentationWidget(); int borderSize = 0; - UBGraphicsMediaItem::UBAudioPresentationWidget* pAudioWidget = dynamic_cast(mAudioWidget); + UBAudioPresentationWidget* pAudioWidget = dynamic_cast(mAudioWidget); if (pAudioWidget) { borderSize = pAudioWidget->borderSize(); diff --git a/src/domain/UBGraphicsMediaItem.h b/src/domain/UBGraphicsMediaItem.h index b182f27c..1fd164a4 100644 --- a/src/domain/UBGraphicsMediaItem.h +++ b/src/domain/UBGraphicsMediaItem.h @@ -23,52 +23,27 @@ #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; + int mTitleSize; + QString mTitle; +}; class UBGraphicsMediaItem : public UBGraphicsProxyWidget { Q_OBJECT -public: - class UBAudioPresentationWidget : public QWidget - { - public: - UBAudioPresentationWidget(QWidget *parent = NULL) - :QWidget(parent) - , mBorderSize(10) - , mTitleSize(10) - {} - - int borderSize() - { - return mBorderSize; - } - void setTitle(QString title = QString()){mTitle = title;} - QString getTitle(){return mTitle;} - - private: - virtual void paintEvent(QPaintEvent *event) - { - QPainter painter(this); - painter.fillRect(rect(), QBrush(Qt::black)); - - if (QString() != mTitle) - { - painter.setPen(QPen(Qt::white)); - QRect titleRect = rect(); - titleRect.setX(mBorderSize); - titleRect.setY(2); - titleRect.setHeight(15); - painter.drawText(titleRect, mTitle); - } - - QWidget::paintEvent(event); - } - - int mBorderSize; - int mTitleSize; - QString mTitle; - }; - public: typedef enum{ mediaType_Video, @@ -122,7 +97,7 @@ public: virtual void setSourceUrl(const QUrl &pSourceUrl) { - UBGraphicsMediaItem::UBAudioPresentationWidget* pAudioWidget = dynamic_cast(mAudioWidget); + UBAudioPresentationWidget* pAudioWidget = dynamic_cast(mAudioWidget); if (pAudioWidget) { pAudioWidget->setTitle(UBFileSystemUtils::lastPathComponent(pSourceUrl.toLocalFile())); diff --git a/src/domain/UBGraphicsMediaItemDelegate.cpp b/src/domain/UBGraphicsMediaItemDelegate.cpp index b88cabce..54d702a0 100644 --- a/src/domain/UBGraphicsMediaItemDelegate.cpp +++ b/src/domain/UBGraphicsMediaItemDelegate.cpp @@ -138,7 +138,7 @@ void UBGraphicsMediaItemDelegate::positionHandles() else if (mediaItem->getMediaType() == UBGraphicsMediaItem::mediaType_Audio) { int borderSize = 0; - UBGraphicsMediaItem::UBAudioPresentationWidget *audioWidget = dynamic_cast(delegated()->widget()); + UBAudioPresentationWidget *audioWidget = dynamic_cast(delegated()->widget()); if (audioWidget) borderSize = audioWidget->borderSize(); @@ -162,7 +162,7 @@ void UBGraphicsMediaItemDelegate::positionHandles() } toolBarMinimumWidth += mToolBarItem->boundingRect().height(); - UBGraphicsMediaItem::UBAudioPresentationWidget* pAudioWidget = dynamic_cast(delegated()->widget()); + UBAudioPresentationWidget* pAudioWidget = dynamic_cast(delegated()->widget()); if (pAudioWidget) { pAudioWidget->setMinimumSize(toolBarMinimumWidth + (int)mMediaControl->lcdAreaSize().width() + (int)mMediaControl->rect().height(),26+pAudioWidget->borderSize());