1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-03-20 15:59:42 +01:00

* Hardcoded a bunch of font-sizes. Should be properly fixed eventually.

This commit is contained in:
Christian Muehlhaeuser 2012-01-06 08:03:25 +01:00
parent ef5af2c7d8
commit dc79dfe403
6 changed files with 36 additions and 39 deletions

View File

@ -129,7 +129,8 @@ AlbumItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option,
QString text;
QFont font = opt.font;
QFont boldFont = opt.font;
font.setPixelSize( 11 );
QFont boldFont = font;
boldFont.setBold( true );
QRect textRect = option.rect.adjusted( 0, option.rect.height() - 32, 0, -2 );
@ -140,6 +141,7 @@ AlbumItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option,
else if ( !item->artist().isNull() )
name = item->artist()->name();
painter->setFont( boldFont );
bool oneLiner = false;
if ( item->album().isNull() || item->album()->artist().isNull() )
oneLiner = true;
@ -149,14 +151,12 @@ AlbumItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option,
if ( oneLiner )
{
painter->setFont( boldFont );
to.setAlignment( Qt::AlignHCenter | Qt::AlignVCenter );
text = painter->fontMetrics().elidedText( name, Qt::ElideRight, textRect.width() - 3 );
painter->drawText( textRect, text, to );
}
else
{
painter->setFont( boldFont );
to.setAlignment( Qt::AlignHCenter | Qt::AlignTop );
text = painter->fontMetrics().elidedText( item->album()->name(), Qt::ElideRight, textRect.width() - 3 );
painter->drawText( textRect, text, to );

View File

@ -79,7 +79,10 @@ PlaylistItemDelegate::sizeHint( const QStyleOptionViewItem& option, const QModel
{
int style = index.data( TrackModel::StyleRole ).toInt();
if ( style == TrackModel::Short || style == TrackModel::ShortWithAvatars )
size.setHeight( 44 );
{
int rowHeight = option.fontMetrics.height() + 8;
size.setHeight( rowHeight * 2 );
}
}
return size;
@ -235,8 +238,7 @@ PlaylistItemDelegate::paintShort( QPainter* painter, const QStyleOptionViewItem&
QString text = painter->fontMetrics().elidedText( upperText, Qt::ElideRight, r.width() );
painter->drawText( r.adjusted( 0, 1, 0, 0 ), text, m_topOption );
painter->setFont( opt.font);
painter->setFont( opt.font );
text = painter->fontMetrics().elidedText( lowerText, Qt::ElideRight, r.width() );
painter->drawText( r.adjusted( 0, 1, 0, 0 ), text, m_bottomOption );
}

View File

@ -23,6 +23,7 @@
using namespace Tomahawk;
PlaylistInterface::PlaylistInterface ()
: QObject()
{
qRegisterMetaType<Tomahawk::PlaylistInterface::RepeatMode>( "Tomahawk::PlaylistInterface::RepeatMode" );
}

View File

@ -20,12 +20,14 @@
#include <QPainter>
#include <QPropertyAnimation>
#include <QAbstractScrollArea>
#include <QScrollBar>
#include "utils/logger.h"
#define CORNER_ROUNDNESS 8.0
#define FADING_DURATION 500
#define FONT_SIZE 16
#define FONT_SIZE 12
#define OPACITY 0.70
@ -34,7 +36,7 @@ OverlayButton::OverlayButton( QWidget* parent )
, m_opacity( 0.0 )
, m_parent( parent )
{
resize( 0, 26 );
resize( 0, 28 );
setAttribute( Qt::WA_TranslucentBackground, true );
setOpacity( m_opacity );
@ -78,8 +80,12 @@ OverlayButton::setText( const QString& text )
{
m_text = text;
QFontMetrics fm( font() );
resize( fm.width( text ) + 16, height() );
QFont f( font() );
f.setPixelSize( FONT_SIZE );
f.setBold( true );
QFontMetrics fm( f );
resize( fm.width( text ) + 24, height() );
}
@ -120,7 +126,13 @@ void
OverlayButton::paintEvent( QPaintEvent* event )
{
Q_UNUSED( event );
QPoint corner( m_parent->contentsRect().width() - width() - 12, m_parent->height() - height() - 12 );
int scrollBarWidth = 0;
QAbstractScrollArea* scrollArea = qobject_cast<QAbstractScrollArea*>( m_parent );
if ( scrollArea && scrollArea->verticalScrollBar()->isVisible() )
scrollBarWidth = scrollArea->verticalScrollBar()->width();
QPoint corner( m_parent->contentsRect().width() - width() - scrollBarWidth - 12, m_parent->height() - height() - 12 );
move( corner );
QPainter p( this );
@ -141,25 +153,10 @@ OverlayButton::paintEvent( QPaintEvent* event )
// shrink to fit if needed
QFont f( font() );
f.setPointSize( FONT_SIZE );
f.setPixelSize( FONT_SIZE );
f.setBold( true );
QRectF textRect = r.adjusted( 8, 8, -8, -8 );
qreal availHeight = textRect.height();
QFontMetricsF fm( f );
qreal textHeight = fm.boundingRect( textRect, Qt::AlignCenter | Qt::TextWordWrap, text() ).height();
while ( textHeight > availHeight )
{
if ( f.pointSize() <= 4 ) // don't try harder
break;
f.setPointSize( f.pointSize() - 1 );
fm = QFontMetricsF( f );
textHeight = fm.boundingRect( textRect, Qt::AlignCenter | Qt::TextWordWrap, text() ).height();
}
p.setFont( f );
p.setPen( Qt::white );
p.drawText( r.adjusted( 8, 8, -8, -8 ), text(), to );
p.drawText( r, text(), to );
}

View File

@ -265,12 +265,11 @@ PlaylistDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option,
QTextOption to;
to.setAlignment( Qt::AlignCenter );
QFont font = opt.font;
#ifdef Q_WS_MAC
font.setPointSize( font.pointSize() - 2 );
#endif
font.setPixelSize( 10 );
QFont boldFont = font;
boldFont.setBold( true );
boldFont.setPixelSize( 11 );
QPixmap icon;
RecentlyPlayedPlaylistsModel::PlaylistTypes type = (RecentlyPlayedPlaylistsModel::PlaylistTypes)index.data( RecentlyPlayedPlaylistsModel::PlaylistTypeRole ).toInt();
@ -314,9 +313,7 @@ PlaylistDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option,
QRect r( option.rect.width() - avatar.width() - 10, option.rect.top() + option.rect.height()/2 - avatar.height()/2, avatar.width(), avatar.height() );
painter->drawPixmap( r, avatar );
QFont font2 = font;
font2.setPointSize( font2.pointSize() - 1 );
painter->setFont( font2 );
painter->setFont( font );
QString author = index.data( RecentlyPlayedPlaylistsModel::PlaylistRole ).value< Tomahawk::playlist_ptr >()->author()->friendlyName();
if ( author.contains( "@" ) )
author = author.mid( 0, author.indexOf( '@' ) );

View File

@ -140,6 +140,8 @@ SourceDelegate::paintCollection( QPainter* painter, const QStyleOptionViewItem&
QFont normal = painter->font();
QFont bold = painter->font();
bold.setBold( true );
QFont figFont = bold;
figFont.setPixelSize( 10 );
SourceTreeItem* item = index.data( SourcesModel::SourceTreeItemRole ).value< SourceTreeItem* >();
SourceItem* colItem = qobject_cast< SourceItem* >( item );
@ -153,7 +155,7 @@ SourceDelegate::paintCollection( QPainter* painter, const QStyleOptionViewItem&
if ( status && colItem && !colItem->source().isNull() )
{
tracks = QString::number( colItem->source()->trackCount() );
figWidth = painter->fontMetrics().width( tracks );
figWidth = QFontMetrics( figFont ).width( tracks );
name = colItem->source()->friendlyName();
}
@ -231,10 +233,8 @@ SourceDelegate::paintCollection( QPainter* painter, const QStyleOptionViewItem&
QRect figRect = option.rect.adjusted( option.rect.width() - figWidth - 8, 0, -13, -option.rect.height() + 16 );
int hd = ( option.rect.height() - figRect.height() ) / 2;
figRect.adjust( 0, hd, 0, hd );
#ifdef Q_WS_WIN
figRect.adjust( -3, 0, 3, 0 );
#endif
painter->setFont( bold );
painter->setFont( figFont );
QColor figColor( 167, 183, 211 );
painter->setPen( figColor );