diff --git a/es-app/src/views/ViewController.cpp b/es-app/src/views/ViewController.cpp index 1c735c1ec..71866282a 100644 --- a/es-app/src/views/ViewController.cpp +++ b/es-app/src/views/ViewController.cpp @@ -75,6 +75,7 @@ ViewController::ViewController( mGameToLaunch(nullptr) { mState.viewing = NOTHING; + mState.viewstyle = AUTOMATIC; } ViewController::~ViewController() @@ -567,7 +568,7 @@ std::shared_ptr ViewController::getGameListView(SystemData* syste bool themeHasVideoView = system->getTheme()->hasView("video"); // Decide which view style to use. - GameListViewType selectedViewStyle = AUTOMATIC; + GameListViewStyle selectedViewStyle = AUTOMATIC; std::string viewPreference = Settings::getInstance()->getString("GamelistViewStyle"); if (viewPreference.compare("basic") == 0) @@ -599,19 +600,23 @@ std::shared_ptr ViewController::getGameListView(SystemData* syste case VIDEO: view = std::shared_ptr( new VideoGameListView(mWindow, system->getRootFolder())); + mState.viewstyle = VIDEO; break; case DETAILED: view = std::shared_ptr( new DetailedGameListView(mWindow, system->getRootFolder())); + mState.viewstyle = DETAILED; break; case GRID: view = std::shared_ptr( new GridGameListView(mWindow, system->getRootFolder())); + mState.viewstyle = GRID; break; case BASIC: default: view = std::shared_ptr( new BasicGameListView(mWindow, system->getRootFolder())); + mState.viewstyle = BASIC; break; } diff --git a/es-app/src/views/ViewController.h b/es-app/src/views/ViewController.h index eb09504c6..4c10f8337 100644 --- a/es-app/src/views/ViewController.h +++ b/es-app/src/views/ViewController.h @@ -74,7 +74,7 @@ public: GAME_LIST }; - enum GameListViewType { + enum GameListViewStyle { AUTOMATIC, BASIC, DETAILED, @@ -84,6 +84,7 @@ public: struct State { ViewMode viewing; + GameListViewStyle viewstyle; inline SystemData* getSystem() const { diff --git a/es-app/src/views/gamelist/BasicGameListView.cpp b/es-app/src/views/gamelist/BasicGameListView.cpp index 588f3177b..6fdfe9c61 100644 --- a/es-app/src/views/gamelist/BasicGameListView.cpp +++ b/es-app/src/views/gamelist/BasicGameListView.cpp @@ -269,14 +269,17 @@ std::vector BasicGameListView::getHelpPrompts() if (mRoot->getSystem()->getThemeFolder() == "custom-collections" && !CollectionSystemsManager::get()->isEditing() && mCursorStack.empty() && - ViewController::get()->getState().viewing == ViewController::GAME_LIST) { + ViewController::get()->getState().viewing == ViewController::GAME_LIST && + ViewController::get()->getState().viewstyle != ViewController::BASIC) { prompts.push_back(HelpPrompt("y", "jump to game")); } else if (mRoot->getSystem()->isGameSystem() && - !UIModeController::getInstance()->isUIModeKid() && - !UIModeController::getInstance()->isUIModeKiosk() && - (Settings::getInstance()->getBool("FavoritesAddButton") || - CollectionSystemsManager::get()->isEditing())) { + (mRoot->getSystem()->getThemeFolder() != "custom-collections" || + !mCursorStack.empty()) && + !UIModeController::getInstance()->isUIModeKid() && + !UIModeController::getInstance()->isUIModeKiosk() && + (Settings::getInstance()->getBool("FavoritesAddButton") || + CollectionSystemsManager::get()->isEditing())) { std::string prompt = CollectionSystemsManager::get()->getEditingCollection(); prompts.push_back(HelpPrompt("y", prompt)); } diff --git a/es-app/src/views/gamelist/GridGameListView.cpp b/es-app/src/views/gamelist/GridGameListView.cpp index 57d7d7ccd..fd27554b7 100644 --- a/es-app/src/views/gamelist/GridGameListView.cpp +++ b/es-app/src/views/gamelist/GridGameListView.cpp @@ -638,7 +638,9 @@ std::vector GridGameListView::getHelpPrompts() prompts.push_back(HelpPrompt("select", "options")); if (mRoot->getSystem()->isGameSystem()) prompts.push_back(HelpPrompt("x", "random")); - if (mRoot->getSystem()->isGameSystem() && !UIModeController::getInstance()->isUIModeKid()) { + if (mRoot->getSystem()->isGameSystem() && !UIModeController::getInstance()->isUIModeKid() && + (mRoot->getSystem()->getThemeFolder() != "custom-collections" || + !mCursorStack.empty())) { std::string prompt = CollectionSystemsManager::get()->getEditingCollection(); prompts.push_back(HelpPrompt("y", prompt)); } diff --git a/es-app/src/views/gamelist/IGameListView.h b/es-app/src/views/gamelist/IGameListView.h index 982f65ebc..b7591d1b2 100644 --- a/es-app/src/views/gamelist/IGameListView.h +++ b/es-app/src/views/gamelist/IGameListView.h @@ -20,13 +20,11 @@ class Window; class IGameListView : public GuiComponent { public: - IGameListView( - Window* window, - FileData* root) - : GuiComponent(window), - mRoot(root) - { setSize(static_cast(Renderer::getScreenWidth()), - static_cast(Renderer::getScreenHeight())); } + IGameListView(Window* window, FileData* root) : GuiComponent(window), mRoot(root) + { + setSize(static_cast(Renderer::getScreenWidth()), + static_cast(Renderer::getScreenHeight())); + } virtual ~IGameListView() {}