diff --git a/data/pref.xml b/data/pref.xml
index 9bb855bdc..aa3e680c8 100644
--- a/data/pref.xml
+++ b/data/pref.xml
@@ -207,6 +207,7 @@
+
diff --git a/data/strings/en.ini b/data/strings/en.ini
index cd83ff874..a2ca13f9d 100644
--- a/data/strings/en.ini
+++ b/data/strings/en.ini
@@ -907,6 +907,11 @@ keep_selection_after_clear_tooltip = <<
+
diff --git a/src/app/commands/cmd_mask_all.cpp b/src/app/commands/cmd_mask_all.cpp
index 6c731b09c..772f0559c 100644
--- a/src/app/commands/cmd_mask_all.cpp
+++ b/src/app/commands/cmd_mask_all.cpp
@@ -56,8 +56,10 @@ void MaskAllCommand::onExecute(Context* context)
document->resetTransformation();
document->generateMaskBoundaries();
- DocumentPreferences& docPref = Preferences::instance().document(document);
- docPref.show.selectionEdges(true);
+ if (Preferences::instance().selection.autoShowSelectionEdges()) {
+ DocumentPreferences& docPref = Preferences::instance().document(document);
+ docPref.show.selectionEdges(true);
+ }
update_screen_for_document(document);
}
diff --git a/src/app/commands/cmd_options.cpp b/src/app/commands/cmd_options.cpp
index e84309d1e..8ef85d637 100644
--- a/src/app/commands/cmd_options.cpp
+++ b/src/app/commands/cmd_options.cpp
@@ -222,6 +222,9 @@ public:
if (m_pref.selection.keepSelectionAfterClear())
keepSelectionAfterClear()->setSelected(true);
+ if (m_pref.selection.autoShowSelectionEdges())
+ autoShowSelectionEdges()->setSelected(true);
+
if (m_pref.selection.moveEdges())
moveEdges()->setSelected(true);
@@ -451,6 +454,7 @@ public:
m_pref.cursor.cursorScale(base::convert_to(cursorScale()->getValue()));
m_pref.selection.autoOpaque(autoOpaque()->isSelected());
m_pref.selection.keepSelectionAfterClear(keepSelectionAfterClear()->isSelected());
+ m_pref.selection.autoShowSelectionEdges(autoShowSelectionEdges()->isSelected());
m_pref.selection.moveEdges(moveEdges()->isSelected());
m_pref.selection.modifiersDisableHandles(modifiersDisableHandles()->isSelected());
m_pref.selection.moveOnAddMode(moveOnAddMode()->isSelected());
diff --git a/src/app/ui/editor/tool_loop_impl.cpp b/src/app/ui/editor/tool_loop_impl.cpp
index 80f6c5950..fb780406b 100644
--- a/src/app/ui/editor/tool_loop_impl.cpp
+++ b/src/app/ui/editor/tool_loop_impl.cpp
@@ -466,7 +466,8 @@ public:
redraw = true;
// Show selection edges
- m_docPref.show.selectionEdges(true);
+ if (Preferences::instance().selection.autoShowSelectionEdges())
+ m_docPref.show.selectionEdges(true);
}
// Slice ink
else if (getInk()->isSlice()) {