From d7cf97d4b7e6e7f3a8b3b8f8ba82c9ee4b68e279 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sat, 4 Oct 2014 09:42:21 +0200 Subject: [PATCH] * Detect correct artist() and album() in QueryLabel. --- src/libtomahawk/widgets/QueryLabel.cpp | 30 ++++++++++++++++++++++++++ src/libtomahawk/widgets/QueryLabel.h | 4 ++-- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/src/libtomahawk/widgets/QueryLabel.cpp b/src/libtomahawk/widgets/QueryLabel.cpp index 532cd1bc7..61e6ff015 100644 --- a/src/libtomahawk/widgets/QueryLabel.cpp +++ b/src/libtomahawk/widgets/QueryLabel.cpp @@ -480,3 +480,33 @@ QueryLabel::setType( DisplayType type ) updateGeometry(); update(); } + + +Tomahawk::artist_ptr +QueryLabel::artist() const +{ + if ( m_artist ) + return m_artist; + else if ( m_album ) + return m_album->artist(); + else if ( m_result ) + return m_result->track()->artistPtr(); + else if ( m_query ) + return m_query->track()->artistPtr(); + + return artist_ptr(); +} + + +Tomahawk::album_ptr +QueryLabel::album() const +{ + if ( m_album ) + return m_album; + else if ( m_result ) + return m_result->track()->albumPtr(); + else if ( m_query ) + return m_query->track()->albumPtr(); + + return album_ptr(); +} diff --git a/src/libtomahawk/widgets/QueryLabel.h b/src/libtomahawk/widgets/QueryLabel.h index 58467c5ba..9a02e0161 100644 --- a/src/libtomahawk/widgets/QueryLabel.h +++ b/src/libtomahawk/widgets/QueryLabel.h @@ -55,8 +55,8 @@ public: Tomahawk::result_ptr result() const { return m_result; } Tomahawk::query_ptr query() const { return m_query; } - Tomahawk::artist_ptr artist() const { return m_artist; } - Tomahawk::album_ptr album() const { return m_album; } + Tomahawk::artist_ptr artist() const; + Tomahawk::album_ptr album() const; DisplayType type() const { return m_type; } void setType( DisplayType type );