Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2013-11-25 04:45:12 +0400
committerCampbell Barton <ideasman42@gmail.com>2013-11-25 04:51:23 +0400
commitc5944812d69f04b48f982402a4e5518edb398ef0 (patch)
tree133d5d9ff8c8e5ae73c9d9eee48b537f14c25be5 /source/blender
parent9c262e5649303eff26e7645079185c250e4420ff (diff)
User Defaults: Change user defaults based on decission by new UI team - T37518
Currently these changes are not saved in startup.blend to avoid bloating our repo whenever we want to make minor changes.
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/editors/include/UI_interface.h1
-rw-r--r--source/blender/editors/interface/interface.c5
-rw-r--r--source/blender/editors/interface/interface_intern.h1
-rw-r--r--source/blender/editors/interface/resources.c20
-rw-r--r--source/blender/windowmanager/intern/wm_files.c11
5 files changed, 35 insertions, 3 deletions
diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h
index 0786f266735..665c4dd743f 100644
--- a/source/blender/editors/include/UI_interface.h
+++ b/source/blender/editors/include/UI_interface.h
@@ -687,6 +687,7 @@ void UI_remove_popup_handlers_all(struct bContext *C, struct ListBase *handlers)
void UI_init(void);
void UI_init_userdef(void);
+void UI_init_userdef_factory(void);
void UI_reinit_font(void);
void UI_exit(void);
diff --git a/source/blender/editors/interface/interface.c b/source/blender/editors/interface/interface.c
index 3f48446f029..74d439d817f 100644
--- a/source/blender/editors/interface/interface.c
+++ b/source/blender/editors/interface/interface.c
@@ -4194,6 +4194,11 @@ void UI_init_userdef(void)
uiStyleInit();
}
+void UI_init_userdef_factory(void)
+{
+ init_userdef_factory();
+}
+
void UI_reinit_font(void)
{
uiStyleInit();
diff --git a/source/blender/editors/interface/interface_intern.h b/source/blender/editors/interface/interface_intern.h
index 9287385a329..3cee9a79971 100644
--- a/source/blender/editors/interface/interface_intern.h
+++ b/source/blender/editors/interface/interface_intern.h
@@ -562,6 +562,7 @@ int ui_id_icon_get(struct bContext *C, struct ID *id, const bool big);
/* resources.c */
void init_userdef_do_versions(void);
+void init_userdef_factory(void);
void ui_theme_init_default(void);
void ui_style_init_default(void);
void ui_resources_init(void);
diff --git a/source/blender/editors/interface/resources.c b/source/blender/editors/interface/resources.c
index 55b353b1031..750d219e766 100644
--- a/source/blender/editors/interface/resources.c
+++ b/source/blender/editors/interface/resources.c
@@ -2246,3 +2246,23 @@ void init_userdef_do_versions(void)
// XXX reset_autosave();
}
+
+/**
+ * Override values in in-memory startup.blend, avoids resaving for small changes.
+ */
+void init_userdef_factory(void)
+{
+ /* defaults from T37518 */
+ U.uiflag2 |= USER_REGION_OVERLAP;
+
+ U.uiflag |= USER_AUTOPERSP;
+ U.uiflag |= USER_ORBIT_SELECTION;
+ U.uiflag |= USER_ZBUF_CURSOR;
+ U.uiflag |= USER_QUIT_PROMPT;
+ U.uiflag |= USER_CONTINUOUS_MOUSE;
+
+ U.ogl_multisamples = USER_MULTISAMPLE_4;
+
+ U.versions = 1;
+ U.savetime = 2;
+}
diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c
index f7bbb84facc..b3be3b4cc0c 100644
--- a/source/blender/windowmanager/intern/wm_files.c
+++ b/source/blender/windowmanager/intern/wm_files.c
@@ -282,7 +282,7 @@ static void wm_window_match_do(bContext *C, ListBase *oldwmlist)
}
/* in case UserDef was read, we re-initialize all, and do versioning */
-static void wm_init_userdef(bContext *C)
+static void wm_init_userdef(bContext *C, const bool from_memory)
{
/* versioning is here */
UI_init_userdef();
@@ -301,6 +301,11 @@ static void wm_init_userdef(bContext *C)
else G.f &= ~G_SCRIPT_AUTOEXEC;
}
+ /* avoid re-saving for every small change to our prefs, allow overrides */
+ if (from_memory) {
+ UI_init_userdef_factory();
+ }
+
/* update tempdir from user preferences */
BLI_init_temporary_dir(U.tempdir);
@@ -433,7 +438,7 @@ void WM_file_read(bContext *C, const char *filepath, ReportList *reports)
if (retval == BKE_READ_FILE_OK_USERPREFS) {
/* in case a userdef is read from regular .blend */
- wm_init_userdef(C);
+ wm_init_userdef(C, false);
}
if (retval != BKE_READ_FILE_FAIL) {
@@ -576,7 +581,7 @@ int wm_homefile_read(bContext *C, ReportList *UNUSED(reports), short from_memory
G.fileflags &= ~G_FILE_RELATIVE_REMAP;
/* check userdef before open window, keymaps etc */
- wm_init_userdef(C);
+ wm_init_userdef(C, from_memory);
/* match the read WM with current WM */
wm_window_match_do(C, &wmbase);