[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36490] trunk/blender: rewind joe' s loopcut commit after discussion with him on IRC, there are less intrusive ways to do this.
Campbell Barton
ideasman42 at gmail.com
Wed May 4 22:34:31 CEST 2011
Revision: 36490
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36490
Author: campbellbarton
Date: 2011-05-04 20:34:30 +0000 (Wed, 04 May 2011)
Log Message:
-----------
rewind joe's loopcut commit after discussion with him on IRC, there are less intrusive ways to do this.
svn merge . -r36451:36449
Revision Links:
--------------
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36451
Modified Paths:
--------------
trunk/blender/release/scripts/startup/bl_ui/space_userpref.py
trunk/blender/source/blender/editors/mesh/loopcut.c
trunk/blender/source/blender/editors/mesh/mesh_ops.c
trunk/blender/source/blender/editors/transform/transform.c
trunk/blender/source/blender/editors/transform/transform_ops.c
trunk/blender/source/blender/makesdna/DNA_userdef_types.h
trunk/blender/source/blender/makesdna/DNA_windowmanager_types.h
trunk/blender/source/blender/makesrna/intern/rna_userdef.c
trunk/blender/source/blender/windowmanager/intern/wm_operators.c
Modified: trunk/blender/release/scripts/startup/bl_ui/space_userpref.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_ui/space_userpref.py 2011-05-04 17:36:13 UTC (rev 36489)
+++ trunk/blender/release/scripts/startup/bl_ui/space_userpref.py 2011-05-04 20:34:30 UTC (rev 36490)
@@ -795,9 +795,6 @@
sub.separator()
- sub.label(text="Loop Cut:")
- sub.prop(inputs, "loopcut_finish_on_release")
-
sub.label(text="Orbit Style:")
sub.row().prop(inputs, "view_rotate_method", expand=True)
Modified: trunk/blender/source/blender/editors/mesh/loopcut.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/loopcut.c 2011-05-04 17:36:13 UTC (rev 36489)
+++ trunk/blender/source/blender/editors/mesh/loopcut.c 2011-05-04 20:34:30 UTC (rev 36490)
@@ -100,7 +100,6 @@
int extend;
int do_cut;
- wmTimer *timer;
} tringselOpData;
/* modal loop selection drawing callback */
@@ -316,13 +315,10 @@
}
/* called when modal loop selection is done... */
-static void ringsel_exit(bContext *C, wmOperator *op)
+static void ringsel_exit(wmOperator *op)
{
tringselOpData *lcd= op->customdata;
- if (lcd->timer)
- WM_event_remove_timer(CTX_wm_manager(C), CTX_wm_window(C), lcd->timer);
-
/* deactivate the extra drawing stuff in 3D-View */
ED_region_draw_cb_exit(lcd->ar->type, lcd->draw_handle);
@@ -358,10 +354,10 @@
return 1;
}
-static int ringcut_cancel (bContext *C, wmOperator *op)
+static int ringcut_cancel (bContext *UNUSED(C), wmOperator *op)
{
/* this is just a wrapper around exit() */
- ringsel_exit(C, op);
+ ringsel_exit(op);
return OPERATOR_CANCELLED;
}
@@ -379,7 +375,7 @@
lcd = op->customdata;
if (lcd->em->selectmode == SCE_SELECT_FACE) {
- ringsel_exit(C, op);
+ ringsel_exit(op);
WM_operator_name_call(C, "MESH_OT_loop_select", WM_OP_INVOKE_REGION_WIN, NULL);
return OPERATOR_CANCELLED;
}
@@ -389,7 +385,7 @@
edge = findnearestedge(&lcd->vc, &dist);
if(!edge) {
- ringsel_exit(C, op);
+ ringsel_exit(op);
return OPERATOR_CANCELLED;
}
@@ -397,7 +393,7 @@
ringsel_find_edge(lcd, 1);
ringsel_finish(C, op);
- ringsel_exit(C, op);
+ ringsel_exit(op);
return OPERATOR_FINISHED;
}
@@ -408,11 +404,7 @@
tringselOpData *lcd;
EditEdge *edge;
int dist = 75;
-
- /*if we're in the cut-n-slide macro, set release_confirm based on user pref*/
- if (op->opm)
- RNA_boolean_set(op->next->ptr, "release_confirm", U.loopcut_finish_on_release);
-
+
if(modifiers_isDeformedByLattice(obedit) || modifiers_isDeformedByArmature(obedit))
BKE_report(op->reports, RPT_WARNING, "Loop cut doesn't work well on deformed edit mesh display");
@@ -445,34 +437,22 @@
view3d_operator_needs_opengl(C);
+
switch (event->type) {
case LEFTMOUSE: /* confirm */ // XXX hardcoded
- if (event->val == KM_RELEASE) {
+ if (event->val == KM_PRESS) {
/* finish */
ED_region_tag_redraw(lcd->ar);
ringsel_finish(C, op);
- ringsel_exit(C, op);
+ ringsel_exit(op);
ED_area_headerprint(CTX_wm_area(C), NULL);
- return OPERATOR_FINISHED|OPERATOR_ABORT_MACRO;
- }else {
- lcd->timer = WM_event_add_timer(CTX_wm_manager(C), CTX_wm_window(C), TIMER2, 0.12);
+ return OPERATOR_FINISHED;
}
ED_region_tag_redraw(lcd->ar);
break;
-
- case TIMER2:
- /* finish */
- ED_region_tag_redraw(lcd->ar);
-
- ringsel_finish(C, op);
- ringsel_exit(C, op);
-
- ED_area_headerprint(CTX_wm_area(C), NULL);
-
- return OPERATOR_FINISHED;
case RIGHTMOUSE: /* abort */ // XXX hardcoded
case ESCKEY:
if (event->val == KM_RELEASE) {
Modified: trunk/blender/source/blender/editors/mesh/mesh_ops.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/mesh_ops.c 2011-05-04 17:36:13 UTC (rev 36489)
+++ trunk/blender/source/blender/editors/mesh/mesh_ops.c 2011-05-04 20:34:30 UTC (rev 36490)
@@ -175,10 +175,8 @@
ot= WM_operatortype_append_macro("MESH_OT_loopcut_slide", "Loop Cut and Slide", OPTYPE_UNDO|OPTYPE_REGISTER);
ot->description = "Cut mesh loop and slide it";
WM_operatortype_macro_define(ot, "MESH_OT_loopcut");
- otmacro= WM_operatortype_macro_define(ot, "TRANSFORM_OT_edge_slide");
- RNA_boolean_set(otmacro->ptr, "release_confirm", 1);
- RNA_int_set(otmacro->ptr, "launch_event", LEFTMOUSE);
-
+ WM_operatortype_macro_define(ot, "TRANSFORM_OT_edge_slide");
+
ot= WM_operatortype_append_macro("MESH_OT_duplicate_move", "Add Duplicate", OPTYPE_UNDO|OPTYPE_REGISTER);
ot->description = "Duplicate mesh and move";
WM_operatortype_macro_define(ot, "MESH_OT_duplicate");
Modified: trunk/blender/source/blender/editors/transform/transform.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform.c 2011-05-04 17:36:13 UTC (rev 36489)
+++ trunk/blender/source/blender/editors/transform/transform.c 2011-05-04 20:34:30 UTC (rev 36490)
@@ -1521,9 +1521,7 @@
t->mode = mode;
t->launch_event = event ? event->type : -1;
- if (RNA_property_is_set(op->ptr, "launch_event"))
- t->launch_event = RNA_int_get(op->ptr, "launch_event");
-
+
if (t->launch_event == EVT_TWEAK_R)
{
t->launch_event = RIGHTMOUSE;
Modified: trunk/blender/source/blender/editors/transform/transform_ops.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform_ops.c 2011-05-04 17:36:13 UTC (rev 36489)
+++ trunk/blender/source/blender/editors/transform/transform_ops.c 2011-05-04 20:34:30 UTC (rev 36490)
@@ -495,11 +495,10 @@
{
RNA_def_boolean(ot->srna, "texture_space", 0, "Edit Object data texture space", "");
}
-
+
// Add confirm method all the time. At the end because it's not really that important and should be hidden only in log, not in keymap edit
/*prop =*/ RNA_def_boolean(ot->srna, "release_confirm", 0, "Confirm on Release", "Always confirm operation when releasing button");
//RNA_def_property_flag(prop, PROP_HIDDEN);
- RNA_def_int(ot->srna, "launch_event", 0, 0, INT_MAX, "Launch Event", "", 0, INT_MAX);
}
void TRANSFORM_OT_translate(struct wmOperatorType *ot)
@@ -743,7 +742,7 @@
ot->poll = ED_operator_editmesh;
RNA_def_float_factor(ot->srna, "value", 0, -1.0f, 1.0f, "Factor", "", -1.0f, 1.0f);
-
+
Transform_Properties(ot, P_MIRROR|P_SNAP);
}
Modified: trunk/blender/source/blender/makesdna/DNA_userdef_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_userdef_types.h 2011-05-04 17:36:13 UTC (rev 36489)
+++ trunk/blender/source/blender/makesdna/DNA_userdef_types.h 2011-05-04 20:34:30 UTC (rev 36490)
@@ -383,13 +383,13 @@
short autokey_mode; /* autokeying mode */
short autokey_flag; /* flags for autokeying */
- short text_render, dsm_maxmem; /*options for text rendering*/
+ short text_render, pad9; /*options for text rendering*/
float pad10;
struct ColorBand coba_weight; /* from texture.h */
float sculpt_paint_overlay_col[3];
- int loopcut_finish_on_release;
+ int pad3;
char author[80]; /* author name for file formats supporting it */
} UserDef;
Modified: trunk/blender/source/blender/makesdna/DNA_windowmanager_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_windowmanager_types.h 2011-05-04 17:36:13 UTC (rev 36489)
+++ trunk/blender/source/blender/makesdna/DNA_windowmanager_types.h 2011-05-04 20:34:30 UTC (rev 36490)
@@ -312,7 +312,6 @@
#define OPERATOR_PASS_THROUGH 8
/* in case operator got executed outside WM code... like via fileselect */
#define OPERATOR_HANDLED 16
-#define OPERATOR_ABORT_MACRO 32
/* wmOperator flag */
#define OP_GRAB_POINTER 1
Modified: trunk/blender/source/blender/makesrna/intern/rna_userdef.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_userdef.c 2011-05-04 17:36:13 UTC (rev 36489)
+++ trunk/blender/source/blender/makesrna/intern/rna_userdef.c 2011-05-04 20:34:30 UTC (rev 36490)
@@ -2676,10 +2676,6 @@
RNA_def_property_enum_items(prop, view_zoom_axes);
RNA_def_property_ui_text(prop, "Zoom Axis", "Axis of mouse movement to zoom in or out on");
- prop= RNA_def_property(srna, "loopcut_finish_on_release", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "loopcut_finish_on_release", 1);
- RNA_def_property_ui_text(prop, "End Loopcut Slide On Release", "End Loopcut Slide On Mouse Release, a 'click-drag-and-hold' workflow");
-
prop= RNA_def_property(srna, "invert_mouse_zoom", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "uiflag", USER_ZOOM_INVERT);
RNA_def_property_ui_text(prop, "Invert Zoom Direction", "Invert the axis of mouse movement for zooming");
Modified: trunk/blender/source/blender/windowmanager/intern/wm_operators.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_operators.c 2011-05-04 17:36:13 UTC (rev 36489)
+++ trunk/blender/source/blender/windowmanager/intern/wm_operators.c 2011-05-04 20:34:30 UTC (rev 36490)
@@ -214,9 +214,6 @@
} else {
break; /* operator didn't finish, end macro */
}
-
- if (retval & OPERATOR_ABORT_MACRO)
- break;
}
}
@@ -242,9 +239,6 @@
} else {
break; /* operator didn't finish, end macro */
}
-
- if (retval & OPERATOR_ABORT_MACRO)
- break;
}
return wm_macro_end(op, retval);
@@ -271,45 +265,43 @@
MacroData *md = op->customdata;
md->retval = OPERATOR_FINISHED; /* keep in mind that at least one operator finished */
-
- if (!(retval & OPERATOR_ABORT_MACRO)) {
- retval = wm_macro_invoke_internal(C, op, event, opm->next);
-
- /* if new operator is modal and also added its own handler */
- if (retval & OPERATOR_RUNNING_MODAL && op->opm != opm) {
- wmWindow *win = CTX_wm_window(C);
- wmEventHandler *handler = NULL;
-
- for (handler = win->modalhandlers.first; handler; handler = handler->next) {
- /* first handler in list is the new one */
- if (handler->op == op)
- break;
- }
-
- if (handler) {
- BLI_remlink(&win->modalhandlers, handler);
- wm_event_free_handler(handler);
- }
-
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list