Adding button to add to playlists (does not yet save favorites.txt yet)

This commit is contained in:
Don Honerbrink 2015-08-07 11:27:12 -05:00
parent 24d4b37cf7
commit 0ff46605eb
5 changed files with 33 additions and 1 deletions

View File

@ -7,7 +7,8 @@ pageDown = B
letterUp = N
letterDown = M
nextPlaylist = P
addPlaylist = O
addPlaylist = I
removePlaylist = O
random = R
select = Space
back = Escape

View File

@ -76,6 +76,7 @@ bool UserInput::initialize()
MapKey("letterUp", KeyCodeLetterUp, false);
MapKey("nextPlaylist", KeyCodeNextPlaylist, false);
MapKey("addPlaylist", KeyCodeAddPlaylist, false);
MapKey("removePlaylist", KeyCodeRemovePlaylist, false);
MapKey("random", KeyCodeRandom, false);
// these features will need to be implemented at a later time
// retVal = MapKey("admin", KeyCodeAdminMode) && retVal;

View File

@ -42,6 +42,7 @@ public:
KeyCodeNextPlaylist,
KeyCodeRandom,
KeyCodeAddPlaylist,
KeyCodeRemovePlaylist,
KeyCodeAdminMode,
KeyCodeHideItem,
KeyCodeQuit,

View File

@ -645,6 +645,30 @@ void Page::draw()
}
void Page::removePlaylist()
{
if(!selectedItem_) return;
MenuInfo_S &info = collections_.back();
CollectionInfo *collection = info.collection;
std::vector<Item *> *items = collection->playlists["favorites"];
std::vector<Item *> it = std::find(items->begin(), items->end(), selectedItem_);
if(it != items->end())
{
items->erase(it);
items->shrink_to_fit();
if(activeMenu_)
{
activeMenu_->deallocateSpritePoints();
activeMenu_->allocateSpritePoints();
}
}
}
void Page::addPlaylist()
{
if(!selectedItem_) return;

View File

@ -450,6 +450,7 @@ RetroFE::RETROFE_STATE RetroFE::processUserInput(Page *page)
!input_.keystate(UserInput::KeyCodeLetterDown) &&
!input_.keystate(UserInput::KeyCodeNextPlaylist) &&
!input_.keystate(UserInput::KeyCodeAddPlaylist) &&
!input_.keystate(UserInput::KeyCodeRemovePlaylist) &&
!input_.keystate(UserInput::KeyCodeRandom))
{
keyLastTime_ = 0;
@ -482,6 +483,10 @@ RetroFE::RETROFE_STATE RetroFE::processUserInput(Page *page)
{
page->nextPlaylist();
}
if(input_.keystate(UserInput::KeyCodeRemovePlaylist))
{
page->removePlaylist();
}
if(input_.keystate(UserInput::KeyCodeAddPlaylist))
{
page->addPlaylist();