[vlc-commits] Qt: EPGItem: add parental rating
Francois Cartegnie
git at videolan.org
Thu Mar 28 16:53:06 CET 2013
vlc | branch: master | Francois Cartegnie <fcvlcdev at 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() );
}
More information about the vlc-commits
mailing list