static bool samelist(const MetaDataList& mdv1, const MetaDataList& mdv2) { if (mdv1.size() != mdv2.size()) return false; for (unsigned int i = 0; i < mdv1.size(); i++) { if (mdv1[i].filepath.compare(mdv2[i].filepath)) return false; } return true; }
MetaDataList MetaDataList::createFromXML(const std::vector<MetaDataDecl>& mdd, pugi::xml_node node) { MetaDataList mdl; for(auto iter = mdd.begin(); iter != mdd.end(); iter++) { pugi::xml_node md = node.child(iter->key.c_str()); if(md) { mdl.set(iter->key, md.text().get()); }else{ mdl.set(iter->key, iter->defaultValue); } } return mdl; }
void PlaylistOHRD::onRemoteMetaArray(const MetaDataList& mdv) { qDebug() << "PlaylistOHRD::psl_new_ohrd: " << mdv.size() << " entries"; if (!samelist(mdv, m_meta)) { m_meta = mdv; emit sig_playlist_updated(m_meta, m_play_idx, 0); } }
bool CollectionSystemManager::toggleGameInCollection(FileData* file, std::string collection) { if (file->getType() == GAME) { GuiInfoPopup* s; MetaDataList* md = &file->getSourceFileData()->metadata; std::string value = md->get("favorite"); if (value == "false") { md->set("favorite", "true"); s = new GuiInfoPopup(mWindow, "Added '" + removeParenthesis(file->getName()) + "' to 'Favorites'", 4000); }else { md->set("favorite", "false"); s = new GuiInfoPopup(mWindow, "Removed '" + removeParenthesis(file->getName()) + "' from 'Favorites'", 4000); } mWindow->setInfoPopup(s); updateCollectionSystems(file->getSourceFileData()); return true; } return false; }
bool ISimpleGameListView::input(InputConfig* config, Input input) { if(input.value != 0) { if(config->isMappedTo("a", input)) { LOG(LogDebug) << "ISimpleGameListView::input(): a detected!"; FileData* cursor = getCursor(); if(cursor->getType() == GAME) { Sound::getFromTheme(getTheme(), getName(), "launch")->play(); launch(cursor); }else{ // it's a folder if(cursor->getChildren().size() > 0) { mCursorStack.push(cursor); populateList(cursor->getChildren()); } } return true; }else if(config->isMappedTo("b", input)) { LOG(LogDebug) << "ISimpleGameListView::input(): b detected!"; if(mCursorStack.size()) { populateList(mCursorStack.top()->getParent()->getChildren()); setCursor(mCursorStack.top()); mCursorStack.pop(); Sound::getFromTheme(getTheme(), getName(), "back")->play(); }else{ onFocusLost(); if (mFavoriteChange || mKidGameChange) { ViewController::get()->setInvalidGamesList(getCursor()->getSystem()); mFavoriteChange = false; mKidGameChange = false; } ViewController::get()->goToSystemView(getCursor()->getSystem()); } return true; }else if (config->isMappedTo("x", input)) { FileData* cursor = getCursor(); LOG(LogDebug) << "ISimpleGameListView::input(): x detected!"; if (cursor->getSystem()->getHasFavorites()) { if (cursor->getType() == GAME) { mFavoriteChange = true; MetaDataList* md = &cursor->metadata; std::string value = md->get("favorite"); LOG(LogDebug) << "Favorite = "<< value; if (value.compare("false") == 0) { md->set("favorite", "true"); }else { md->set("favorite", "false"); } LOG(LogDebug) << "New Favorite value set to: "<< md->get("favorite"); updateInfoPanel(); } } }else if (config->isMappedTo("y", input)) { LOG(LogDebug) << "ISimpleGameListView::input(): y detected!"; FileData* cursor = getCursor(); if (cursor->getSystem()->getHasKidGames() && !mFilterHidden) // only when kidgames are supported by system+theme, and when in UImode=full { if (cursor->getType() == GAME) { mKidGameChange = true; MetaDataList* md = &cursor->metadata; std::string value = md->get("kidgame"); LOG(LogDebug) << "kidgame = "<< value; if (value.compare("false") == 0) { md->set("kidgame", "true"); } else { md->set("kidgame", "false"); } LOG(LogDebug) << "New kidgame value set to: "<< md->get("kidgame"); updateInfoPanel(); } } }else if(config->isMappedTo("right", input)) { if(Settings::getInstance()->getBool("QuickSystemSelect")) { onFocusLost(); if (mFavoriteChange || mKidGameChange) { ViewController::get()->setInvalidGamesList(getCursor()->getSystem()); mFavoriteChange = false; mKidGameChange = false; } ViewController::get()->goToNextGameList(mFilterHidden, mFilterFav, mFilterKid); return true; } }else if(config->isMappedTo("left", input)) { if(Settings::getInstance()->getBool("QuickSystemSelect")) { onFocusLost(); if (mFavoriteChange || mKidGameChange) { ViewController::get()->setInvalidGamesList(getCursor()->getSystem()); mFavoriteChange = false; mKidGameChange = false; } ViewController::get()->goToPrevGameList(mFilterHidden, mFilterFav, mFilterKid); return true; } } } return IGameListView::input(config, input); }
bool ISimpleGameListView::input(InputConfig* config, Input input) { if(input.value != 0) { if(config->isMappedTo("a", input)) { FileData* cursor = getCursor(); if(cursor->getType() == GAME) { //Sound::getFromTheme(getTheme(), getName(), "launch")->play(); launch(cursor); }else{ // it's a folder if(cursor->getChildren().size() > 0) { mCursorStack.push(cursor); populateList(cursor->getChildren()); } } return true; }else if(config->isMappedTo("b", input)) { if(mCursorStack.size()) { populateList(mCursorStack.top()->getParent()->getChildren()); setCursor(mCursorStack.top()); mCursorStack.pop(); //Sound::getFromTheme(getTheme(), getName(), "back")->play(); }else{ onFocusLost(); if (mFavoriteChange) { ViewController::get()->setInvalidGamesList(getCursor()->getSystem()); mFavoriteChange = false; } ViewController::get()->goToSystemView(getCursor()->getSystem()); } return true; }else if (config->isMappedTo("y", input)) { FileData* cursor = getCursor(); if (cursor->getSystem()->getHasFavorites()) { if (cursor->getType() == GAME) { mFavoriteChange = true; MetaDataList* md = &cursor->metadata; std::string value = md->get("favorite"); if (value.compare("no") == 0) { md->set("favorite", "yes"); } else { md->set("favorite", "no"); } FileData* cursor = getCursor(); populateList(cursor->getParent()->getChildren()); setCursor(cursor); updateInfoPanel(); } } }else if(config->isMappedTo("right", input)) { if(Settings::getInstance()->getBool("QuickSystemSelect")) { onFocusLost(); if (mFavoriteChange) { ViewController::get()->setInvalidGamesList(getCursor()->getSystem()); mFavoriteChange = false; } ViewController::get()->goToNextGameList(); return true; } }else if(config->isMappedTo("left", input)) { if(Settings::getInstance()->getBool("QuickSystemSelect")) { onFocusLost(); if (mFavoriteChange) { ViewController::get()->setInvalidGamesList(getCursor()->getSystem()); mFavoriteChange = false; } ViewController::get()->goToPrevGameList(); return true; } } } return IGameListView::input(config, input); }
void PlaylistOH::psl_insert_tracks(const MetaDataList& meta, int afteridx) { qDebug() << "PlaylistOH::psl_insert_tracks ntracks " << meta.size() << " afteridx" << afteridx; emit sig_insert_tracks(meta, afteridx); }
void PlaylistOH::psl_new_ohpl(const MetaDataList& mdv) { qDebug() << "PlaylistOH::psl_new_ohpl: " << mdv.size() << " entries"; m_meta = mdv; emit sig_playlist_updated(m_meta, m_play_idx, 0); }