1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-15 18:44:30 +02:00

* Fixed negative time values showing up in GUI.

This commit is contained in:
Christian Muehlhaeuser
2011-11-16 05:56:05 +01:00
parent 5dabdd73a1
commit e406fb90a9
4 changed files with 55 additions and 51 deletions

View File

@@ -182,12 +182,12 @@ PlaylistItemDelegate::paintShort( QPainter* painter, const QStyleOptionViewItem&
else else
{ {
upperText = QString( "%1 - %2" ).arg( artist ).arg( track ); upperText = QString( "%1 - %2" ).arg( artist ).arg( track );
QString playtime = TomahawkUtils::ageToString( QDateTime::fromTime_t( item->query()->playedBy().second ) ); QString playtime = TomahawkUtils::ageToString( QDateTime::fromTime_t( item->query()->playedBy().second ), true );
if ( source == SourceList::instance()->getLocal() ) if ( source == SourceList::instance()->getLocal() )
lowerText = QString( "played %1 ago by you" ).arg( playtime ); lowerText = QString( "played %1 by you" ).arg( playtime );
else else
lowerText = QString( "played %1 ago by %2" ).arg( playtime ).arg( source->friendlyName() ); lowerText = QString( "played %1 by %2" ).arg( playtime ).arg( source->friendlyName() );
if ( useAvatars ) if ( useAvatars )
pixmap = source->avatar( Source::FancyStyle ); pixmap = source->avatar( Source::FancyStyle );

View File

@@ -101,9 +101,9 @@ PlaylistModel::loadPlaylist( const Tomahawk::playlist_ptr& playlist, bool loadEn
setReadOnly( !m_playlist->author()->isLocal() ); setReadOnly( !m_playlist->author()->isLocal() );
setTitle( playlist->title() ); setTitle( playlist->title() );
setDescription( tr( "A playlist by %1, created %2 ago" ) setDescription( tr( "A playlist by %1, created %2" )
.arg( playlist->author()->isLocal() ? tr( "you" ) : playlist->author()->friendlyName() ) .arg( playlist->author()->isLocal() ? tr( "you" ) : playlist->author()->friendlyName() )
.arg( TomahawkUtils::ageToString( QDateTime::fromTime_t( playlist->createdOn() ) ) ) ); .arg( TomahawkUtils::ageToString( QDateTime::fromTime_t( playlist->createdOn() ), true ) ) );
m_isTemporary = false; m_isTemporary = false;
if ( !loadEntries ) if ( !loadEntries )

View File

@@ -212,12 +212,13 @@ timeToString( int seconds )
QString QString
ageToString( const QDateTime& time ) ageToString( const QDateTime& time, bool appendAgoString )
{ {
if ( time.toTime_t() == 0 ) if ( time.toTime_t() == 0 )
return QString(); return QString();
QDateTime now = QDateTime::currentDateTime(); QDateTime now = QDateTime::currentDateTime();
QString agoToken = appendAgoString ? QString( " %1" ).arg( QObject::tr( "ago" ) ) : QString();
int mins = time.secsTo( now ) / 60; int mins = time.secsTo( now ) / 60;
int hours = mins / 60; int hours = mins / 60;
@@ -226,53 +227,56 @@ ageToString( const QDateTime& time )
int months = days / 30.42; int months = days / 30.42;
int years = months / 12; int years = months / 12;
if ( years ) if ( mins > 0 )
{ {
if ( years > 1 ) if ( years )
return QObject::tr( "%1 years" ).arg( years ); {
else if ( years > 1 )
return QObject::tr( "%1 year" ).arg( years ); return QObject::tr( "%1 years%2" ).arg( years ).arg( agoToken );
else
return QObject::tr( "%1 year%2" ).arg( years ).arg( agoToken );
}
if ( months )
{
if ( months > 1 )
return QObject::tr( "%1 months%2" ).arg( months ).arg( agoToken );
else
return QObject::tr( "%1 month%2" ).arg( months ).arg( agoToken );
}
if ( weeks )
{
if ( weeks > 1 )
return QObject::tr( "%1 weeks%2" ).arg( weeks ).arg( agoToken );
else
return QObject::tr( "%1 week%2" ).arg( weeks ).arg( agoToken );
}
if ( days )
{
if ( days > 1 )
return QObject::tr( "%1 days%2" ).arg( days ).arg( agoToken );
else if ( hours >= 24 )
return QObject::tr( "%1 day%2" ).arg( days ).arg( agoToken );
}
if ( hours )
{
if ( hours > 1 )
return QObject::tr( "%1 hours%2" ).arg( hours ).arg( agoToken );
else
return QObject::tr( "%1 hour%2" ).arg( hours ).arg( agoToken );
}
if ( mins )
{
if ( mins > 1 )
return QObject::tr( "%1 minutes%2" ).arg( mins ).arg( agoToken );
}
} }
if ( months ) return QObject::tr( "just now" );
{
if ( months > 1 )
return QObject::tr( "%1 months" ).arg( months );
else
return QObject::tr( "%1 month" ).arg( months );
}
if ( weeks )
{
if ( weeks > 1 )
return QObject::tr( "%1 weeks" ).arg( weeks );
else
return QObject::tr( "%1 week" ).arg( weeks );
}
if ( days )
{
if ( days > 1 )
return QObject::tr( "%1 days" ).arg( days );
else
return QObject::tr( "%1 day" ).arg( days );
}
if ( hours )
{
if ( hours > 1 )
return QObject::tr( "%1 hours" ).arg( hours );
else
return QObject::tr( "%1 hour" ).arg( hours );
}
if ( mins )
{
if ( mins > 1 )
return QObject::tr( "%1 minutes" ).arg( mins );
}
return QObject::tr( "1 minute" );
} }

View File

@@ -85,7 +85,7 @@ namespace TomahawkUtils
DLLEXPORT QString sqlEscape( QString sql ); DLLEXPORT QString sqlEscape( QString sql );
DLLEXPORT QString timeToString( int seconds ); DLLEXPORT QString timeToString( int seconds );
DLLEXPORT QString ageToString( const QDateTime& time ); DLLEXPORT QString ageToString( const QDateTime& time, bool appendAgoString = false );
DLLEXPORT QString filesizeToString( unsigned int size ); DLLEXPORT QString filesizeToString( unsigned int size );
DLLEXPORT QString extensionToMimetype( const QString& extension ); DLLEXPORT QString extensionToMimetype( const QString& extension );