diff options
author | lat9nq <22451773+lat9nq@users.noreply.github.com> | 2022-11-15 17:57:01 -0500 |
---|---|---|
committer | lat9nq <22451773+lat9nq@users.noreply.github.com> | 2022-11-15 18:11:56 -0500 |
commit | ef5184cf1cddffbd5f10657e3e6bf7c957ddd628 (patch) | |
tree | e6951a27a89e121c23e9760fe47654d8ab49699f /src/yuzu/configuration/configure_profile_manager.h | |
parent | 9e27624a19a80bbefa65706c4be52f07a7ead3ac (diff) |
configure_profile_manager: Use a custom dialog for deletion
A hopefully more informative dialog that most importantly notifies the
user that their saves will be deleted with the user profile.
cpm: Only keep track of UI elements that we need
cpm: Remove unused forward declarations
cpm: Add missing include
Diffstat (limited to 'src/yuzu/configuration/configure_profile_manager.h')
-rw-r--r-- | src/yuzu/configuration/configure_profile_manager.h | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/src/yuzu/configuration/configure_profile_manager.h b/src/yuzu/configuration/configure_profile_manager.h index fe9033779..6e5cb748d 100644 --- a/src/yuzu/configuration/configure_profile_manager.h +++ b/src/yuzu/configuration/configure_profile_manager.h @@ -3,16 +3,22 @@ #pragma once +#include <functional> #include <memory> +#include <QDialog> #include <QList> #include <QWidget> +#include "common/uuid.h" + namespace Core { class System; } class QGraphicsScene; +class QDialogButtonBox; +class QLabel; class QStandardItem; class QStandardItemModel; class QTreeView; @@ -26,6 +32,20 @@ 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 @@ -47,7 +67,8 @@ private: void SelectUser(const QModelIndex& index); void AddUser(); void RenameUser(); - void DeleteUser(); + void ConfirmDeleteUser(); + void DeleteUser(const Common::UUID uuid); void SetUserImage(); QVBoxLayout* layout; @@ -55,6 +76,8 @@ private: QStandardItemModel* item_model; QGraphicsScene* scene; + std::unique_ptr<ConfigureProfileManagerDeleteDialog> confirm_dialog; + std::vector<QList<QStandardItem*>> list_items; std::unique_ptr<Ui::ConfigureProfileManager> ui; |