void _import() { Vector<String> samples = import_path->get_text().split(","); if (samples.size()==0) { error_dialog->set_text(TTR("No samples to import!")); error_dialog->popup_centered(Size2(200,100)); } if (save_path->get_text().strip_edges()=="") { error_dialog->set_text(TTR("Target path is empty.")); error_dialog->popup_centered_minsize(); return; } if (!save_path->get_text().begins_with("res://")) { error_dialog->set_text(TTR("Target path must be full resource path.")); error_dialog->popup_centered_minsize(); return; } if (!DirAccess::exists(save_path->get_text())) { error_dialog->set_text(TTR("Target path must exist.")); error_dialog->popup_centered_minsize(); return; } for(int i=0;i<samples.size();i++) { Ref<ResourceImportMetadata> imd = memnew( ResourceImportMetadata ); List<PropertyInfo> pl; options->_get_property_list(&pl); for(List<PropertyInfo>::Element *E=pl.front();E;E=E->next()) { Variant v; String opt=E->get().name; options->_get(opt,v); imd->set_option(opt,v); } imd->add_source(EditorImportPlugin::validate_source_path(samples[i])); String dst = save_path->get_text(); if (dst=="") { error_dialog->set_text(TTR("Save path is empty!")); error_dialog->popup_centered(Size2(200,100)); } dst = dst.plus_file(samples[i].get_file().basename()+".smp"); Error err = plugin->import(dst,imd); } hide(); }
void _import() { Vector<String> bitmasks = import_path->get_text().split(","); if (bitmasks.size() == 0) { error_dialog->set_text(TTR("No bit masks to import!")); error_dialog->popup_centered(Size2(200, 100)*EDSCALE); } if (save_path->get_text().strip_edges() == "") { error_dialog->set_text(TTR("Target path is empty.")); error_dialog->popup_centered_minsize(); return; } if (!save_path->get_text().begins_with("res://")) { error_dialog->set_text(TTR("Target path must be a complete resource path.")); error_dialog->popup_centered_minsize(); return; } if (!DirAccess::exists(save_path->get_text())) { error_dialog->set_text(TTR("Target path must exist.")); error_dialog->popup_centered_minsize(); return; } for (int i = 0; i<bitmasks.size(); i++) { Ref<ResourceImportMetadata> imd = memnew(ResourceImportMetadata); imd->add_source(EditorImportPlugin::validate_source_path(bitmasks[i])); String dst = save_path->get_text(); if (dst == "") { error_dialog->set_text(TTR("Save path is empty!")); error_dialog->popup_centered(Size2(200, 100)*EDSCALE); } dst = dst.plus_file(bitmasks[i].get_file().get_basename() + ".pbm"); plugin->import(dst, imd); } hide(); }
void EditorSceneImportDialog::_open_and_import() { bool unsaved=EditorNode::has_unsaved_changes(); if (unsaved) { confirm_open->popup_centered_minsize(Size2(300,80)); } else { _import(true); } }
void EditorTextureImportDialog::_import() { // ImportMonitorBlock imb; Vector<String> files=import_path->get_text().split(","); if (!files.size()) { error_dialog->set_text("Please specify some files!"); error_dialog->popup_centered(Size2(200,100)); return; } String dst_path=save_path->get_text(); if (save_path->get_text().strip_edges()=="") { error_dialog->set_text("Target path is empty."); error_dialog->popup_centered_minsize(); return; } if (!save_path->get_text().begins_with("res://")) { error_dialog->set_text("Target path must be full resource path."); error_dialog->popup_centered_minsize(); return; } if (!atlas && !large && !DirAccess::exists(save_path->get_text())) { error_dialog->set_text("Target path must exist."); error_dialog->popup_centered_minsize(); return; } if (atlas) { //atlas if (files.size()==0) { error_dialog->set_text("At least one file needed for Atlas."); error_dialog->popup_centered(Size2(200,100)); return; } String dst_file = dst_path; //dst_file=dst_file.basename()+".tex"; Ref<ResourceImportMetadata> imd = memnew( ResourceImportMetadata ); //imd->set_editor(); for(int i=0;i<files.size();i++) { imd->add_source(EditorImportPlugin::validate_source_path(files[i])); } imd->set_option("format",texture_options->get_format()); imd->set_option("flags",texture_options->get_flags()); imd->set_option("quality",texture_options->get_quality()); imd->set_option("atlas",true); imd->set_option("atlas_size",int(size->get_val())); imd->set_option("large",false); imd->set_option("crop",crop_source->is_pressed()); Error err = plugin->import(dst_file,imd); if (err) { error_dialog->set_text("Error importing: "+dst_file.get_file()); error_dialog->popup_centered(Size2(200,100)); return; } } else if (large) { //atlas if (files.size()!=1) { error_dialog->set_text("Only one file is required for large texture"); error_dialog->popup_centered(Size2(200,100)); return; } String dst_file = dst_path; //dst_file=dst_file.basename()+".tex"; Ref<ResourceImportMetadata> imd = memnew( ResourceImportMetadata ); //imd->set_editor(); for(int i=0;i<files.size();i++) { imd->add_source(EditorImportPlugin::validate_source_path(files[i])); } imd->set_option("format",texture_options->get_format()); imd->set_option("flags",texture_options->get_flags()); imd->set_option("quality",texture_options->get_quality()); imd->set_option("atlas",false); imd->set_option("large",true); imd->set_option("large_cell_size",int(size->get_val())); imd->set_option("crop",crop_source->is_pressed()); Error err = plugin->import(dst_file,imd); if (err) { error_dialog->set_text("Error importing: "+dst_file.get_file()); error_dialog->popup_centered(Size2(200,100)); return; } } else { for(int i=0;i<files.size();i++) { String dst_file = dst_path.plus_file(files[i].get_file()); dst_file=dst_file.basename()+".tex"; Ref<ResourceImportMetadata> imd = memnew( ResourceImportMetadata ); //imd->set_editor(); imd->add_source(EditorImportPlugin::validate_source_path(files[i])); imd->set_option("format",texture_options->get_format()); imd->set_option("flags",texture_options->get_flags()); imd->set_option("quality",texture_options->get_quality()); imd->set_option("atlas",false); imd->set_option("large",false); Error err = plugin->import(dst_file,imd); if (err) { error_dialog->set_text("Error importing: "+dst_file.get_file()); error_dialog->popup_centered(Size2(200,100)); return; } } } hide(); }