summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMartin Owens <doctormo@gmail.com>2018-09-27 14:49:47 +0000
committerMartin Owens <doctormo@gmail.com>2018-09-27 14:49:47 +0000
commitd69b5fe84fd438a218e6198af585f8532f0d8e70 (patch)
treea42748373f3c3de09e966af020f99658a7f9826e /src
parentMerge branch 'cppcheck_memory' of gitlab.com:serval2412/inkscape (diff)
downloadinkscape-d69b5fe84fd438a218e6198af585f8532f0d8e70.tar.gz
inkscape-d69b5fe84fd438a218e6198af585f8532f0d8e70.zip
Add preference for default global snapping and make it false
Diffstat (limited to 'src')
-rw-r--r--src/object/sp-namedview.cpp4
-rw-r--r--src/ui/dialog/inkscape-preferences.cpp6
-rw-r--r--src/ui/dialog/inkscape-preferences.h1
3 files changed, 10 insertions, 1 deletions
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;