Added new macro "file.select_execute", by default mapped to LMB doubleclick in file selector.

This selects+opens the file under the mouse pointer, can be customised.

This somewhat fixes [#20727] MMB don't load .blend from the file browser
This commit is contained in:
2010-01-19 03:59:05 +00:00
parent b34a0fd18a
commit ba36b848eb
4 changed files with 17 additions and 3 deletions

View File

@@ -86,6 +86,7 @@ int ED_fileselect_layout_offset(FileLayout* layout, int x, int y);
void ED_fileselect_layout_tilepos(FileLayout* layout, int tile, int *x, int *y);
void ED_operatormacros_file(void);
#endif /* ED_FILES_H */

View File

@@ -42,6 +42,7 @@
#include "ED_anim_api.h"
#include "ED_armature.h"
#include "ED_curve.h"
#include "ED_fileselect.h"
#include "ED_gpencil.h"
#include "ED_markers.h"
#include "ED_mesh.h"
@@ -115,6 +116,7 @@ void ED_spacetypes_init(void)
ED_operatormacros_mesh();
ED_operatormacros_node();
ED_operatormacros_object();
ED_operatormacros_file();
}
/* called in wm.c */

View File

@@ -567,7 +567,7 @@ int file_exec(bContext *C, wmOperator *unused)
if(sfile->op) {
wmOperator *op= sfile->op;
sfile->op = NULL;
RNA_string_set(op->ptr, "filename", sfile->params->file);
BLI_strncpy(name, sfile->params->dir, sizeof(name));
@@ -1090,3 +1090,13 @@ void FILE_OT_delete(struct wmOperatorType *ot)
ot->poll= file_delete_poll; /* <- important, handler is on window level */
}
void ED_operatormacros_file(void)
{
wmOperatorType *ot;
ot= WM_operatortype_append_macro("FILE_OT_select_execute", "Select and Execute", OPTYPE_UNDO|OPTYPE_REGISTER);
WM_operatortype_macro_define(ot, "FILE_OT_select");
WM_operatortype_macro_define(ot, "FILE_OT_execute");
}

View File

@@ -381,8 +381,9 @@ void file_keymap(struct wmKeyConfig *keyconf)
/* keys for main area */
keymap= WM_keymap_find(keyconf, "File Browser Main", SPACE_FILE, 0);
WM_keymap_add_item(keymap, "FILE_OT_select", LEFTMOUSE, KM_PRESS, 0, 0);
kmi = WM_keymap_add_item(keymap, "FILE_OT_select", LEFTMOUSE, KM_PRESS, KM_SHIFT, 0);
WM_keymap_add_item(keymap, "FILE_OT_select_execute", LEFTMOUSE, KM_DBL_CLICK, 0, 0);
WM_keymap_add_item(keymap, "FILE_OT_select", LEFTMOUSE, KM_CLICK, 0, 0);
kmi = WM_keymap_add_item(keymap, "FILE_OT_select", LEFTMOUSE, KM_CLICK, KM_SHIFT, 0);
RNA_boolean_set(kmi->ptr, "extend", 1);
WM_keymap_add_item(keymap, "FILE_OT_select_all_toggle", AKEY, KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, "FILE_OT_select_border", BKEY, KM_PRESS, 0, 0);