[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23867] trunk/blender/source/blender: move view3d keymaps so edit&paint mode keymaps override removed workaround that prevented switching directly from editmode to paint modes

Campbell Barton ideasman42 at gmail.com
Thu Oct 15 19:59:42 CEST 2009


Revision: 23867
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23867
Author:   campbellbarton
Date:     2009-10-15 19:59:42 +0200 (Thu, 15 Oct 2009)

Log Message:
-----------
move view3d keymaps so edit&paint mode keymaps override removed workaround that prevented switching directly from editmode to paint modes
+ other minor changes

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_particle.h
    trunk/blender/source/blender/blenkernel/intern/particle.c
    trunk/blender/source/blender/editors/object/object_edit.c
    trunk/blender/source/blender/editors/space_file/file_ops.c
    trunk/blender/source/blender/editors/space_view3d/space_view3d.c
    trunk/blender/source/blender/makesrna/intern/rna_particle.c

Modified: trunk/blender/source/blender/blenkernel/BKE_particle.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_particle.h	2009-10-15 17:18:47 UTC (rev 23866)
+++ trunk/blender/source/blender/blenkernel/BKE_particle.h	2009-10-15 17:59:42 UTC (rev 23867)
@@ -200,6 +200,7 @@
 
 int psys_in_edit_mode(struct Scene *scene, struct ParticleSystem *psys);
 int psys_check_enabled(struct Object *ob, struct ParticleSystem *psys);
+int psys_check_edited(struct ParticleSystem *psys);
 
 void psys_check_group_weights(struct ParticleSettings *part);
 

Modified: trunk/blender/source/blender/blenkernel/intern/particle.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/particle.c	2009-10-15 17:18:47 UTC (rev 23866)
+++ trunk/blender/source/blender/blenkernel/intern/particle.c	2009-10-15 17:59:42 UTC (rev 23867)
@@ -298,6 +298,14 @@
 	return 1;
 }
 
+int psys_check_edited(ParticleSystem *psys)
+{
+	if(psys->part && psys->part->type==PART_HAIR)
+		return (psys->flag & PSYS_EDITED || (psys->edit && psys->edit->edited));
+	else
+		return (psys->pointcache->edit && psys->pointcache->edit->edited);
+}
+
 void psys_check_group_weights(ParticleSettings *part)
 {
 	ParticleDupliWeight *dw, *tdw;

Modified: trunk/blender/source/blender/editors/object/object_edit.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_edit.c	2009-10-15 17:18:47 UTC (rev 23866)
+++ trunk/blender/source/blender/editors/object/object_edit.c	2009-10-15 17:59:42 UTC (rev 23867)
@@ -2002,12 +2002,6 @@
 	if(!ob || !object_mode_set_compat(C, op, ob))
 		return OPERATOR_PASS_THROUGH;
 
-	/* Irritating workaround! disallow paint modes from editmode since a number of shortcuts conflict
-	 * XXX - would be much better to handle this on a keymap level */
-	if((ob->mode & OB_MODE_EDIT) && ELEM6(mode, OB_MODE_SCULPT, OB_MODE_VERTEX_PAINT, OB_MODE_WEIGHT_PAINT, OB_MODE_TEXTURE_PAINT, OB_MODE_PARTICLE_EDIT, OB_MODE_POSE)) {
-		return OPERATOR_PASS_THROUGH;
-	}
-
 	/* Exit current mode if it's not the mode we're setting */
 	if(ob->mode != OB_MODE_OBJECT && ob->mode != mode)
 		WM_operator_name_call(C, object_mode_op_string(ob->mode), WM_OP_EXEC_REGION_WIN, NULL);

Modified: trunk/blender/source/blender/editors/space_file/file_ops.c
===================================================================
--- trunk/blender/source/blender/editors/space_file/file_ops.c	2009-10-15 17:18:47 UTC (rev 23866)
+++ trunk/blender/source/blender/editors/space_file/file_ops.c	2009-10-15 17:59:42 UTC (rev 23867)
@@ -795,9 +795,6 @@
 	SpaceFile *sfile= CTX_wm_space_file(C);
 	
 	if(sfile->params) {
-		char prev_dir[sizeof(sfile->params->dir)];
-		BLI_strncpy(prev_dir, filelist_dir(sfile->files), sizeof(prev_dir));
-
 		if ( sfile->params->dir[0] == '~' ) {
 			if (sfile->params->dir[1] == '\0') {
 				BLI_strncpy(sfile->params->dir, BLI_gethome(), sizeof(sfile->params->dir) );

Modified: trunk/blender/source/blender/editors/space_view3d/space_view3d.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/space_view3d.c	2009-10-15 17:18:47 UTC (rev 23866)
+++ trunk/blender/source/blender/editors/space_view3d/space_view3d.c	2009-10-15 17:59:42 UTC (rev 23867)
@@ -298,8 +298,6 @@
 	wmKeyMap *keymap;
 
 	/* object ops. */
-	keymap= WM_keymap_find(wm->defaultconf, "Object Non-modal", 0, 0);
-	WM_event_add_keymap_handler(&ar->handlers, keymap);
 	
 	/* pose is not modal, operator poll checks for this */
 	keymap= WM_keymap_find(wm->defaultconf, "Pose", 0, 0);
@@ -349,6 +347,9 @@
 	keymap= WM_keymap_find(wm->defaultconf, "Font", 0, 0);
 	WM_event_add_keymap_handler(&ar->handlers, keymap);
 
+	keymap= WM_keymap_find(wm->defaultconf, "Object Non-modal", 0, 0);
+	WM_event_add_keymap_handler(&ar->handlers, keymap);
+
 	/* own keymap, last so modes can override it */
 	keymap= WM_keymap_find(wm->defaultconf, "View3D Generic", SPACE_VIEW3D, 0);
 	WM_event_add_keymap_handler(&ar->handlers, keymap);

Modified: trunk/blender/source/blender/makesrna/intern/rna_particle.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_particle.c	2009-10-15 17:18:47 UTC (rev 23866)
+++ trunk/blender/source/blender/makesrna/intern/rna_particle.c	2009-10-15 17:59:42 UTC (rev 23867)
@@ -420,10 +420,7 @@
 {
 	ParticleSystem *psys= (ParticleSystem*)ptr->data;
 
-	if(psys->part && psys->part->type==PART_HAIR)
-		return (psys->flag & PSYS_HAIR_DONE);
-	else
-		return (psys->pointcache->flag & PTCACHE_BAKED);
+	return psys_check_edited(psys);
 }
 static int rna_ParticleSystem_edited_get(PointerRNA *ptr)
 {





More information about the Bf-blender-cvs mailing list