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 */

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to