]> git.sesse.net Git - vlc/commitdiff
macosx: allow the playlist table to be sorted by Genre, Album and Description
authorFelix Paul Kühne <fkuehne@videolan.org>
Wed, 30 May 2012 00:58:43 +0000 (02:58 +0200)
committerFelix Paul Kühne <fkuehne@videolan.org>
Wed, 30 May 2012 00:58:43 +0000 (02:58 +0200)
Note that sorting by Date or Language isn't supported due to limitations of the playlist core.

modules/gui/macosx/playlist.m

index 6c0fab8e1f9158308d372d5c870cc5161fe48910..ed5a22f347f844c5dedd8248394df136c5eaf75d 100644 (file)
     return( o_ctx_menu );
 }
 
-- (void)outlineView: (NSOutlineView *)o_tv
-                  didClickTableColumn:(NSTableColumn *)o_tc
+- (void)outlineView: (NSOutlineView *)o_tv didClickTableColumn:(NSTableColumn *)o_tc
 {
     int i_mode, i_type = 0;
     intf_thread_t *p_intf = VLCIntf;
 
     playlist_t *p_playlist = pl_Get( p_intf );
 
-    /* Check whether the selected table column header corresponds to a
-       sortable table column*/
-    if( !( [o_identifier isEqualToString:TITLE_COLUMN] || [o_identifier isEqualToString:ARTIST_COLUMN] || [o_identifier isEqualToString:DURATION_COLUMN] ) )
+    if( [o_identifier isEqualToString:TRACKNUM_COLUMN] )
+        i_mode = SORT_TRACK_NUMBER;
+    else if( [o_identifier isEqualToString:TITLE_COLUMN] )
+        i_mode = SORT_TITLE;
+    else if( [o_identifier isEqualToString:ARTIST_COLUMN] )
+        i_mode = SORT_ARTIST;
+    else if( [o_identifier isEqualToString:GENRE_COLUMN] )
+        i_mode = SORT_GENRE;
+    else if( [o_identifier isEqualToString:DURATION_COLUMN] )
+        i_mode = SORT_DURATION;
+    else if( [o_identifier isEqualToString:ALBUM_COLUMN] )
+        i_mode = SORT_ALBUM;
+    else if( [o_identifier isEqualToString:DESCRIPTION_COLUMN] )
+        i_mode = SORT_DESCRIPTION;
+    else
         return;
 
     if( o_tc_sortColumn == o_tc )
     else
         b_isSortDescending = false;
 
-    if( [o_identifier isEqualToString:TITLE_COLUMN] )
-        i_mode = SORT_TITLE;
-    else if( [o_identifier isEqualToString:ARTIST_COLUMN] )
-        i_mode = SORT_ARTIST;
-    else if( [o_identifier isEqualToString:DURATION_COLUMN] )
-        i_mode = SORT_DURATION;
-
     if( b_isSortDescending )
         i_type = ORDER_REVERSE;
     else