[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [41662] trunk/blender: - disable undo for user preferences (every click would do push an undo), was noticeable on large files.

Campbell Barton ideasman42 at gmail.com
Tue Nov 8 16:11:27 CET 2011


Revision: 41662
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41662
Author:   campbellbarton
Date:     2011-11-08 15:11:27 +0000 (Tue, 08 Nov 2011)
Log Message:
-----------
- disable undo for user preferences (every click would do push an undo), was noticeable on large files.
- also netbeans project file generator now uses branch name for project.

Modified Paths:
--------------
    trunk/blender/build_files/cmake/cmake_netbeans_project.py
    trunk/blender/source/blender/editors/interface/interface.c
    trunk/blender/source/blender/makesrna/RNA_access.h
    trunk/blender/source/blender/makesrna/RNA_types.h
    trunk/blender/source/blender/makesrna/intern/rna_access.c
    trunk/blender/source/blender/makesrna/intern/rna_define.c
    trunk/blender/source/blender/makesrna/intern/rna_userdef.c

Modified: trunk/blender/build_files/cmake/cmake_netbeans_project.py
===================================================================
--- trunk/blender/build_files/cmake/cmake_netbeans_project.py	2011-11-08 14:47:03 UTC (rev 41661)
+++ trunk/blender/build_files/cmake/cmake_netbeans_project.py	2011-11-08 15:11:27 UTC (rev 41662)
@@ -39,6 +39,7 @@
                           # is_py,
                           cmake_advanced_info,
                           cmake_compiler_defines,
+                          project_name_get,
                           )
 
 
@@ -59,7 +60,11 @@
         includes = list(set(includes) | set(dirname(f) for f in files if is_c_header(f)))
         includes.sort()
 
-        PROJECT_NAME = "Blender"
+        if 0:
+            PROJECT_NAME = "Blender"
+        else:
+            # be tricky, get the project name from SVN if we can!
+            PROJECT_NAME = project_name_get(SOURCE_DIR)
 
         # --------------- NB spesific
         defines = [("%s=%s" % cdef) if cdef[1] else cdef[0] for cdef in defines]

Modified: trunk/blender/source/blender/editors/interface/interface.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface.c	2011-11-08 14:47:03 UTC (rev 41661)
+++ trunk/blender/source/blender/editors/interface/interface.c	2011-11-08 15:11:27 UTC (rev 41662)
@@ -756,6 +756,9 @@
 			return TRUE;
 		}
 	}
+	else if (but->rnapoin.type && !RNA_struct_undo_check(but->rnapoin.type)) {
+		return FALSE;
+	}
 
 	return TRUE;
 }

Modified: trunk/blender/source/blender/makesrna/RNA_access.h
===================================================================
--- trunk/blender/source/blender/makesrna/RNA_access.h	2011-11-08 14:47:03 UTC (rev 41661)
+++ trunk/blender/source/blender/makesrna/RNA_access.h	2011-11-08 15:11:27 UTC (rev 41662)
@@ -623,6 +623,8 @@
 int RNA_struct_is_ID(StructRNA *type);
 int RNA_struct_is_a(StructRNA *type, StructRNA *srna);
 
+int RNA_struct_undo_check(StructRNA *type);
+
 StructRegisterFunc RNA_struct_register(StructRNA *type);
 StructUnregisterFunc RNA_struct_unregister(StructRNA *type);
 void **RNA_struct_instance(PointerRNA *ptr);

Modified: trunk/blender/source/blender/makesrna/RNA_types.h
===================================================================
--- trunk/blender/source/blender/makesrna/RNA_types.h	2011-11-08 14:47:03 UTC (rev 41661)
+++ trunk/blender/source/blender/makesrna/RNA_types.h	2011-11-08 15:11:27 UTC (rev 41662)
@@ -326,12 +326,13 @@
 	/* indicates that this struct is an ID struct, and to use refcounting */
 	STRUCT_ID = 1,
 	STRUCT_ID_REFCOUNT = 2,
+	STRUCT_UNDO = 4, /* defaults on, clear for user preferences and similar */
 
 	/* internal flags */
-	STRUCT_RUNTIME = 4,
-	STRUCT_GENERATED = 8,
-	STRUCT_FREE_POINTERS = 16,
-	STRUCT_NO_IDPROPERTIES = 32 /* Menu's and Panels don't need properties */
+	STRUCT_RUNTIME = 8,
+	STRUCT_GENERATED = 16,
+	STRUCT_FREE_POINTERS = 32,
+	STRUCT_NO_IDPROPERTIES = 64 /* Menu's and Panels don't need properties */
 } StructFlag;
 
 typedef int (*StructValidateFunc)(struct PointerRNA *ptr, void *data, int *have_function);

