diff options
Diffstat (limited to 'editor')
-rw-r--r-- | editor/SCsub | 14 | ||||
-rw-r--r-- | editor/create_dialog.cpp | 2 | ||||
-rw-r--r-- | editor/editor_autoload_settings.cpp | 4 | ||||
-rw-r--r-- | editor/editor_file_system.cpp | 2 | ||||
-rw-r--r-- | editor/editor_node.cpp | 2 | ||||
-rw-r--r-- | editor/editor_settings.cpp | 26 | ||||
-rw-r--r-- | editor/editor_settings.h | 6 | ||||
-rw-r--r-- | editor/import_dock.cpp | 4 | ||||
-rw-r--r-- | editor/plugins/canvas_item_editor_plugin.cpp | 14 | ||||
-rw-r--r-- | editor/plugins/canvas_item_editor_plugin.h | 1 | ||||
-rw-r--r-- | editor/project_export.cpp | 2 | ||||
-rw-r--r-- | editor/project_manager.cpp | 2 | ||||
-rw-r--r-- | editor/project_settings_editor.cpp | 26 | ||||
-rw-r--r-- | editor/settings_config_dialog.cpp | 2 |
14 files changed, 60 insertions, 47 deletions
diff --git a/editor/SCsub b/editor/SCsub index 11cdb471a8..e44b4e4bb2 100644 --- a/editor/SCsub +++ b/editor/SCsub @@ -4,18 +4,8 @@ Import('env') env.editor_sources = [] import os -from compat import encode_utf8, byte_to_str, open_utf8 - -def escape_string(s, encoding='ascii'): - if isinstance(s, unicode): - s = s.encode(encoding) - result = '' - for c in s: - if not (32 <= ord(c) < 127) or c in ('\\', '"'): - result += '\\%03o' % ord(c) - else: - result += c - return result +from compat import encode_utf8, byte_to_str, open_utf8, escape_string + def make_certs_header(target, source, env): diff --git a/editor/create_dialog.cpp b/editor/create_dialog.cpp index ca68d84abd..520bf480fd 100644 --- a/editor/create_dialog.cpp +++ b/editor/create_dialog.cpp @@ -83,7 +83,7 @@ void CreateDialog::popup_create(bool p_dontclear) { _update_favorite_list(); // Restore valid window bounds or pop up at default size. - if (EditorSettings::get_singleton()->has("interface/dialogs/create_new_node_bounds")) { + if (EditorSettings::get_singleton()->has_setting("interface/dialogs/create_new_node_bounds")) { popup(EditorSettings::get_singleton()->get("interface/dialogs/create_new_node_bounds")); } else { popup_centered_ratio(); diff --git a/editor/editor_autoload_settings.cpp b/editor/editor_autoload_settings.cpp index efa9572bf5..ae7ed7ce61 100644 --- a/editor/editor_autoload_settings.cpp +++ b/editor/editor_autoload_settings.cpp @@ -117,7 +117,7 @@ void EditorAutoloadSettings::_autoload_add() { undo_redo->create_action(TTR("Add AutoLoad")); undo_redo->add_do_property(ProjectSettings::get_singleton(), name, "*" + path); - if (ProjectSettings::get_singleton()->has(name)) { + if (ProjectSettings::get_singleton()->has_setting(name)) { undo_redo->add_undo_property(ProjectSettings::get_singleton(), name, ProjectSettings::get_singleton()->get(name)); } else { undo_redo->add_undo_property(ProjectSettings::get_singleton(), name, Variant()); @@ -169,7 +169,7 @@ void EditorAutoloadSettings::_autoload_edited() { return; } - if (ProjectSettings::get_singleton()->has("autoload/" + name)) { + if (ProjectSettings::get_singleton()->has_setting("autoload/" + name)) { ti->set_text(0, old_name); EditorNode::get_singleton()->show_warning(vformat(TTR("Autoload '%s' already exists!"), name)); return; diff --git a/editor/editor_file_system.cpp b/editor/editor_file_system.cpp index 481f2a8179..4ae786391b 100644 --- a/editor/editor_file_system.cpp +++ b/editor/editor_file_system.cpp @@ -1383,7 +1383,7 @@ void EditorFileSystem::_reimport_file(const String &p_file) { } } - if (load_default && ProjectSettings::get_singleton()->has("importer_defaults/" + importer->get_importer_name())) { + if (load_default && ProjectSettings::get_singleton()->has_setting("importer_defaults/" + importer->get_importer_name())) { //use defaults if exist Dictionary d = ProjectSettings::get_singleton()->get("importer_defaults/" + importer->get_importer_name()); List<Variant> v; diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index ea42ff7fad..ff415c83f1 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -5614,7 +5614,7 @@ EditorNode::EditorNode() { { _initializing_addons = true; Vector<String> addons; - if (ProjectSettings::get_singleton()->has("editor_plugins/enabled")) { + if (ProjectSettings::get_singleton()->has_setting("editor_plugins/enabled")) { addons = ProjectSettings::get_singleton()->get("editor_plugins/enabled"); } diff --git a/editor/editor_settings.cpp b/editor/editor_settings.cpp index 1b6b66c198..b532bb793a 100644 --- a/editor/editor_settings.cpp +++ b/editor/editor_settings.cpp @@ -195,7 +195,17 @@ void EditorSettings::_get_property_list(List<PropertyInfo> *p_list) const { p_list->push_back(PropertyInfo(Variant::ARRAY, "shortcuts", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR)); //do not edit } -bool EditorSettings::has(String p_var) const { +void EditorSettings::set_setting(const String &p_setting, const Variant &p_value) { + _THREAD_SAFE_METHOD_ + set(p_setting, p_value); +} + +Variant EditorSettings::get_setting(const String &p_setting) const { + _THREAD_SAFE_METHOD_ + return get(p_setting); +} + +bool EditorSettings::has_setting(String p_var) const { _THREAD_SAFE_METHOD_ @@ -218,7 +228,7 @@ void EditorSettings::raise_order(const String &p_name) { Variant _EDITOR_DEF(const String &p_var, const Variant &p_default) { - if (EditorSettings::get_singleton()->has(p_var)) + if (EditorSettings::get_singleton()->has_setting(p_var)) return EditorSettings::get_singleton()->get(p_var); EditorSettings::get_singleton()->set(p_var, p_default); EditorSettings::get_singleton()->set_initial_value(p_var, p_default); @@ -228,7 +238,7 @@ Variant _EDITOR_DEF(const String &p_var, const Variant &p_default) { Variant _EDITOR_GET(const String &p_var) { - ERR_FAIL_COND_V(!EditorSettings::get_singleton()->has(p_var), Variant()) + ERR_FAIL_COND_V(!EditorSettings::get_singleton()->has_setting(p_var), Variant()) return EditorSettings::get_singleton()->get(p_var); } @@ -471,8 +481,8 @@ void EditorSettings::setup_network() { IP::get_singleton()->get_local_addresses(&local_ip); String lip = "127.0.0.1"; String hint; - String current = has("network/debug/remote_host") ? get("network/debug/remote_host") : ""; - int port = has("network/debug/remote_port") ? (int)get("network/debug/remote_port") : 6007; + String current = has_setting("network/debug/remote_host") ? get("network/debug/remote_host") : ""; + int port = has_setting("network/debug/remote_port") ? (int)get("network/debug/remote_port") : 6007; for (List<IP_Address>::Element *E = local_ip.front(); E; E = E->next()) { @@ -989,7 +999,7 @@ void EditorSettings::load_text_editor_theme() { String val = cf->get_value("color_theme", key); // don't load if it's not already there! - if (has("text_editor/highlighting/" + key)) { + if (has_setting("text_editor/highlighting/" + key)) { // make sure it is actually a color if (val.is_valid_html_color() && key.find("color") >= 0) { @@ -1194,6 +1204,10 @@ void EditorSettings::set_initial_value(const StringName &p_name, const Variant & void EditorSettings::_bind_methods() { + ClassDB::bind_method(D_METHOD("has_setting", "name"), &EditorSettings::has_setting); + ClassDB::bind_method(D_METHOD("set_setting", "name", "value"), &EditorSettings::set_setting); + ClassDB::bind_method(D_METHOD("get_setting", "name"), &EditorSettings::get_setting); + ClassDB::bind_method(D_METHOD("erase", "property"), &EditorSettings::erase); ClassDB::bind_method(D_METHOD("get_settings_path"), &EditorSettings::get_settings_path); ClassDB::bind_method(D_METHOD("get_project_settings_path"), &EditorSettings::get_project_settings_path); diff --git a/editor/editor_settings.h b/editor/editor_settings.h index 19cf367d57..c5d2670650 100644 --- a/editor/editor_settings.h +++ b/editor/editor_settings.h @@ -129,7 +129,11 @@ public: void set_manually(const StringName &p_name, const Variant &p_value, bool p_emit_signal = false) { _set(p_name, p_value, p_emit_signal); } - bool has(String p_var) const; + + void set_setting(const String &p_setting, const Variant &p_value); + Variant get_setting(const String &p_setting) const; + + bool has_setting(String p_var) const; static EditorSettings *get_singleton(); void erase(String p_var); String get_settings_path() const; diff --git a/editor/import_dock.cpp b/editor/import_dock.cpp index 112e3abcb5..77fd6d883a 100644 --- a/editor/import_dock.cpp +++ b/editor/import_dock.cpp @@ -137,7 +137,7 @@ void ImportDock::set_edit_path(const String &p_path) { preset->get_popup()->add_separator(); preset->get_popup()->add_item(vformat(TTR("Set as Default for '%s'"), params->importer->get_visible_name()), ITEM_SET_AS_DEFAULT); - if (ProjectSettings::get_singleton()->has("importer_defaults/" + params->importer->get_importer_name())) { + if (ProjectSettings::get_singleton()->has_setting("importer_defaults/" + params->importer->get_importer_name())) { preset->get_popup()->add_item(TTR("Load Default"), ITEM_LOAD_DEFAULT); preset->get_popup()->add_separator(); preset->get_popup()->add_item(vformat(TTR("Clear Default for '%s'"), params->importer->get_visible_name()), ITEM_CLEAR_DEFAULT); @@ -281,7 +281,7 @@ void ImportDock::_preset_selected(int p_idx) { } break; case ITEM_LOAD_DEFAULT: { - ERR_FAIL_COND(!ProjectSettings::get_singleton()->has("importer_defaults/" + params->importer->get_importer_name())); + ERR_FAIL_COND(!ProjectSettings::get_singleton()->has_setting("importer_defaults/" + params->importer->get_importer_name())); Dictionary d = ProjectSettings::get_singleton()->get("importer_defaults/" + params->importer->get_importer_name()); List<Variant> v; diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp index 1aa24c8172..4f6c8f89ee 100644 --- a/editor/plugins/canvas_item_editor_plugin.cpp +++ b/editor/plugins/canvas_item_editor_plugin.cpp @@ -990,6 +990,7 @@ void CanvasItemEditor::_prepare_drag(const Point2 &p_click_pos) { se->undo_pivot = Object::cast_to<Control>(canvas_item)->get_pivot_offset(); se->pre_drag_xform = canvas_item->get_global_transform_with_canvas(); + se->pre_drag_rect = canvas_item->get_item_rect(); } if (selection.size() == 1 && Object::cast_to<Node2D>(selection[0])) { @@ -1517,6 +1518,7 @@ void CanvasItemEditor::_viewport_base_gui_input(const Ref<InputEvent> &p_event) if (Object::cast_to<Control>(canvas_item)) se->undo_pivot = Object::cast_to<Control>(canvas_item)->get_pivot_offset(); se->pre_drag_xform = canvas_item->get_global_transform_with_canvas(); + se->pre_drag_rect = canvas_item->get_item_rect(); return; } @@ -1539,6 +1541,7 @@ void CanvasItemEditor::_viewport_base_gui_input(const Ref<InputEvent> &p_event) if (Object::cast_to<Control>(canvas_item)) se->undo_pivot = Object::cast_to<Control>(canvas_item)->get_pivot_offset(); se->pre_drag_xform = canvas_item->get_global_transform_with_canvas(); + se->pre_drag_rect = canvas_item->get_item_rect(); return; } @@ -1550,6 +1553,7 @@ void CanvasItemEditor::_viewport_base_gui_input(const Ref<InputEvent> &p_event) drag_from = transform.affine_inverse().xform(click); se->undo_state = canvas_item->edit_get_state(); se->pre_drag_xform = canvas_item->get_global_transform_with_canvas(); + se->pre_drag_rect = canvas_item->get_item_rect(); return; } } @@ -2206,16 +2210,16 @@ void CanvasItemEditor::_draw_selection() { Rect2 rect = canvas_item->get_item_rect(); - if (drag != DRAG_NONE && drag != DRAG_PIVOT) { + if (show_helpers && drag != DRAG_NONE && drag != DRAG_PIVOT) { const Transform2D pre_drag_xform = transform * se->pre_drag_xform; const Color pre_drag_color = Color(0.4, 0.6, 1, 0.7); Vector2 pre_drag_endpoints[4] = { - pre_drag_xform.xform(rect.position), - pre_drag_xform.xform(rect.position + Vector2(rect.size.x, 0)), - pre_drag_xform.xform(rect.position + rect.size), - pre_drag_xform.xform(rect.position + Vector2(0, rect.size.y)) + pre_drag_xform.xform(se->pre_drag_rect.position), + pre_drag_xform.xform(se->pre_drag_rect.position + Vector2(se->pre_drag_rect.size.x, 0)), + pre_drag_xform.xform(se->pre_drag_rect.position + se->pre_drag_rect.size), + pre_drag_xform.xform(se->pre_drag_rect.position + Vector2(0, se->pre_drag_rect.size.y)) }; for (int i = 0; i < 4; i++) { diff --git a/editor/plugins/canvas_item_editor_plugin.h b/editor/plugins/canvas_item_editor_plugin.h index bb4e584f2a..f87bfef8ad 100644 --- a/editor/plugins/canvas_item_editor_plugin.h +++ b/editor/plugins/canvas_item_editor_plugin.h @@ -59,6 +59,7 @@ public: float prev_anchors[4]; Transform2D pre_drag_xform; + Rect2 pre_drag_rect; CanvasItemEditorSelectedItem() { prev_rot = 0; } }; diff --git a/editor/project_export.cpp b/editor/project_export.cpp index fafd6805ca..e5b6f8e406 100644 --- a/editor/project_export.cpp +++ b/editor/project_export.cpp @@ -71,7 +71,7 @@ void ProjectExportDialog::popup_export() { _update_presets(); // Restore valid window bounds or pop up at default size. - if (EditorSettings::get_singleton()->has("interface/dialogs/export_bounds")) { + if (EditorSettings::get_singleton()->has_setting("interface/dialogs/export_bounds")) { popup(EditorSettings::get_singleton()->get("interface/dialogs/export_bounds")); } else { popup_centered_ratio(); diff --git a/editor/project_manager.cpp b/editor/project_manager.cpp index 796e65bf61..9f23df5c03 100644 --- a/editor/project_manager.cpp +++ b/editor/project_manager.cpp @@ -506,7 +506,7 @@ public: if (current->setup(project_path->get_text(), "")) { set_message(TTR("Couldn't get project.godot in the project path."), MESSAGE_ERROR); - } else if (current->has("application/config/name")) { + } else if (current->has_setting("application/config/name")) { project_name->set_text(current->get("application/config/name")); } project_name->grab_focus(); diff --git a/editor/project_settings_editor.cpp b/editor/project_settings_editor.cpp index 288328c7ed..91ef9e36f3 100644 --- a/editor/project_settings_editor.cpp +++ b/editor/project_settings_editor.cpp @@ -146,7 +146,7 @@ void ProjectSettingsEditor::_action_edited() { String action_prop = "input/" + new_name; - if (ProjectSettings::get_singleton()->has(action_prop)) { + if (ProjectSettings::get_singleton()->has_setting(action_prop)) { ti->set_text(0, old_name); add_at = "input/" + old_name; @@ -707,7 +707,7 @@ void ProjectSettingsEditor::_update_actions() { void ProjectSettingsEditor::popup_project_settings() { // Restore valid window bounds or pop up at default size. - if (EditorSettings::get_singleton()->has("interface/dialogs/project_settings_bounds")) { + if (EditorSettings::get_singleton()->has_setting("interface/dialogs/project_settings_bounds")) { popup(EditorSettings::get_singleton()->get("interface/dialogs/project_settings_bounds")); } else { popup_centered_ratio(); @@ -753,7 +753,7 @@ void ProjectSettingsEditor::_item_add() { undo_redo->add_do_property(ProjectSettings::get_singleton(), name, value); - if (ProjectSettings::get_singleton()->has(name)) { + if (ProjectSettings::get_singleton()->has_setting(name)) { undo_redo->add_undo_property(ProjectSettings::get_singleton(), name, ProjectSettings::get_singleton()->get(name)); } else { undo_redo->add_undo_property(ProjectSettings::get_singleton(), name, Variant()); @@ -782,7 +782,7 @@ void ProjectSettingsEditor::_item_del() { String property = globals_editor->get_current_section().plus_file(path); - if (!ProjectSettings::get_singleton()->has(property)) { + if (!ProjectSettings::get_singleton()->has_setting(property)) { EditorNode::get_singleton()->show_warning(TTR("No property '" + property + "' exists.")); return; } @@ -823,7 +823,7 @@ void ProjectSettingsEditor::_action_check(String p_action) { action_add->set_disabled(true); return; } - if (ProjectSettings::get_singleton()->has("input/" + p_action)) { + if (ProjectSettings::get_singleton()->has_setting("input/" + p_action)) { action_add->set_text(TTR("Already existing")); action_add->set_disabled(true); return; @@ -965,7 +965,7 @@ void ProjectSettingsEditor::_copy_to_platform(int p_which) { String new_path = property + "." + feature; undo_redo->add_do_method(ProjectSettings::get_singleton(), "set", new_path, value); - if (ProjectSettings::get_singleton()->has(new_path)) { + if (ProjectSettings::get_singleton()->has_setting(new_path)) { undo_redo->add_undo_method(ProjectSettings::get_singleton(), "set", new_path, ProjectSettings::get_singleton()->get(new_path)); } @@ -1042,7 +1042,7 @@ void ProjectSettingsEditor::_translation_res_add(const String &p_path) { Variant prev; Dictionary remaps; - if (ProjectSettings::get_singleton()->has("locale/translation_remaps")) { + if (ProjectSettings::get_singleton()->has_setting("locale/translation_remaps")) { remaps = ProjectSettings::get_singleton()->get("locale/translation_remaps"); prev = remaps; } @@ -1068,7 +1068,7 @@ void ProjectSettingsEditor::_translation_res_option_file_open() { } void ProjectSettingsEditor::_translation_res_option_add(const String &p_path) { - ERR_FAIL_COND(!ProjectSettings::get_singleton()->has("locale/translation_remaps")); + ERR_FAIL_COND(!ProjectSettings::get_singleton()->has_setting("locale/translation_remaps")); Dictionary remaps = ProjectSettings::get_singleton()->get("locale/translation_remaps"); @@ -1105,7 +1105,7 @@ void ProjectSettingsEditor::_translation_res_option_changed() { if (updating_translations) return; - if (!ProjectSettings::get_singleton()->has("locale/translation_remaps")) + if (!ProjectSettings::get_singleton()->has_setting("locale/translation_remaps")) return; Dictionary remaps = ProjectSettings::get_singleton()->get("locale/translation_remaps"); @@ -1147,7 +1147,7 @@ void ProjectSettingsEditor::_translation_res_delete(Object *p_item, int p_column if (updating_translations) return; - if (!ProjectSettings::get_singleton()->has("locale/translation_remaps")) + if (!ProjectSettings::get_singleton()->has_setting("locale/translation_remaps")) return; Dictionary remaps = ProjectSettings::get_singleton()->get("locale/translation_remaps"); @@ -1174,7 +1174,7 @@ void ProjectSettingsEditor::_translation_res_option_delete(Object *p_item, int p if (updating_translations) return; - if (!ProjectSettings::get_singleton()->has("locale/translation_remaps")) + if (!ProjectSettings::get_singleton()->has_setting("locale/translation_remaps")) return; Dictionary remaps = ProjectSettings::get_singleton()->get("locale/translation_remaps"); @@ -1215,7 +1215,7 @@ void ProjectSettingsEditor::_update_translations() { translation_list->clear(); TreeItem *root = translation_list->create_item(NULL); translation_list->set_hide_root(true); - if (ProjectSettings::get_singleton()->has("locale/translations")) { + if (ProjectSettings::get_singleton()->has_setting("locale/translations")) { PoolStringArray translations = ProjectSettings::get_singleton()->get("locale/translations"); for (int i = 0; i < translations.size(); i++) { @@ -1253,7 +1253,7 @@ void ProjectSettingsEditor::_update_translations() { langnames += names[i]; } - if (ProjectSettings::get_singleton()->has("locale/translation_remaps")) { + if (ProjectSettings::get_singleton()->has_setting("locale/translation_remaps")) { Dictionary remaps = ProjectSettings::get_singleton()->get("locale/translation_remaps"); List<Variant> rk; diff --git a/editor/settings_config_dialog.cpp b/editor/settings_config_dialog.cpp index 5f6ffcb14e..86979a1174 100644 --- a/editor/settings_config_dialog.cpp +++ b/editor/settings_config_dialog.cpp @@ -93,7 +93,7 @@ void EditorSettingsDialog::popup_edit_settings() { _update_shortcuts(); // Restore valid window bounds or pop up at default size. - if (EditorSettings::get_singleton()->has("interface/dialogs/editor_settings_bounds")) { + if (EditorSettings::get_singleton()->has_setting("interface/dialogs/editor_settings_bounds")) { popup(EditorSettings::get_singleton()->get("interface/dialogs/editor_settings_bounds")); } else { popup_centered_ratio(0.7); |