diff --git a/src/tweak-context.cpp b/src/tweak-context.cpp
index a66f766cfcb2ea1e0bab2f98cf576b725850594f..09e13f1fc21a7e37f954690160c246d6c8c25f79 100644 (file)
--- a/src/tweak-context.cpp
+++ b/src/tweak-context.cpp
#include "isnan.h"
#include "prefs-utils.h"
#include "style.h"
+#include "box3d.h"
#include "tweak-context.h"
tc->style_set_connection = ec->desktop->connectSetStyle( // catch style-setting signal in this tool
sigc::bind(sigc::ptr_fun(&sp_tweak_context_style_set), tc)
);
+
+ if (prefs_get_int_attribute("tools.tweak", "selcue", 0) != 0) {
+ ec->enableSelectionCue();
+ }
+
+ if (prefs_get_int_attribute("tools.tweak", "gradientdrag", 0) != 0) {
+ ec->enableGrDrag();
+ }
}
static void
@@ -835,6 +844,12 @@ sp_tweak_dilate (SPTweakContext *tc, NR::Point event_p, NR::Point p, NR::Point v
SPItem *item = (SPItem *) items->data;
+ if (SP_IS_BOX3D(item)) {
+ // convert 3D boxes to ordinary groups before tweaking their shapes
+ item = SP_ITEM(box3d_convert_to_group(SP_BOX3D(item)));
+ selection->add(item);
+ }
+
if (tc->mode == TWEAK_MODE_COLORPAINT || tc->mode == TWEAK_MODE_COLORJITTER) {
if (do_fill || do_stroke || do_opacity) {
if (sp_tweak_color_recursive (tc->mode, item, item_at_point,