diff options
| author | Jabier Arraiza Cenoz <jabier.arraiza@marker.es> | 2013-05-16 16:29:10 +0000 |
|---|---|---|
| committer | Jabiertxo Arraiza Zenotz <jtx@jtx.marker.es> | 2013-05-16 16:29:10 +0000 |
| commit | b0d75ca0f9aea3c7652042d1a6300bbfdf1391e8 (patch) | |
| tree | fe0c3c3eb28289ad60a96ab65ff6954576834ddc /src/seltrans.cpp | |
| parent | Change only selected nodes (diff) | |
| parent | Win32. More include fixes for glibmm 2.36 (file dialog). (diff) | |
| download | inkscape-b0d75ca0f9aea3c7652042d1a6300bbfdf1391e8.tar.gz inkscape-b0d75ca0f9aea3c7652042d1a6300bbfdf1391e8.zip | |
Update to trunk
(bzr r11950.1.114)
Diffstat (limited to 'src/seltrans.cpp')
| -rw-r--r-- | src/seltrans.cpp | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/src/seltrans.cpp b/src/seltrans.cpp index b6c6baaf7..84c73e452 100644 --- a/src/seltrans.cpp +++ b/src/seltrans.cpp @@ -86,6 +86,17 @@ static gboolean sp_seltrans_handle_event(SPKnot *knot, GdkEvent *event, gpointer return FALSE; } +Inkscape::SelTrans::BoundingBoxPrefsObserver::BoundingBoxPrefsObserver(SelTrans &sel_trans) : + Observer("/tools/bounding_box"), + _sel_trans(sel_trans) +{ +} + +void Inkscape::SelTrans::BoundingBoxPrefsObserver::notify(Preferences::Entry const &val) +{ + _sel_trans._boundingBoxPrefsChanged(static_cast<int>(val.getBool())); +} + Inkscape::SelTrans::SelTrans(SPDesktop *desktop) : _desktop(desktop), _selcue(desktop), @@ -103,7 +114,8 @@ Inkscape::SelTrans::SelTrans(SPDesktop *desktop) : _origin_for_bboxpoints(Geom::Point(0,0)), _chandle(NULL), _stamp_cache(NULL), - _message_context(desktop->messageStack()) + _message_context(desktop->messageStack()), + _bounding_box_prefs_observer(*this) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); int prefs_bbox = prefs->getBool("/tools/bounding_box"); @@ -169,6 +181,8 @@ Inkscape::SelTrans::SelTrans(SPDesktop *desktop) : ); _all_snap_sources_iter = _all_snap_sources_sorted.end(); + + prefs->addObserver(_bounding_box_prefs_observer); } Inkscape::SelTrans::~SelTrans() @@ -873,6 +887,15 @@ void Inkscape::SelTrans::_selModified(Inkscape::Selection */*selection*/, guint } } +void Inkscape::SelTrans::_boundingBoxPrefsChanged(int prefs_bbox) +{ + _snap_bbox_type = !prefs_bbox ? + SPItem::VISUAL_BBOX : SPItem::GEOMETRIC_BBOX; + + _updateVolatileState(); + _updateHandles(); +} + /* * handlers for handle move-request */ |
