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.
This commit is contained in:
Campbell Barton 2011-04-11 15:31:05 +00:00
parent 66419dcc12
commit 9699592628
2 changed files with 20 additions and 4 deletions

@ -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)

@ -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++)