diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-04-11 19:31:05 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-04-11 19:31:05 +0400 |
commit | 96995926283d99876882950ba05e0a0a01335a0a (patch) | |
tree | 9fb7044fbb9f7e51e314fb279df5c2f3708974ac | |
parent | 66419dcc121ce23aa0ef34eaf1b3480ea6bf82f5 (diff) |
py api: bpy.data.is_dirty wasn't working like image is dirty, instead is would return if the file was saved or not.
- rename to 'is_saved' (and negated).
- add 'is_dirty' which is true when the files edits are not saved to disk.
-rw-r--r-- | release/scripts/startup/bl_ui/properties_physics_common.py | 6 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_main.c | 18 |
2 files changed, 20 insertions, 4 deletions
diff --git a/release/scripts/startup/bl_ui/properties_physics_common.py b/release/scripts/startup/bl_ui/properties_physics_common.py index bd657848996..f7cf8da1840 100644 --- a/release/scripts/startup/bl_ui/properties_physics_common.py +++ b/release/scripts/startup/bl_ui/properties_physics_common.py @@ -106,7 +106,7 @@ def point_cache_ui(self, context, cache, enabled, cachetype): layout.label(text=cache.info) else: if cachetype == 'SMOKE': - if bpy.data.is_dirty: + if not bpy.data.is_saved: layout.label(text="Cache is disabled until the file is saved") layout.enabled = False @@ -129,7 +129,7 @@ def point_cache_ui(self, context, cache, enabled, cachetype): if cachetype != 'SMOKE': split = layout.split() - split.enabled = enabled and (not bpy.data.is_dirty) + split.enabled = enabled and bpy.data.is_saved col = split.column() col.prop(cache, "use_disk_cache") @@ -139,7 +139,7 @@ def point_cache_ui(self, context, cache, enabled, cachetype): col.prop(cache, "use_library_path", "Use Lib Path") row = layout.row() - row.enabled = enabled and (not bpy.data.is_dirty) + row.enabled = enabled and bpy.data.is_saved row.active = cache.use_disk_cache row.label(text="Compression:") row.prop(cache, "compression", expand=True) diff --git a/source/blender/makesrna/intern/rna_main.c b/source/blender/makesrna/intern/rna_main.c index 74912737cf8..eedf199bf1c 100644 --- a/source/blender/makesrna/intern/rna_main.c +++ b/source/blender/makesrna/intern/rna_main.c @@ -42,9 +42,20 @@ /* all the list begin functions are added manually here, Main is not in SDNA */ +static int rna_Main_is_saved_get(PointerRNA *ptr) +{ + return G.relbase_valid; +} + static int rna_Main_is_dirty_get(PointerRNA *ptr) { - return !G.relbase_valid; + /* XXX, not totally nice to do it this way, should store in main ? */ + wmWindowManager *wm; + for(wm= G.main->wm.first; wm; wm= wm->id.next) { + return !wm->file_saved; + } + + return TRUE; } static void rna_Main_filepath_get(PointerRNA *ptr, char *value) @@ -307,6 +318,11 @@ void RNA_def_main(BlenderRNA *brna) prop= RNA_def_property(srna, "is_dirty", PROP_BOOLEAN, PROP_NONE); RNA_def_property_clear_flag(prop, PROP_EDITABLE); RNA_def_property_boolean_funcs(prop, "rna_Main_is_dirty_get", NULL); + RNA_def_property_ui_text(prop, "File is Saved", "Have recent edits been saved to disk"); + + prop= RNA_def_property(srna, "is_saved", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_boolean_funcs(prop, "rna_Main_is_saved_get", NULL); RNA_def_property_ui_text(prop, "File is Saved", "Has the current session been saved to disk as a .blend file"); for(i=0; lists[i].name; i++) |