[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [22680] branches/blender2.5/blender: 2.5: Load UI is now an operator property, and a user preference to

Brecht Van Lommel brecht at blender.org
Fri Aug 21 16:33:53 CEST 2009


Revision: 22680
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=22680
Author:   blendix
Date:     2009-08-21 16:33:53 +0200 (Fri, 21 Aug 2009)

Log Message:
-----------
2.5: Load UI is now an operator property, and a user preference to
define what the default is, just like file compression for saving.

Modified Paths:
--------------
    branches/blender2.5/blender/release/ui/space_userpref.py
    branches/blender2.5/blender/source/blender/makesdna/DNA_userdef_types.h
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_userdef.c
    branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c

Modified: branches/blender2.5/blender/release/ui/space_userpref.py
===================================================================
--- branches/blender2.5/blender/release/ui/space_userpref.py	2009-08-21 14:15:49 UTC (rev 22679)
+++ branches/blender2.5/blender/release/ui/space_userpref.py	2009-08-21 14:33:53 UTC (rev 22680)
@@ -359,6 +359,7 @@
 		sub2.itemL(text="Save & Load:")
 		sub2.itemR(paths, "use_relative_paths")
 		sub2.itemR(paths, "compress_file")
+		sub2.itemR(paths, "load_ui")
 		sub2.itemL(text="Auto Save:")
 		sub2.itemR(paths, "save_version")
 		sub2.itemR(paths, "recent_files")

Modified: branches/blender2.5/blender/source/blender/makesdna/DNA_userdef_types.h
===================================================================
--- branches/blender2.5/blender/source/blender/makesdna/DNA_userdef_types.h	2009-08-21 14:15:49 UTC (rev 22679)
+++ branches/blender2.5/blender/source/blender/makesdna/DNA_userdef_types.h	2009-08-21 14:33:53 UTC (rev 22680)
@@ -369,6 +369,7 @@
 #define USER_RELPATHS			(1 << 20)
 #define USER_DRAGIMMEDIATE		(1 << 21)
 #define USER_DONT_DOSCRIPTLINKS	(1 << 22)
+#define USER_FILENOUI			(1 << 23)
 
 /* viewzom */
 #define USER_ZOOM_CONT			0

Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_userdef.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/rna_userdef.c	2009-08-21 14:15:49 UTC (rev 22679)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_userdef.c	2009-08-21 14:33:53 UTC (rev 22680)
@@ -2199,6 +2199,10 @@
 	RNA_def_property_boolean_sdna(prop, NULL, "flag", USER_FILECOMPRESS);
 	RNA_def_property_ui_text(prop, "Compress File", "Enable file compression when saving .blend files.");
 
+	prop= RNA_def_property(srna, "load_ui", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", USER_FILENOUI);
+	RNA_def_property_ui_text(prop, "Load UI", "Load user interface setup when loading .blend files.");
+
 	prop= RNA_def_property(srna, "fonts_directory", PROP_STRING, PROP_DIRPATH);
 	RNA_def_property_string_sdna(prop, NULL, "fontdir");
 	RNA_def_property_ui_text(prop, "Fonts Directory", "The default directory to search for loading fonts.");

Modified: branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c
===================================================================
--- branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c	2009-08-21 14:15:49 UTC (rev 22679)
+++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c	2009-08-21 14:33:53 UTC (rev 22680)
@@ -868,10 +868,17 @@
 	}
 }
 
+static void load_set_load_ui(wmOperator *op)
+{
+	if(!RNA_property_is_set(op->ptr, "load_ui"))
+		RNA_boolean_set(op->ptr, "load_ui", !(U.flag & USER_FILENOUI));
+}
 
 static int wm_open_mainfile_invoke(bContext *C, wmOperator *op, wmEvent *event)
 {
 	RNA_string_set(op->ptr, "filename", G.sce);
+	load_set_load_ui(op);
+
 	WM_event_add_fileselect(C, op);
 
 	return OPERATOR_RUNNING_MODAL;
@@ -880,7 +887,14 @@
 static int wm_open_mainfile_exec(bContext *C, wmOperator *op)
 {
 	char filename[FILE_MAX];
+
 	RNA_string_get(op->ptr, "filename", filename);
+	load_set_load_ui(op);
+
+	if(RNA_boolean_get(op->ptr, "load_ui"))
+		G.fileflags &= ~G_FILE_NO_UI;
+	else
+		G.fileflags |= G_FILE_NO_UI;
 	
 	// XXX wm in context is not set correctly after WM_read_file -> crash
 	// do it before for now, but is this correct with multiple windows?
@@ -901,6 +915,8 @@
 	ot->poll= WM_operator_winactive;
 	
 	WM_operator_properties_filesel(ot, FOLDERFILE|BLENDERFILE);
+
+	RNA_def_boolean(ot->srna, "load_ui", 1, "Load UI", "Load user interface setup in the .blend file.");
 }
 
 static int wm_recover_last_session_exec(bContext *C, wmOperator *op)





More information about the Bf-blender-cvs mailing list