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:
@@ -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 );
|
||||||
|
@@ -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 )
|
||||||
|
@@ -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" );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -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 );
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user