summaryrefslogtreecommitdiffstats
path: root/src/dyna-draw-context.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/dyna-draw-context.cpp')
-rw-r--r--src/dyna-draw-context.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/dyna-draw-context.cpp b/src/dyna-draw-context.cpp
index 99cea177b..ebabeef31 100644
--- a/src/dyna-draw-context.cpp
+++ b/src/dyna-draw-context.cpp
@@ -156,6 +156,7 @@ sp_dyna_draw_context_init(SPDynaDrawContext *ddc)
ddc->flatness = 0.9;
ddc->abs_width = false;
+ ddc->keep_selected = true;
}
static void
@@ -218,6 +219,7 @@ sp_dyna_draw_context_setup(SPEventContext *ec)
sp_event_context_read(ec, "usepressure");
sp_event_context_read(ec, "usetilt");
sp_event_context_read(ec, "abs_width");
+ sp_event_context_read(ec, "keep_selected");
ddc->is_drawing = false;
@@ -256,6 +258,8 @@ sp_dyna_draw_context_set(SPEventContext *ec, gchar const *key, gchar const *val)
ddc->usetilt = (val && strcmp(val, "0"));
} else if (!strcmp(key, "abs_width")) {
ddc->abs_width = (val && strcmp(val, "0"));
+ } else if (!strcmp(key, "keep_selected")) {
+ ddc->keep_selected = (val && strcmp(val, "0"));
}
//g_print("DDC: %g %g %g %g\n", ddc->mass, ddc->drag, ddc->angle, ddc->width);
@@ -654,7 +658,8 @@ set_to_accumulated(SPDynaDrawContext *dc)
Inkscape::GC::release(dc->repr);
item->transform = SP_ITEM(desktop->currentRoot())->getRelativeTransform(desktop->currentLayer());
item->updateRepr();
- sp_desktop_selection(desktop)->set(dc->repr);
+ if (dc->keep_selected)
+ sp_desktop_selection(desktop)->set(dc->repr);
}
abp = nr_artpath_affine(sp_curve_first_bpath(dc->accumulated), sp_desktop_dt2root_affine(desktop));
str = sp_svg_write_path(abp);