1 // Copyright 2020 yuzu Emulator Project 2 // Licensed under GPLv2 or any later version 3 // Refer to the license.txt file included. 4 5 #pragma once 6 7 #include <memory> 8 #include <vector> 9 10 #include <QDialog> 11 #include <QList> 12 13 #include "core/file_sys/vfs_types.h" 14 #include "yuzu/configuration/config.h" 15 16 class QGraphicsScene; 17 class QStandardItem; 18 class QStandardItemModel; 19 class QTreeView; 20 class QVBoxLayout; 21 22 namespace Ui { 23 class ConfigurePerGame; 24 } 25 26 class ConfigurePerGame : public QDialog { 27 Q_OBJECT 28 29 public: 30 explicit ConfigurePerGame(QWidget* parent, u64 title_id); 31 ~ConfigurePerGame() override; 32 33 /// Save all button configurations to settings file 34 void ApplyConfiguration(); 35 36 void LoadFromFile(FileSys::VirtualFile file); 37 38 private: 39 void changeEvent(QEvent* event) override; 40 void RetranslateUI(); 41 42 void LoadConfiguration(); 43 44 std::unique_ptr<Ui::ConfigurePerGame> ui; 45 FileSys::VirtualFile file; 46 u64 title_id; 47 48 QGraphicsScene* scene; 49 50 std::unique_ptr<Config> game_config; 51 }; 52