More fixes related to D&D:
* Same issue as T42760 was also reproducible in some cases in 3DView. * You got an error message about missing RNA prop in some drop-called operators. * You could not drop a movie file in nodes, (some cases of) 3DView, nor ImageEditor.
This commit is contained in:
parent
503dbb65c0
commit
fd4cd626be
|
@ -626,6 +626,7 @@ void MESH_OT_drop_named_image(wmOperatorType *ot)
|
|||
/* properties */
|
||||
RNA_def_string(ot->srna, "name", "Image", MAX_ID_NAME - 2, "Name", "Image name to assign");
|
||||
RNA_def_string(ot->srna, "filepath", "Path", FILE_MAX, "Filepath", "Path to image file");
|
||||
RNA_def_boolean(ot->srna, "relative_path", true, "Relative Path", "Select the file relative to the blend file");
|
||||
}
|
||||
|
||||
static int mesh_uv_texture_remove_exec(bContext *C, wmOperator *UNUSED(op))
|
||||
|
|
|
@ -887,6 +887,8 @@ void OBJECT_OT_drop_named_image(wmOperatorType *ot)
|
|||
/* properties */
|
||||
prop = RNA_def_string(ot->srna, "filepath", NULL, FILE_MAX, "Filepath", "Path to image file");
|
||||
RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
|
||||
RNA_def_boolean(ot->srna, "relative_path", true, "Relative Path", "Select the file relative to the blend file");
|
||||
RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
|
||||
prop = RNA_def_string(ot->srna, "name", NULL, MAX_ID_NAME - 2, "Name", "Image name to assign");
|
||||
RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
|
||||
ED_object_add_generic_props(ot, false);
|
||||
|
|
|
@ -356,7 +356,7 @@ static void image_keymap(struct wmKeyConfig *keyconf)
|
|||
static int image_drop_poll(bContext *UNUSED(C), wmDrag *drag, const wmEvent *UNUSED(event))
|
||||
{
|
||||
if (drag->type == WM_DRAG_PATH)
|
||||
if (ELEM(drag->icon, 0, ICON_FILE_IMAGE, ICON_FILE_BLANK)) /* rule might not work? */
|
||||
if (ELEM(drag->icon, 0, ICON_FILE_IMAGE, ICON_FILE_MOVIE, ICON_FILE_BLANK)) /* rule might not work? */
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -374,7 +374,7 @@ void NODE_OT_add_file(wmOperatorType *ot)
|
|||
/* flags */
|
||||
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
|
||||
|
||||
WM_operator_properties_filesel(ot, FOLDERFILE | IMAGEFILE, FILE_SPECIAL, FILE_OPENFILE,
|
||||
WM_operator_properties_filesel(ot, FOLDERFILE | IMAGEFILE | MOVIEFILE, FILE_SPECIAL, FILE_OPENFILE,
|
||||
WM_FILESEL_FILEPATH | WM_FILESEL_RELPATH, FILE_DEFAULTDISPLAY);
|
||||
RNA_def_string(ot->srna, "name", "Image", MAX_ID_NAME - 2, "Name", "Datablock name to assign");
|
||||
}
|
||||
|
|
|
@ -673,7 +673,7 @@ static int node_ima_drop_poll(bContext *UNUSED(C), wmDrag *drag, const wmEvent *
|
|||
return 1;
|
||||
}
|
||||
else if (drag->type == WM_DRAG_PATH) {
|
||||
if (ELEM(drag->icon, 0, ICON_FILE_IMAGE)) /* rule might not work? */
|
||||
if (ELEM(drag->icon, 0, ICON_FILE_IMAGE, ICON_FILE_MOVIE)) /* rule might not work? */
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
|
@ -707,7 +707,7 @@ static void node_id_path_drop_copy(wmDrag *drag, wmDropBox *drop)
|
|||
else if (drag->path[0]) {
|
||||
RNA_string_set(drop->ptr, "filepath", drag->path);
|
||||
RNA_struct_property_unset(drop->ptr, "name");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* this region dropbox definition */
|
||||
|
|
|
@ -599,7 +599,7 @@ static int view3d_ima_drop_poll(bContext *UNUSED(C), wmDrag *drag, const wmEvent
|
|||
return 1;
|
||||
}
|
||||
else if (drag->type == WM_DRAG_PATH) {
|
||||
if (ELEM(drag->icon, 0, ICON_FILE_IMAGE)) /* rule might not work? */
|
||||
if (ELEM(drag->icon, 0, ICON_FILE_IMAGE, ICON_FILE_MOVIE)) /* rule might not work? */
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
|
@ -665,10 +665,14 @@ static void view3d_id_path_drop_copy(wmDrag *drag, wmDropBox *drop)
|
|||
{
|
||||
ID *id = (ID *)drag->poin;
|
||||
|
||||
if (id)
|
||||
if (id) {
|
||||
RNA_string_set(drop->ptr, "name", id->name + 2);
|
||||
if (drag->path[0])
|
||||
RNA_struct_property_unset(drop->ptr, "filepath");
|
||||
}
|
||||
else if (drag->path[0]) {
|
||||
RNA_string_set(drop->ptr, "filepath", drag->path);
|
||||
RNA_struct_property_unset(drop->ptr, "image");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -4374,7 +4374,7 @@ void VIEW3D_OT_background_image_add(wmOperatorType *ot)
|
|||
|
||||
/* properties */
|
||||
RNA_def_string(ot->srna, "name", "Image", MAX_ID_NAME - 2, "Name", "Image name to assign");
|
||||
WM_operator_properties_filesel(ot, FOLDERFILE | IMAGEFILE, FILE_SPECIAL, FILE_OPENFILE,
|
||||
WM_operator_properties_filesel(ot, FOLDERFILE | IMAGEFILE | MOVIEFILE, FILE_SPECIAL, FILE_OPENFILE,
|
||||
WM_FILESEL_FILEPATH | WM_FILESEL_RELPATH, FILE_DEFAULTDISPLAY);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue