bool PlaylistItem::isEditing( int column ) const { switch( column ) { case Title: case Artist: case Composer: case Album: case Genre: case Comment: //FIXME fix this hack! return exactText( column ) == editingText(); case Year: return m_year == -1; case DiscNumber: return m_discNumber == -1; case Track: return m_track == -1; case Bpm: return m_bpm == -1; case Length: return m_length == -1; case Bitrate: return m_bitrate == -1; case SampleRate: return m_sampleRate == -1; case Score: return m_score == -1; case Rating: return m_rating == -1; case PlayCount: return m_playCount == -1; case LastPlayed: return m_lastPlay == 1; default: return false; } }
QString PlaylistItem::text( int column ) const { if( column == Title && listView()->header()->sectionSize( Filename ) ) //don't show the filename twice return exactText( column ); else switch ( column ) { case Artist: case Composer: case Album: case Genre: case Comment: return exactText( column ); //HACK case Rating: return isEditing( column ) ? exactText( column ) : prettyText( column ); default: { if( column != Title && isEditing( column ) ) return editingText(); else return prettyText( column ); } } }
QString PlaylistItem::seconds() const { QString length = exactText( Length ); if( length == "?" ) return QString(); if( length == "-" ) length += '1'; else if( !length.isEmpty() ) { int m = length.section( ':', 0, 0 ).toInt(); int s = length.section( ':', 1, 1 ).toInt(); length.setNum( m * 60 + s ); } return length; }