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

68 lines
1.8 KiB
C
Raw Normal View History

// SPDX-License-Identifier: MIT
//
// EmulationStation Desktop Edition
// GuiGamelistOptions.h
//
// Gamelist options menu for the 'Jump to...' quick selector,
// game sorting, game filters, and metadata edit.
//
// The filter interface is covered by GuiGamelistFilter and the
// metadata edit interface is covered by GuiMetaDataEd.
//
#ifndef ES_APP_GUIS_GUI_GAME_LIST_OPTIONS_H
#define ES_APP_GUIS_GUI_GAME_LIST_OPTIONS_H
#include "components/MenuComponent.h"
#include "components/OptionListComponent.h"
#include "utils/StringUtil.h"
2017-11-01 22:21:10 +00:00
#include "FileData.h"
#include "GuiComponent.h"
class IGameListView;
2017-11-01 22:21:10 +00:00
class SystemData;
class GuiGamelistOptions : public GuiComponent
{
public:
GuiGamelistOptions(Window* window, SystemData* system);
virtual ~GuiGamelistOptions();
virtual bool input(InputConfig* config, Input input) override;
virtual std::vector<HelpPrompt> getHelpPrompts() override;
virtual HelpStyle getHelpStyle() override;
private:
void openGamelistFilter();
void openMetaDataEd();
void startEditMode();
void exitEditMode();
void jumpToLetter();
void jumpToFirstRow();
MenuComponent mMenu;
typedef OptionListComponent<std::string> LetterList;
std::shared_ptr<LetterList> mJumpToLetterList;
typedef OptionListComponent<const FileData::SortType*> SortList;
std::shared_ptr<SortList> mListSort;
SystemData* mSystem;
IGameListView* getGamelist();
bool mFoldersOnTop;
bool mFavoritesSorting;
bool mOnlyHasFolders;
bool mFromPlaceholder;
bool mFiltersChanged;
bool mCancelled;
bool mIsCustomCollection;
bool mIsCustomCollectionGroup;
SystemData* mCustomCollectionSystem;
std::vector<std::string> mFirstLetterIndex;
std::string mCurrentFirstCharacter;
};
#endif // ES_APP_GUIS_GUI_GAME_LIST_OPTIONS_H