Some tweaks to naming of channels in animation editors - thanks Matt
authorJoshua Leung <aligorith@gmail.com>
Thu, 30 Jun 2011 01:07:03 +0000 (01:07 +0000)
committerJoshua Leung <aligorith@gmail.com>
Thu, 30 Jun 2011 01:07:03 +0000 (01:07 +0000)
* F-Curves no longer show the name of the datablock of the property
they affect if this is an ID-block. For example, transform curves for
a cube won't get the "... (Cube)" suffix anymore. In these cases, it's
relatively clear that these belong to the parent datablock, so doing
this should be fine (and reduces clutter).

However, for non-id data (i.e. subsurf modifier settings) or bones,
this info still gets shown. In these cases, there is some ambiguity.

* "ActiveAct: <...>" is no longer shown for NLA action channels (i.e.
just the name of the action gets shown). This should make it easier to
see at a glance what action is being used.

source/blender/editors/animation/anim_ipo_utils.c
source/blender/editors/space_nla/nla_draw.c

index 209210435e6d43fcd96d48321d6abc379bf9b523..fc05f46929bcb0f46bce89280a871f937fc33b19 100644 (file)
@@ -100,6 +100,8 @@ int getname_anim_fcurve(char *name, ID *id, FCurve *fcu)
                         *      - as base, we use a custom name from the structs if one is available 
                         *      - however, if we're showing subdata of bones (probably there will be other exceptions later)
                         *        need to include that info too since it gets confusing otherwise
+                        *      - if a pointer just refers to the ID-block, then don't repeat this info
+                        *        since this just introduces clutter
                         */
                        if (strstr(fcu->rna_path, "bones") && strstr(fcu->rna_path, "constraints")) {
                                /* perform string 'chopping' to get "Bone Name : Constraint Name" */
@@ -114,7 +116,7 @@ int getname_anim_fcurve(char *name, ID *id, FCurve *fcu)
                                if (pchanName) MEM_freeN(pchanName);
                                if (constName) MEM_freeN(constName);
                        }
-                       else {
+                       else if (ptr.data != ptr.id.data) {
                                PropertyRNA *nameprop= RNA_struct_name_property(ptr.type);
                                if (nameprop) {
                                        /* this gets a string which will need to be freed */
@@ -145,7 +147,11 @@ int getname_anim_fcurve(char *name, ID *id, FCurve *fcu)
                        
                        /* putting this all together into the buffer */
                        // XXX we need to check for invalid names...
-                       BLI_snprintf(name, 256, "%s%s (%s)", arrayname, propname, structname); 
+                       // XXX the name length limit needs to be passed in or as some define
+                       if (structname)
+                               BLI_snprintf(name, 256, "%s%s (%s)", arrayname, propname, structname); 
+                       else
+                               BLI_snprintf(name, 256, "%s%s", arrayname, propname); 
                        
                        /* free temp name if nameprop is set */
                        if (free_structname)
index e61b348716b434b569a98538df23f99c5be1571f..4c6740818dca123db39c2405e39c950eea6d5596 100644 (file)
@@ -723,7 +723,7 @@ static void draw_nla_channel_list_gl (bAnimContext *ac, ListBase *anim_data, Vie
                                        special = ICON_ACTION;
                                        
                                        if (act)
-                                               sprintf(name, "ActAction: <%s>", act->id.name+2);
+                                               sprintf(name, "%s", act->id.name+2);
                                        else
                                                sprintf(name, "<No Action>");