// SPDX-License-Identifier: MIT // // EmulationStation Desktop Edition // GuiCollectionSystemsOptions.h // // User interface for the game collection settings. // Submenu to the GuiMenu main menu. // #ifndef ES_APP_GUIS_GUI_COLLECTION_SYSTEM_OPTIONS_H #define ES_APP_GUIS_GUI_COLLECTION_SYSTEM_OPTIONS_H #include "components/MenuComponent.h" template class OptionListComponent; class SwitchComponent; class SystemData; class GuiCollectionSystemsOptions : public GuiComponent { public: GuiCollectionSystemsOptions(Window* window); ~GuiCollectionSystemsOptions(); bool input(InputConfig* config, Input input) override; virtual std::vector getHelpPrompts() override; HelpStyle getHelpStyle() override; private: void initializeMenu(); void applySettings(); void addSystemsToMenu(); void addEntry(const char* name, unsigned int color, bool add_arrow, const std::function& func); void updateSettings(std::string newAutoSettings, std::string newCustomSettings); void createCollection(std::string inName); void exitEditMode(); std::shared_ptr> autoOptionList; std::shared_ptr> customOptionList; std::shared_ptr bundleCustomCollections; std::shared_ptr sortFavFirstCustomSwitch; std::shared_ptr favoriteStarCustomSwitch; std::shared_ptr toggleSystemNameInCollections; MenuComponent mMenu; SystemData* mSystem; }; #endif // ES_APP_GUIS_GUI_COLLECTION_SYSTEM_OPTIONS_H