Index: trunk/doc/conf/tree/editor.html
===================================================================
--- trunk/doc/conf/tree/editor.html (revision 7516)
+++ trunk/doc/conf/tree/editor.html (revision 7517)
@@ -23,6 +23,7 @@
auto_drc | boolean | 0 | when set, PCB doesn't let you place copper that violates DRC.
Index: trunk/src/conf_core.h
===================================================================
--- trunk/src/conf_core.h (revision 7516)
+++ trunk/src/conf_core.h (revision 7517)
@@ -36,6 +36,7 @@
CFT_BOOLEAN draw_grid; /* draw grid points */
CFT_BOOLEAN all_direction_lines; /* enable lines to all directions */
CFT_BOOLEAN rubber_band_mode; /* move, rotate use rubberband connections */
+ CFT_BOOLEAN rubber_band_keep_midlinedir; /* keep line direction when a middle line is moved */
CFT_BOOLEAN swap_start_direction; /* change starting direction after each click */
CFT_BOOLEAN show_drc; /* show drc region on crosshair */
CFT_BOOLEAN auto_drc; /* when set, PCB doesn't let you place copper that violates DRC. */
Index: trunk/src/pcb-conf.lht
===================================================================
--- trunk/src/pcb-conf.lht (revision 7516)
+++ trunk/src/pcb-conf.lht (revision 7517)
@@ -47,6 +47,7 @@
all_direction_lines = 0
line_refraction = 1
rubber_band_mode = 0
+ rubber_band_keep_midlinedir = 0
swap_start_direction = 0
show_drc = 0
auto_drc = 0
Index: trunk/src/pcb-menu-gtk.lht
===================================================================
--- trunk/src/pcb-menu-gtk.lht (revision 7516)
+++ trunk/src/pcb-menu-gtk.lht (revision 7517)
@@ -263,6 +263,7 @@
ha:Libstroke gestures on middle button = { checked=editor/enable_stroke; action=conf(toggle, editor/enable_stroke, design) }
-
ha:Rubber band mode = { checked=editor/rubber_band_mode; action=conf(toggle, editor/rubber_band_mode, design) }
+ ha:Rubber band keeps middle line dir= { checked=editor/rubber_band_keep_midlinedir; action=conf(toggle, editor/rubber_band_keep_midlinedir, design) }
ha:Require unique element names = { checked=editor/unique_names; action=conf(toggle, editor/unique_names, design) }
ha:Auto-zero delta measurements = { checked=editor/local_ref; action=conf(toggle, editor/local_ref, design) }
ha:New lines, arcs clear polygons = { checked=editor/clear_line; action=conf(toggle, editor/clear_line, design) }
Index: trunk/src/pcb-menu-lesstif.lht
===================================================================
--- trunk/src/pcb-menu-lesstif.lht (revision 7516)
+++ trunk/src/pcb-menu-lesstif.lht (revision 7517)
@@ -236,6 +236,7 @@
ha:Auto enforce DRC clearance = { checked=editor/auto_drc; action=conf(toggle, editor/auto_drc, design) }
-
ha:Rubber band mode = { checked=editor/rubber_band_mode; action=conf(toggle, editor/rubber_band_mode, design) }
+ ha:Rubber band keeps middle line dir= { checked=editor/rubber_band_keep_midlinedir; action=conf(toggle, editor/rubber_band_keep_midlinedir, design) }
ha:Require unique element names = { checked=editor/unique_names; action=conf(toggle, editor/unique_names, design) }
ha:Auto-zero delta measurements = { checked=editor/local_ref; action=conf(toggle, editor/local_ref, design) }
ha:New lines, arcs clear polygons = { checked=editor/clear_line; action=conf(toggle, editor/clear_line, design) }
Index: trunk/src/pcb-menu-mkey.lht
===================================================================
--- trunk/src/pcb-menu-mkey.lht (revision 7516)
+++ trunk/src/pcb-menu-mkey.lht (revision 7517)
@@ -263,6 +263,7 @@
ha:Libstroke gestures on middle button = { checked=editor/enable_stroke; action=conf(toggle, editor/enable_stroke, design) }
-
ha:Rubber band mode = { checked=editor/rubber_band_mode; action=conf(toggle, editor/rubber_band_mode, design) }
+ ha:Rubber band keeps middle line dir= { checked=editor/rubber_band_keep_midlinedir; action=conf(toggle, editor/rubber_band_keep_midlinedir, design) }
ha:Require unique element names = { checked=editor/unique_names; action=conf(toggle, editor/unique_names, design) }
ha:Auto-zero delta measurements = { checked=editor/local_ref; action=conf(toggle, editor/local_ref, design) }
ha:New lines, arcs clear polygons = { checked=editor/clear_line; action=conf(toggle, editor/clear_line, design) }
Index: trunk/src_plugins/rubberband_orig/rubberband.c
===================================================================
--- trunk/src_plugins/rubberband_orig/rubberband.c (revision 7516)
+++ trunk/src_plugins/rubberband_orig/rubberband.c (revision 7517)
@@ -902,6 +902,9 @@
pcb_coord_t *x = argv[3].d.p; /* Return argument */
pcb_coord_t *y = argv[4].d.p; /* Return argument */
+ if (!conf_core.editor.rubber_band_keep_midlinedir)
+ return;
+
for (i=0; iRubberbandN; i++) {
rbnd->Rubberband[i].delta_is_valid = 0;
}
|