static int unpack_all_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event)) { Main *bmain = CTX_data_main(C); uiPopupMenu *pup; uiLayout *layout; char title[64]; int count = 0; count = countPackedFiles(bmain); if (!count) { BKE_report(op->reports, RPT_WARNING, "No packed files to unpack"); G.fileflags &= ~G_AUTOPACK; return OPERATOR_CANCELLED; } if (count == 1) strcpy(title, IFACE_("Unpack 1 File")); else BLI_snprintf(title, sizeof(title), IFACE_("Unpack %d Files"), count); pup = uiPupMenuBegin(C, title, ICON_NONE); layout = uiPupMenuLayout(pup); uiLayoutSetOperatorContext(layout, WM_OP_EXEC_DEFAULT); uiItemsEnumO(layout, "FILE_OT_unpack_all", "method"); uiPupMenuEnd(C, pup); return OPERATOR_CANCELLED; }
static int unpack_all_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(event)) { Main *bmain= CTX_data_main(C); uiPopupMenu *pup; uiLayout *layout; char title[128]; int count = 0; count = countPackedFiles(bmain); if(!count) { BKE_report(op->reports, RPT_WARNING, "No packed files. Autopack disabled."); G.fileflags &= ~G_AUTOPACK; return OPERATOR_CANCELLED; } if(count == 1) sprintf(title, "Unpack 1 file"); else sprintf(title, "Unpack %d files", count); pup= uiPupMenuBegin(C, title, ICON_NULL); layout= uiPupMenuLayout(pup); uiLayoutSetOperatorContext(layout, WM_OP_EXEC_DEFAULT); uiItemsEnumO(layout, "FILE_OT_unpack_all", "method"); uiPupMenuEnd(C, pup); return OPERATOR_CANCELLED; }