[Bf-blender-cvs] [c594481] master: User Defaults: Change user defaults based on decission by new UI team - T37518

Campbell Barton noreply at git.blender.org
Mon Nov 25 01:52:38 CET 2013


Commit: c5944812d69f04b48f982402a4e5518edb398ef0
Author: Campbell Barton
Date:   Mon Nov 25 11:45:12 2013 +1100
http://developer.blender.org/rBc5944812d69f04b48f982402a4e5518edb398ef0

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.

===================================================================

M	source/blender/editors/include/UI_interface.h
M	source/blender/editors/interface/interface.c
M	source/blender/editors/interface/interface_intern.h
M	source/blender/editors/interface/resources.c
M	source/blender/windowmanager/intern/wm_files.c

===================================================================

diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h
index 0786f26..665c4dd 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 3f48446..74d439d 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 9287385..3cee9a7 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 55b353b..750d219 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 f7bbb84..b3be3b4 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);




More information about the Bf-blender-cvs mailing list