diff --git a/src/libtomahawk/jobview/JobStatusView.cpp b/src/libtomahawk/jobview/JobStatusView.cpp index 28625d411..4b10f09e2 100644 --- a/src/libtomahawk/jobview/JobStatusView.cpp +++ b/src/libtomahawk/jobview/JobStatusView.cpp @@ -40,6 +40,7 @@ JobStatusView* JobStatusView::s_instance = 0; JobStatusView::JobStatusView( AnimatedSplitter* parent ) : AnimatedWidget( parent ) , m_parent( parent ) + , m_cachedHeight( -1 ) { s_instance = this; @@ -84,12 +85,14 @@ JobStatusView::setModel( JobStatusModel* m ) connect( m_view->model(), SIGNAL( rowsInserted( QModelIndex, int, int ) ), this, SLOT( checkCount() ) ); connect( m_view->model(), SIGNAL( rowsRemoved( QModelIndex, int, int ) ), this, SLOT( checkCount() ) ); + connect( m_view->model(), SIGNAL( modelReset() ), this, SLOT( checkCount() ) ); } void JobStatusView::checkCount() { + m_cachedHeight = -1; if ( m_view->model()->rowCount() == 0 && !isHidden() ) emit hideWidget(); else @@ -100,8 +103,10 @@ JobStatusView::checkCount() QSize JobStatusView::sizeHint() const { + if ( m_cachedHeight >= 0 ) + return QSize( 0, m_cachedHeight ); + unsigned int y = 0; -// y += m_tree->header()->height(); y += m_view->contentsMargins().top() + m_view->contentsMargins().bottom(); if ( m_view->model()->rowCount() ) @@ -113,5 +118,6 @@ JobStatusView::sizeHint() const y += 2; // some padding } + m_cachedHeight = y; return QSize( 0, y ); } diff --git a/src/libtomahawk/jobview/JobStatusView.h b/src/libtomahawk/jobview/JobStatusView.h index 1cbc5a7c2..5d07c16b7 100644 --- a/src/libtomahawk/jobview/JobStatusView.h +++ b/src/libtomahawk/jobview/JobStatusView.h @@ -56,6 +56,7 @@ private: QListView* m_view; JobStatusModel* m_model; AnimatedSplitter* m_parent; + mutable int m_cachedHeight; static JobStatusView* s_instance; }; diff --git a/src/libtomahawk/utils/shortenedlinkparser.cpp b/src/libtomahawk/utils/shortenedlinkparser.cpp index e7bb9dc58..f11646607 100644 --- a/src/libtomahawk/utils/shortenedlinkparser.cpp +++ b/src/libtomahawk/utils/shortenedlinkparser.cpp @@ -24,7 +24,7 @@ #include "query.h" #include "jobview/ErrorStatusMessage.h" #include "jobview/JobStatusModel.h" -#include "jobview/JobStatusView.h"= +#include "jobview/JobStatusView.h" #include