mirror of
https://github.com/godotengine/godot.git
synced 2024-11-27 09:16:35 +08:00
Merge pull request #25708 from SeleckyErik/issue-25611-script_dialog_cursor
Moves cursor to and selects "new_script" in Create Script dialog
This commit is contained in:
commit
8a7cf6f0d1
@ -52,6 +52,22 @@ void ScriptCreateDialog::_notification(int p_what) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ScriptCreateDialog::_path_hbox_sorted() {
|
||||||
|
if (is_visible()) {
|
||||||
|
int filename_start_pos = initial_bp.find_last("/") + 1;
|
||||||
|
int filename_end_pos = initial_bp.length();
|
||||||
|
|
||||||
|
file_path->select(filename_start_pos, filename_end_pos);
|
||||||
|
|
||||||
|
// First set cursor to the end of line to scroll LineEdit view
|
||||||
|
// to the right and then set the actual cursor position.
|
||||||
|
file_path->set_cursor_position(file_path->get_text().length());
|
||||||
|
file_path->set_cursor_position(filename_start_pos);
|
||||||
|
|
||||||
|
file_path->grab_focus();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool ScriptCreateDialog::_can_be_built_in() {
|
bool ScriptCreateDialog::_can_be_built_in() {
|
||||||
return (supports_built_in && built_in_enabled);
|
return (supports_built_in && built_in_enabled);
|
||||||
}
|
}
|
||||||
@ -604,6 +620,7 @@ void ScriptCreateDialog::_update_dialog() {
|
|||||||
|
|
||||||
void ScriptCreateDialog::_bind_methods() {
|
void ScriptCreateDialog::_bind_methods() {
|
||||||
|
|
||||||
|
ClassDB::bind_method("_path_hbox_sorted", &ScriptCreateDialog::_path_hbox_sorted);
|
||||||
ClassDB::bind_method("_class_name_changed", &ScriptCreateDialog::_class_name_changed);
|
ClassDB::bind_method("_class_name_changed", &ScriptCreateDialog::_class_name_changed);
|
||||||
ClassDB::bind_method("_parent_name_changed", &ScriptCreateDialog::_parent_name_changed);
|
ClassDB::bind_method("_parent_name_changed", &ScriptCreateDialog::_parent_name_changed);
|
||||||
ClassDB::bind_method("_lang_changed", &ScriptCreateDialog::_lang_changed);
|
ClassDB::bind_method("_lang_changed", &ScriptCreateDialog::_lang_changed);
|
||||||
@ -786,6 +803,7 @@ ScriptCreateDialog::ScriptCreateDialog() {
|
|||||||
/* Path */
|
/* Path */
|
||||||
|
|
||||||
hb = memnew(HBoxContainer);
|
hb = memnew(HBoxContainer);
|
||||||
|
hb->connect("sort_children", this, "_path_hbox_sorted");
|
||||||
file_path = memnew(LineEdit);
|
file_path = memnew(LineEdit);
|
||||||
file_path->connect("text_changed", this, "_path_changed");
|
file_path->connect("text_changed", this, "_path_changed");
|
||||||
file_path->connect("text_entered", this, "_path_entered");
|
file_path->connect("text_entered", this, "_path_entered");
|
||||||
|
@ -80,6 +80,7 @@ class ScriptCreateDialog : public ConfirmationDialog {
|
|||||||
Vector<String> template_list;
|
Vector<String> template_list;
|
||||||
String base_type;
|
String base_type;
|
||||||
|
|
||||||
|
void _path_hbox_sorted();
|
||||||
bool _can_be_built_in();
|
bool _can_be_built_in();
|
||||||
void _path_changed(const String &p_path = String());
|
void _path_changed(const String &p_path = String());
|
||||||
void _path_entered(const String &p_path = String());
|
void _path_entered(const String &p_path = String());
|
||||||
|
Loading…
Reference in New Issue
Block a user