diff --git a/es-app/src/FileData.cpp b/es-app/src/FileData.cpp index c8409d4d5..798909ea3 100644 --- a/es-app/src/FileData.cpp +++ b/es-app/src/FileData.cpp @@ -83,28 +83,12 @@ const std::string& FileData::getThumbnailPath() const const std::string& FileData::getVideoPath() const { - if (mType == GAME) - { - return metadata.get("video"); - } - else - { - static std::string empty; - return empty; - } + return metadata.get("video"); } const std::string& FileData::getMarqueePath() const { - if (mType == GAME) - { - return metadata.get("marquee"); - } - else - { - static std::string empty; - return empty; - } + return metadata.get("marquee"); } diff --git a/es-app/src/MetaData.cpp b/es-app/src/MetaData.cpp index 1f9922823..8dd6426ef 100644 --- a/es-app/src/MetaData.cpp +++ b/es-app/src/MetaData.cpp @@ -25,10 +25,18 @@ MetaDataDecl gameDecls[] = { const std::vector gameMDD(gameDecls, gameDecls + sizeof(gameDecls) / sizeof(gameDecls[0])); MetaDataDecl folderDecls[] = { - {"name", MD_STRING, "", false}, - {"desc", MD_MULTILINE_STRING, "", false}, - {"image", MD_PATH, "", false}, - {"thumbnail", MD_PATH, "", false}, + {"name", MD_STRING, "", false, "name", "enter game name"}, + {"desc", MD_MULTILINE_STRING, "", false, "description", "enter description"}, + {"image", MD_PATH, "", false, "image", "enter path to image"}, + {"thumbnail", MD_PATH, "", false, "thumbnail", "enter path to thumbnail"}, + {"video", MD_PATH, "", false, "video", "enter path to video"}, + {"marquee", MD_PATH, "", false, "marquee", "enter path to marquee"}, + {"rating", MD_RATING, "0.000000", false, "rating", "enter rating"}, + {"releasedate", MD_DATE, "not-a-date-time", false, "release date", "enter release date"}, + {"developer", MD_STRING, "unknown", false, "developer", "enter game developer"}, + {"publisher", MD_STRING, "unknown", false, "publisher", "enter game publisher"}, + {"genre", MD_STRING, "unknown", false, "genre", "enter game genre"}, + {"players", MD_INT, "1", false, "players", "enter number of players"} }; const std::vector folderMDD(folderDecls, folderDecls + sizeof(folderDecls) / sizeof(folderDecls[0])); diff --git a/es-app/src/guis/GuiGamelistOptions.cpp b/es-app/src/guis/GuiGamelistOptions.cpp index cb8f45d68..cfa957469 100644 --- a/es-app/src/guis/GuiGamelistOptions.cpp +++ b/es-app/src/guis/GuiGamelistOptions.cpp @@ -74,10 +74,22 @@ void GuiGamelistOptions::openMetaDataEd() ScraperSearchParams p; p.game = file; p.system = file->getSystem(); - mWindow->pushGui(new GuiMetaDataEd(mWindow, &file->metadata, file->metadata.getMDD(), p, file->getPath().filename().string(), - std::bind(&IGameListView::onFileChanged, getGamelist(), file, FILE_METADATA_CHANGED), [this, file] { + + std::function deleteBtnFunc; + + if (file->getType() == FOLDER) + { + deleteBtnFunc = NULL; + } + else + { + deleteBtnFunc = [this, file] { getGamelist()->remove(file); - })); + }; + } + + mWindow->pushGui(new GuiMetaDataEd(mWindow, &file->metadata, file->metadata.getMDD(), p, file->getPath().filename().string(), + std::bind(&IGameListView::onFileChanged, getGamelist(), file, FILE_METADATA_CHANGED), deleteBtnFunc)); } void GuiGamelistOptions::jumpToLetter() diff --git a/es-app/src/views/gamelist/DetailedGameListView.cpp b/es-app/src/views/gamelist/DetailedGameListView.cpp index de1611014..d042352bc 100644 --- a/es-app/src/views/gamelist/DetailedGameListView.cpp +++ b/es-app/src/views/gamelist/DetailedGameListView.cpp @@ -192,14 +192,15 @@ void DetailedGameListView::updateInfoPanel() mDescription.setText(file->metadata.get("desc")); mDescContainer.reset(); + mRating.setValue(file->metadata.get("rating")); + mReleaseDate.setValue(file->metadata.get("releasedate")); + mDeveloper.setValue(file->metadata.get("developer")); + mPublisher.setValue(file->metadata.get("publisher")); + mGenre.setValue(file->metadata.get("genre")); + mPlayers.setValue(file->metadata.get("players")); + if(file->getType() == GAME) { - mRating.setValue(file->metadata.get("rating")); - mReleaseDate.setValue(file->metadata.get("releasedate")); - mDeveloper.setValue(file->metadata.get("developer")); - mPublisher.setValue(file->metadata.get("publisher")); - mGenre.setValue(file->metadata.get("genre")); - mPlayers.setValue(file->metadata.get("players")); mLastPlayed.setValue(file->metadata.get("lastplayed")); mPlayCount.setValue(file->metadata.get("playcount")); } diff --git a/es-app/src/views/gamelist/VideoGameListView.cpp b/es-app/src/views/gamelist/VideoGameListView.cpp index a12e3fddf..bb4bf3b5b 100644 --- a/es-app/src/views/gamelist/VideoGameListView.cpp +++ b/es-app/src/views/gamelist/VideoGameListView.cpp @@ -258,14 +258,15 @@ void VideoGameListView::updateInfoPanel() mDescription.setText(file->metadata.get("desc")); mDescContainer.reset(); + mRating.setValue(file->metadata.get("rating")); + mReleaseDate.setValue(file->metadata.get("releasedate")); + mDeveloper.setValue(file->metadata.get("developer")); + mPublisher.setValue(file->metadata.get("publisher")); + mGenre.setValue(file->metadata.get("genre")); + mPlayers.setValue(file->metadata.get("players")); + if(file->getType() == GAME) { - mRating.setValue(file->metadata.get("rating")); - mReleaseDate.setValue(file->metadata.get("releasedate")); - mDeveloper.setValue(file->metadata.get("developer")); - mPublisher.setValue(file->metadata.get("publisher")); - mGenre.setValue(file->metadata.get("genre")); - mPlayers.setValue(file->metadata.get("players")); mLastPlayed.setValue(file->metadata.get("lastplayed")); mPlayCount.setValue(file->metadata.get("playcount")); }