[Bf-blender-cvs] [5fd10b1] pie-menus: Revert "Pie Menus:"
Antony Riakiotakis
noreply at git.blender.org
Tue Jul 29 12:12:29 CEST 2014
Commit: 5fd10b15a6847b07376f620d11d829c92ab1970a
Author: Antony Riakiotakis
Date: Tue Jul 29 12:11:23 2014 +0200
Branches: pie-menus
https://developer.blender.org/rB5fd10b15a6847b07376f620d11d829c92ab1970a
Revert "Pie Menus:"
This reverts commit 0d92435a71b8dfe7896a5f28b0ac778fdf383e15.
The reason is that the operator needs greater changes for this to work
correctly, may even better to have a new operator for this operation
===================================================================
M release/scripts/startup/bl_ui/space_view3d.py
M source/blender/editors/mesh/editmesh_select.c
M source/blender/editors/mesh/mesh_ops.c
M source/blender/editors/space_view3d/view3d_ops.c
M source/blender/windowmanager/WM_keymap.h
M source/blender/windowmanager/intern/wm_keymap.c
===================================================================
diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
index ca5dc2a..2b337d5 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -2167,7 +2167,10 @@ class VIEW3D_MT_edit_mesh_select_mode(Menu):
layout.operator_context = 'INVOKE_REGION_WIN'
pie = layout.menu_pie()
- pie.operator_enum("mesh.select_mode", "type")
+ pie.operator("mesh.select_mode", text="Vertex", icon='VERTEXSEL').type = 'VERT'
+ pie.operator("mesh.select_mode", text="Edge", icon='EDGESEL').type = 'EDGE'
+ pie.operator("mesh.select_mode", text="Face", icon='FACESEL').type = 'FACE'
+
class VIEW3D_MT_edit_mesh_extrude(Menu):
bl_label = "Extrude"
diff --git a/source/blender/editors/mesh/editmesh_select.c b/source/blender/editors/mesh/editmesh_select.c
index 8c648b1..9cdfb43 100644
--- a/source/blender/editors/mesh/editmesh_select.c
+++ b/source/blender/editors/mesh/editmesh_select.c
@@ -44,7 +44,6 @@
#include "BKE_report.h"
#include "BKE_paint.h"
#include "BKE_editmesh.h"
-#include "BKE_mesh.h"
#include "IMB_imbuf_types.h"
#include "IMB_imbuf.h"
@@ -939,27 +938,6 @@ static int edbm_select_mode_exec(bContext *C, wmOperator *op)
const bool use_extend = RNA_boolean_get(op->ptr, "use_extend");
const bool use_expand = RNA_boolean_get(op->ptr, "use_expand");
- if (!is_power_of_2_i(type)) {
- Scene *scene = CTX_data_scene(C);
- ToolSettings *ts = scene->toolsettings;
-
- ts->selectmode = type;
-
- if (scene->basact) {
- Object *obact = scene->basact->object;
- Mesh *me = BKE_mesh_from_object(obact);
- if (me && me->edit_btmesh && me->edit_btmesh->selectmode != type) {
- me->edit_btmesh->selectmode = type;
- EDBM_selectmode_set(me->edit_btmesh);
- WM_event_add_notifier(C, NC_GEOM | ND_SELECT, obact->data);
- WM_main_add_notifier(NC_SCENE | ND_TOOLSETTINGS, NULL);
- return OPERATOR_FINISHED;
- }
- }
-
- return OPERATOR_CANCELLED;
- }
-
if (EDBM_selectmode_toggle(C, type, action, use_extend, use_expand)) {
return OPERATOR_FINISHED;
}
@@ -985,14 +963,10 @@ void MESH_OT_select_mode(wmOperatorType *ot)
PropertyRNA *prop;
static EnumPropertyItem elem_items[] = {
- {SCE_SELECT_VERTEX, "VERTEX", ICON_VERTEXSEL, "Vertex", "Vertex selection mode"},
- {SCE_SELECT_EDGE, "EDGE", ICON_EDGESEL, "Edge", "Edge selection mode"},
- {SCE_SELECT_FACE, "FACE", ICON_FACESEL, "Face", "Face selection mode"},
- {SCE_SELECT_VERTEX | SCE_SELECT_FACE, "VERTEX_FACE", ICON_FACESEL, "Vertex/Face", "Vertex and Face selection mode"},
- {SCE_SELECT_VERTEX | SCE_SELECT_EDGE, "VERTEX_EDGE", ICON_VERTEXSEL, "Vertex/Edge", "Vertex and Edge selection mode"},
- {SCE_SELECT_FACE | SCE_SELECT_EDGE, "FACE_EDGE", ICON_EDGESEL, "Face/Edge", "Face and Edge selection mode"},
- {SCE_SELECT_VERTEX | SCE_SELECT_EDGE | SCE_SELECT_FACE, "ALL", ICON_FACESEL, "All", "All selection modes"},
- {0, NULL, 0, NULL, NULL}
+ {SCE_SELECT_VERTEX, "VERT", ICON_VERTEXSEL, "Vertices", ""},
+ {SCE_SELECT_EDGE, "EDGE", ICON_EDGESEL, "Edges", ""},
+ {SCE_SELECT_FACE, "FACE", ICON_FACESEL, "Faces", ""},
+ {0, NULL, 0, NULL, NULL},
};
static EnumPropertyItem actions_items[] = {
diff --git a/source/blender/editors/mesh/mesh_ops.c b/source/blender/editors/mesh/mesh_ops.c
index 657d99c..abf4d88 100644
--- a/source/blender/editors/mesh/mesh_ops.c
+++ b/source/blender/editors/mesh/mesh_ops.c
@@ -349,7 +349,7 @@ void ED_keymap_mesh(wmKeyConfig *keyconf)
WM_keymap_add_item(keymap, "MESH_OT_select_similar", GKEY, KM_PRESS, KM_SHIFT, 0);
/* selection mode */
- WM_keymap_add_pie_menu(keymap, "VIEW3D_MT_edit_mesh_select_mode", TABKEY, KM_PRESS, KM_CTRL, 0);
+ WM_keymap_add_pie_menu(keymap, "VIEW3D_MT_edit_mesh_select_mode", TABKEY, KM_PRESS, KM_CTRL, 0, true);
/* hide */
kmi = WM_keymap_add_item(keymap, "MESH_OT_hide", HKEY, KM_PRESS, 0, 0);
diff --git a/source/blender/editors/space_view3d/view3d_ops.c b/source/blender/editors/space_view3d/view3d_ops.c
index b28a336..f4f16d9 100644
--- a/source/blender/editors/space_view3d/view3d_ops.c
+++ b/source/blender/editors/space_view3d/view3d_ops.c
@@ -320,7 +320,7 @@ void view3d_keymap(wmKeyConfig *keyconf)
RNA_boolean_set(kmi->ptr, "center", true);
/* numpad view hotkeys*/
- WM_keymap_add_pie_menu(keymap, "VIEW3D_PIE_view", QKEY, KM_PRESS, 0, 0);
+ WM_keymap_add_pie_menu(keymap, "VIEW3D_PIE_view", QKEY, KM_PRESS, 0, 0, false);
RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", PAD0, KM_PRESS, 0, 0)->ptr, "type", RV3D_VIEW_CAMERA);
RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", PAD1, KM_PRESS, 0, 0)->ptr, "type", RV3D_VIEW_FRONT);
diff --git a/source/blender/windowmanager/WM_keymap.h b/source/blender/windowmanager/WM_keymap.h
index bf81972..c609549 100644
--- a/source/blender/windowmanager/WM_keymap.h
+++ b/source/blender/windowmanager/WM_keymap.h
@@ -65,7 +65,7 @@ wmKeyMapItem *WM_keymap_add_item(struct wmKeyMap *keymap, const char *idname, in
wmKeyMapItem *WM_keymap_add_menu(struct wmKeyMap *keymap, const char *idname, int type,
int val, int modifier, int keymodifier);
wmKeyMapItem *WM_keymap_add_pie_menu(struct wmKeyMap *keymap, const char *idname, int type,
- int val, int modifier, int keymodifier);
+ int val, int modifier, int keymodifier, bool force_click);
bool WM_keymap_remove_item(struct wmKeyMap *keymap, struct wmKeyMapItem *kmi);
int WM_keymap_item_to_string(wmKeyMapItem *kmi, char *str, const int len);
diff --git a/source/blender/windowmanager/intern/wm_keymap.c b/source/blender/windowmanager/intern/wm_keymap.c
index 8a54c1b..568b63f 100644
--- a/source/blender/windowmanager/intern/wm_keymap.c
+++ b/source/blender/windowmanager/intern/wm_keymap.c
@@ -464,11 +464,11 @@ wmKeyMapItem *WM_keymap_add_menu(wmKeyMap *keymap, const char *idname, int type,
return kmi;
}
-wmKeyMapItem *WM_keymap_add_pie_menu(wmKeyMap *keymap, const char *idname, int type, int val, int modifier, int keymodifier)
+wmKeyMapItem *WM_keymap_add_pie_menu(wmKeyMap *keymap, const char *idname, int type, int val, int modifier, int keymodifier, bool force_click)
{
wmKeyMapItem *kmi = WM_keymap_add_item(keymap, "WM_OT_call_pie_menu", type, val, modifier, keymodifier);
RNA_string_set(kmi->ptr, "name", idname);
- RNA_boolean_set(kmi->ptr, "force_click", false);
+ RNA_boolean_set(kmi->ptr, "force_click", force_click);
return kmi;
}
More information about the Bf-blender-cvs
mailing list