[Bf-blender-cvs] [59d5f5c] asset-experiments: Merge branch 'master' into asset-experiments

Bastien Montagne noreply at git.blender.org
Mon Apr 27 18:25:35 CEST 2015


Commit: 59d5f5c25383646ccff55a9f61432caec06d1195
Author: Bastien Montagne
Date:   Mon Apr 27 18:21:59 2015 +0200
Branches: asset-experiments
https://developer.blender.org/rB59d5f5c25383646ccff55a9f61432caec06d1195

Merge branch 'master' into asset-experiments

Conflicts:
	source/blender/blenkernel/intern/object.c
	source/blender/windowmanager/intern/wm_operators.c

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



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

diff --cc source/blender/blenkernel/intern/object.c
index bcfee7d,6f373ef..8e17a90
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@@ -1051,8 -1048,7 +1051,8 @@@ Object *BKE_object_add_only_object(Mai
  	ob->jump_speed = 10.0f;
  	ob->fall_speed = 55.0f;
  	ob->col_group = 0x01;
- 	ob->col_mask = 0xff;
+ 	ob->col_mask = 0xffff;
 +	ob->preview = NULL;
  
  	/* NT fluid sim defaults */
  	ob->fluidsimSettings = NULL;
diff --cc source/blender/windowmanager/intern/wm_operators.c
index f49bdc8,7e2ee0e..37ea24c
--- a/source/blender/windowmanager/intern/wm_operators.c
+++ b/source/blender/windowmanager/intern/wm_operators.c
@@@ -4923,76 -4833,38 +4925,110 @@@ static void WM_OT_previews_ensure(wmOpe
  	ot->exec = previews_ensure_exec;
  }
  
 +/* *************************** Datablocks previews clear ************* */
 +
 +/* Only types supporting previews currently. */
 +static EnumPropertyItem preview_id_type_items[] = {
 +    {FILTER_ID_SCE, "SCENE", 0, "Scenes", ""},
 +    {FILTER_ID_GR, "GROUP", 0, "Groups", ""},
 +	{FILTER_ID_OB, "OBJECT", 0, "Objects", ""},
 +    {FILTER_ID_MA, "MATERIAL", 0, "Materials", ""},
 +    {FILTER_ID_LA, "LAMP", 0, "Lamps", ""},
 +    {FILTER_ID_WO, "WORLD", 0, "Worlds", ""},
 +    {FILTER_ID_TE, "TEXTURE", 0, "Textures", ""},
 +    {FILTER_ID_IM, "IMAGE", 0, "Images", ""},
 +#if 0  /* XXX TODO */
 +    {FILTER_ID_BR, "BRUSH", 0, "Brushes", ""},
 +#endif
 +    {0, NULL, 0, NULL, NULL}
 +};
 +
 +static int previews_clear_exec(bContext *C, wmOperator *op)
 +{
 +	Main *bmain = CTX_data_main(C);
 +	ListBase *lb[] = {&bmain->object, &bmain->group,
 +	                  &bmain->mat, &bmain->world, &bmain->lamp, &bmain->tex, &bmain->image, NULL};
 +	int i;
 +
 +	const int id_filters = RNA_enum_get(op->ptr, "id_type");
 +
 +	for (i = 0; lb[i]; i++) {
 +		ID *id = lb[i]->first;
 +
 +		if (!id) continue;
 +
 +//		printf("%s: %d, %d, %d -> %d\n", id->name, GS(id->name), BKE_idcode_to_idfilter(GS(id->name)),
 +//		                                 id_filters, BKE_idcode_to_idfilter(GS(id->name)) & id_filters);
 +
 +		if (!id || !(BKE_idcode_to_idfilter(GS(id->name)) & id_filters)) {
 +			continue;
 +		}
 +
 +		for (; id; id = id->next) {
 +			PreviewImage *prv_img = BKE_previewimg_get(id);
 +			int j;
 +
 +			for (j = 0; j < 2; j++) {
 +				prv_img->user_edited[j] = false;
 +				prv_img->changed[j] = true;
 +
 +				BKE_previewimg_clear(prv_img, j);
 +			}
 +		}
 +	}
 +
 +	return OPERATOR_FINISHED;
 +}
 +
 +static void WM_OT_previews_clear(wmOperatorType *ot)
 +{
 +	ot->name = "Clear DataBlock Previews";
 +	ot->idname = "WM_OT_previews_clear";
 +	ot->description = "Clear datablock previews (only for some types like objects, materials, textures, etc.)";
 +
 +	ot->exec = previews_clear_exec;
 +	ot->invoke = WM_menu_invoke;
 +
 +	ot->prop = RNA_def_enum_flag(ot->srna, "id_type", preview_id_type_items,
 +	                             FILTER_ID_SCE | FILTER_ID_OB | FILTER_ID_GR |
 +		                         FILTER_ID_MA | FILTER_ID_LA | FILTER_ID_WO | FILTER_ID_TE | FILTER_ID_IM,
 +	                             "DataBlock Type", "Which datablock previews to clear");
 +}
 +
++/* *************************** Doc from UI ************* */
++
+ static int doc_view_manual_ui_context_exec(bContext *C, wmOperator *UNUSED(op))
+ {
+ 	PointerRNA ptr_props;
+ 	char buf[512];
+ 	short retval = OPERATOR_CANCELLED;
+ 
+ 	if (UI_but_online_manual_id_from_active(C, buf, sizeof(buf))) {
+ 		WM_operator_properties_create(&ptr_props, "WM_OT_doc_view_manual");
+ 		RNA_string_set(&ptr_props, "doc_id", buf);
+ 
+ 		retval = WM_operator_name_call_ptr(
+ 		        C, WM_operatortype_find("WM_OT_doc_view_manual", false),
+ 		        WM_OP_EXEC_DEFAULT, &ptr_props);
+ 
+ 		WM_operator_properties_free(&ptr_props);
+ 	}
+ 
+ 	return retval;
+ }
+ 
+ static void WM_OT_doc_view_manual_ui_context(wmOperatorType *ot)
+ {
+ 	/* identifiers */
+ 	ot->name = "View Online Manual";
+ 	ot->idname = "WM_OT_doc_view_manual_ui_context";
+ 	ot->description = "View a context based online manual in a webbrowser";
+ 
+ 	/* callbacks */
+ 	ot->poll = ED_operator_regionactive;
+ 	ot->exec = doc_view_manual_ui_context_exec;
+ }
+ 
  /* ******************************************************* */
  
  static void operatortype_ghash_free_cb(wmOperatorType *ot)
@@@ -5089,7 -4961,7 +5125,8 @@@ void wm_operatortype_init(void
  	WM_operatortype_append(WM_OT_console_toggle);
  #endif
  	WM_operatortype_append(WM_OT_previews_ensure);
 +	WM_operatortype_append(WM_OT_previews_clear);
+ 	WM_operatortype_append(WM_OT_doc_view_manual_ui_context);
  }
  
  /* circleselect-like modal operators */




More information about the Bf-blender-cvs mailing list