// SPDX-License-Identifier: MIT // // ES-DE Frontend // GuiScraperMulti.h // // Multiple game scraping user interface. // Shows the progress for the scraping as it's running. // This interface is triggered from GuiScraperMenu. // GuiScraperSearch is called from here. // #ifndef ES_APP_GUIS_GUI_SCRAPER_MULTI_H #define ES_APP_GUIS_GUI_SCRAPER_MULTI_H #include "GuiComponent.h" #include "MetaData.h" #include "components/ComponentGrid.h" #include "components/NinePatchComponent.h" #include "components/ScrollIndicatorComponent.h" #include "scrapers/Scraper.h" #include "views/ViewController.h" class GuiScraperSearch; class TextComponent; class GuiScraperMulti : public GuiComponent { public: GuiScraperMulti( const std::pair, std::map>& searches, bool approveResults); virtual ~GuiScraperMulti(); void onSizeChanged() override; std::vector getHelpPrompts() override; HelpStyle getHelpStyle() override { return ViewController::getInstance()->getViewHelpStyle(); } private: void acceptResult(const ScraperSearchResult& result); void skip(); void doNextSearch(); void finish(); Renderer* mRenderer; NinePatchComponent mBackground; ComponentGrid mGrid; std::shared_ptr mTitle; std::shared_ptr mScrollUp; std::shared_ptr mScrollDown; std::shared_ptr mScrollIndicator; std::shared_ptr mSystem; std::shared_ptr mSubtitle; std::shared_ptr mSearchComp; std::shared_ptr mButtonGrid; std::shared_ptr mResultList; std::queue mSearchQueue; std::map> mQueueCountPerSystem; std::vector mMetaDataDecl; unsigned int mTotalGames; unsigned int mCurrentGame; unsigned int mTotalSuccessful; unsigned int mTotalSkipped; bool mApproveResults; }; #endif // ES_APP_GUIS_GUI_SCRAPER_MULTI_H