summaryrefslogtreecommitdiff
path: root/tools/editor/editor_settings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/editor/editor_settings.cpp')
-rw-r--r--tools/editor/editor_settings.cpp23
1 files changed, 17 insertions, 6 deletions
diff --git a/tools/editor/editor_settings.cpp b/tools/editor/editor_settings.cpp
index b89863289a..2ce9502293 100644
--- a/tools/editor/editor_settings.cpp
+++ b/tools/editor/editor_settings.cpp
@@ -104,12 +104,18 @@ bool EditorSettings::_get(const StringName& p_name,Variant &r_ret) const {
for (const Map<String,Ref<ShortCut> >::Element *E=shortcuts.front();E;E=E->next()) {
Ref<ShortCut> sc=E->get();
- if (!sc->has_meta("original"))
- continue; //this came from settings but is not any longer used
- InputEvent original = sc->get_meta("original");
- if (sc->is_shortcut(original) || (original.type==InputEvent::NONE && sc->get_shortcut().type==InputEvent::NONE))
- continue; //not changed from default, don't save
+ if (optimize_save) {
+ if (!sc->has_meta("original")) {
+ continue; //this came from settings but is not any longer used
+ }
+
+ InputEvent original = sc->get_meta("original");
+ if (sc->is_shortcut(original) || (original.type==InputEvent::NONE && sc->get_shortcut().type==InputEvent::NONE))
+ continue; //not changed from default, don't save
+ }
+
+ print_line("SAVING: "+E->key());
arr.push_back(E->key());
arr.push_back(sc->get_shortcut());
}
@@ -161,7 +167,7 @@ void EditorSettings::_get_property_list(List<PropertyInfo> *p_list) const {
for(Set<_EVCSort>::Element *E=vclist.front();E;E=E->next()) {
int pinfo = 0;
- if (E->get().save) {
+ if (E->get().save || !optimize_save) {
pinfo|=PROPERTY_USAGE_STORAGE;
}
@@ -976,6 +982,10 @@ void EditorSettings::get_shortcut_list(List<String> *r_shortcuts) {
}
}
+void EditorSettings::set_optimize_save(bool p_optimize) {
+
+ optimize_save=p_optimize;
+}
void EditorSettings::_bind_methods() {
@@ -998,6 +1008,7 @@ EditorSettings::EditorSettings() {
//singleton=this;
last_order=0;
+ optimize_save=true;
save_changed_setting=true;
EditorTranslationList *etl=_editor_translations;