From 9427e27e24a7135880ee2881c3c44988e174b41a Mon Sep 17 00:00:00 2001 From: Zephyron Date: Tue, 31 Dec 2024 16:19:25 +1000 Subject: chore: update project branding to citron --- .../configuration/configure_profile_manager.h | 90 ++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 src/citron/configuration/configure_profile_manager.h (limited to 'src/citron/configuration/configure_profile_manager.h') diff --git a/src/citron/configuration/configure_profile_manager.h b/src/citron/configuration/configure_profile_manager.h new file mode 100644 index 000000000..39560fdd9 --- /dev/null +++ b/src/citron/configuration/configure_profile_manager.h @@ -0,0 +1,90 @@ +// SPDX-FileCopyrightText: 2016 Citra Emulator Project +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include +#include + +#include +#include +#include + +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 accept_callback); + +private: + QDialogButtonBox* dialog_button_box; + QGraphicsScene* icon_scene; + QLabel* label_info; +}; + +class ConfigureProfileManager : public QWidget { + Q_OBJECT + +public: + explicit ConfigureProfileManager(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> list_items; + + std::unique_ptr ui; + bool enabled = false; + + Service::Account::ProfileManager& profile_manager; + const Core::System& system; +}; -- cgit v1.2.3