Commit: bc11096db4a9da1c7e24a7cd7c1bb6c6cc768e6a Author: Antony Riakiotakis Date: Tue Jul 29 14:35:34 2014 +0200 Branches: pie-menus https://developer.blender.org/rBbc11096db4a9da1c7e24a7cd7c1bb6c6cc768e6a
Change to pie iinteraction: After discussion with Campbell use combination of drag/click style interaction and ommit option: If initial button is released while the menu is still within the threshold then switch to click style. If not then do regular selection. =================================================================== M release/scripts/startup/bl_ui/space_userpref.py M source/blender/editors/interface/interface_handlers.c M source/blender/makesdna/DNA_userdef_types.h M source/blender/makesrna/intern/rna_userdef.c =================================================================== diff --git a/release/scripts/startup/bl_ui/space_userpref.py b/release/scripts/startup/bl_ui/space_userpref.py index 979e5d02..98f391c 100644 --- a/release/scripts/startup/bl_ui/space_userpref.py +++ b/release/scripts/startup/bl_ui/space_userpref.py @@ -219,7 +219,6 @@ class USERPREF_PT_interface(Panel): col.separator() col.label(text="Pie Menus:") sub = col.column(align=True) - sub.prop(view, "pie_interaction_type", text="") sub.prop(view, "pie_operator_timeout") sub.prop(view, "pie_animation_timeout") sub.prop(view, "pie_initial_timeout") diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c index b998fdb..b505701 100644 --- a/source/blender/editors/interface/interface_handlers.c +++ b/source/blender/editors/interface/interface_handlers.c @@ -8509,7 +8509,7 @@ static int ui_handle_menu_return_submenu(bContext *C, const wmEvent *event, uiPo if (menu->menuretval) { /* pie menus should not close but wait for release instead */ if ((block->flag & UI_BLOCK_RADIAL) && - !((block->pie_data.flags & UI_PIE_CLICK_STYLE) || U.pie_interaction_type == USER_UI_PIE_CLICK)) + !(block->pie_data.flags & UI_PIE_CLICK_STYLE)) { menu->menuretval = 0; block->pie_data.flags |= UI_PIE_FINISHED; @@ -8587,7 +8587,7 @@ static int ui_handler_pie(bContext *C, const wmEvent *event, uiPopupBlockHandle ar = menu->region; block = ar->uiblocks.first; - is_click_style = (U.pie_interaction_type == USER_UI_PIE_CLICK) || (block->pie_data.flags & UI_PIE_CLICK_STYLE); + is_click_style = (block->pie_data.flags & UI_PIE_CLICK_STYLE); if (menu->scrolltimer == NULL) { menu->scrolltimer = @@ -8663,7 +8663,10 @@ static int ui_handler_pie(bContext *C, const wmEvent *event, uiPopupBlockHandle ED_region_tag_redraw(ar); } else { - if (!is_click_style) { + if (block->pie_data.flags & UI_PIE_INVALID_DIR) { + block->pie_data.flags |= UI_PIE_CLICK_STYLE; + } + else if (!is_click_style) { uiBut *but = ui_but_find_activated(menu->region); retval = ui_pie_menu_apply(C, menu, but, event, true, is_click_style); diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h index bfa154d..7ea2770 100644 --- a/source/blender/makesdna/DNA_userdef_types.h +++ b/source/blender/makesdna/DNA_userdef_types.h @@ -853,10 +853,6 @@ typedef enum eImageDrawMethod { IMAGE_DRAW_METHOD_DRAWPIXELS = 3, } eImageDrawMethod; -typedef enum eUIInteraction { - USER_UI_PIE_DRAG = 0, - USER_UI_PIE_CLICK = 1 -} eUIInteraction; #ifdef __cplusplus } diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c index 2168a50..f5d459a 100644 --- a/source/blender/makesrna/intern/rna_userdef.c +++ b/source/blender/makesrna/intern/rna_userdef.c @@ -3158,12 +3158,6 @@ static void rna_def_userdef_view(BlenderRNA *brna) {0, NULL, 0, NULL, NULL} }; - static EnumPropertyItem pie_styles[] = { - {USER_UI_PIE_CLICK, "CLICK", 0, "Click", "Press to spawn pie menu, click to confirm"}, - {USER_UI_PIE_DRAG, "DRAG", 0, "Drag", "Press and hold to spawn pie menu, release to confirm"}, - {0, NULL, 0, NULL, NULL} - }; - PropertyRNA *prop; StructRNA *srna; @@ -3233,10 +3227,6 @@ static void rna_def_userdef_view(BlenderRNA *brna) "Time delay in 1/10 seconds before automatically opening sub level menus"); /* pie menus */ - prop = RNA_def_property(srna, "pie_interaction_type", PROP_ENUM, PROP_NONE); - RNA_def_property_ui_text(prop, "Interaction Type", "Pie menus use a drag/release or click style"); - RNA_def_property_enum_items(prop, pie_styles); - prop = RNA_def_property(srna, "pie_initial_timeout", PROP_INT, PROP_NONE); RNA_def_property_range(prop, 0, 1000); RNA_def_property_ui_text(prop, "Recenter Timeout", "Pie menus will use the initial mouse position as center for this amount of time (in 1/100ths of sec)"); _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs