Browse Source

Better UI. Add by Author sorting vs Default (by Song).

Stephen Damm 6 years ago
parent
commit
6e300c8da9

+ 5 - 4
SongBrowserPlugin/SongBrowserMasterViewController.cs

@@ -129,10 +129,11 @@ namespace SongBrowserPlugin
 
 
                 _sortButtonGroup = new List<SongSortButton>
                 _sortButtonGroup = new List<SongSortButton>
                 {
                 {
-                    UIBuilder.CreateSortButton(rect, "PlayButton", "Fav", 3, "AllDirectionsIcon", 30f, 77.5f, 15f, 5f, SongSortMode.Favorites, onSortButtonClickEvent),
-                    UIBuilder.CreateSortButton(rect, "PlayButton", "Def", 3, "AllDirectionsIcon", 15f, 77.5f, 15f, 5f, SongSortMode.Default, onSortButtonClickEvent),
-                    UIBuilder.CreateSortButton(rect, "PlayButton", "Org", 3, "AllDirectionsIcon", 0f, 77.5f, 15f, 5f, SongSortMode.Original, onSortButtonClickEvent),
-                    UIBuilder.CreateSortButton(rect, "PlayButton", "New", 3, "AllDirectionsIcon", -15f, 77.5f, 15f, 5f, SongSortMode.Newest, onSortButtonClickEvent)
+                    UIBuilder.CreateSortButton(rect, "PlayButton", "Favorite", 3, "AllDirectionsIcon", 30f, 77.5f, 16f, 5f, SongSortMode.Favorites, onSortButtonClickEvent),
+                    UIBuilder.CreateSortButton(rect, "PlayButton", "Song", 3, "AllDirectionsIcon", 14f, 77.5f, 16f, 5f, SongSortMode.Default, onSortButtonClickEvent),
+                    UIBuilder.CreateSortButton(rect, "PlayButton", "Author", 3, "AllDirectionsIcon", -2f, 77.5f, 16f, 5f, SongSortMode.Author, onSortButtonClickEvent),
+                    UIBuilder.CreateSortButton(rect, "PlayButton", "Original", 3, "AllDirectionsIcon", -18f, 77.5f, 16f, 5f, SongSortMode.Original, onSortButtonClickEvent),
+                    UIBuilder.CreateSortButton(rect, "PlayButton", "Newest", 3, "AllDirectionsIcon", -34f, 77.5f, 16f, 5f, SongSortMode.Newest, onSortButtonClickEvent),
                 };
                 };
 
 
                 // Creaate Add to Favorites Button
                 // Creaate Add to Favorites Button

+ 10 - 2
SongBrowserPlugin/SongBrowserModel.cs

@@ -189,13 +189,21 @@ namespace SongBrowserPlugin
                         .ThenByDescending(x => x.levelId.StartsWith("Level") ? weights[x.levelId] : _cachedLastWriteTimes[_levelIdToCustomSongInfo[x.levelId].path])
                         .ThenByDescending(x => x.levelId.StartsWith("Level") ? weights[x.levelId] : _cachedLastWriteTimes[_levelIdToCustomSongInfo[x.levelId].path])
                         .ToList();
                         .ToList();
                     break;
                     break;
+                case SongSortMode.Author:
+                    _log.Debug("Sorting song list by author");
+                    _sortedSongs = _originalSongs
+                        .AsQueryable()
+                        .OrderBy(x => x.authorName)
+                        .ThenBy(x => x.songName)
+                        .ToList();
+                    break;
                 case SongSortMode.Default:
                 case SongSortMode.Default:
                 default:
                 default:
                     _log.Debug("Sorting song list as default");
                     _log.Debug("Sorting song list as default");
                     _sortedSongs = _originalSongs
                     _sortedSongs = _originalSongs
                         .AsQueryable()
                         .AsQueryable()
-                        .OrderBy(x => x.authorName)
-                        .ThenBy(x => x.songName)
+                        .OrderBy(x => x.songName)
+                        .ThenBy(x => x.authorName)
                         .ToList();
                         .ToList();
                     break;
                     break;
             }
             }

+ 2 - 1
SongBrowserPlugin/SongBrowserSettings.cs

@@ -9,7 +9,8 @@ namespace SongBrowserPlugin
     [Serializable]
     [Serializable]
     public enum SongSortMode
     public enum SongSortMode
     {
     {
-        Default,        
+        Default,
+        Author,
         Favorites,
         Favorites,
         Original,
         Original,
         Newest,
         Newest,