Commit: f4b8d2ef7a35e120109dc0321a1999531aed2115
Author: Joshua Leung
Date: Thu Dec 3 00:02:47 2015 +1300
Branches: GPencil_Editing_Stage3
https://developer.blender.org/rBf4b8d2ef7a35e120109dc0321a1999531aed2115
GPencil Dopesheet: Layers can now be filtered by name
This can be enabled using the "filter text" settings on the header (magnifying
glass)
as in the other Dope Sheet modes.
===================================================================
M release/scripts/startup/bl_ui/space_dopesheet.py
M source/blender/editors/animation/anim_filter.c
===================================================================
diff --git a/release/scripts/startup/bl_ui/space_dopesheet.py
b/release/scripts/startup/bl_ui/space_dopesheet.py
index 34137c8..a73908a 100644
--- a/release/scripts/startup/bl_ui/space_dopesheet.py
+++ b/release/scripts/startup/bl_ui/space_dopesheet.py
@@ -138,6 +138,11 @@ class DOPESHEET_HT_header(Header):
# 'genericFiltersOnly' limits the options to only the relevant
'generic' subset of
# filters which will work here and are useful (especially for
character animation)
dopesheet_filter(layout, context, genericFiltersOnly=True)
+ elif st.mode == 'GPENCIL':
+ row = layout.row(align=True)
+ row.prop(st.dopesheet, "use_filter_text", text="")
+ if st.dopesheet.use_filter_text:
+ row.prop(st.dopesheet, "filter_text", text="")
row = layout.row(align=True)
row.prop(toolsettings, "use_proportional_action",
diff --git a/source/blender/editors/animation/anim_filter.c
b/source/blender/editors/animation/anim_filter.c
index 73c82d2..e5837a4 100644
--- a/source/blender/editors/animation/anim_filter.c
+++ b/source/blender/editors/animation/anim_filter.c
@@ -1512,14 +1512,19 @@ static size_t
animdata_filter_gpencil_layers_data(ListBase *anim_data, bDopeShee
/* loop over layers as the conditions are acceptable */
for (gpl = gpd->layers.first; gpl; gpl = gpl->next) {
- // TODO: name filter...
-
/* only if selected */
if (ANIMCHANNEL_SELOK(SEL_GPL(gpl)) ) {
/* only if editable */
if (!(filter_mode & ANIMFILTER_FOREDIT) ||
EDITABLE_GPL(gpl)) {
/* active... */
if (!(filter_mode & ANIMFILTER_ACTIVE) ||
(gpl->flag & GP_LAYER_ACTIVE)) {
+ /* skip layer if the name doesn't match
the filter string */
+ if ((ads) && (ads->filterflag &
ADS_FILTER_BY_FCU_NAME)) {
+ if (BLI_strcasestr(gpl->info,
ads->searchstr) == NULL)
+ continue;
+ }
+
+
/* add to list */
ANIMCHANNEL_NEW_CHANNEL(gpl,
ANIMTYPE_GPLAYER, gpd);
}
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs