summaryrefslogtreecommitdiff
path: root/editor
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <remi@verschelde.fr>2021-10-18 10:43:23 +0200
committerGitHub <noreply@github.com>2021-10-18 10:43:23 +0200
commit95ff49265b420cdbf1f8e3f252477bfd8cd4137f (patch)
treed16e16cbb9aa736e9a7dcd1da70857cfc50a448b /editor
parent850394bc076274ccf0e4ec0eafa67ae1bdf494e5 (diff)
parentf2943eec72c9dbd182a17ccdab1d99809382b4e9 (diff)
Merge pull request #53936 from jmb462/fix-plugin-create-dialog
Diffstat (limited to 'editor')
-rw-r--r--editor/plugin_config_dialog.cpp8
-rw-r--r--editor/plugin_config_dialog.h1
2 files changed, 9 insertions, 0 deletions
diff --git a/editor/plugin_config_dialog.cpp b/editor/plugin_config_dialog.cpp
index a3ff312497..91ca1465df 100644
--- a/editor/plugin_config_dialog.cpp
+++ b/editor/plugin_config_dialog.cpp
@@ -124,6 +124,10 @@ void PluginConfigDialog::_on_cancelled() {
_clear_fields();
}
+void PluginConfigDialog::_on_language_changed(const int) {
+ _on_required_text_changed(String());
+}
+
void PluginConfigDialog::_on_required_text_changed(const String &) {
int lang_idx = script_option_edit->get_selected();
String ext = ScriptServer::get_language(lang_idx)->get_extension();
@@ -161,6 +165,9 @@ void PluginConfigDialog::_on_required_text_changed(const String &) {
is_valid = false;
subfolder_validation->set_texture(invalid_icon);
subfolder_validation->set_tooltip(TTR("Subfolder cannot be blank."));
+ } else if (!subfolder_edit->get_text().is_valid_filename()) {
+ subfolder_validation->set_texture(invalid_icon);
+ subfolder_validation->set_tooltip(TTR("Subfolder name is not a valid folder name."));
} else {
DirAccessRef dir = DirAccess::create(DirAccess::ACCESS_RESOURCES);
String path = "res://addons/" + subfolder_edit->get_text();
@@ -330,6 +337,7 @@ PluginConfigDialog::PluginConfigDialog() {
}
script_option_edit->select(default_lang);
grid->add_child(script_option_edit);
+ script_option_edit->connect("item_selected", callable_mp(this, &PluginConfigDialog::_on_language_changed));
// Plugin Script Name
Label *script_lb = memnew(Label);
diff --git a/editor/plugin_config_dialog.h b/editor/plugin_config_dialog.h
index ad5b96735f..45fcdb6b6e 100644
--- a/editor/plugin_config_dialog.h
+++ b/editor/plugin_config_dialog.h
@@ -59,6 +59,7 @@ class PluginConfigDialog : public ConfirmationDialog {
void _clear_fields();
void _on_confirmed();
void _on_cancelled();
+ void _on_language_changed(const int p_language);
void _on_required_text_changed(const String &p_text);
static String _to_absolute_plugin_path(const String &p_plugin_name);