diff options
author | RĂ©mi Verschelde <rverschelde@gmail.com> | 2018-05-16 23:13:47 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-16 23:13:47 +0200 |
commit | 0888f75c25f09626a768d928215286ccf9cd9159 (patch) | |
tree | 9305cfb0e49d1bcca57ca5b079999f75f71d9567 | |
parent | 8998e5bdbc988f16f8f6ddbfe449904aa8c1b59a (diff) | |
parent | e03de3ddfcb3d4d8111d5d3f50eb1301e47cb4e5 (diff) |
Merge pull request #18934 from YeldhamDev/project_metadata_expose
Exposed set/get_project_metadata in EditorSettings
-rw-r--r-- | doc/classes/EditorInterface.xml | 2 | ||||
-rw-r--r-- | doc/classes/EditorSettings.xml | 24 | ||||
-rw-r--r-- | editor/editor_settings.cpp | 5 | ||||
-rw-r--r-- | editor/editor_settings.h | 2 |
4 files changed, 29 insertions, 4 deletions
diff --git a/doc/classes/EditorInterface.xml b/doc/classes/EditorInterface.xml index 006a7ca690..19bd7e6d52 100644 --- a/doc/classes/EditorInterface.xml +++ b/doc/classes/EditorInterface.xml @@ -4,7 +4,7 @@ Editor interface and main components. </brief_description> <description> - Editor interface. Allows saving and (re-)loading scenes, rendering mesh previews, inspecting and editing resources and objects and provides access to [EditorSettings], [EditorFileSystem], [EditorResourcePreview]\ er, [ScriptEditor], the editor viewport, as well as information about scenes. Also see [EditorPlugin] and [EditorScript]. + Editor interface. Allows saving and (re-)loading scenes, rendering mesh previews, inspecting and editing resources and objects and provides access to [EditorSettings], [EditorFileSystem], [EditorResourcePreview], [ScriptEditor], the editor viewport, as well as information about scenes. Also see [EditorPlugin] and [EditorScript]. </description> <tutorials> </tutorials> diff --git a/doc/classes/EditorSettings.xml b/doc/classes/EditorSettings.xml index cdd9560eda..5325a67de3 100644 --- a/doc/classes/EditorSettings.xml +++ b/doc/classes/EditorSettings.xml @@ -55,7 +55,19 @@ Get the list of favorite directories for this project. </description> </method> - <method name="get_project_settings_dir" qualifiers="const"> + <method name="get_project_metadata" qualifiers="const"> + <return type="Variant"> + </return> + <argument index="0" name="section" type="String"> + </argument> + <argument index="1" name="key" type="String"> + </argument> + <argument index="2" name="default" type="Variant" default="null"> + </argument> + <description> + </description> + </method> + <method name="get_project_settings_dir"> <return type="String"> </return> <description> @@ -131,6 +143,16 @@ <description> </description> </method> + <method name="set_project_metadata"> + <argument index="0" name="section" type="String"> + </argument> + <argument index="1" name="key" type="String"> + </argument> + <argument index="2" name="data" type="Variant"> + </argument> + <description> + </description> + </method> <method name="set_recent_dirs"> <return type="void"> </return> diff --git a/editor/editor_settings.cpp b/editor/editor_settings.cpp index fe0392334c..a47605be15 100644 --- a/editor/editor_settings.cpp +++ b/editor/editor_settings.cpp @@ -1151,7 +1151,7 @@ void EditorSettings::set_project_metadata(const String &p_section, const String cf->save(path); } -Variant EditorSettings::get_project_metadata(const String &p_section, const String &p_key, Variant p_default) { +Variant EditorSettings::get_project_metadata(const String &p_section, const String &p_key, Variant p_default) const { Ref<ConfigFile> cf = memnew(ConfigFile); String path = get_project_settings_dir().plus_file("project_metadata.cfg"); Error err = cf->load(path); @@ -1493,6 +1493,9 @@ void EditorSettings::_bind_methods() { ClassDB::bind_method(D_METHOD("get_settings_dir"), &EditorSettings::get_settings_dir); ClassDB::bind_method(D_METHOD("get_project_settings_dir"), &EditorSettings::get_project_settings_dir); + ClassDB::bind_method(D_METHOD("set_project_metadata", "section", "key", "data"), &EditorSettings::set_project_metadata); + ClassDB::bind_method(D_METHOD("get_project_metadata", "section", "key", "default"), &EditorSettings::get_project_metadata, DEFVAL(Variant())); + ClassDB::bind_method(D_METHOD("set_favorite_dirs", "dirs"), &EditorSettings::set_favorite_dirs); ClassDB::bind_method(D_METHOD("get_favorite_dirs"), &EditorSettings::get_favorite_dirs); ClassDB::bind_method(D_METHOD("set_recent_dirs", "dirs"), &EditorSettings::set_recent_dirs); diff --git a/editor/editor_settings.h b/editor/editor_settings.h index e196ca506e..b48aac89c7 100644 --- a/editor/editor_settings.h +++ b/editor/editor_settings.h @@ -167,7 +167,7 @@ public: String get_cache_dir() const; void set_project_metadata(const String &p_section, const String &p_key, Variant p_data); - Variant get_project_metadata(const String &p_section, const String &p_key, Variant p_default); + Variant get_project_metadata(const String &p_section, const String &p_key, Variant p_default) const; void set_favorite_dirs(const Vector<String> &p_favorites_dirs); Vector<String> get_favorite_dirs() const; |