[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