Hide Control focus when given via mouse input
This commit is contained in:
@ -29,6 +29,7 @@
|
||||
/**************************************************************************/
|
||||
|
||||
#include "control.h"
|
||||
#include "control.compat.inc"
|
||||
|
||||
#include "container.h"
|
||||
#include "core/config/project_settings.h"
|
||||
@ -2315,12 +2316,12 @@ void Control::_propagate_focus_behavior_recursive_recursively(bool p_enabled, bo
|
||||
}
|
||||
}
|
||||
|
||||
bool Control::has_focus() const {
|
||||
bool Control::has_focus(bool p_ignore_hidden_focus) const {
|
||||
ERR_READ_THREAD_GUARD_V(false);
|
||||
return is_inside_tree() && get_viewport()->_gui_control_has_focus(this);
|
||||
return is_inside_tree() && get_viewport()->_gui_control_has_focus(this, p_ignore_hidden_focus);
|
||||
}
|
||||
|
||||
void Control::grab_focus() {
|
||||
void Control::grab_focus(bool p_hide_focus) {
|
||||
ERR_MAIN_THREAD_GUARD;
|
||||
ERR_FAIL_COND(!is_inside_tree());
|
||||
|
||||
@ -2329,7 +2330,7 @@ void Control::grab_focus() {
|
||||
return;
|
||||
}
|
||||
|
||||
get_viewport()->_gui_control_grab_focus(this);
|
||||
get_viewport()->_gui_control_grab_focus(this, p_hide_focus);
|
||||
}
|
||||
|
||||
void Control::grab_click_focus() {
|
||||
@ -4002,8 +4003,8 @@ void Control::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("get_focus_mode_with_override"), &Control::get_focus_mode_with_override);
|
||||
ClassDB::bind_method(D_METHOD("set_focus_behavior_recursive", "focus_behavior_recursive"), &Control::set_focus_behavior_recursive);
|
||||
ClassDB::bind_method(D_METHOD("get_focus_behavior_recursive"), &Control::get_focus_behavior_recursive);
|
||||
ClassDB::bind_method(D_METHOD("has_focus"), &Control::has_focus);
|
||||
ClassDB::bind_method(D_METHOD("grab_focus"), &Control::grab_focus);
|
||||
ClassDB::bind_method(D_METHOD("has_focus", "ignore_hidden_focus"), &Control::has_focus, DEFVAL(false));
|
||||
ClassDB::bind_method(D_METHOD("grab_focus", "hide_focus"), &Control::grab_focus, DEFVAL(false));
|
||||
ClassDB::bind_method(D_METHOD("release_focus"), &Control::release_focus);
|
||||
ClassDB::bind_method(D_METHOD("find_prev_valid_focus"), &Control::find_prev_valid_focus);
|
||||
ClassDB::bind_method(D_METHOD("find_next_valid_focus"), &Control::find_next_valid_focus);
|
||||
|
||||
Reference in New Issue
Block a user