Fixed sorting for playlists other than favorites.

This commit is contained in:
Pieter Hulshoff 2018-05-22 22:08:42 +02:00 committed by Vincent-FK
parent 04cae80445
commit 1680c8467d
5 changed files with 23 additions and 17 deletions

View File

@ -181,25 +181,31 @@ void CollectionInfo::sortItems()
}
void CollectionInfo::sortFavoriteItems()
void CollectionInfo::sortPlaylists()
{
std::vector<Item *> *allItems = playlists["all"];
std::vector<Item *> favItems;
for(std::vector <Item *>::iterator itFav = playlists["favorites"]->begin(); itFav != playlists["favorites"]->end(); itFav++)
std::vector<Item *> toSortItems;
for ( Playlists_T::iterator itP = playlists.begin( ); itP != playlists.end( ); itP++ )
{
favItems.push_back((*itFav));
if ( itP->second != allItems )
{
toSortItems.clear();
for(std::vector <Item *>::iterator itSort = itP->second->begin(); itSort != itP->second->end(); itSort++)
{
toSortItems.push_back((*itSort));
}
playlists["favorites"]->clear();
itP->second->clear();
for(std::vector <Item *>::iterator itAll = allItems->begin(); itAll != allItems->end(); itAll++)
{
for(std::vector <Item *>::iterator itFav = favItems.begin(); itFav != favItems.end(); itFav++)
for(std::vector <Item *>::iterator itSort = toSortItems.begin(); itSort != toSortItems.end(); itSort++)
{
if ((*itAll) == (*itFav))
if ((*itAll) == (*itSort))
{
playlists["favorites"]->push_back((*itAll));
itP->second->push_back((*itAll));
}
}
}
}
}

View File

@ -29,7 +29,7 @@ public:
std::string settingsPath() const;
bool Save();
void sortItems();
void sortFavoriteItems();
void sortPlaylists();
void addSubcollection(CollectionInfo *info);
void extensionList(std::vector<std::string> &extensions);
std::string name;

View File

@ -996,7 +996,7 @@ void Page::removePlaylist()
if(it != items->end())
{
items->erase(it);
collection->sortFavoriteItems();
collection->sortPlaylists();
collection->saveRequest = true;
}
collection->Save();
@ -1014,7 +1014,7 @@ void Page::addPlaylist()
if(playlist_->first != "favorites" && std::find(items->begin(), items->end(), selectedItem_) == items->end())
{
items->push_back(selectedItem_);
collection->sortFavoriteItems();
collection->sortPlaylists();
collection->saveRequest = true;
}
collection->Save();

View File

@ -1210,7 +1210,7 @@ CollectionInfo *RetroFE::getCollection(std::string collectionName)
mp.buildMenuItems( collection, menuSort );
cib.addPlaylists( collection );
collection->sortFavoriteItems( );
collection->sortPlaylists( );
// Add extra info, if available
for ( std::vector<Item *>::iterator it = collection->items.begin( ); it != collection->items.end( ); it++ )

View File

@ -21,7 +21,7 @@
std::string retrofe_version_major = "0";
std::string retrofe_version_minor = "8";
std::string retrofe_version_build = "15b5";
std::string retrofe_version_build = "15b6";
std::string Version::getString( )