Do not show under various artists

Gary Steinert gary.steinert at gmail.com
Tue Nov 11 03:47:56 UTC 2008


This is a patch implementing the 'Do not show under Various Artists' context 
menu action in the collection browser.
As far as I can tell, this isn't the prettiest of patches, but it gets the job 
done.
Could someone please look this over and give me a nudge in the right direction 
if it's not up to scratch. If I hear nothing in 48 hours I'll commit anyway.

Index: src/collection/sqlcollection/SqlMeta.cpp
===================================================================
--- src/collection/sqlcollection/SqlMeta.cpp    (revision 882361)
+++ src/collection/sqlcollection/SqlMeta.cpp    (working copy)
@@ -1471,7 +1471,16 @@
         else
         {
             debug() << "User selected album as non-compilation";
-            //TODO find album artist
+
+            QString select = "SELECT artist FROM tracks WHERE album = %1";
+            QStringList artistid = m_collection->query( select.arg( m_id ) );
+
+            m_artistId = artistid[0].toInt();
+            m_artist = this->tracks()[0]->artist();
+
+            QString update = "UPDATE albums SET artist = %1 WHERE id = %2;";
+            update = update.arg( m_artistId ).arg( m_id );
+            m_collection->query( update );
         }
         notifyObservers();
         m_collection->sendChangedSignal();

Gary Steinert



More information about the Amarok mailing list