1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-03-21 00:09:47 +01:00

Fix collection page icons.

This commit is contained in:
Teo Mrnjavac 2013-01-26 00:11:52 +01:00
parent ad1e057078
commit 7f73c073be
6 changed files with 40 additions and 2 deletions

View File

@ -78,6 +78,15 @@ Collection::icon() const
}
QPixmap
Collection::bigIcon() const
{
if ( !source()->avatar().isNull() )
return source()->avatar( TomahawkUtils::RoundedCorners );
return TomahawkUtils::defaultPixmap( TomahawkUtils::SuperCollection );
}
QString
Collection::emptyText() const
{

View File

@ -55,6 +55,7 @@ public:
virtual QString itemName() const;
virtual QString type() const { return QString(); }
virtual QIcon icon() const;
virtual QPixmap bigIcon() const; //for the ViewPage header
virtual QString emptyText() const;
virtual void loadPlaylists() { qDebug() << Q_FUNC_INFO; }

View File

@ -23,6 +23,7 @@
#include "SourceList.h"
#include <TomahawkSettings.h>
#include "utils/Logger.h"
#include "utils/TomahawkUtilsGui.h"
#ifndef ENABLE_HEADLESS
#include "ViewManager.h"

View File

@ -259,8 +259,7 @@ TreeModel::addCollection( const collection_ptr& collection )
connect( collection.data(), SIGNAL( changed() ), SLOT( onCollectionChanged() ), Qt::UniqueConnection );
if ( !collection->source()->avatar().isNull() )
setIcon( collection->source()->avatar( TomahawkUtils::RoundedCorners ) );
setIcon( collection->bigIcon() );
setTitle( collection->prettyName() );
}

View File

@ -21,8 +21,10 @@
#include "Source.h"
#include "ExternalResolverGui.h"
#include "utils/TomahawkUtilsGui.h"
#include <QIcon>
#include <QPainter>
using namespace Tomahawk;
@ -80,6 +82,31 @@ ScriptCollection::icon() const
}
QPixmap
ScriptCollection::bigIcon() const
{
QPixmap big = Collection::bigIcon();
QPixmap base = icon().pixmap( big.size() );
if ( !source()->isLocal() )
{
big = big.scaled( TomahawkUtils::defaultIconSize(),
Qt::KeepAspectRatio,
Qt::SmoothTransformation );
QPainter painter( &base );
painter.drawPixmap( base.width() - big.width(),
base.height() - big.height(),
big.width(),
big.height(),
big );
painter.end();
}
return base;
}
void
ScriptCollection::artists()
{

View File

@ -44,6 +44,7 @@ public:
virtual QString itemName() const;
virtual QString type() const { return "scriptcollection"; }
virtual QIcon icon() const;
virtual QPixmap bigIcon() const;
virtual ExternalResolver* resolver() { return m_resolver; }