[rhythmbox] rhythmdb: use artist and album sortnames in query model sorting functions



commit c41968b529380077a365308bf6b55686b33995af
Author: Jamie Nicol <jamie thenicols net>
Date:   Sat Jan 30 23:09:13 2010 +1000

    rhythmdb: use artist and album sortnames in query model sorting functions
    
    Part of bug #133444.  When a sort name is available, it's used in
    preference to the artist or album display name.

 rhythmdb/rhythmdb-query-model.c |   20 ++++++++++++++++----
 1 files changed, 16 insertions(+), 4 deletions(-)
---
diff --git a/rhythmdb/rhythmdb-query-model.c b/rhythmdb/rhythmdb-query-model.c
index 668107a..344dd0b 100644
--- a/rhythmdb/rhythmdb-query-model.c
+++ b/rhythmdb/rhythmdb-query-model.c
@@ -2642,8 +2642,14 @@ rhythmdb_query_model_album_sort_func (RhythmDBEntry *a,
 	gint ret;
 
 	/* Sort by album name */
-	a_val = rhythmdb_entry_get_string (a, RHYTHMDB_PROP_ALBUM_SORT_KEY);
-	b_val = rhythmdb_entry_get_string (b, RHYTHMDB_PROP_ALBUM_SORT_KEY);
+	a_val = rhythmdb_entry_get_string (a, RHYTHMDB_PROP_ALBUM_SORTNAME_SORT_KEY);
+	if (a_val[0] == '\0') {
+		a_val = rhythmdb_entry_get_string (a, RHYTHMDB_PROP_ALBUM_SORT_KEY);
+	}
+	b_val = rhythmdb_entry_get_string (b, RHYTHMDB_PROP_ALBUM_SORTNAME_SORT_KEY);
+	if (b_val[0] == '\0') {
+		b_val = rhythmdb_entry_get_string (b, RHYTHMDB_PROP_ALBUM_SORT_KEY);
+	}
 
 	if (a_val == NULL) {
 		if (b_val == NULL)
@@ -2696,8 +2702,14 @@ rhythmdb_query_model_artist_sort_func (RhythmDBEntry *a,
 	const char *b_val;
 	gint ret;
 
-	a_val = rhythmdb_entry_get_string (a, RHYTHMDB_PROP_ARTIST_SORT_KEY);
-	b_val = rhythmdb_entry_get_string (b, RHYTHMDB_PROP_ARTIST_SORT_KEY);
+	a_val = rhythmdb_entry_get_string (a, RHYTHMDB_PROP_ARTIST_SORTNAME_SORT_KEY);
+	if (a_val[0] == '\0') {
+		a_val = rhythmdb_entry_get_string (a, RHYTHMDB_PROP_ARTIST_SORT_KEY);
+	}
+	b_val = rhythmdb_entry_get_string (b, RHYTHMDB_PROP_ARTIST_SORTNAME_SORT_KEY);
+	if (b_val[0] == '\0') {
+		b_val = rhythmdb_entry_get_string (b, RHYTHMDB_PROP_ARTIST_SORT_KEY);
+	}
 
 	if (a_val == NULL) {
 		if (b_val == NULL)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]