RetroFE/RetroFE/Source/Collection/CollectionInfo.h
Pieter Hulshoff 304154a4c4 Added favorites playlist support for menus and merged/sub collections.
Improved sorting algorithm for playlists. The order now follows the order of the complete lis
t.
Added favorites playlist display to Aeon Nox theme.
Added favorites common artwork.
Added reloadableMedia support for playlist display.
2016-09-16 09:45:22 +02:00

52 lines
1.5 KiB
C++

/* This file is part of RetroFE.
*
* RetroFE is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* RetroFE is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with RetroFE. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include <string>
#include <vector>
#include <map>
class Item;
class CollectionInfo
{
public:
CollectionInfo(std::string name, std::string listPath, std::string extensions, std::string metadataType, std::string metadataPath);
virtual ~CollectionInfo();
std::string settingsPath() const;
bool Save();
void sortItems();
void sortFavoriteItems();
void addSubcollection(CollectionInfo *info);
void extensionList(std::vector<std::string> &extensions);
std::string name;
std::string listpath;
bool saveRequest;
std::string metadataType;
std::string launcher;
std::vector<Item *> items;
typedef std::map<std::string, std::vector <Item *> *> Playlists_T;
Playlists_T playlists;
bool menusort;
private:
std::string metadataPath_;
std::string extensions_;
static bool itemIsLess(Item *lhs, Item *rhs);
};