mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-03-01 06:22:43 +01:00
* TrackData's cache keys need to use the proper DbImpl's sort-names.
This commit is contained in:
parent
a39a023f22
commit
cbb5ac2f2b
src/libtomahawk
@ -50,11 +50,11 @@ static QReadWriteLock s_dataidMutex;
|
||||
|
||||
|
||||
inline QString
|
||||
datacacheKey( const QString& artist, const QString& track )
|
||||
cacheKey( const QString& artist, const QString& track )
|
||||
{
|
||||
QString str;
|
||||
QTextStream stream( &str );
|
||||
stream << artist << track;
|
||||
stream << DatabaseImpl::sortname( artist ) << "\t" << DatabaseImpl::sortname( track );
|
||||
return str;
|
||||
}
|
||||
|
||||
@ -74,7 +74,7 @@ TrackData::get( unsigned int id, const QString& artist, const QString& track )
|
||||
s_dataidMutex.unlock();
|
||||
|
||||
QMutexLocker lock( &s_datanameCacheMutex );
|
||||
const QString key = datacacheKey( artist, track );
|
||||
const QString key = cacheKey( artist, track );
|
||||
if ( s_trackDatasByName.contains( key ) )
|
||||
{
|
||||
trackdata_wptr track = s_trackDatasByName.value( key );
|
||||
@ -112,6 +112,8 @@ TrackData::TrackData( unsigned int id, const QString& artist, const QString& tra
|
||||
, m_trackId( id )
|
||||
{
|
||||
m_waitingForId = ( id == 0 );
|
||||
|
||||
updateSortNames();
|
||||
}
|
||||
|
||||
|
||||
@ -126,7 +128,7 @@ TrackData::deleteLater()
|
||||
{
|
||||
QMutexLocker lock( &s_datanameCacheMutex );
|
||||
|
||||
const QString key = datacacheKey( m_artist, m_track );
|
||||
const QString key = cacheKey( m_artist, m_track );
|
||||
if ( s_trackDatasByName.contains( key ) )
|
||||
{
|
||||
s_trackDatasByName.remove( key );
|
||||
@ -146,6 +148,14 @@ TrackData::deleteLater()
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
TrackData::updateSortNames()
|
||||
{
|
||||
m_artistSortname = DatabaseImpl::sortname( m_artist, true );
|
||||
m_trackSortname = DatabaseImpl::sortname( m_track );
|
||||
}
|
||||
|
||||
|
||||
QString
|
||||
TrackData::toString() const
|
||||
{
|
||||
|
@ -68,6 +68,9 @@ public:
|
||||
QString toString() const;
|
||||
Tomahawk::query_ptr toQuery();
|
||||
|
||||
QString artistSortname() const { return m_artistSortname; }
|
||||
QString trackSortname() const { return m_trackSortname; }
|
||||
|
||||
QWeakPointer< Tomahawk::TrackData > weakRef() { return m_ownRef; }
|
||||
void setWeakRef( QWeakPointer< Tomahawk::TrackData > weakRef ) { m_ownRef = weakRef; }
|
||||
|
||||
@ -121,9 +124,12 @@ private:
|
||||
|
||||
void updateAttributes();
|
||||
void parseSocialActions();
|
||||
void updateSortNames();
|
||||
|
||||
QString m_artist;
|
||||
QString m_track;
|
||||
QString m_artistSortname;
|
||||
QString m_trackSortname;
|
||||
|
||||
int m_year;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user