ES-DE/es-app/src/guis/GuiScraperStart.h

39 lines
1.1 KiB
C
Raw Normal View History

#pragma once
#include "GuiComponent.h"
#include "SystemData.h"
#include "scrapers/Scraper.h"
#include "components/MenuComponent.h"
#include <queue>
typedef std::function<bool(SystemData*, FileData*)> GameFilterFunc;
template<typename T>
class OptionListComponent;
class SwitchComponent;
//The starting point for a multi-game scrape.
//Allows the user to set various parameters (to set filters, to set which systems to scrape, to enable manual mode).
//Generates a list of "searches" that will be carried out by GuiScraperLog.
class GuiScraperStart : public GuiComponent
{
public:
GuiScraperStart(Window* window);
bool input(InputConfig* config, Input input) override;
virtual std::vector<HelpPrompt> getHelpPrompts() override;
private:
void pressedStart();
void start();
std::queue<ScraperSearchParams> getSearches(std::vector<SystemData*> systems, GameFilterFunc selector);
std::shared_ptr< OptionListComponent<GameFilterFunc> > mFilters;
std::shared_ptr< OptionListComponent<SystemData*> > mSystems;
std::shared_ptr<SwitchComponent> mApproveResults;
MenuComponent mMenu;
};