// Copyright 2015 Citra Emulator Project // Licensed under GPLv2 or any later version // Refer to the license.txt file included. #pragma once #include #include #include #include #include #include #include class GameListWorker; class GameList : public QWidget { Q_OBJECT public: enum { COLUMN_NAME, COLUMN_FILE_TYPE, COLUMN_SIZE, COLUMN_COUNT, // Number of columns }; explicit GameList(QWidget* parent = nullptr); ~GameList() override; void PopulateAsync(const QString& dir_path, bool deep_scan); void SaveInterfaceLayout(); void LoadInterfaceLayout(); signals: void GameChosen(QString game_path); void ShouldCancelWorker(); private: void AddEntry(const QList& entry_items); void ValidateEntry(const QModelIndex& item); void DonePopulating(); QTreeView* tree_view = nullptr; QStandardItemModel* item_model = nullptr; GameListWorker* current_worker = nullptr; };