Skip to content

Commit

Permalink
Merge pull request #54579 from KoBeWi/your_name
Browse files Browse the repository at this point in the history
  • Loading branch information
akien-mga authored Nov 20, 2021
2 parents be16eb6 + 64a2681 commit 4ea87f3
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 2 deletions.
26 changes: 24 additions & 2 deletions editor/script_create_dialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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());
scr->set_path(lpath);
Error err = ResourceSaver::save(lpath, scr, ResourceSaver::FLAG_CHANGE_PATH);
Expand Down Expand Up @@ -686,6 +688,11 @@ void ScriptCreateDialog::_update_dialog() {

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.
// 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());
Expand Down Expand Up @@ -868,9 +875,24 @@ ScriptCreateDialog::ScriptCreateDialog() {
path_button = memnew(Button);
path_button->connect("pressed", callable_mp(this, &ScriptCreateDialog::_browse_path), varray(false, true));
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);
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 */

Expand Down
4 changes: 4 additions & 0 deletions editor/script_create_dialog.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ class ScriptCreateDialog : public ConfirmationDialog {
OptionButton *language_menu;
OptionButton *template_menu;
LineEdit *file_path;
LineEdit *internal_name;
Button *path_button;
EditorFileDialog *file_browse;
CheckBox *internal;
Expand All @@ -81,6 +82,9 @@ class ScriptCreateDialog : public ConfirmationDialog {
int default_language;
bool re_check_path;

Control *path_controls[2];
Control *name_controls[2];

enum ScriptOrigin {
SCRIPT_ORIGIN_PROJECT,
SCRIPT_ORIGIN_EDITOR,
Expand Down

0 comments on commit 4ea87f3

Please sign in to comment.