[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bugs-dist
Subject:    [Bug 147059] [Patch]OSD stars are shown too small
From:       Mark Kretschmann <kretschmann () kde ! org>
Date:       2007-06-25 9:01:36
Message-ID: 20070625090136.17071.qmail () ktown ! kde ! org
[Download RAW message or body]

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
         
http://bugs.kde.org/show_bug.cgi?id=147059         
kretschmann kde org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |FIXED



------- Additional Comments From kretschmann kde org  2007-06-25 11:01 -------
SVN commit 679991 by markey:

Show the stars for the rating with the correct full size in the OSD. Thanks Tuomas :)

BUG: 147059


 M  +2 -0      ChangeLog  
 M  +4 -4      src/osd.cpp  
 M  +22 -8     src/starmanager.cpp  
 M  +8 -4      src/starmanager.h  


--- branches/stable/extragear/multimedia/amarok/ChangeLog #679990:679991
 @ -10,6 +10,8  @
       Gosta <gostaj gmail com>  (BR 142999)
 
   BUGFIXES:
+   * The stars indicating the track rating would be shown too small in the
+     OSD. Patch by Tuomas Nurmi <tnurmi edu kauhajoki fi>  (BR 147059)
 
 
 VERSION 1.4.6
--- branches/stable/extragear/multimedia/amarok/src/osd.cpp #679990:679991
 @ -203,7 +203,7  @
 
     if( m_rating )
     {
-        QPixmap* star = StarManager::instance()->getStar( 1 );
+        QPixmap* star = StarManager::instance()->getStar( 1, true );
         if( rect.width() < star->width() * 5 )
             rect.setWidth( star->width() * 5 ); //changes right edge position
         rect.setHeight( rect.height() + star->height() + M ); //changes bottom edge \
pos  @ -419,7 +419,7  @
         m_volume = false;
     }
 
-    QPixmap* star = StarManager::instance()->getStar( m_rating/2 );
+    QPixmap* star = StarManager::instance()->getStar( m_rating/2, true );
     int graphicsHeight = 0;
 
     if( useMoodbar() )
 @ -448,9 +448,9  @
 
         if( half )
         {
-            QPixmap* halfStar = StarManager::instance()->getHalfStar( m_rating/2 + 1 \
); +            QPixmap* halfStar = StarManager::instance()->getHalfStar( m_rating/2 \
                + 1, true );
             p.drawPixmap( r.left() + star->width() * ( m_rating / 2 ), r.top(), \
                *halfStar );
-            star = StarManager::instance()->getStar( m_rating/2 + 1 );
+            star = StarManager::instance()->getStar( m_rating/2 + 1, true );
         }
 
         for( int i = 0; i < m_rating/2; i++ )
--- branches/stable/extragear/multimedia/amarok/src/starmanager.cpp #679990:679991
 @ -61,16 +61,22  @
 
     int hval = m_height + m_margin * 2 - 4 + ( ( m_height % 2 ) ? 1 : 0 );
     QImage star = QImage( locate( "data", "amarok/images/star.png" ) ).smoothScale( \
hval, hval, QImage::ScaleMin ); +    QImage fullStar = QImage( locate( "data", \
"amarok/images/star.png" ) );  m_star = star.copy();
+    m_fullStar = fullStar.copy();
     m_starPix.convertFromImage( star );
+    m_fullStarPix.convertFromImage( fullStar );
     m_greyedStar = star.copy();
     KIconEffect::toGray( m_greyedStar, 1.0 );
     m_greyedStarPix.convertFromImage( m_greyedStar );
     QImage half = QImage( locate( "data", "amarok/images/smallstar.png" ) \
).smoothScale( hval, hval, QImage::ScaleMin ); +    QImage fullHalf = QImage( locate( \
"data", "amarok/images/smallstar.png" ) );  m_halfStar = half.copy();
+    m_fullHalfStar = fullHalf.copy();
     if( AmarokConfig::customRatingsColors() )
         KIconEffect::colorize( m_halfStar, m_halfStarColor, 1.0 );
     m_halfStarPix.convertFromImage( m_halfStar );
+    m_fullHalfStarPix.convertFromImage( m_fullHalfStar );
 
     QImage tempstar;
     QImage temphalfstar;
 @ -99,36 +105,44  @
 }
 
 QPixmap*
-StarManager::getStar( int num )
+StarManager::getStar( int num, bool full )
 {
-    if( num < 1 || num > 5 )
+    if(full)
+	return &m_fullStarPix;
+    else if( num < 1 || num > 5 )
         return &m_starPix;
     else
         return &m_pixmaps[num - 1];
 }
 
 QImage&
-StarManager::getStarImage( int num )
+StarManager::getStarImage( int num, bool full )
 {
-    if( num < 1 || num > 5 )
+    if(full)
+        return m_fullStar;
+    else if( num < 1 || num > 5 )
         return m_star;
     else
         return m_images[num - 1];
 }
 
 QPixmap*
-StarManager::getHalfStar( int num )
+StarManager::getHalfStar( int num, bool full )
 {
-    if( AmarokConfig::fixedHalfStarColor() || num == -1 )
+    if( full )
+        return &m_fullHalfStarPix;
+    else if( AmarokConfig::fixedHalfStarColor() || num == -1 )
         return &m_halfStarPix;
     else
         return &m_halfpixmaps[num - 1];
 }
 
 QImage&
-StarManager::getHalfStarImage( int num  )
+StarManager::getHalfStarImage( int num, bool full )
 {
-    if( AmarokConfig::fixedHalfStarColor() || num == -1 )
+    if( full )
+        return m_fullHalfStar;
+    else if( AmarokConfig::fixedHalfStarColor() || num == -1 )
         return m_halfStar;
     else
         return m_halfimages[num - 1];
--- branches/stable/extragear/multimedia/amarok/src/starmanager.h #679990:679991
 @ -27,12 +27,12  @
         ~StarManager();
         static StarManager *instance();
 
-        QPixmap* getStar( int num );
+        QPixmap* getStar( int num, bool full = false );
         QPixmap* getGreyStar() { return &m_greyedStarPix; }
-        QPixmap* getHalfStar( int num = -1 );
-        QImage& getStarImage( int num );
+        QPixmap* getHalfStar( int num = -1, bool full = false  );
+        QImage& getStarImage( int num, bool full = false  );
         QImage& getGreyStarImage() { return m_greyedStar; }
-        QImage& getHalfStarImage( int num = -1 );
+        QImage& getHalfStarImage( int num = -1, bool full = false  );
 
         bool setColor( int starNum, const QColor &color );
         bool setHalfColor( const QColor &color );
 @ -50,10 +50,14  @
         //cached stars...why both?  For faster conversion when drawing context \
browser  QPixmap m_starPix;
         QImage m_star;
+        QPixmap m_fullStarPix;
+        QImage m_fullStar;
         QPixmap m_greyedStarPix;
         QImage m_greyedStar;
         QPixmap m_halfStarPix;
+        QPixmap m_fullHalfStarPix;
         QImage m_halfStar;
+        QImage m_fullHalfStar;
 
         QImage m_images[5];
         QImage m_halfimages[5];


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic