- disable undo for user preferences (every click would do push an undo), was noticeab...
authorCampbell Barton <ideasman42@gmail.com>
Tue, 8 Nov 2011 15:11:27 +0000 (15:11 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Tue, 8 Nov 2011 15:11:27 +0000 (15:11 +0000)
- also netbeans project file generator now uses branch name for project.

build_files/cmake/cmake_netbeans_project.py
source/blender/editors/interface/interface.c
source/blender/makesrna/RNA_access.h
source/blender/makesrna/RNA_types.h
source/blender/makesrna/intern/rna_access.c
source/blender/makesrna/intern/rna_define.c
source/blender/makesrna/intern/rna_userdef.c

index 769b4adb37ba1b807f4840a2497e78a6ba9dc5ae..45c19adff36be1b51da34bf6a2e83bd4e825ac24 100755 (executable)
@@ -39,6 +39,7 @@ from project_info import (SIMPLE_PROJECTFILE,
                           # is_py,
                           cmake_advanced_info,
                           cmake_compiler_defines,
+                          project_name_get,
                           )
 
 
@@ -59,7 +60,11 @@ def create_nb_project_main():
         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]
index e5092c82304d6553840d057d89051e0c97313bdb..2e144c0ca2b48e0bffca4e7fa7a18414730edcb1 100644 (file)
@@ -756,6 +756,9 @@ static int ui_but_is_rna_undo(uiBut *but)
                        return TRUE;
                }
        }
+       else if (but->rnapoin.type && !RNA_struct_undo_check(but->rnapoin.type)) {
+               return FALSE;
+       }
 
        return TRUE;
 }
index b40c2936bd5520047312f23dc8dbb7ed96e9d7ab..9933840a24ed6df3955f8568f3576099f8f29611 100644 (file)
@@ -623,6 +623,8 @@ StructRNA *RNA_struct_base(StructRNA *type);
 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);
