blob: c4b1a334ebf841cc0960ca4b4ec0d6ad91890db8 (
plain)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
 | // SPDX-FileCopyrightText: 2016 Citra Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include <functional>
#include <memory>
#include <QDialog>
#include <QList>
#include <QWidget>
namespace Common {
struct UUID;
}
namespace Core {
class System;
}
class QGraphicsScene;
class QDialogButtonBox;
class QLabel;
class QStandardItem;
class QStandardItemModel;
class QTreeView;
class QVBoxLayout;
namespace Service::Account {
class ProfileManager;
}
namespace Ui {
class ConfigureProfileManager;
}
class ConfigureProfileManagerDeleteDialog : public QDialog {
public:
    explicit ConfigureProfileManagerDeleteDialog(QWidget* parent);
    ~ConfigureProfileManagerDeleteDialog();
    void SetInfo(const QString& username, const Common::UUID& uuid,
                 std::function<void()> accept_callback);
private:
    QDialogButtonBox* dialog_button_box;
    QGraphicsScene* icon_scene;
    QLabel* label_info;
};
class ConfigureProfileManager : public QWidget {
    Q_OBJECT
public:
    explicit ConfigureProfileManager(const Core::System& system_, QWidget* parent = nullptr);
    ~ConfigureProfileManager() override;
    void ApplyConfiguration();
private:
    void changeEvent(QEvent* event) override;
    void RetranslateUI();
    void SetConfiguration();
    void PopulateUserList();
    void UpdateCurrentUser();
    void SelectUser(const QModelIndex& index);
    void AddUser();
    void RenameUser();
    void ConfirmDeleteUser();
    void DeleteUser(const Common::UUID& uuid);
    void SetUserImage();
    QVBoxLayout* layout;
    QTreeView* tree_view;
    QStandardItemModel* item_model;
    QGraphicsScene* scene;
    ConfigureProfileManagerDeleteDialog* confirm_dialog;
    std::vector<QList<QStandardItem*>> list_items;
    std::unique_ptr<Ui::ConfigureProfileManager> ui;
    bool enabled = false;
    std::unique_ptr<Service::Account::ProfileManager> profile_manager;
    const Core::System& system;
};
 |