From 4a23a17670a38f30c2ec22ba6e93286a4db47122 Mon Sep 17 00:00:00 2001 From: Relintai Date: Sun, 25 Feb 2024 22:40:07 +0100 Subject: [PATCH] Also use PROPERTY_HINT_BUTTON in UserManagerStatic instead of a bool. --- .../users/managers/user_manager_static.cpp | 30 ++++++++----------- modules/users/managers/user_manager_static.h | 5 ++-- 2 files changed, 15 insertions(+), 20 deletions(-) diff --git a/modules/users/managers/user_manager_static.cpp b/modules/users/managers/user_manager_static.cpp index 8d5ad33f3..00a8ccecd 100644 --- a/modules/users/managers/user_manager_static.cpp +++ b/modules/users/managers/user_manager_static.cpp @@ -146,22 +146,19 @@ void UserManagerStatic::set_create_user_password_bind(const String &val) { _create_user_password = val; } -bool UserManagerStatic::get_create_user_bind() { - return false; -} -void UserManagerStatic::set_create_user_bind(const bool val) { - if (val) { - Ref u = create_user(); +void UserManagerStatic::_editor_create_user_button(const StringName &p_property) { + Ref u = create_user(); - u->set_user_name(_create_user_name); - u->set_email(_create_user_email); - u->create_password(_create_user_password); - u->save(); + u->set_user_name(_create_user_name); + u->set_email(_create_user_email); + u->create_password(_create_user_password); + u->save(); - _create_user_password = ""; - _create_user_email = ""; - _create_user_name = ""; - } + _create_user_password = ""; + _create_user_email = ""; + _create_user_name = ""; + + property_list_changed_notify(); } UserManagerStatic::UserManagerStatic() { @@ -187,7 +184,6 @@ void UserManagerStatic::_bind_methods() { ClassDB::bind_method(D_METHOD("set_create_user_password", "val"), &UserManagerStatic::set_create_user_password_bind); ADD_PROPERTY(PropertyInfo(Variant::STRING, "create_user_password"), "set_create_user_password", "get_create_user_password"); - ClassDB::bind_method(D_METHOD("get_create_user"), &UserManagerStatic::get_create_user_bind); - ClassDB::bind_method(D_METHOD("set_create_user", "val"), &UserManagerStatic::set_create_user_bind); - ADD_PROPERTY(PropertyInfo(Variant::BOOL, "create_user"), "set_create_user", "get_create_user"); + ClassDB::bind_method(D_METHOD("_editor_create_user_button"), &UserManagerStatic::_editor_create_user_button); + ADD_PROPERTY(PropertyInfo(Variant::NIL, "create_user", PROPERTY_HINT_BUTTON, "_editor_create_user_button:Add/EditorIcons"), "", ""); } diff --git a/modules/users/managers/user_manager_static.h b/modules/users/managers/user_manager_static.h index ceacf73a2..b26a2b334 100644 --- a/modules/users/managers/user_manager_static.h +++ b/modules/users/managers/user_manager_static.h @@ -70,13 +70,12 @@ public: String get_create_user_password_bind(); void set_create_user_password_bind(const String &val); - bool get_create_user_bind(); - void set_create_user_bind(const bool val); - UserManagerStatic(); ~UserManagerStatic(); protected: + void _editor_create_user_button(const StringName &p_property); + static void _bind_methods(); Vector> _users;