Modified: trunk/blender/source/blender/makesrna/intern/rna_access.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_access.c	2011-11-08 14:47:03 UTC (rev 41661)
+++ trunk/blender/source/blender/makesrna/intern/rna_access.c	2011-11-08 15:11:27 UTC (rev 41662)
@@ -549,6 +549,11 @@
 	return (type->flag & STRUCT_ID) != 0;
 }
 
+int RNA_struct_undo_check(StructRNA *type)
+{
+	return (type->flag & STRUCT_UNDO) != 0;
+}
+
 int RNA_struct_idprops_register_check(StructRNA *type)
 {
 	return (type->flag & STRUCT_NO_IDPROPERTIES) == 0;

Modified: trunk/blender/source/blender/makesrna/intern/rna_define.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_define.c	2011-11-08 14:47:03 UTC (rev 41661)
+++ trunk/blender/source/blender/makesrna/intern/rna_define.c	2011-11-08 15:11:27 UTC (rev 41662)
@@ -654,6 +654,7 @@
 	srna->identifier= identifier;
 	srna->name= identifier; /* may be overwritten later RNA_def_struct_ui_text */
 	srna->description= "";
+	srna->flag |= STRUCT_UNDO;
 	if(!srnafrom)
 		srna->icon= ICON_DOT;
 

Modified: trunk/blender/source/blender/makesrna/intern/rna_userdef.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_userdef.c	2011-11-08 14:47:03 UTC (rev 41661)
+++ trunk/blender/source/blender/makesrna/intern/rna_userdef.c	2011-11-08 15:11:27 UTC (rev 41662)
@@ -316,6 +316,7 @@
 
 	srna= RNA_def_struct(brna, "ThemeFontStyle", NULL);
 	RNA_def_struct_sdna(srna, "uiFontStyle");
+	RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
 	RNA_def_struct_ui_text(srna, "Font Style", "Theme settings for Font");
 	
 	prop= RNA_def_property(srna, "points", PROP_INT, PROP_NONE);
@@ -366,6 +367,7 @@
 	
 	srna= RNA_def_struct(brna, "ThemeStyle", NULL);
 	RNA_def_struct_sdna(srna, "uiStyle");
+	RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
 	RNA_def_struct_ui_text(srna, "Style", "Theme settings for style sets");
 	
 	/* (not used yet)
@@ -410,6 +412,7 @@
 	
 	srna= RNA_def_struct(brna, "ThemeWidgetColors", NULL);
 	RNA_def_struct_sdna(srna, "uiWidgetColors");
+	RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
 	RNA_def_struct_ui_text(srna, "Theme Widget Color Set", "Theme settings for widget color sets");
 		
 	prop= RNA_def_property(srna, "outline", PROP_FLOAT, PROP_COLOR_GAMMA);
@@ -465,6 +468,7 @@
 	
 	srna= RNA_def_struct(brna, "ThemeWidgetStateColors", NULL);
 	RNA_def_struct_sdna(srna, "uiWidgetStateColors");
+	RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
 	RNA_def_struct_ui_text(srna, "Theme Widget State Color", "Theme settings for widget state colors");
 		
 	prop= RNA_def_property(srna, "inner_anim", PROP_FLOAT, PROP_COLOR_GAMMA);
@@ -512,6 +516,7 @@
 	
 	srna= RNA_def_struct(brna, "ThemeUserInterface", NULL);
 	RNA_def_struct_sdna(srna, "ThemeUI");
+	RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
 	RNA_def_struct_ui_text(srna, "Theme User Interface", "Theme settings for user interface elements");
 
 	prop= RNA_def_property(srna, "wcol_regular", PROP_POINTER, PROP_NONE);
@@ -917,6 +922,7 @@
 
 	srna= RNA_def_struct(brna, "ThemeView3D", NULL);
 	RNA_def_struct_sdna(srna, "ThemeSpace");
+	RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
 	RNA_def_struct_ui_text(srna, "Theme 3D View", "Theme settings for the 3D View");
 
 	rna_def_userdef_theme_spaces_main(srna, SPACE_VIEW3D);
@@ -1054,6 +1060,7 @@
 
 	srna= RNA_def_struct(brna, "ThemeGraphEditor", NULL);
 	RNA_def_struct_sdna(srna, "ThemeSpace");
+	RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
 	RNA_def_struct_ui_text(srna, "Theme Graph Editor", "Theme settings for the graph editor");
 
 	rna_def_userdef_theme_spaces_main(srna, SPACE_IPO);
@@ -1138,6 +1145,7 @@
 
 	srna= RNA_def_struct(brna, "ThemeFileBrowser", NULL);
 	RNA_def_struct_sdna(srna, "ThemeSpace");
+	RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
 	RNA_def_struct_ui_text(srna, "Theme File Browser", "Theme settings for the File Browser");
 
 	rna_def_userdef_theme_spaces_main(srna, SPACE_FILE);
@@ -1187,6 +1195,7 @@
 
 	srna= RNA_def_struct(brna, "ThemeOutliner", NULL);
 	RNA_def_struct_sdna(srna, "ThemeSpace");
+	RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
 	RNA_def_struct_ui_text(srna, "Theme Outliner", "Theme settings for the Outliner");
 
 	rna_def_userdef_theme_spaces_main(srna, SPACE_OUTLINER);
@@ -1200,6 +1209,7 @@
 
 	srna= RNA_def_struct(brna, "ThemeUserPreferences", NULL);
 	RNA_def_struct_sdna(srna, "ThemeSpace");
+	RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
 	RNA_def_struct_ui_text(srna, "Theme User Preferences", "Theme settings for the User Preferences");
 
 	rna_def_userdef_theme_spaces_main(srna, SPACE_USERPREF);
@@ -1214,6 +1224,7 @@
 
 	srna= RNA_def_struct(brna, "ThemeConsole", NULL);
 	RNA_def_struct_sdna(srna, "ThemeSpace");
+	RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
 	RNA_def_struct_ui_text(srna, "Theme Console", "Theme settings for the Console");
 	
 	rna_def_userdef_theme_spaces_main(srna, SPACE_CONSOLE);
@@ -1257,6 +1268,7 @@
 
 	srna= RNA_def_struct(brna, "ThemeInfo", NULL);
 	RNA_def_struct_sdna(srna, "ThemeSpace");
+	RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
 	RNA_def_struct_ui_text(srna, "Theme Info", "Theme settings for Info");
 
 	rna_def_userdef_theme_spaces_main(srna, SPACE_INFO);
@@ -1272,6 +1284,7 @@
 
 	srna= RNA_def_struct(brna, "ThemeTextEditor", NULL);
 	RNA_def_struct_sdna(srna, "ThemeSpace");
+	RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
 	RNA_def_struct_ui_text(srna, "Theme Text Editor", "Theme settings for the Text Editor");
 
 	rna_def_userdef_theme_spaces_main(srna, SPACE_TEXT);
@@ -1340,6 +1353,7 @@
 
 	srna= RNA_def_struct(brna, "ThemeNodeEditor", NULL);
 	RNA_def_struct_sdna(srna, "ThemeSpace");
+	RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
 	RNA_def_struct_ui_text(srna, "Theme Node Editor", "Theme settings for the Node Editor");
 
 	rna_def_userdef_theme_spaces_main(srna, SPACE_NODE);
@@ -1409,6 +1423,7 @@
 	
 	srna= RNA_def_struct(brna, "ThemeLogicEditor", NULL);
 	RNA_def_struct_sdna(srna, "ThemeSpace");
+	RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
 	RNA_def_struct_ui_text(srna, "Theme Logic Editor", "Theme settings for the Logic Editor");
 	
 	rna_def_userdef_theme_spaces_main(srna, SPACE_LOGIC);
@@ -1429,6 +1444,7 @@
 
 	srna= RNA_def_struct(brna, "ThemeProperties", NULL);
 	RNA_def_struct_sdna(srna, "ThemeSpace");
+	RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
 	RNA_def_struct_ui_text(srna, "Theme Properties", "Theme settings for the Properties");
 
 	rna_def_userdef_theme_spaces_main(srna, SPACE_BUTS);
@@ -1448,6 +1464,7 @@
 
 	srna= RNA_def_struct(brna, "ThemeTimeline", NULL);
 	RNA_def_struct_sdna(srna, "ThemeSpace");
+	RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
 	RNA_def_struct_ui_text(srna, "Theme Timeline", "Theme settings for the Timeline");
 
 	rna_def_userdef_theme_spaces_main(srna, SPACE_TIME);
@@ -1473,6 +1490,7 @@
 
 	srna= RNA_def_struct(brna, "ThemeImageEditor", NULL);
 	RNA_def_struct_sdna(srna, "ThemeSpace");
+	RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
 	RNA_def_struct_ui_text(srna, "Theme Image Editor", "Theme settings for the Image Editor");
 
 	rna_def_userdef_theme_spaces_main(srna, SPACE_IMAGE);
@@ -1500,6 +1518,7 @@
 
 	srna= RNA_def_struct(brna, "ThemeSequenceEditor", NULL);

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list