[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