diff --git a/src/TomahawkApp.cpp b/src/TomahawkApp.cpp index f889b7879..852af93e6 100644 --- a/src/TomahawkApp.cpp +++ b/src/TomahawkApp.cpp @@ -198,9 +198,7 @@ TomahawkApp::init() QFont f = font(); tDebug() << "Default font:" << f.pixelSize() << f.pointSize() << f.pointSizeF() << f.family(); tDebug() << "Font heights:" << QFontMetrics( f ).height(); - f.setPixelSize( HeaderLabel::defaultFontSize() ); - QFontMetrics fm( f ); - TomahawkUtils::setHeaderHeight( fm.height() + 8 ); + TomahawkUtils::setDefaultFontSize( f.pointSize() ); #endif TomahawkUtils::setHeadless( m_headless ); diff --git a/src/libtomahawk/utils/TomahawkUtilsGui.cpp b/src/libtomahawk/utils/TomahawkUtilsGui.cpp index 4b981f9ec..8b7b62bc9 100644 --- a/src/libtomahawk/utils/TomahawkUtilsGui.cpp +++ b/src/libtomahawk/utils/TomahawkUtilsGui.cpp @@ -50,7 +50,8 @@ namespace TomahawkUtils { -static int s_headerHeight = 0; +static int s_defaultFontSize = 0; +static int s_defaultFontHeight = 0; QPixmap @@ -320,16 +321,30 @@ createAvatarFrame( const QPixmap &avatar ) int -headerHeight() +defaultFontSize() { - return s_headerHeight; + return s_defaultFontSize; +} + + +int +defaultFontHeight() +{ + if ( s_defaultFontHeight <= 0 ) + { + QFont f; + f.setPointSize( defaultFontSize() ); + s_defaultFontHeight = QFontMetrics( f ).height(); + } + + return s_defaultFontHeight; } void -setHeaderHeight( int height ) +setDefaultFontSize( int points ) { - s_headerHeight = height; + s_defaultFontSize = points; } diff --git a/src/libtomahawk/utils/TomahawkUtilsGui.h b/src/libtomahawk/utils/TomahawkUtilsGui.h index 71e764074..f66f14aff 100644 --- a/src/libtomahawk/utils/TomahawkUtilsGui.h +++ b/src/libtomahawk/utils/TomahawkUtilsGui.h @@ -57,8 +57,9 @@ namespace TomahawkUtils DLLEXPORT void unmarginLayout( QLayout* layout ); - DLLEXPORT int headerHeight(); - DLLEXPORT void setHeaderHeight( int height ); + DLLEXPORT int defaultFontSize(); + DLLEXPORT int defaultFontHeight(); + DLLEXPORT void setDefaultFontSize( int points ); DLLEXPORT QPixmap defaultPixmap( ImageType type, ImageMode mode = TomahawkUtils::Original, const QSize& size = QSize( 0, 0 ) ); diff --git a/src/libtomahawk/widgets/BreadcrumbButton.cpp b/src/libtomahawk/widgets/BreadcrumbButton.cpp index f4f385123..745f92e2d 100644 --- a/src/libtomahawk/widgets/BreadcrumbButton.cpp +++ b/src/libtomahawk/widgets/BreadcrumbButton.cpp @@ -72,9 +72,10 @@ protected: p.drawLine( l1 ); p.drawLine( l2 ); } - virtual QSize sizeHint() const { - return QSize( 20, TomahawkUtils::headerHeight() ); + virtual QSize sizeHint() const + { + return QSize( 20, TomahawkUtils::defaultFontHeight() + 8 ); } }; @@ -92,7 +93,7 @@ BreadcrumbButton::BreadcrumbButton( Breadcrumb* parent, QAbstractItemModel* mode layout()->addWidget( m_combo ); layout()->addWidget( m_arrow ); - setFixedHeight( TomahawkUtils::headerHeight() ); + setFixedHeight( TomahawkUtils::defaultFontHeight() + 8 ); m_combo->setSizeAdjustPolicy( QComboBox::AdjustToContents ); setSizePolicy( QSizePolicy::Maximum, QSizePolicy::Expanding ); diff --git a/src/libtomahawk/widgets/ComboBox.cpp b/src/libtomahawk/widgets/ComboBox.cpp index 34ab95d60..a96096fbd 100644 --- a/src/libtomahawk/widgets/ComboBox.cpp +++ b/src/libtomahawk/widgets/ComboBox.cpp @@ -54,7 +54,7 @@ ComboBox::paintEvent( QPaintEvent* ) QStyleOptionComboBox cb; initStyleOption( &cb ); QRect r = cb.rect; - r.setHeight( TomahawkUtils::headerHeight() ); + r.setHeight( TomahawkUtils::defaultFontHeight() + 8 ); StyleHelper::horizontalHeader( &p, r ); diff --git a/src/libtomahawk/widgets/HeaderLabel.cpp b/src/libtomahawk/widgets/HeaderLabel.cpp index b620b0864..c78238681 100644 --- a/src/libtomahawk/widgets/HeaderLabel.cpp +++ b/src/libtomahawk/widgets/HeaderLabel.cpp @@ -26,8 +26,6 @@ #include "utils/StyleHelper.h" #include "utils/TomahawkUtilsGui.h" -static const int s_defaultFontSize = 9; - HeaderLabel::HeaderLabel( QWidget* parent ) : QLabel( parent ) @@ -37,11 +35,10 @@ HeaderLabel::HeaderLabel( QWidget* parent ) { QFont f( font() ); f.setBold( true ); - f.setPointSize( s_defaultFontSize ); - QFontMetrics fm( f ); - + f.setPointSize( TomahawkUtils::defaultFontSize() ); setFont( f ); - setFixedHeight( fm.height() * 1.4 ); + + setFixedHeight( TomahawkUtils::defaultFontHeight() * 1.4 ); setMouseTracking( true ); } @@ -58,13 +55,6 @@ HeaderLabel::sizeHint() const } -int -HeaderLabel::defaultFontSize() -{ - return s_defaultFontSize; -} - - void HeaderLabel::mousePressEvent( QMouseEvent* event ) { diff --git a/src/sourcetree/SourceTreeView.cpp b/src/sourcetree/SourceTreeView.cpp index e0499e333..a5875e6c6 100644 --- a/src/sourcetree/SourceTreeView.cpp +++ b/src/sourcetree/SourceTreeView.cpp @@ -69,13 +69,13 @@ SourceTreeView::SourceTreeView( QWidget* parent ) setContentsMargins( 0, 0, 0, 0 ); QFont fnt; - fnt.setPointSize( font().pointSize() - 1 ); + fnt.setPointSize( TomahawkUtils::defaultFontSize() - 2 ); setFont( fnt ); QFontMetrics fm( fnt ); // This is sort of the longest string in there. With translations // we will never get it right so setting it to something reasonable for the average case - setMinimumWidth( fm.width( "Track Album Artist Local Top10") ); + setMinimumWidth( fm.width( "Track Album Artist Local Top10" ) ); setHeaderHidden( true ); setRootIsDecorated( true );