Allow to name built-in scripts upon creation
This commit is contained in:
parent
78931aa040
commit
64a2681cf0
|
@ -315,7 +315,9 @@ void ScriptCreateDialog::_create_new() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!is_built_in) {
|
if (is_built_in) {
|
||||||
|
scr->set_name(internal_name->get_text());
|
||||||
|
} else {
|
||||||
String lpath = ProjectSettings::get_singleton()->localize_path(file_path->get_text());
|
String lpath = ProjectSettings::get_singleton()->localize_path(file_path->get_text());
|
||||||
scr->set_path(lpath);
|
scr->set_path(lpath);
|
||||||
Error err = ResourceSaver::save(lpath, scr, ResourceSaver::FLAG_CHANGE_PATH);
|
Error err = ResourceSaver::save(lpath, scr, ResourceSaver::FLAG_CHANGE_PATH);
|
||||||
|
@ -686,6 +688,11 @@ void ScriptCreateDialog::_update_dialog() {
|
||||||
|
|
||||||
builtin_warning_label->set_visible(is_built_in);
|
builtin_warning_label->set_visible(is_built_in);
|
||||||
|
|
||||||
|
path_controls[0]->set_visible(!is_built_in);
|
||||||
|
path_controls[1]->set_visible(!is_built_in);
|
||||||
|
name_controls[0]->set_visible(is_built_in);
|
||||||
|
name_controls[1]->set_visible(is_built_in);
|
||||||
|
|
||||||
// Check if the script name is the same as the parent class.
|
// Check if the script name is the same as the parent class.
|
||||||
// This warning isn't relevant if the script is built-in.
|
// This warning isn't relevant if the script is built-in.
|
||||||
script_name_warning_label->set_visible(!is_built_in && _get_class_name() == parent_name->get_text());
|
script_name_warning_label->set_visible(!is_built_in && _get_class_name() == parent_name->get_text());
|
||||||
|
@ -868,9 +875,24 @@ ScriptCreateDialog::ScriptCreateDialog() {
|
||||||
path_button = memnew(Button);
|
path_button = memnew(Button);
|
||||||
path_button->connect("pressed", callable_mp(this, &ScriptCreateDialog::_browse_path), varray(false, true));
|
path_button->connect("pressed", callable_mp(this, &ScriptCreateDialog::_browse_path), varray(false, true));
|
||||||
hb->add_child(path_button);
|
hb->add_child(path_button);
|
||||||
gc->add_child(memnew(Label(TTR("Path:"))));
|
Label *label = memnew(Label(TTR("Path:")));
|
||||||
|
gc->add_child(label);
|
||||||
gc->add_child(hb);
|
gc->add_child(hb);
|
||||||
re_check_path = false;
|
re_check_path = false;
|
||||||
|
path_controls[0] = label;
|
||||||
|
path_controls[1] = hb;
|
||||||
|
|
||||||
|
/* Name */
|
||||||
|
|
||||||
|
internal_name = memnew(LineEdit);
|
||||||
|
internal_name->set_h_size_flags(Control::SIZE_EXPAND_FILL);
|
||||||
|
label = memnew(Label(TTR("Name:")));
|
||||||
|
gc->add_child(label);
|
||||||
|
gc->add_child(internal_name);
|
||||||
|
name_controls[0] = label;
|
||||||
|
name_controls[1] = internal_name;
|
||||||
|
label->hide();
|
||||||
|
internal_name->hide();
|
||||||
|
|
||||||
/* Dialog Setup */
|
/* Dialog Setup */
|
||||||
|
|
||||||
|
|
|
@ -57,6 +57,7 @@ class ScriptCreateDialog : public ConfirmationDialog {
|
||||||
OptionButton *language_menu;
|
OptionButton *language_menu;
|
||||||
OptionButton *template_menu;
|
OptionButton *template_menu;
|
||||||
LineEdit *file_path;
|
LineEdit *file_path;
|
||||||
|
LineEdit *internal_name;
|
||||||
Button *path_button;
|
Button *path_button;
|
||||||
EditorFileDialog *file_browse;
|
EditorFileDialog *file_browse;
|
||||||
CheckBox *internal;
|
CheckBox *internal;
|
||||||
|
@ -81,6 +82,9 @@ class ScriptCreateDialog : public ConfirmationDialog {
|
||||||
int default_language;
|
int default_language;
|
||||||
bool re_check_path;
|
bool re_check_path;
|
||||||
|
|
||||||
|
Control *path_controls[2];
|
||||||
|
Control *name_controls[2];
|
||||||
|
|
||||||
enum ScriptOrigin {
|
enum ScriptOrigin {
|
||||||
SCRIPT_ORIGIN_PROJECT,
|
SCRIPT_ORIGIN_PROJECT,
|
||||||
SCRIPT_ORIGIN_EDITOR,
|
SCRIPT_ORIGIN_EDITOR,
|
||||||
|
|
Loading…
Reference in New Issue