Esempio n. 1
0
static int pack_all_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
{
	Main *bmain = CTX_data_main(C);
	Image *ima;
	ImBuf *ibuf;
	
	// first check for dirty images
	for (ima = bmain->image.first; ima; ima = ima->id.next) {
		if (BKE_image_has_loaded_ibuf(ima)) { /* XXX FIX */
			ibuf = BKE_image_acquire_ibuf(ima, NULL, NULL);
			
			if (ibuf && (ibuf->userflags & IB_BITMAPDIRTY)) {
				BKE_image_release_ibuf(ima, ibuf, NULL);
				break;
			}
			
			BKE_image_release_ibuf(ima, ibuf, NULL);
		}
	}
	
	if (ima) {
		return WM_operator_confirm_message(C, op, "Some images are painted on. These changes will be lost. Continue?");
	}
	
	return pack_all_exec(C, op);
}
Esempio n. 2
0
static int file_directory_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(event))
{
	SpaceFile *sfile= CTX_wm_space_file(C);

	if(sfile->params) {
		file_expand_directory(C);
		
		if (!BLI_exists(sfile->params->dir)) {
			return WM_operator_confirm_message(C, op, "Create new directory?");
		} 

		return file_directory_exec(C, op);
	}

	return OPERATOR_CANCELLED;
}
Esempio n. 3
0
static int unpack_libraries_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
{
	return WM_operator_confirm_message(C, op, "Unpack Blender Libraries - creates directories, all new paths should work");
}