diff --git a/src/doc/doc/manual/view_options.xml b/src/doc/doc/manual/view_options.xml
index c7d0d3667..e188bbd6a 100644
--- a/src/doc/doc/manual/view_options.xml
+++ b/src/doc/doc/manual/view_options.xml
@@ -40,6 +40,11 @@
they show the same region of the layout. This option can be useful if two layouts are loaded in
different views for clarity, but identical regions need to be inspected.
+
+ Synchronized Layers: matching layers in different views (tabs) share their visibility.
+ Visibility changes in the active view are copied to other open views. Layers present in only one
+ view keep their own visibility. Layer colors and other display properties remain independent.
+
Select Top Level Objects: this menu item gives a quick access to the respective editor
option. If this option is checked, only objects from the top level are selected. This is
@@ -60,4 +65,3 @@
-
diff --git a/src/lay/lay/MainConfigPage2.ui b/src/lay/lay/MainConfigPage2.ui
index fa9489e35..1a57d3c18 100644
--- a/src/lay/lay/MainConfigPage2.ui
+++ b/src/lay/lay/MainConfigPage2.ui
@@ -9,7 +9,7 @@
0
0
400
- 80
+ 140
@@ -44,6 +44,28 @@
+ -
+
+
+ Synchronized Layers
+
+
+
+ 11
+
+
+ 6
+
+
-
+
+
+ All views show the same layers
+
+
+
+
+
+
diff --git a/src/lay/lay/layConfig.h b/src/lay/lay/layConfig.h
index 7ef712ab2..2bbc80ebe 100644
--- a/src/lay/lay/layConfig.h
+++ b/src/lay/lay/layConfig.h
@@ -37,6 +37,7 @@ namespace lay
static const std::string cfg_default_grids ("default-grids");
static const std::string cfg_circle_points ("circle-points");
static const std::string cfg_synchronized_views ("synchronized-views");
+static const std::string cfg_synchronized_layers ("synchronized-layers");
static const std::string cfg_edit_mode ("edit-mode");
static const std::string cfg_custom_macro_paths ("custom-macro-paths");
static const std::string cfg_mru ("mru");
diff --git a/src/lay/lay/layMainConfigPages.cc b/src/lay/lay/layMainConfigPages.cc
index 67f8734a8..7167776a4 100644
--- a/src/lay/lay/layMainConfigPages.cc
+++ b/src/lay/lay/layMainConfigPages.cc
@@ -60,6 +60,7 @@ class MainPluginDeclaration
options.push_back (std::pair (cfg_edit_mode, "false"));
options.push_back (std::pair (cfg_custom_macro_paths, ""));
options.push_back (std::pair (cfg_synchronized_views, "false"));
+ options.push_back (std::pair (cfg_synchronized_layers, "false"));
options.push_back (std::pair (cfg_default_grids, "0.01,0.005,0.001"));
options.push_back (std::pair (cfg_mru, ""));
options.push_back (std::pair (cfg_mru_sessions, ""));
@@ -100,7 +101,7 @@ class MainPluginDeclaration
pages.push_back (std::make_pair (tl::to_string (QObject::tr ("Application|Customize Menu")), new CustomizeMenuConfigPage (parent)));
pages.push_back (std::make_pair (tl::to_string (QObject::tr ("Application|Units")), new MainConfigPage5 (parent)));
pages.push_back (std::make_pair (tl::to_string (QObject::tr ("Application|Circles")), new MainConfigPage6 (parent)));
- pages.push_back (std::make_pair (tl::to_string (QObject::tr ("Display|Synchronized Views")), new MainConfigPage2 (parent)));
+ pages.push_back (std::make_pair (tl::to_string (QObject::tr ("Display|Synchronization")), new MainConfigPage2 (parent)));
return pages;
}
};
@@ -245,12 +246,15 @@ MainConfigPage2::setup (lay::Dispatcher *root)
bool flag = false;
root->config_get (cfg_synchronized_views, flag);
mp_ui->sync_views_cbx->setChecked (flag);
+ root->config_get (cfg_synchronized_layers, flag);
+ mp_ui->sync_layers_cbx->setChecked (flag);
}
void
MainConfigPage2::commit (lay::Dispatcher *root)
{
root->config_set (cfg_synchronized_views, mp_ui->sync_views_cbx->isChecked ());
+ root->config_set (cfg_synchronized_layers, mp_ui->sync_layers_cbx->isChecked ());
}
// -------------------------------------------------------------
@@ -753,4 +757,3 @@ CustomizeMenuConfigPage::current_changed (QTreeWidgetItem *current, QTreeWidgetI
}
}
-
diff --git a/src/lay/lay/layMainWindow.cc b/src/lay/lay/layMainWindow.cc
index 7371b9a44..7fa0d13da 100644
--- a/src/lay/lay/layMainWindow.cc
+++ b/src/lay/lay/layMainWindow.cc
@@ -37,6 +37,10 @@
#include
#include
#include
+#include