Commit e92bf8c4 authored by Francois Cartegnie's avatar Francois Cartegnie

Qt: EPGItem: add parental rating

parent e9adc2be
...@@ -104,6 +104,19 @@ void EPGItem::paint( QPainter *painter, const QStyleOptionGraphicsItem *option, ...@@ -104,6 +104,19 @@ void EPGItem::paint( QPainter *painter, const QStyleOptionGraphicsItem *option,
/* Draw the title. */ /* Draw the title. */
painter->drawText( mapped, Qt::AlignTop | Qt::AlignLeft, fm.elidedText( m_name, Qt::ElideRight, mapped.width() ) ); 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 ); mapped.adjust( 0, 20, 0, 0 );
QDateTime m_end = m_start.addSecs( m_duration ); QDateTime m_end = m_start.addSecs( m_duration );
...@@ -158,6 +171,7 @@ bool EPGItem::setData( vlc_epg_event_t *data ) ...@@ -158,6 +171,7 @@ bool EPGItem::setData( vlc_epg_event_t *data )
m_description = newdesc; m_description = newdesc;
m_shortDescription = newshortdesc; m_shortDescription = newshortdesc;
setDuration( data->i_duration ); setDuration( data->i_duration );
setRating( data->i_rating );
update(); update();
return true; return true;
} }
...@@ -185,6 +199,11 @@ void EPGItem::setDuration( int duration ) ...@@ -185,6 +199,11 @@ void EPGItem::setDuration( int duration )
m_boundingRect.setWidth( duration ); m_boundingRect.setWidth( duration );
} }
void EPGItem::setRating( uint8_t i_rating )
{
m_rating = i_rating;
}
QString EPGItem::description() QString EPGItem::description()
{ {
if( m_description.isEmpty() ) if( m_description.isEmpty() )
......
...@@ -49,10 +49,12 @@ public: ...@@ -49,10 +49,12 @@ public:
int duration() const; int duration() const;
const QString& name() { return m_name; }; const QString& name() { return m_name; };
QString description(); QString description();
int rating() { return m_rating; }
bool setData( vlc_epg_event_t * ); bool setData( vlc_epg_event_t * );
void setRow( unsigned int ); void setRow( unsigned int );
void setCurrent( bool ); void setCurrent( bool );
void setDuration( int duration ); void setDuration( int duration );
void setRating( uint8_t i_rating );
void updatePos(); void updatePos();
bool endsBefore( const QDateTime & ) const; bool endsBefore( const QDateTime & ) const;
bool playsAt( const QDateTime & ) const; bool playsAt( const QDateTime & ) const;
...@@ -73,6 +75,7 @@ private: ...@@ -73,6 +75,7 @@ private:
QString m_description; QString m_description;
QString m_shortDescription; QString m_shortDescription;
bool m_current; bool m_current;
uint8_t m_rating;
}; };
#endif // EPGITEM_H #endif // EPGITEM_H
...@@ -109,10 +109,13 @@ void EpgDialog::displayEvent( EPGItem *epgItem ) ...@@ -109,10 +109,13 @@ void EpgDialog::displayEvent( EPGItem *epgItem )
if( !epgItem ) return; if( !epgItem ) return;
QDateTime end = epgItem->start().addSecs( epgItem->duration() ); 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( epgItem->start().toString( "hh:mm" ) )
.arg( end.toString( "hh:mm" ) ) .arg( end.toString( "hh:mm" ) )
.arg( epgItem->name() ) .arg( epgItem->name() )
.arg( epgItem->rating() ?
qtr(" (%1+ rated)").arg( epgItem->rating() ) :
QString() )
); );
description->setText( epgItem->description() ); description->setText( epgItem->description() );
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment