mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-08-06 14:16:32 +02:00
Redundant code is redundant.
This commit is contained in:
@@ -387,80 +387,16 @@ PlaylistItemDelegate::drawLoveBox( QPainter* painter, const QRect& rect, Playabl
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
QRect
|
QRect PlaylistItemDelegate::drawGenericBox( QPainter* painter, const QStyleOptionViewItem& option, const QRect& rect, const QString& text, const QList< Tomahawk::source_ptr >& sources ) const
|
||||||
PlaylistItemDelegate::drawSentBox( QPainter* painter, const QStyleOptionViewItem& option, const QRect& rect, PlayableItem* item, const QModelIndex& index ) const
|
|
||||||
{
|
{
|
||||||
const int height = rect.height() - 4 * 2;
|
const int height = rect.height() - 4 * 2;
|
||||||
const int width = 2 + rect.height() - 4 * 2;
|
const int width = 2 + rect.height() - 4 * 2;
|
||||||
|
|
||||||
QList< QPixmap > pixmaps;
|
QList< QPixmap > pixmaps;
|
||||||
QDateTime earliestTimestamp = QDateTime::currentDateTime();
|
foreach ( const Tomahawk::source_ptr& s, sources )
|
||||||
foreach ( const Tomahawk::SocialAction& sa, item->query()->queryTrack()->socialActions( "Inbox", QVariant() /*neither true nor false!*/, true ) )
|
|
||||||
{
|
{
|
||||||
QDateTime saTimestamp = QDateTime::fromTime_t( sa.timestamp.toInt() );
|
pixmaps << s->avatar( TomahawkUtils::Original, QSize( height, height ) );
|
||||||
if ( saTimestamp < earliestTimestamp && saTimestamp.toTime_t() > 0 )
|
|
||||||
earliestTimestamp = saTimestamp;
|
|
||||||
|
|
||||||
pixmaps << sa.source->avatar( TomahawkUtils::Original, QSize( height, height ) );
|
|
||||||
}
|
}
|
||||||
const int max = 5;
|
|
||||||
const unsigned int count = qMin( pixmaps.count(), max );
|
|
||||||
|
|
||||||
painter->save();
|
|
||||||
|
|
||||||
painter->setRenderHint( QPainter::Antialiasing, true );
|
|
||||||
painter->setBrush( Qt::transparent );
|
|
||||||
QPen pen = painter->pen().color();
|
|
||||||
pen.setWidthF( 0.2 );
|
|
||||||
painter->setPen( pen );
|
|
||||||
|
|
||||||
QTextDocument textDoc;
|
|
||||||
textDoc.setHtml( QString( "<b>%1</b>" )
|
|
||||||
.arg( TomahawkUtils::ageToString( earliestTimestamp, true ) ) );
|
|
||||||
textDoc.setDocumentMargin( 0 );
|
|
||||||
textDoc.setDefaultFont( painter->font() );
|
|
||||||
textDoc.setDefaultTextOption( m_bottomOption );
|
|
||||||
|
|
||||||
QRect innerRect = rect.adjusted( rect.width() - width * count - 4 * 4 -
|
|
||||||
textDoc.idealWidth(),
|
|
||||||
0, 0, 0 );
|
|
||||||
|
|
||||||
QRect textRect = innerRect.adjusted( 4, 4, - innerRect.width() + textDoc.idealWidth() + 2*4, -4 );
|
|
||||||
|
|
||||||
drawRichText( painter, option, textRect, Qt::AlignVCenter|Qt::AlignRight, textDoc );
|
|
||||||
|
|
||||||
if ( !pixmaps.isEmpty() && !textDoc.isEmpty() )
|
|
||||||
painter->drawRoundedRect( innerRect, 4, 4, Qt::RelativeSize );
|
|
||||||
|
|
||||||
unsigned int i = 0;
|
|
||||||
foreach ( QPixmap pixmap, pixmaps )
|
|
||||||
{
|
|
||||||
if ( i >= max )
|
|
||||||
break;
|
|
||||||
|
|
||||||
QRect r = innerRect.adjusted( textDoc.idealWidth() + 3*4, 4, -4, -4 );
|
|
||||||
r.adjust( width * i, 0, 0, 0 );
|
|
||||||
r.setWidth( width );
|
|
||||||
|
|
||||||
if ( pixmap.isNull() )
|
|
||||||
pixmap = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultSourceAvatar, TomahawkUtils::Original, QSize( r.height(), r.height() ) );
|
|
||||||
painter->drawPixmap( r.adjusted( 1, 0, -1, 0 ), pixmap );
|
|
||||||
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
|
|
||||||
painter->restore();
|
|
||||||
return rect;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
QRect PlaylistItemDelegate::drawRecentBox(QPainter* painter, const QStyleOptionViewItem& option, const QRect& rect, PlayableItem* item, const QModelIndex& index) const
|
|
||||||
{
|
|
||||||
const int height = rect.height() - 4 * 2;
|
|
||||||
const int width = 2 + rect.height() - 4 * 2;
|
|
||||||
|
|
||||||
QList< QPixmap > pixmaps;
|
|
||||||
pixmaps << item->playbackLog().source->avatar( TomahawkUtils::Original, QSize( height, height ) );
|
|
||||||
|
|
||||||
const int max = 5;
|
const int max = 5;
|
||||||
const unsigned int count = qMin( pixmaps.count(), max );
|
const unsigned int count = qMin( pixmaps.count(), max );
|
||||||
@@ -473,10 +409,9 @@ QRect PlaylistItemDelegate::drawRecentBox(QPainter* painter, const QStyleOptionV
|
|||||||
pen.setWidthF( 0.2 );
|
pen.setWidthF( 0.2 );
|
||||||
painter->setPen( pen );
|
painter->setPen( pen );
|
||||||
|
|
||||||
QString playtime = TomahawkUtils::ageToString( QDateTime::fromTime_t( item->playbackLog().timestamp ), true );
|
|
||||||
|
|
||||||
QTextDocument textDoc;
|
QTextDocument textDoc;
|
||||||
textDoc.setHtml( QString( "<b>%1</b>" ).arg( playtime ) );
|
textDoc.setHtml( QString( "<b>%1</b>" ).arg( text ) );
|
||||||
textDoc.setDocumentMargin( 0 );
|
textDoc.setDocumentMargin( 0 );
|
||||||
textDoc.setDefaultFont( painter->font() );
|
textDoc.setDefaultFont( painter->font() );
|
||||||
textDoc.setDefaultTextOption( m_bottomOption );
|
textDoc.setDefaultTextOption( m_bottomOption );
|
||||||
|
@@ -25,6 +25,7 @@
|
|||||||
#include <QTextDocument>
|
#include <QTextDocument>
|
||||||
|
|
||||||
#include "DllMacro.h"
|
#include "DllMacro.h"
|
||||||
|
#include "Typedefs.h"
|
||||||
|
|
||||||
class TrackModel;
|
class TrackModel;
|
||||||
class PlayableItem;
|
class PlayableItem;
|
||||||
@@ -67,9 +68,8 @@ protected:
|
|||||||
QRect drawSourceIcon( QPainter* painter, const QRect& rect, PlayableItem* item, float height ) const;
|
QRect drawSourceIcon( QPainter* painter, const QRect& rect, PlayableItem* item, float height ) const;
|
||||||
QRect drawCover( QPainter* painter, const QRect& rect, PlayableItem* item, const QModelIndex& index ) const;
|
QRect drawCover( QPainter* painter, const QRect& rect, PlayableItem* item, const QModelIndex& index ) const;
|
||||||
QRect drawLoveBox( QPainter* painter, const QRect& rect, PlayableItem* item, const QModelIndex& index ) const;
|
QRect drawLoveBox( QPainter* painter, const QRect& rect, PlayableItem* item, const QModelIndex& index ) const;
|
||||||
|
QRect drawGenericBox( QPainter* painter, const QStyleOptionViewItem& option, const QRect& rect, const QString& text, const QList< Tomahawk::source_ptr >& sources ) const;
|
||||||
void drawRichText( QPainter* painter, const QStyleOptionViewItem& option, const QRect& rect, int flags, QTextDocument& text ) const;
|
void drawRichText( QPainter* painter, const QStyleOptionViewItem& option, const QRect& rect, int flags, QTextDocument& text ) const;
|
||||||
QRect drawSentBox( QPainter* painter, const QStyleOptionViewItem& option, const QRect& rect, PlayableItem* item, const QModelIndex& index ) const;
|
|
||||||
QRect drawRecentBox( QPainter* painter, const QStyleOptionViewItem& option, const QRect& rect, PlayableItem* item, const QModelIndex& index ) const;
|
|
||||||
|
|
||||||
void paintDetailed( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index ) const;
|
void paintDetailed( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index ) const;
|
||||||
void paintShort( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index ) const;
|
void paintShort( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index ) const;
|
||||||
|
@@ -208,11 +208,35 @@ PlaylistLargeItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem&
|
|||||||
leftRect = rightRect.adjusted( -128, 4, 0, -4 );
|
leftRect = rightRect.adjusted( -128, 4, 0, -4 );
|
||||||
leftRect.setWidth( 96 );
|
leftRect.setWidth( 96 );
|
||||||
if ( m_mode == Inbox )
|
if ( m_mode == Inbox )
|
||||||
drawSentBox( painter, opt, leftRect, item, index );
|
{
|
||||||
|
QDateTime earliestTimestamp = QDateTime::currentDateTime();
|
||||||
|
QList< Tomahawk::source_ptr > sources;
|
||||||
|
foreach ( const Tomahawk::SocialAction& sa, item->query()->queryTrack()->socialActions( "Inbox", QVariant() /*neither true nor false!*/, true ) )
|
||||||
|
{
|
||||||
|
QDateTime saTimestamp = QDateTime::fromTime_t( sa.timestamp.toInt() );
|
||||||
|
if ( saTimestamp < earliestTimestamp && saTimestamp.toTime_t() > 0 )
|
||||||
|
earliestTimestamp = saTimestamp;
|
||||||
|
|
||||||
|
sources << sa.source;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString timeString = TomahawkUtils::ageToString( earliestTimestamp, true );
|
||||||
|
|
||||||
|
drawGenericBox( painter, opt, leftRect, timeString, sources );
|
||||||
|
}
|
||||||
else if ( m_mode == RecentlyPlayed )
|
else if ( m_mode == RecentlyPlayed )
|
||||||
drawRecentBox( painter, opt, leftRect, item, index );
|
{
|
||||||
|
QList< Tomahawk::source_ptr > sources;
|
||||||
|
sources << item->playbackLog().source;
|
||||||
|
|
||||||
|
QString playtime = TomahawkUtils::ageToString( QDateTime::fromTime_t( item->playbackLog().timestamp ), true );
|
||||||
|
|
||||||
|
drawGenericBox( painter, opt, leftRect, playtime, sources );
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
drawLoveBox( painter, leftRect, item, index );
|
drawLoveBox( painter, leftRect, item, index );
|
||||||
|
}
|
||||||
|
|
||||||
if ( track->duration() > 0 )
|
if ( track->duration() > 0 )
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user