configure_profile_manager.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. // Copyright 2016 Citra Emulator Project
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #pragma once
  5. #include <memory>
  6. #include <QList>
  7. #include <QWidget>
  8. class QGraphicsScene;
  9. class QStandardItem;
  10. class QStandardItemModel;
  11. class QTreeView;
  12. class QVBoxLayout;
  13. namespace Service::Account {
  14. class ProfileManager;
  15. }
  16. namespace Ui {
  17. class ConfigureProfileManager;
  18. }
  19. class ConfigureProfileManager : public QWidget {
  20. Q_OBJECT
  21. public:
  22. explicit ConfigureProfileManager(QWidget* parent = nullptr);
  23. ~ConfigureProfileManager() override;
  24. void ApplyConfiguration();
  25. private:
  26. void changeEvent(QEvent* event) override;
  27. void RetranslateUI();
  28. void SetConfiguration();
  29. void PopulateUserList();
  30. void UpdateCurrentUser();
  31. void SelectUser(const QModelIndex& index);
  32. void AddUser();
  33. void RenameUser();
  34. void DeleteUser();
  35. void SetUserImage();
  36. QVBoxLayout* layout;
  37. QTreeView* tree_view;
  38. QStandardItemModel* item_model;
  39. QGraphicsScene* scene;
  40. std::vector<QList<QStandardItem*>> list_items;
  41. std::unique_ptr<Ui::ConfigureProfileManager> ui;
  42. bool enabled = false;
  43. std::unique_ptr<Service::Account::ProfileManager> profile_manager;
  44. };