svn merge ^/trunk/blender -r43564:43609
[blender.git] / source / blender / editors / util / ed_util.c
index b46ca538896829a7bbdaceaaa1f42f978fd8b364..7f301123ab8a775ea7e1482867fbad2194f3a114 100644 (file)
@@ -58,6 +58,7 @@
 #include "UI_resources.h"
 
 #include "WM_types.h"
+#include "WM_api.h"
 #include "RNA_access.h"
 
 
@@ -165,12 +166,13 @@ void unpack_menu(bContext *C, const char *opname, const char *id_name, const cha
        uiPopupMenu *pup;
        uiLayout *layout;
        char line[FILE_MAX + 100];
+       wmOperatorType *ot = WM_operatortype_find(opname, 1);
 
        pup= uiPupMenuBegin(C, "Unpack file", ICON_NONE);
        layout= uiPupMenuLayout(pup);
 
        strcpy(line, "Remove Pack");
-       props_ptr= uiItemFullO(layout, opname, line, ICON_NONE, NULL, WM_OP_EXEC_DEFAULT, UI_ITEM_O_RETURN_PROPS);
+       props_ptr= uiItemFullO_ptr(layout, ot, line, ICON_NONE, NULL, WM_OP_EXEC_DEFAULT, UI_ITEM_O_RETURN_PROPS);
        RNA_enum_set(&props_ptr, "method", PF_REMOVE);
        RNA_string_set(&props_ptr, "id", id_name);
 
@@ -184,29 +186,29 @@ void unpack_menu(bContext *C, const char *opname, const char *id_name, const cha
                        switch(checkPackedFile(local_name, pf)) {
                                case PF_NOFILE:
                                        BLI_snprintf(line, sizeof(line), "Create %s", local_name);
-                                       props_ptr= uiItemFullO(layout, opname, line, ICON_NONE, NULL, WM_OP_EXEC_DEFAULT, UI_ITEM_O_RETURN_PROPS);
+                                       props_ptr= uiItemFullO_ptr(layout, ot, line, ICON_NONE, NULL, WM_OP_EXEC_DEFAULT, UI_ITEM_O_RETURN_PROPS);
                                        RNA_enum_set(&props_ptr, "method", PF_WRITE_LOCAL);
                                        RNA_string_set(&props_ptr, "id", id_name);
 
                                        break;
                                case PF_EQUAL:
                                        BLI_snprintf(line, sizeof(line), "Use %s (identical)", local_name);
-                                       //uiItemEnumO(layout, opname, line, 0, "method", PF_USE_LOCAL);
-                                       props_ptr= uiItemFullO(layout, opname, line, ICON_NONE, NULL, WM_OP_EXEC_DEFAULT, UI_ITEM_O_RETURN_PROPS);
+                                       //uiItemEnumO_ptr(layout, ot, line, 0, "method", PF_USE_LOCAL);
+                                       props_ptr= uiItemFullO_ptr(layout, ot, line, ICON_NONE, NULL, WM_OP_EXEC_DEFAULT, UI_ITEM_O_RETURN_PROPS);
                                        RNA_enum_set(&props_ptr, "method", PF_USE_LOCAL);
                                        RNA_string_set(&props_ptr, "id", id_name);
 
                                        break;
                                case PF_DIFFERS:
                                        BLI_snprintf(line, sizeof(line), "Use %s (differs)", local_name);
-                                       //uiItemEnumO(layout, opname, line, 0, "method", PF_USE_LOCAL);
-                                       props_ptr= uiItemFullO(layout, opname, line, ICON_NONE, NULL, WM_OP_EXEC_DEFAULT, UI_ITEM_O_RETURN_PROPS);
+                                       //uiItemEnumO_ptr(layout, ot, line, 0, "method", PF_USE_LOCAL);
+                                       props_ptr= uiItemFullO_ptr(layout, ot, line, ICON_NONE, NULL, WM_OP_EXEC_DEFAULT, UI_ITEM_O_RETURN_PROPS);
                                        RNA_enum_set(&props_ptr, "method", PF_USE_LOCAL);
                                        RNA_string_set(&props_ptr, "id", id_name);
 
                                        BLI_snprintf(line, sizeof(line), "Overwrite %s", local_name);
-                                       //uiItemEnumO(layout, opname, line, 0, "method", PF_WRITE_LOCAL);
-                                       props_ptr= uiItemFullO(layout, opname, line, ICON_NONE, NULL, WM_OP_EXEC_DEFAULT, UI_ITEM_O_RETURN_PROPS);
+                                       //uiItemEnumO_ptr(layout, ot, line, 0, "method", PF_WRITE_LOCAL);
+                                       props_ptr= uiItemFullO_ptr(layout, ot, line, ICON_NONE, NULL, WM_OP_EXEC_DEFAULT, UI_ITEM_O_RETURN_PROPS);
                                        RNA_enum_set(&props_ptr, "method", PF_WRITE_LOCAL);
                                        RNA_string_set(&props_ptr, "id", id_name);
                                        break;
@@ -217,28 +219,28 @@ void unpack_menu(bContext *C, const char *opname, const char *id_name, const cha
        switch(checkPackedFile(abs_name, pf)) {
                case PF_NOFILE:
                        BLI_snprintf(line, sizeof(line), "Create %s", abs_name);
-                       //uiItemEnumO(layout, opname, line, 0, "method", PF_WRITE_ORIGINAL);
-                       props_ptr= uiItemFullO(layout, opname, line, ICON_NONE, NULL, WM_OP_EXEC_DEFAULT, UI_ITEM_O_RETURN_PROPS);
+                       //uiItemEnumO_ptr(layout, ot, line, 0, "method", PF_WRITE_ORIGINAL);
+                       props_ptr= uiItemFullO_ptr(layout, ot, line, ICON_NONE, NULL, WM_OP_EXEC_DEFAULT, UI_ITEM_O_RETURN_PROPS);
                        RNA_enum_set(&props_ptr, "method", PF_WRITE_ORIGINAL);
                        RNA_string_set(&props_ptr, "id", id_name);
                        break;
                case PF_EQUAL:
                        BLI_snprintf(line, sizeof(line), "Use %s (identical)", abs_name);
-                       //uiItemEnumO(layout, opname, line, 0, "method", PF_USE_ORIGINAL);
-                       props_ptr= uiItemFullO(layout, opname, line, ICON_NONE, NULL, WM_OP_EXEC_DEFAULT, UI_ITEM_O_RETURN_PROPS);
+                       //uiItemEnumO_ptr(layout, ot, line, 0, "method", PF_USE_ORIGINAL);
+                       props_ptr= uiItemFullO_ptr(layout, ot, line, ICON_NONE, NULL, WM_OP_EXEC_DEFAULT, UI_ITEM_O_RETURN_PROPS);
                        RNA_enum_set(&props_ptr, "method", PF_USE_ORIGINAL);
                        RNA_string_set(&props_ptr, "id", id_name);
                        break;
                case PF_DIFFERS:
                        BLI_snprintf(line, sizeof(line), "Use %s (differs)", abs_name);
-                       //uiItemEnumO(layout, opname, line, 0, "method", PF_USE_ORIGINAL);
-                       props_ptr= uiItemFullO(layout, opname, line, ICON_NONE, NULL, WM_OP_EXEC_DEFAULT, UI_ITEM_O_RETURN_PROPS);
+                       //uiItemEnumO_ptr(layout, ot, line, 0, "method", PF_USE_ORIGINAL);
+                       props_ptr= uiItemFullO_ptr(layout, ot, line, ICON_NONE, NULL, WM_OP_EXEC_DEFAULT, UI_ITEM_O_RETURN_PROPS);
                        RNA_enum_set(&props_ptr, "method", PF_USE_ORIGINAL);
                        RNA_string_set(&props_ptr, "id", id_name);
 
                        BLI_snprintf(line, sizeof(line), "Overwrite %s", abs_name);
-                       //uiItemEnumO(layout, opname, line, 0, "method", PF_WRITE_ORIGINAL);
-                       props_ptr= uiItemFullO(layout, opname, line, ICON_NONE, NULL, WM_OP_EXEC_DEFAULT, UI_ITEM_O_RETURN_PROPS);
+                       //uiItemEnumO_ptr(layout, ot, line, 0, "method", PF_WRITE_ORIGINAL);
+                       props_ptr= uiItemFullO_ptr(layout, ot, line, ICON_NONE, NULL, WM_OP_EXEC_DEFAULT, UI_ITEM_O_RETURN_PROPS);
                        RNA_enum_set(&props_ptr, "method", PF_WRITE_ORIGINAL);
                        RNA_string_set(&props_ptr, "id", id_name);
                        break;