[Bf-blender-cvs] [48ed2b6] master: UV editor: make Ctrl+E menu with mark/clear seam, instead of always marking.

Brecht Van Lommel noreply at git.blender.org
Sun May 17 16:55:45 CEST 2015


Commit: 48ed2b63090b9108e5902a2d1382b8a54025c1c0
Author: Brecht Van Lommel
Date:   Sun May 17 15:37:42 2015 +0200
Branches: master
https://developer.blender.org/rB48ed2b63090b9108e5902a2d1382b8a54025c1c0

UV editor: make Ctrl+E menu with mark/clear seam, instead of always marking.

===================================================================

M	source/blender/editors/uvedit/uvedit_ops.c

===================================================================

diff --git a/source/blender/editors/uvedit/uvedit_ops.c b/source/blender/editors/uvedit/uvedit_ops.c
index 2e155e4..3b26713 100644
--- a/source/blender/editors/uvedit/uvedit_ops.c
+++ b/source/blender/editors/uvedit/uvedit_ops.c
@@ -53,6 +53,8 @@
 #include "BLI_blenlib.h"
 #include "BLI_array.h"
 
+#include "BLF_translation.h"
+
 #include "BKE_context.h"
 #include "BKE_customdata.h"
 #include "BKE_depsgraph.h"
@@ -80,6 +82,8 @@
 #include "WM_api.h"
 #include "WM_types.h"
 
+#include "UI_interface.h"
+#include "UI_resources.h"
 #include "UI_view2d.h"
 
 #include "uvedit_intern.h"
@@ -4178,6 +4182,23 @@ static int uv_mark_seam_exec(bContext *C, wmOperator *op)
 	return OPERATOR_FINISHED;
 }
 
+static int uv_mark_seam_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
+{
+	uiPopupMenu *pup;
+	uiLayout *layout;
+
+	pup = UI_popup_menu_begin(C, IFACE_("Edges"), ICON_NONE);
+	layout = UI_popup_menu_layout(pup);
+
+	uiLayoutSetOperatorContext(layout, WM_OP_EXEC_DEFAULT);
+	uiItemBooleanO(layout, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Mark Seam"), ICON_NONE, op->type->idname, "clear", false);
+	uiItemBooleanO(layout, CTX_IFACE_(BLF_I18NCONTEXT_OPERATOR_DEFAULT, "Clear Seam"), ICON_NONE, op->type->idname, "clear", true);
+
+	UI_popup_menu_end(C, pup);
+
+	return OPERATOR_INTERFACE;
+}
+
 static void UV_OT_mark_seam(wmOperatorType *ot)
 {
 	/* identifiers */
@@ -4190,6 +4211,7 @@ static void UV_OT_mark_seam(wmOperatorType *ot)
 
 	/* api callbacks */
 	ot->exec = uv_mark_seam_exec;
+	ot->invoke = uv_mark_seam_invoke;
 	ot->poll = ED_operator_uvedit;
 
 	RNA_def_boolean(ot->srna, "clear", false, "Clear Seams", "Clear instead of marking seams");




More information about the Bf-blender-cvs mailing list