[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42483] trunk/blender: Fix #29432: Marquee Select Bug

Sergey Sharybin sergey.vfx at gmail.com
Wed Dec 7 10:55:43 CET 2011


Revision: 42483
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42483
Author:   nazgul
Date:     2011-12-07 09:55:37 +0000 (Wed, 07 Dec 2011)
Log Message:
-----------
Fix #29432: Marquee Select Bug

Moved tweak threshold value to user preferences

This threshold might be needed to be tweaked when working with tables, i.e.
to prevent tap+slight movement be treated as tweak event.

Modified Paths:
--------------
    trunk/blender/release/scripts/startup/bl_ui/space_userpref.py
    trunk/blender/source/blender/editors/interface/resources.c
    trunk/blender/source/blender/makesdna/DNA_userdef_types.h
    trunk/blender/source/blender/makesrna/intern/rna_userdef.c
    trunk/blender/source/blender/windowmanager/intern/wm_gesture.c

Modified: trunk/blender/release/scripts/startup/bl_ui/space_userpref.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_ui/space_userpref.py	2011-12-07 09:24:45 UTC (rev 42482)
+++ trunk/blender/release/scripts/startup/bl_ui/space_userpref.py	2011-12-07 09:55:37 UTC (rev 42483)
@@ -889,6 +889,8 @@
         sub.label(text="NDOF Device:")
         sub.prop(inputs, "ndof_sensitivity", text="NDOF Sensitivity")
 
+        col.prop(inputs, "tweak_threshold")
+
         row.separator()
 
     def draw(self, context):

Modified: trunk/blender/source/blender/editors/interface/resources.c
===================================================================
--- trunk/blender/source/blender/editors/interface/resources.c	2011-12-07 09:24:45 UTC (rev 42482)
+++ trunk/blender/source/blender/editors/interface/resources.c	2011-12-07 09:55:37 UTC (rev 42483)
@@ -1715,6 +1715,8 @@
 		U.ndof_flag = NDOF_LOCK_HORIZON |
 			NDOF_SHOULD_PAN | NDOF_SHOULD_ZOOM | NDOF_SHOULD_ROTATE;
 	}
+	if (U.tweak_threshold == 0 )
+		U.tweak_threshold= 10;
 
 	/* funny name, but it is GE stuff, moves userdef stuff to engine */
 // XXX	space_set_commmandline_options();

Modified: trunk/blender/source/blender/makesdna/DNA_userdef_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_userdef_types.h	2011-12-07 09:24:45 UTC (rev 42482)
+++ trunk/blender/source/blender/makesdna/DNA_userdef_types.h	2011-12-07 09:55:37 UTC (rev 42483)
@@ -408,8 +408,10 @@
 	struct ColorBand coba_weight;	/* from texture.h */
 
 	float sculpt_paint_overlay_col[3];
-	int pad3;
 
+	short tweak_threshold;
+	short pad3;
+
 	char author[80];	/* author name for file formats supporting it */
 } UserDef;
 

Modified: trunk/blender/source/blender/makesrna/intern/rna_userdef.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_userdef.c	2011-12-07 09:24:45 UTC (rev 42482)
+++ trunk/blender/source/blender/makesrna/intern/rna_userdef.c	2011-12-07 09:55:37 UTC (rev 42483)
@@ -2929,6 +2929,11 @@
 	RNA_def_property_range(prop, 3, 40);
 	RNA_def_property_ui_text(prop, "Drag Threshold", "Amount of pixels you have to drag before dragging UI items happens");
 
+	prop= RNA_def_property(srna, "tweak_threshold", PROP_INT, PROP_NONE);
+	RNA_def_property_int_sdna(prop, NULL, "tweak_threshold");
+	RNA_def_property_range(prop, 3, 1024);
+	RNA_def_property_ui_text(prop, "Tweak Threshold", "Number of pixels you have to drag before tweak event is triggered");
+
 	/* 3D mouse settings */
 	/* global options */
 	prop= RNA_def_property(srna, "ndof_sensitivity", PROP_FLOAT, PROP_NONE);

Modified: trunk/blender/source/blender/windowmanager/intern/wm_gesture.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_gesture.c	2011-12-07 09:24:45 UTC (rev 42482)
+++ trunk/blender/source/blender/windowmanager/intern/wm_gesture.c	2011-12-07 09:55:37 UTC (rev 42483)
@@ -124,14 +124,13 @@
 
 
 /* tweak and line gestures */
-#define TWEAK_THRESHOLD		10
 int wm_gesture_evaluate(wmGesture *gesture)
 {
 	if(gesture->type==WM_GESTURE_TWEAK) {
 		rcti *rect= gesture->customdata;
 		int dx= rect->xmax - rect->xmin;
 		int dy= rect->ymax - rect->ymin;
-		if(ABS(dx)+ABS(dy) > TWEAK_THRESHOLD) {
+		if(ABS(dx)+ABS(dy) > U.tweak_threshold) {
 			int theta= (int)floor(4.0f*atan2f((float)dy, (float)dx)/(float)M_PI + 0.5f);
 			int val= EVT_GESTURE_W;
 			




More information about the Bf-blender-cvs mailing list