vlc | branch: master | Francois Cartegnie <fcvlc...@free.fr> | Tue Mar 12 00:31:38 2013 +0100| [e92bf8c458dc6fcc037a0eb213121a81aa716366] | committer: Francois Cartegnie
Qt: EPGItem: add parental rating > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=e92bf8c458dc6fcc037a0eb213121a81aa716366 --- modules/gui/qt4/components/epg/EPGItem.cpp | 19 +++++++++++++++++++ modules/gui/qt4/components/epg/EPGItem.hpp | 3 +++ modules/gui/qt4/dialogs/epg.cpp | 5 ++++- 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/modules/gui/qt4/components/epg/EPGItem.cpp b/modules/gui/qt4/components/epg/EPGItem.cpp index e9c761f..0de8149 100644 --- a/modules/gui/qt4/components/epg/EPGItem.cpp +++ b/modules/gui/qt4/components/epg/EPGItem.cpp @@ -104,6 +104,19 @@ void EPGItem::paint( QPainter *painter, const QStyleOptionGraphicsItem *option, /* Draw the title. */ painter->drawText( mapped, Qt::AlignTop | Qt::AlignLeft, fm.elidedText( m_name, Qt::ElideRight, mapped.width() ) ); + if ( m_rating > 0 && mapped.width() > 40 ) + { + QRectF iconsRect = QRectF( mapped.bottomRight(), mapped.bottomRight() ); + iconsRect.adjust( -20, -20, 0, 0 ); + painter->save(); + painter->setBrush( Qt::white ); + f.setPixelSize( 8 ); + painter->setFont( f ); + painter->drawRect( iconsRect ); + painter->drawText( iconsRect, Qt::AlignCenter, QString("%1+").arg( m_rating ) ); + painter->restore(); + } + mapped.adjust( 0, 20, 0, 0 ); QDateTime m_end = m_start.addSecs( m_duration ); @@ -158,6 +171,7 @@ bool EPGItem::setData( vlc_epg_event_t *data ) m_description = newdesc; m_shortDescription = newshortdesc; setDuration( data->i_duration ); + setRating( data->i_rating ); update(); return true; } @@ -185,6 +199,11 @@ void EPGItem::setDuration( int duration ) m_boundingRect.setWidth( duration ); } +void EPGItem::setRating( uint8_t i_rating ) +{ + m_rating = i_rating; +} + QString EPGItem::description() { if( m_description.isEmpty() ) diff --git a/modules/gui/qt4/components/epg/EPGItem.hpp b/modules/gui/qt4/components/epg/EPGItem.hpp index 6b1a950..1a7895a 100644 --- a/modules/gui/qt4/components/epg/EPGItem.hpp +++ b/modules/gui/qt4/components/epg/EPGItem.hpp @@ -49,10 +49,12 @@ public: int duration() const; const QString& name() { return m_name; }; QString description(); + int rating() { return m_rating; } bool setData( vlc_epg_event_t * ); void setRow( unsigned int ); void setCurrent( bool ); void setDuration( int duration ); + void setRating( uint8_t i_rating ); void updatePos(); bool endsBefore( const QDateTime & ) const; bool playsAt( const QDateTime & ) const; @@ -73,6 +75,7 @@ private: QString m_description; QString m_shortDescription; bool m_current; + uint8_t m_rating; }; #endif // EPGITEM_H diff --git a/modules/gui/qt4/dialogs/epg.cpp b/modules/gui/qt4/dialogs/epg.cpp index 58266f3..bedd3da 100644 --- a/modules/gui/qt4/dialogs/epg.cpp +++ b/modules/gui/qt4/dialogs/epg.cpp @@ -109,10 +109,13 @@ void EpgDialog::displayEvent( EPGItem *epgItem ) if( !epgItem ) return; QDateTime end = epgItem->start().addSecs( epgItem->duration() ); - title->setText( QString("%1 - %2 : %3") + title->setText( QString("%1 - %2 : %3%4") .arg( epgItem->start().toString( "hh:mm" ) ) .arg( end.toString( "hh:mm" ) ) .arg( epgItem->name() ) + .arg( epgItem->rating() ? + qtr(" (%1+ rated)").arg( epgItem->rating() ) : + QString() ) ); description->setText( epgItem->description() ); } _______________________________________________ vlc-commits mailing list vlc-commits@videolan.org http://mailman.videolan.org/listinfo/vlc-commits