[Bf-blender-cvs] [c4f60319d1] master: UI: Try limiting 'x' icon to search buttons

Julian Eisel noreply at git.blender.org
Wed Jan 11 22:23:02 CET 2017


Commit: c4f60319d1709723d8076429c13965b0c94dc88b
Author: Julian Eisel
Date:   Wed Jan 11 22:11:13 2017 +0100
Branches: master
https://developer.blender.org/rBc4f60319d1709723d8076429c13965b0c94dc88b

UI: Try limiting 'x' icon to search buttons

Reusing PROP_TEXTEDIT_UPDATE instead of adding a new property flag just for search strings. Currently it's only used for search strings anyway so seems fine for now.

Fixes T50336.

===================================================================

M	source/blender/editors/interface/interface_utils.c
M	source/blender/makesrna/RNA_types.h

===================================================================

diff --git a/source/blender/editors/interface/interface_utils.c b/source/blender/editors/interface/interface_utils.c
index 8dfbbdd02e..df6f098ee8 100644
--- a/source/blender/editors/interface/interface_utils.c
+++ b/source/blender/editors/interface/interface_utils.c
@@ -119,12 +119,10 @@ uiBut *uiDefAutoButR(uiBlock *block, PointerRNA *ptr, PropertyRNA *prop, int ind
 			else
 				but = uiDefButR_prop(block, UI_BTYPE_TEXT, 0, name, x1, y1, x2, y2, ptr, prop, index, 0, 0, -1, -1, NULL);
 
-			PropertySubType subtype = RNA_property_subtype(prop);
-			if (!(ELEM(subtype, PROP_FILEPATH, PROP_DIRPATH, PROP_FILENAME) || (block->flag & UI_BLOCK_LIST_ITEM))) {
-				UI_but_flag_enable(but, UI_BUT_VALUE_CLEAR);
-			}
 			if (RNA_property_flag(prop) & PROP_TEXTEDIT_UPDATE) {
-				UI_but_flag_enable(but, UI_BUT_TEXTEDIT_UPDATE);
+				/* TEXTEDIT_UPDATE is usally used for search buttons. For these we also want
+				 * the 'x' icon to clear search string, so setting VALUE_CLEAR flag, too. */
+				UI_but_flag_enable(but, UI_BUT_TEXTEDIT_UPDATE | UI_BUT_VALUE_CLEAR);
 			}
 			break;
 		case PROP_POINTER:
diff --git a/source/blender/makesrna/RNA_types.h b/source/blender/makesrna/RNA_types.h
index 1a191a6866..dee8df7d93 100644
--- a/source/blender/makesrna/RNA_types.h
+++ b/source/blender/makesrna/RNA_types.h
@@ -174,8 +174,10 @@ typedef enum PropertyFlag {
 	 * and collections */
 	PROP_ANIMATABLE              = (1 << 1),
 
-	/* This flag means when the property's widget is in 'textedit' mode, it will be updated after every typed char,
-	 * instead of waiting final validation. Used e.g. for text searchbox. */
+	/* This flag means when the property's widget is in 'textedit' mode, it will be updated
+	 * after every typed char, instead of waiting final validation. Used e.g. for text searchbox.
+	 * It will also cause UI_BUT_VALUE_CLEAR to be set for text buttons. We could add an own flag
+	 * for search/filter properties, but this works just fine for now. */
 	PROP_TEXTEDIT_UPDATE         = (1 << 31),
 
 	/* icon */




More information about the Bf-blender-cvs mailing list