index 418a41c72ba61cdcf1ae0efd99253538b26f459e..1655665efe3736d5e4b3b4e36ec5fc4197a3f4fc 100644 (file)
@@ -326,12 +326,13 @@ typedef enum StructFlag {
        /* 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);
index 793d0112af7ca70c5e4ca31ed882e56e9a174a02..6f9c7a8f19b9e0ace879609d4b170585f2ce11aa 100644 (file)
@@ -549,6 +549,11 @@ int RNA_struct_is_ID(StructRNA *type)
        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;
index ff1bfce2d2f2964ae240064dff2bd2fdc41e41cc..d4756ecfefa1dd9cc12cd029d4f689bf154db1c4 100644 (file)
@@ -654,6 +654,7 @@ StructRNA *RNA_def_struct(BlenderRNA *brna, const char *identifier, const char *
        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;
 
index e4e1c78ab3eb5432fab570422320eaf20a24c377..26f23681c7bc99e3ef6584cc951ccfdbacb454d7 100644 (file)
@@ -316,6 +316,7 @@ static void rna_def_userdef_theme_ui_font_style(BlenderRNA *brna)
 
        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 @@ static void rna_def_userdef_theme_ui_style(BlenderRNA *brna)
        
        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 @@ static void rna_def_userdef_theme_ui_wcol(BlenderRNA *brna)
        
        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 @@ static void rna_def_userdef_theme_ui_wcol_state(BlenderRNA *brna)
        
        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 @@ static void rna_def_userdef_theme_ui(BlenderRNA *brna)
        
        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 @@ static void rna_def_userdef_theme_space_view3d(BlenderRNA *brna)
 
        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 @@ static void rna_def_userdef_theme_space_graph(BlenderRNA *brna)
 
        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 @@ static void rna_def_userdef_theme_space_file(BlenderRNA *brna)
 
        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 @@ static void rna_def_userdef_theme_space_outliner(BlenderRNA *brna)
 
        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 @@ static void rna_def_userdef_theme_space_userpref(BlenderRNA *brna)
 
        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 @@ static void rna_def_userdef_theme_space_console(BlenderRNA *brna)
 
        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 @@ static void rna_def_userdef_theme_space_info(BlenderRNA *brna)
 
        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 @@ static void rna_def_userdef_theme_space_text(BlenderRNA *brna)
 
        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 @@ static void rna_def_userdef_theme_space_node(BlenderRNA *brna)
 
        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 @@ static void rna_def_userdef_theme_space_logic(BlenderRNA *brna)
        
        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 @@ static void rna_def_userdef_theme_space_buts(BlenderRNA *brna)
 
        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 @@ static void rna_def_userdef_theme_space_time(BlenderRNA *brna)
 
        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 @@ static void rna_def_userdef_theme_space_image(BlenderRNA *brna)
 
        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 @@ static void rna_def_userdef_theme_space_seq(BlenderRNA *brna)
 
        srna= RNA_def_struct(brna, "ThemeSequenceEditor", NULL);
        RNA_def_struct_sdna(srna, "ThemeSpace");
+       RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
        RNA_def_struct_ui_text(srna, "Theme Sequence Editor", "Theme settings for the Sequence Editor");
 
        rna_def_userdef_theme_spaces_main(srna, SPACE_IMAGE);
@@ -1591,6 +1610,7 @@ static void rna_def_userdef_theme_space_action(BlenderRNA *brna)
 
        srna= RNA_def_struct(brna, "ThemeDopeSheet", NULL);
        RNA_def_struct_sdna(srna, "ThemeSpace");
+       RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
        RNA_def_struct_ui_text(srna, "Theme DopeSheet", "Theme settings for the DopeSheet");
 
        rna_def_userdef_theme_spaces_main(srna, SPACE_ACTION);
@@ -1676,6 +1696,7 @@ static void rna_def_userdef_theme_space_nla(BlenderRNA *brna)
 
        srna= RNA_def_struct(brna, "ThemeNLAEditor", NULL);
        RNA_def_struct_sdna(srna, "ThemeSpace");
+       RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
        RNA_def_struct_ui_text(srna, "Theme NLA Editor", "Theme settings for the NLA Editor");
 
        rna_def_userdef_theme_spaces_main(srna, SPACE_NLA);
@@ -1729,6 +1750,7 @@ static void rna_def_userdef_theme_colorset(BlenderRNA *brna)
 
        srna= RNA_def_struct(brna, "ThemeBoneColorSet", NULL);
        RNA_def_struct_sdna(srna, "ThemeWireColor");
+       RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
        RNA_def_struct_ui_text(srna, "Theme Bone Color Set", "Theme settings for bone color sets");
 
        prop= RNA_def_property(srna, "normal", PROP_FLOAT, PROP_COLOR_GAMMA);
@@ -1763,6 +1785,7 @@ static void rna_def_userdef_theme_space_clip(BlenderRNA *brna)
 
        srna= RNA_def_struct(brna, "ThemeClipEditor", NULL);
        RNA_def_struct_sdna(srna, "ThemeSpace");
+       RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
        RNA_def_struct_ui_text(srna, "Theme Clip Editor", "Theme settings for the Movie Clip Editor");
 
        rna_def_userdef_theme_spaces_main(srna, SPACE_CLIP);
@@ -1871,6 +1894,7 @@ static void rna_def_userdef_themes(BlenderRNA *brna)
 
        srna= RNA_def_struct(brna, "Theme", NULL);
        RNA_def_struct_sdna(srna, "bTheme");
+       RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
        RNA_def_struct_ui_text(srna, "Theme", "Theme settings defining draw style and colors in the user interface");
 
        prop= RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
@@ -2004,6 +2028,7 @@ static void rna_def_userdef_addon(BlenderRNA *brna)
 
        srna= RNA_def_struct(brna, "Addon", NULL);
        RNA_def_struct_sdna(srna, "bAddon");
+       RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
        RNA_def_struct_ui_text(srna, "Addon", "Python addons to be loaded automatically");
 
        prop= RNA_def_property(srna, "module", PROP_STRING, PROP_NONE);
@@ -2047,6 +2072,7 @@ static void rna_def_userdef_solidlight(BlenderRNA *brna)
 
        srna= RNA_def_struct(brna, "UserSolidLight", NULL);
        RNA_def_struct_sdna(srna, "SolidLight");
+       RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
        RNA_def_struct_ui_text(srna, "Solid Light", "Light used for OpenGL lighting in solid draw mode");
        
        prop= RNA_def_property(srna, "use", PROP_BOOLEAN, PROP_NONE);
@@ -2096,6 +2122,7 @@ static void rna_def_userdef_view(BlenderRNA *brna)
        srna= RNA_def_struct(brna, "UserPreferencesView", NULL);
        RNA_def_struct_sdna(srna, "UserDef");
        RNA_def_struct_nested(brna, srna, "UserPreferences");
+       RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
        RNA_def_struct_ui_text(srna, "View & Controls", "Preferences related to viewing data");
 
        /* View  */
@@ -2311,6 +2338,7 @@ static void rna_def_userdef_edit(BlenderRNA *brna)
        srna= RNA_def_struct(brna, "UserPreferencesEdit", NULL);
        RNA_def_struct_sdna(srna, "UserDef");
        RNA_def_struct_nested(brna, srna, "UserPreferences");
+       RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
        RNA_def_struct_ui_text(srna, "Edit Methods", "Settings for interacting with Blender data");
        
        /* Edit Methods */
@@ -2622,6 +2650,7 @@ static void rna_def_userdef_system(BlenderRNA *brna)
        srna= RNA_def_struct(brna, "UserPreferencesSystem", NULL);
        RNA_def_struct_sdna(srna, "UserDef");
        RNA_def_struct_nested(brna, srna, "UserPreferences");
+       RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
        RNA_def_struct_ui_text(srna, "System & OpenGL", "Graphics driver and operating system settings");
 
        /* Language */
@@ -2866,6 +2895,7 @@ static void rna_def_userdef_input(BlenderRNA *brna)
        srna= RNA_def_struct(brna, "UserPreferencesInput", NULL);
        RNA_def_struct_sdna(srna, "UserDef");
        RNA_def_struct_nested(brna, srna, "UserPreferences");
+       RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
        RNA_def_struct_ui_text(srna, "Input", "Settings for input devices");
        
        prop= RNA_def_property(srna, "select_mouse", PROP_ENUM, PROP_NONE);
@@ -3021,6 +3051,7 @@ static void rna_def_userdef_filepaths(BlenderRNA *brna)
        srna= RNA_def_struct(brna, "UserPreferencesFilePaths", NULL);
        RNA_def_struct_sdna(srna, "UserDef");
        RNA_def_struct_nested(brna, srna, "UserPreferences");
+       RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
        RNA_def_struct_ui_text(srna, "File Paths", "Default paths for external files");
        
        prop= RNA_def_property(srna, "show_hidden_files_datablocks", PROP_BOOLEAN, PROP_NONE);
@@ -3138,6 +3169,7 @@ void rna_def_userdef_addon_collection(BlenderRNA *brna, PropertyRNA *cprop)
 
        RNA_def_property_srna(cprop, "Addons");
        srna= RNA_def_struct(brna, "Addons", NULL);
+       RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
        RNA_def_struct_ui_text(srna, "User Addons", "Collection of addons");
 
        func= RNA_def_function(srna, "new", "rna_userdef_addon_new");
@@ -3174,6 +3206,7 @@ void RNA_def_userdef(BlenderRNA *brna)
 
        srna= RNA_def_struct(brna, "UserPreferences", NULL);
        RNA_def_struct_sdna(srna, "UserDef");
+       RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
        RNA_def_struct_ui_text(srna, "User Preferences", "Global user preferences");
 
        prop= RNA_def_property(srna, "active_section", PROP_ENUM, PROP_NONE);