// SPDX-FileCopyrightText: 2016 Citra Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once #include #include #include #include "core/file_sys/vfs_types.h" namespace Core { class System; } class QGraphicsScene; class QStandardItem; class QStandardItemModel; class QTreeView; class QVBoxLayout; namespace Ui { class ConfigurePerGameAddons; } class ConfigurePerGameAddons : public QWidget { Q_OBJECT public: explicit ConfigurePerGameAddons(Core::System& system_, QWidget* parent = nullptr); ~ConfigurePerGameAddons() override; /// Save all button configurations to settings file void ApplyConfiguration(); void LoadFromFile(FileSys::VirtualFile file_); void SetTitleId(u64 id); private: void changeEvent(QEvent* event) override; void RetranslateUI(); void LoadConfiguration(); std::unique_ptr ui; FileSys::VirtualFile file; u64 title_id; QVBoxLayout* layout; QTreeView* tree_view; QStandardItemModel* item_model; std::vector> list_items; Core::System& system; };