From d69b5fe84fd438a218e6198af585f8532f0d8e70 Mon Sep 17 00:00:00 2001 From: Martin Owens Date: Thu, 27 Sep 2018 10:49:47 -0400 Subject: Add preference for default global snapping and make it false --- src/object/sp-namedview.cpp | 4 +++- src/ui/dialog/inkscape-preferences.cpp | 6 ++++++ src/ui/dialog/inkscape-preferences.h | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/object/sp-namedview.cpp b/src/object/sp-namedview.cpp index 0028939d3..b6f7d7373 100644 --- a/src/object/sp-namedview.cpp +++ b/src/object/sp-namedview.cpp @@ -273,6 +273,8 @@ void SPNamedView::release() { } void SPNamedView::set(unsigned int key, const gchar* value) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + bool global_snapping = prefs->getBool("/options/snapdefault/value", false); switch (key) { case SP_ATTR_VIEWONLY: this->editable = (!value); @@ -431,7 +433,7 @@ void SPNamedView::set(unsigned int key, const gchar* value) { this->requestModified(SP_OBJECT_MODIFIED_FLAG); break; case SP_ATTR_INKSCAPE_SNAP_GLOBAL: - this->snap_manager.snapprefs.setSnapEnabledGlobally(value ? sp_str_to_bool(value) : TRUE); + this->snap_manager.snapprefs.setSnapEnabledGlobally(value ? sp_str_to_bool(value) : global_snapping); this->requestModified(SP_OBJECT_MODIFIED_FLAG); break; case SP_ATTR_INKSCAPE_SNAP_BBOX: diff --git a/src/ui/dialog/inkscape-preferences.cpp b/src/ui/dialog/inkscape-preferences.cpp index 02dcb4187..bc300651b 100644 --- a/src/ui/dialog/inkscape-preferences.cpp +++ b/src/ui/dialog/inkscape-preferences.cpp @@ -1485,6 +1485,12 @@ void InkscapePreferences::initPageBehavior() this->AddPage(_page_scrolling, _("Scrolling"), iter_behavior, PREFS_PAGE_BEHAVIOR_SCROLLING); // Snapping options + _page_snapping.add_group_header( _("Snap defaults")); + + _snap_default.init( _("Enabled in new document"), "/options/snapdefault/value", false); + _page_snapping.add_line( true, "", _snap_default, "", + _("When creating a new document, or opening a non-inkscape svg, what should global snapping be set to.")); + _page_snapping.add_group_header( _("Snap indicator")); _snap_indicator.init( _("Enable snap indicator"), "/options/snapindicator/value", true); diff --git a/src/ui/dialog/inkscape-preferences.h b/src/ui/dialog/inkscape-preferences.h index 2aa76d9dd..dd67cd2bf 100644 --- a/src/ui/dialog/inkscape-preferences.h +++ b/src/ui/dialog/inkscape-preferences.h @@ -204,6 +204,7 @@ protected: Gtk::Scale *_slider_snapping_delay; + UI::Widget::PrefCheckButton _snap_default; UI::Widget::PrefCheckButton _snap_indicator; UI::Widget::PrefCheckButton _snap_closest_only; UI::Widget::PrefCheckButton _snap_mouse_pointer; -- cgit v1.2.3