summarylogtreecommitdiffstats
path: root/boost1.69.patch
diff options
context:
space:
mode:
Diffstat (limited to 'boost1.69.patch')
-rw-r--r--boost1.69.patch2323
1 files changed, 2323 insertions, 0 deletions
diff --git a/boost1.69.patch b/boost1.69.patch
new file mode 100644
index 000000000000..ea74a8b5e97d
--- /dev/null
+++ b/boost1.69.patch
@@ -0,0 +1,2323 @@
+From f898eafd64f88902ea1916b01303705b3baa2c46 Mon Sep 17 00:00:00 2001
+From: wmayer <wmayer@users.sourceforge.net>
+Date: Tue, 30 Oct 2018 19:09:03 +0100
+Subject: [PATCH] move from deprecated boost.signals to boost.signals2 library
+
+---
+ CMakeLists.txt | 4 +-
+ src/App/Application.cpp | 1 -
+ src/App/Application.h | 62 +++++++++----------
+ src/App/Document.h | 62 +++++++++----------
+ src/App/DocumentObject.h | 8 +--
+ src/App/DocumentObserver.cpp | 1 -
+ src/App/DocumentObserver.h | 4 +-
+ src/App/DocumentObserverPython.h | 4 +-
+ src/App/MergeDocuments.h | 4 +-
+ src/App/PreCompiled.h | 2 +-
+ src/App/PropertyExpressionEngine.h | 4 +-
+ src/Base/Tools.h | 13 ++--
+ src/Gui/Action.cpp | 2 +-
+ src/Gui/Application.cpp | 2 +-
+ src/Gui/Application.h | 32 +++++-----
+ src/Gui/AutoSaver.h | 4 +-
+ src/Gui/DAGView/DAGModel.cpp | 1 -
+ src/Gui/DAGView/DAGModel.h | 4 +-
+ src/Gui/DlgDisplayPropertiesImp.h | 6 +-
+ src/Gui/Document.cpp | 12 ++--
+ src/Gui/Document.h | 32 +++++-----
+ src/Gui/DocumentModel.cpp | 2 +-
+ src/Gui/DocumentObserver.cpp | 14 -----
+ src/Gui/DocumentObserver.h | 23 +------
+ src/Gui/ExpressionBinding.h | 4 +-
+ src/Gui/GraphvizView.h | 4 +-
+ src/Gui/MDIView.cpp | 2 +-
+ src/Gui/MDIView.h | 2 +-
+ src/Gui/MainWindow.cpp | 1 -
+ src/Gui/ManualAlignment.cpp | 1 -
+ src/Gui/ManualAlignment.h | 4 +-
+ src/Gui/MergeDocuments.h | 4 +-
+ src/Gui/Placement.h | 4 +-
+ src/Gui/PreCompiled.h | 2 +-
+ src/Gui/ProjectView.cpp | 1 -
+ src/Gui/PropertyView.h | 14 ++---
+ src/Gui/Selection.cpp | 7 +--
+ src/Gui/Selection.h | 6 +-
+ src/Gui/TaskView/TaskAppearance.h | 4 +-
+ src/Gui/TaskView/TaskSelectLinkProperty.h | 1 -
+ src/Gui/TaskView/TaskView.h | 4 +-
+ src/Gui/Tree.cpp | 1 -
+ src/Gui/Tree.h | 4 +-
+ src/Gui/ViewProvider.h | 8 +--
+ src/Gui/ViewProviderOriginGroup.h | 2 -
+ src/Gui/ViewProviderOriginGroupExtension.h | 4 +-
+ src/Gui/ViewProviderPythonFeature.cpp | 1 -
+ src/Mod/Drawing/Gui/TaskOrthoViews.cpp | 14 ++---
+ src/Mod/Drawing/Gui/TaskOrthoViews.h | 8 +--
+ src/Mod/Fem/Gui/TaskPostBoxes.h | 13 ++--
+ src/Mod/Fem/Gui/ViewProviderFemPostFunction.h | 37 +++--------
+ src/Mod/Inspection/App/InspectionFeature.cpp | 1 -
+ src/Mod/Mesh/Gui/DlgEvaluateMeshImp.cpp | 1 -
+ src/Mod/Mesh/Gui/MeshEditor.h | 4 +-
+ src/Mod/Part/App/PreCompiled.h | 10 +--
+ src/Mod/Part/Gui/DlgBooleanOperation.h | 4 +-
+ src/Mod/Part/Gui/DlgFilletEdges.cpp | 2 +-
+ src/Mod/Part/Gui/TaskAttacher.h | 2 +-
+ src/Mod/Part/Gui/TaskFaceColors.cpp | 4 +-
+ src/Mod/PartDesign/App/Body.h | 4 +-
+ src/Mod/PartDesign/App/ShapeBinder.h | 4 +-
+ .../PartDesign/Gui/TaskFeatureParameters.cpp | 1 -
+ src/Mod/PartDesign/Gui/TaskHoleParameters.h | 2 +-
+ .../Gui/TaskPrimitiveParameters.cpp | 1 -
+ .../PartDesign/Gui/TaskPrimitiveParameters.h | 2 -
+ .../PartDesign/Gui/TaskTransformedMessages.h | 4 +-
+ .../Gui/TaskTransformedParameters.cpp | 1 -
+ src/Mod/PartDesign/Gui/ViewProviderBody.h | 4 +-
+ .../PartDesign/Gui/ViewProviderTransformed.h | 2 +-
+ src/Mod/PartDesign/Gui/WorkflowManager.h | 8 +--
+ src/Mod/Sandbox/App/DocumentProtector.h | 17 +++--
+ src/Mod/Sketcher/App/PropertyConstraintList.h | 6 +-
+ src/Mod/Sketcher/App/SketchObject.h | 4 +-
+ src/Mod/Sketcher/Gui/TaskDlgEditSketch.h | 4 +-
+ src/Mod/Sketcher/Gui/TaskSketcherConstrains.h | 4 +-
+ src/Mod/Sketcher/Gui/TaskSketcherElements.h | 4 +-
+ src/Mod/Sketcher/Gui/TaskSketcherMessages.h | 4 +-
+ .../Sketcher/Gui/TaskSketcherSolverAdvanced.h | 1 -
+ src/Mod/Sketcher/Gui/ViewProviderSketch.h | 15 +++--
+ src/Mod/Spreadsheet/App/Sheet.h | 12 ++--
+ src/Mod/Spreadsheet/Gui/SheetModel.h | 2 +-
+ src/Mod/Spreadsheet/Gui/SheetTableView.h | 2 +-
+ src/Mod/Spreadsheet/Gui/SpreadsheetView.h | 6 +-
+ src/Mod/TechDraw/Gui/MDIViewPage.cpp | 2 +-
+ src/Mod/TechDraw/Gui/MDIViewPage.h | 2 +-
+ 86 files changed, 268 insertions(+), 342 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d0a72edc53d..0cf396c486b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -594,7 +594,7 @@ endif()
+ SET(_boost_TEST_VERSIONS ${Boost_ADDITIONAL_VERSIONS})
+
+ find_package(Boost ${BOOST_MIN_VERSION}
+- COMPONENTS filesystem program_options regex signals system thread REQUIRED)
++ COMPONENTS filesystem program_options regex system thread REQUIRED)
+
+ IF(NOT Boost_FOUND)
+ MESSAGE(FATAL_ERROR "========================================\n"
+diff --git a/src/App/Application.cpp b/src/App/Application.cpp
+index 6c09b4b3204..1f5e86c1ff2 100644
+--- a/src/App/Application.cpp
++++ b/src/App/Application.cpp
+@@ -121,7 +121,6 @@
+
+ #include <boost/tokenizer.hpp>
+ #include <boost/token_functions.hpp>
+-#include <boost/signals.hpp>
+ #include <boost/bind.hpp>
+ #include <boost/version.hpp>
+ #include <QDir>
+diff --git a/src/App/Application.h b/src/App/Application.h
+index e3bbb8f12..2da9ea1a9 100644
+--- a/src/App/Application.h
++++ b/src/App/Application.h
+@@ -25,7 +25,7 @@
+ #ifndef APP_APPLICATION_H
+ #define APP_APPLICATION_H
+
+-#include <boost/signal.hpp>
++#include <boost/signals2.hpp>
+
+ #include <vector>
+
+@@ -99,27 +99,27 @@ public:
+ /** @name Signals of the Application */
+ //@{
+ /// signal on new Document
+- boost::signal<void (const Document&)> signalNewDocument;
++ boost::signals2::signal<void (const Document&)> signalNewDocument;
+ /// signal on document getting deleted
+- boost::signal<void (const Document&)> signalDeleteDocument;
++ boost::signals2::signal<void (const Document&)> signalDeleteDocument;
+ /// signal on already deleted Document
+- boost::signal<void ()> signalDeletedDocument;
++ boost::signals2::signal<void ()> signalDeletedDocument;
+ /// signal on relabeling Document (user name)
+- boost::signal<void (const Document&)> signalRelabelDocument;
++ boost::signals2::signal<void (const Document&)> signalRelabelDocument;
+ /// signal on renaming Document (internal name)
+- boost::signal<void (const Document&)> signalRenameDocument;
++ boost::signals2::signal<void (const Document&)> signalRenameDocument;
+ /// signal on activating Document
+- boost::signal<void (const Document&)> signalActiveDocument;
++ boost::signals2::signal<void (const Document&)> signalActiveDocument;
+ /// signal on saving Document
+- boost::signal<void (const Document&)> signalSaveDocument;
++ boost::signals2::signal<void (const Document&)> signalSaveDocument;
+ /// signal on starting to restore Document
+- boost::signal<void (const Document&)> signalStartRestoreDocument;
++ boost::signals2::signal<void (const Document&)> signalStartRestoreDocument;
+ /// signal on restoring Document
+- boost::signal<void (const Document&)> signalFinishRestoreDocument;
++ boost::signals2::signal<void (const Document&)> signalFinishRestoreDocument;
+ /// signal on undo in document
+- boost::signal<void (const Document&)> signalUndoDocument;
++ boost::signals2::signal<void (const Document&)> signalUndoDocument;
+ /// signal on redo in document
+- boost::signal<void (const Document&)> signalRedoDocument;
++ boost::signals2::signal<void (const Document&)> signalRedoDocument;
+ //@}
+
+
+@@ -129,16 +129,16 @@ public:
+ */
+ //@{
+ /// signal on new Object
+- boost::signal<void (const App::DocumentObject&)> signalNewObject;
+- //boost::signal<void (const App::DocumentObject&)> m_sig;
++ boost::signals2::signal<void (const App::DocumentObject&)> signalNewObject;
++ //boost::signals2::signal<void (const App::DocumentObject&)> m_sig;
+ /// signal on deleted Object
+- boost::signal<void (const App::DocumentObject&)> signalDeletedObject;
++ boost::signals2::signal<void (const App::DocumentObject&)> signalDeletedObject;
+ /// signal on changed Object
+- boost::signal<void (const App::DocumentObject&, const App::Property&)> signalChangedObject;
++ boost::signals2::signal<void (const App::DocumentObject&, const App::Property&)> signalChangedObject;
+ /// signal on relabeled Object
+- boost::signal<void (const App::DocumentObject&)> signalRelabelObject;
++ boost::signals2::signal<void (const App::DocumentObject&)> signalRelabelObject;
+ /// signal on activated Object
+- boost::signal<void (const App::DocumentObject&)> signalActivatedObject;
++ boost::signals2::signal<void (const App::DocumentObject&)> signalActivatedObject;
+ //@}
+
+ /** @name Signals of property changes
+@@ -147,11 +147,11 @@ public:
+ */
+ //@{
+ /// signal on adding a dynamic property
+- boost::signal<void (const App::Property&)> signalAppendDynamicProperty;
++ boost::signals2::signal<void (const App::Property&)> signalAppendDynamicProperty;
+ /// signal on about removing a dynamic property
+- boost::signal<void (const App::Property&)> signalRemoveDynamicProperty;
++ boost::signals2::signal<void (const App::Property&)> signalRemoveDynamicProperty;
+ /// signal on about changing the editor mode of a property
+- boost::signal<void (const App::Property&)> signalChangePropertyEditor;
++ boost::signals2::signal<void (const App::Property&)> signalChangePropertyEditor;
+ //@}
+
+
+diff --git a/src/App/Document.h b/src/App/Document.h
+index 7f3235675..79ef0b0e1 100644
+--- a/src/App/Document.h
++++ b/src/App/Document.h
+@@ -37,7 +37,7 @@
+ #include <stack>
+ #include <functional>
+
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+
+ namespace Base {
+ class Writer;
+@@ -113,40 +113,40 @@ public:
+ /** @name Signals of the document */
+ //@{
+ /// signal on new Object
+- boost::signal<void (const App::DocumentObject&)> signalNewObject;
+- //boost::signal<void (const App::DocumentObject&)> m_sig;
++ boost::signals2::signal<void (const App::DocumentObject&)> signalNewObject;
++ //boost::signals2::signal<void (const App::DocumentObject&)> m_sig;
+ /// signal on deleted Object
+- boost::signal<void (const App::DocumentObject&)> signalDeletedObject;
++ boost::signals2::signal<void (const App::DocumentObject&)> signalDeletedObject;
+ /// signal on changed Object
+- boost::signal<void (const App::DocumentObject&, const App::Property&)> signalChangedObject;
++ boost::signals2::signal<void (const App::DocumentObject&, const App::Property&)> signalChangedObject;
+ /// signal on relabeled Object
+- boost::signal<void (const App::DocumentObject&)> signalRelabelObject;
++ boost::signals2::signal<void (const App::DocumentObject&)> signalRelabelObject;
+ /// signal on activated Object
+- boost::signal<void (const App::DocumentObject&)> signalActivatedObject;
++ boost::signals2::signal<void (const App::DocumentObject&)> signalActivatedObject;
+ /// signal on created object
+- boost::signal<void (const App::DocumentObject&, Transaction*)> signalTransactionAppend;
++ boost::signals2::signal<void (const App::DocumentObject&, Transaction*)> signalTransactionAppend;
+ /// signal on removed object
+- boost::signal<void (const App::DocumentObject&, Transaction*)> signalTransactionRemove;
++ boost::signals2::signal<void (const App::DocumentObject&, Transaction*)> signalTransactionRemove;
+ /// signal on undo
+- boost::signal<void (const App::Document&)> signalUndo;
++ boost::signals2::signal<void (const App::Document&)> signalUndo;
+ /// signal on redo
+- boost::signal<void (const App::Document&)> signalRedo;
++ boost::signals2::signal<void (const App::Document&)> signalRedo;
+ /** signal on load/save document
+ * this signal is given when the document gets streamed.
+ * you can use this hook to write additional information in
+ * the file (like the Gui::Document it does).
+ */
+- boost::signal<void (Base::Writer &)> signalSaveDocument;
+- boost::signal<void (Base::XMLReader&)> signalRestoreDocument;
+- boost::signal<void (const std::vector<App::DocumentObject*>&,
++ boost::signals2::signal<void (Base::Writer &)> signalSaveDocument;
++ boost::signals2::signal<void (Base::XMLReader&)> signalRestoreDocument;
++ boost::signals2::signal<void (const std::vector<App::DocumentObject*>&,
+ Base::Writer &)> signalExportObjects;
+- boost::signal<void (const std::vector<App::DocumentObject*>&,
++ boost::signals2::signal<void (const std::vector<App::DocumentObject*>&,
+ Base::Writer &)> signalExportViewObjects;
+- boost::signal<void (const std::vector<App::DocumentObject*>&,
++ boost::signals2::signal<void (const std::vector<App::DocumentObject*>&,
+ Base::XMLReader&)> signalImportObjects;
+- boost::signal<void (const std::vector<App::DocumentObject*>&, Base::Reader&,
++ boost::signals2::signal<void (const std::vector<App::DocumentObject*>&, Base::Reader&,
+ const std::map<std::string, std::string>&)> signalImportViewObjects;
+- boost::signal<void (const App::Document&)> signalRecomputed;
++ boost::signals2::signal<void (const App::Document&)> signalRecomputed;
+ //@}
+
+ /** @name File handling of the document */
+diff --git a/src/App/DocumentObject.h b/src/App/DocumentObject.h
+index 63c0194fce9..30dc94ea838 100644
+--- a/src/App/DocumentObject.h
++++ b/src/App/DocumentObject.h
+@@ -33,7 +33,7 @@
+ #include <CXX/Objects.hxx>
+
+ #include <bitset>
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+
+ namespace App
+ {
+@@ -291,9 +291,9 @@ class AppExport DocumentObject: public App::TransactionalObject
+ App::Document* _pDoc;
+
+ // Connections to track relabeling of document and document objects
+- boost::BOOST_SIGNALS_NAMESPACE::scoped_connection onRelabledDocumentConnection;
+- boost::BOOST_SIGNALS_NAMESPACE::scoped_connection onRelabledObjectConnection;
+- boost::BOOST_SIGNALS_NAMESPACE::scoped_connection onDeletedObjectConnection;
++ boost::signals2::scoped_connection onRelabledDocumentConnection;
++ boost::signals2::scoped_connection onRelabledObjectConnection;
++ boost::signals2::scoped_connection onDeletedObjectConnection;
+
+ /// Old label; used for renaming expressions
+ std::string oldLabel;
+diff --git a/src/App/DocumentObserver.cpp b/src/App/DocumentObserver.cpp
+index 6ee2604c07a..818e1ddd37d 100644
+--- a/src/App/DocumentObserver.cpp
++++ b/src/App/DocumentObserver.cpp
+@@ -27,7 +27,6 @@
+ # include <sstream>
+ #endif
+
+-#include <boost/signals.hpp>
+ #include <boost/bind.hpp>
+
+ #include "Application.h"
+diff --git a/src/App/DocumentObserver.h b/src/App/DocumentObserver.h
+index fe5f6183802..f97fd65d593 100644
+--- a/src/App/DocumentObserver.h
++++ b/src/App/DocumentObserver.h
+@@ -25,7 +25,7 @@
+ #define APP_DOCUMENTOBSERVER_H
+
+ #include <Base/BaseClass.h>
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <set>
+
+ namespace App
+@@ -161,7 +161,7 @@ class AppExport DocumentObserver
+
+ private:
+ App::Document* _document;
+- typedef boost::signals::connection Connection;
++ typedef boost::signals2::connection Connection;
+ Connection connectApplicationCreatedDocument;
+ Connection connectApplicationDeletedDocument;
+ Connection connectDocumentCreatedObject;
+diff --git a/src/App/DocumentObserverPython.h b/src/App/DocumentObserverPython.h
+index 71643d9084f..afff82b45b5 100644
+--- a/src/App/DocumentObserverPython.h
++++ b/src/App/DocumentObserverPython.h
+@@ -26,7 +26,7 @@
+
+ #include <CXX/Objects.hxx>
+
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <boost/bind.hpp>
+
+ namespace App
+@@ -100,7 +100,7 @@ class AppExport DocumentObserverPython
+ Py::Object inst;
+ static std::vector<DocumentObserverPython*> _instances;
+
+- typedef boost::signals::connection Connection;
++ typedef boost::signals2::connection Connection;
+ Connection connectApplicationCreatedDocument;
+ Connection connectApplicationDeletedDocument;
+ Connection connectApplicationRelabelDocument;
+diff --git a/src/App/MergeDocuments.h b/src/App/MergeDocuments.h
+index cc9620eeef3..4e2249240ed 100644
+--- a/src/App/MergeDocuments.h
++++ b/src/App/MergeDocuments.h
+@@ -24,7 +24,7 @@
+ #ifndef APP_MERGEDOCUMENTS_H
+ #define APP_MERGEDOCUMENTS_H
+
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <Base/Persistence.h>
+
+ namespace zipios {
+@@ -57,7 +57,7 @@ class AppExport MergeDocuments : public Base::Persistence
+ App::Document* appdoc;
+ std::vector<App::DocumentObject*> objects;
+ std::map<std::string, std::string> nameMap;
+- typedef boost::signals::connection Connection;
++ typedef boost::signals2::connection Connection;
+ Connection connectExport;
+ Connection connectImport;
+ };
+diff --git a/src/App/PreCompiled.h b/src/App/PreCompiled.h
+index 2b3ff8558de..49cba36526c 100644
+--- a/src/App/PreCompiled.h
++++ b/src/App/PreCompiled.h
+@@ -75,7 +75,7 @@
+ #include <random>
+
+ // Boost
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <boost/bind.hpp>
+ #include <boost/regex.hpp>
+
+diff --git a/src/App/PropertyExpressionEngine.h b/src/App/PropertyExpressionEngine.h
+index 9cf8f39398d..868ed2387b1 100644
+--- a/src/App/PropertyExpressionEngine.h
++++ b/src/App/PropertyExpressionEngine.h
+@@ -25,7 +25,7 @@
+
+ #include <boost/unordered/unordered_map.hpp>
+ #include <boost/function.hpp>
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <boost/graph/adjacency_list.hpp>
+ #include <boost/graph/topological_sort.hpp>
+ #include <App/Property.h>
+@@ -125,7 +125,7 @@ class AppExport PropertyExpressionEngine : public App::Property, private App::At
+ void slotObjectDeleted(const DocumentObject &obj);
+
+ ///signal called when a expression was changed
+- boost::signal<void (const App::ObjectIdentifier &)> expressionChanged;
++ boost::signals2::signal<void (const App::ObjectIdentifier &)> expressionChanged;
+
+ void onDocumentRestored();
+
+diff --git a/src/Base/Tools.h b/src/Base/Tools.h
+index 4e844bc38db..affd12c95ef 100644
+--- a/src/Base/Tools.h
++++ b/src/Base/Tools.h
+@@ -30,7 +30,7 @@
+ #include <iostream>
+ #include <vector>
+ #include <string>
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <QString>
+
+ namespace Base
+@@ -180,17 +180,14 @@ class StateLocker
+ // ----------------------------------------------------------------------------
+
+ class ConnectionBlocker {
+- typedef boost::BOOST_SIGNALS_NAMESPACE::connection Connection;
+- bool b;
+- Connection& c;
++ typedef boost::signals2::connection Connection;
++ typedef boost::signals2::shared_connection_block ConnectionBlock;
++ ConnectionBlock blocker;
+
+ public:
+- ConnectionBlocker(Connection& c) : c(c) {
+- b = c.blocked();
+- c.block(true);
++ ConnectionBlocker(Connection& c) : blocker(c) {
+ }
+ ~ConnectionBlocker() {
+- c.block(b);
+ }
+ };
+
+diff --git a/src/Gui/Action.cpp b/src/Gui/Action.cpp
+index 4b8e326744b..4ba3c3f7a54 100644
+--- a/src/Gui/Action.cpp
++++ b/src/Gui/Action.cpp
+@@ -24,7 +24,7 @@
+ #include "PreCompiled.h"
+
+ #ifndef _PreComp_
+-# include <boost/signals.hpp>
++# include <boost/signals2.hpp>
+ # include <boost/bind.hpp>
+ # include <QAbstractItemView>
+ # include <QActionEvent>
+diff --git a/src/Gui/Application.cpp b/src/Gui/Application.cpp
+index c15445d6c9f..24d8f75b28f 100644
+--- a/src/Gui/Application.cpp
++++ b/src/Gui/Application.cpp
+@@ -25,7 +25,7 @@
+
+ #ifndef _PreComp_
+ # include "InventorAll.h"
+-# include <boost/signals.hpp>
++# include <boost/signals2.hpp>
+ # include <boost/bind.hpp>
+ # include <sstream>
+ # include <stdexcept>
+diff --git a/src/Gui/Application.h b/src/Gui/Application.h
+index afb4c3c46..6fc446f8f 100644
+--- a/src/Gui/Application.h
++++ b/src/Gui/Application.h
+@@ -88,33 +88,33 @@ public:
+ /** @name Signals of the Application */
+ //@{
+ /// signal on new Document
+- boost::signal<void (const Gui::Document&)> signalNewDocument;
++ boost::signals2::signal<void (const Gui::Document&)> signalNewDocument;
+ /// signal on deleted Document
+- boost::signal<void (const Gui::Document&)> signalDeleteDocument;
++ boost::signals2::signal<void (const Gui::Document&)> signalDeleteDocument;
+ /// signal on relabeling Document
+- boost::signal<void (const Gui::Document&)> signalRelabelDocument;
++ boost::signals2::signal<void (const Gui::Document&)> signalRelabelDocument;
+ /// signal on renaming Document
+- boost::signal<void (const Gui::Document&)> signalRenameDocument;
++ boost::signals2::signal<void (const Gui::Document&)> signalRenameDocument;
+ /// signal on activating Document
+- boost::signal<void (const Gui::Document&)> signalActiveDocument;
++ boost::signals2::signal<void (const Gui::Document&)> signalActiveDocument;
+ /// signal on new Object
+- boost::signal<void (const Gui::ViewProvider&)> signalNewObject;
++ boost::signals2::signal<void (const Gui::ViewProvider&)> signalNewObject;
+ /// signal on deleted Object
+- boost::signal<void (const Gui::ViewProvider&)> signalDeletedObject;
++ boost::signals2::signal<void (const Gui::ViewProvider&)> signalDeletedObject;
+ /// signal on changed object property
+- boost::signal<void (const Gui::ViewProvider&, const App::Property&)> signalChangedObject;
++ boost::signals2::signal<void (const Gui::ViewProvider&, const App::Property&)> signalChangedObject;
+ /// signal on renamed Object
+- boost::signal<void (const Gui::ViewProvider&)> signalRelabelObject;
++ boost::signals2::signal<void (const Gui::ViewProvider&)> signalRelabelObject;
+ /// signal on activated Object
+- boost::signal<void (const Gui::ViewProvider&)> signalActivatedObject;
++ boost::signals2::signal<void (const Gui::ViewProvider&)> signalActivatedObject;
+ /// signal on activated workbench
+- boost::signal<void (const char*)> signalActivateWorkbench;
++ boost::signals2::signal<void (const char*)> signalActivateWorkbench;
+ /// signal on added workbench
+- boost::signal<void (const char*)> signalAddWorkbench;
++ boost::signals2::signal<void (const char*)> signalAddWorkbench;
+ /// signal on removed workbench
+- boost::signal<void (const char*)> signalRemoveWorkbench;
++ boost::signals2::signal<void (const char*)> signalRemoveWorkbench;
+ /// signal on activating view
+- boost::signal<void (const Gui::MDIView*)> signalActivateView;
++ boost::signals2::signal<void (const Gui::MDIView*)> signalActivateView;
+ //@}
+
+ /** @name methods for Document handling */
+diff --git a/src/Gui/AutoSaver.h b/src/Gui/AutoSaver.h
+index 2b0ae085807..9e7d77d59a2 100644
+--- a/src/Gui/AutoSaver.h
++++ b/src/Gui/AutoSaver.h
+@@ -29,7 +29,7 @@
+ #include <map>
+ #include <set>
+ #include <string>
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+
+ namespace App {
+ class Document;
+@@ -53,7 +53,7 @@ class AutoSaveProperty
+ private:
+ void slotNewObject(const App::DocumentObject&);
+ void slotChangePropertyData(const App::Property&);
+- typedef boost::BOOST_SIGNALS_NAMESPACE::connection Connection;
++ typedef boost::signals2::connection Connection;
+ Connection documentNew;
+ Connection documentMod;
+ };
+diff --git a/src/Gui/DAGView/DAGModel.cpp b/src/Gui/DAGView/DAGModel.cpp
+index 574843dc488..31ace8757b2 100644
+--- a/src/Gui/DAGView/DAGModel.cpp
++++ b/src/Gui/DAGView/DAGModel.cpp
+@@ -22,7 +22,6 @@
+
+ #include "PreCompiled.h"
+ #ifndef _PreComp_
+-#include <boost/signals.hpp>
+ #include <boost/bind.hpp>
+ #include <boost/graph/topological_sort.hpp>
+ #include <boost/graph/reverse_graph.hpp>
+diff --git a/src/Gui/DAGView/DAGModel.h b/src/Gui/DAGView/DAGModel.h
+index f317500fe5b..6ae263b3234 100644
+--- a/src/Gui/DAGView/DAGModel.h
++++ b/src/Gui/DAGView/DAGModel.h
+@@ -26,7 +26,7 @@
+ #include <memory>
+ #include <vector>
+
+-#include <boost/signal.hpp>
++#include <boost/signals2.hpp>
+
+ #include <QGraphicsScene>
+ #include <QBrush>
+@@ -86,7 +86,7 @@ namespace Gui
+ private:
+ Model(){}
+ //documentObject slots.
+- typedef boost::BOOST_SIGNALS_NAMESPACE::connection Connection;
++ typedef boost::signals2::connection Connection;
+ Connection connectNewObject;
+ Connection connectDelObject;
+ Connection connectChgObject;
+diff --git a/src/Gui/DlgDisplayPropertiesImp.h b/src/Gui/DlgDisplayPropertiesImp.h
+index 0bdda40b9af..50e0b79eedd 100644
+--- a/src/Gui/DlgDisplayPropertiesImp.h
++++ b/src/Gui/DlgDisplayPropertiesImp.h
+@@ -25,7 +25,7 @@
+ #define GUI_DIALOG_DLGDISPLAYPROPERTIES_IMP_H
+
+ #include <vector>
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+
+ #include "ui_DlgDisplayProperties.h"
+ #include "Selection.h"
+@@ -42,7 +42,7 @@ namespace Gui {
+ class Command;
+
+ namespace Dialog {
+-typedef boost::signals::connection DlgDisplayPropertiesImp_Connection;
++typedef boost::signals2::connection DlgDisplayPropertiesImp_Connection;
+
+ /**
+ * The DlgDisplayPropertiesImp class implements a dialog containing all available document
+@@ -79,7 +79,7 @@ private Q_SLOTS:
+
+ private:
+ void slotChangedObject(const Gui::ViewProvider&, const App::Property& Prop);
+- void reject();
++ void reject();
+ void setDisplayModes(const std::vector<ViewProvider*>&);
+ void setMaterial(const std::vector<ViewProvider*>&);
+ void setColorPlot(const std::vector<ViewProvider*>&);
+diff --git a/src/Gui/Document.cpp b/src/Gui/Document.cpp
+index 5c495d3211a..771b0ac1217 100644
+--- a/src/Gui/Document.cpp
++++ b/src/Gui/Document.cpp
+@@ -32,7 +32,7 @@
+ # include <QKeySequence>
+ # include <qmessagebox.h>
+ # include <qstatusbar.h>
+-# include <boost/signals.hpp>
++# include <boost/signals2.hpp>
+ # include <boost/bind.hpp>
+ # include <Inventor/actions/SoSearchAction.h>
+ # include <Inventor/nodes/SoSeparator.h>
+@@ -90,7 +90,7 @@ struct DocumentP
+ std::map<const App::DocumentObject*,ViewProviderDocumentObject*> _ViewProviderMap;
+ std::map<std::string,ViewProvider*> _ViewProviderMapAnnotation;
+
+- typedef boost::signals::connection Connection;
++ typedef boost::signals2::connection Connection;
+ Connection connectNewObject;
+ Connection connectDelObject;
+ Connection connectCngObject;
+@@ -106,6 +106,8 @@ struct DocumentP
+ Connection connectRedoDocument;
+ Connection connectTransactionAppend;
+ Connection connectTransactionRemove;
++ typedef boost::signals2::shared_connection_block ConnectionBlock;
++ ConnectionBlock connectActObjectBlocker;
+ };
+
+ } // namespace Gui
+@@ -139,6 +141,8 @@ Document::Document(App::Document* pcDocument,Application * app)
+ (boost::bind(&Gui::Document::slotRelabelObject, this, _1));
+ d->connectActObject = pcDocument->signalActivatedObject.connect
+ (boost::bind(&Gui::Document::slotActivatedObject, this, _1));
++ d->connectActObjectBlocker = boost::signals2::shared_connection_block
++ (d->connectActObject, false);
+ d->connectSaveDocument = pcDocument->signalSaveDocument.connect
+ (boost::bind(&Gui::Document::Save, this, _1));
+ d->connectRestDocument = pcDocument->signalRestoreDocument.connect
+@@ -866,14 +870,14 @@ void Document::slotStartRestoreDocument(const App::Document& doc)
+ if (d->_pcDocument != &doc)
+ return;
+ // disable this signal while loading a document
+- d->connectActObject.block();
++ d->connectActObjectBlocker.block();
+ }
+
+ void Document::slotFinishRestoreDocument(const App::Document& doc)
+ {
+ if (d->_pcDocument != &doc)
+ return;
+- d->connectActObject.unblock();
++ d->connectActObjectBlocker.unblock();
+ App::DocumentObject* act = doc.getActiveObject();
+ if (act) {
+ ViewProvider* viewProvider = getViewProvider(act);
+diff --git a/src/Gui/Document.h b/src/Gui/Document.h
+index 04074af0957..eb2483485a9 100644
+--- a/src/Gui/Document.h
++++ b/src/Gui/Document.h
+@@ -92,36 +92,36 @@ class GuiExport Document : public Base::Persistence
+ /** @name Signals of the document */
+ //@{
+ /// signal on new Object
+- mutable boost::signal<void (const Gui::ViewProviderDocumentObject&)> signalNewObject;
++ mutable boost::signals2::signal<void (const Gui::ViewProviderDocumentObject&)> signalNewObject;
+ /// signal on deleted Object
+- mutable boost::signal<void (const Gui::ViewProviderDocumentObject&)> signalDeletedObject;
++ mutable boost::signals2::signal<void (const Gui::ViewProviderDocumentObject&)> signalDeletedObject;
+ /** signal on changed Object, the 2nd argument is the changed property
+ of the referenced document object, not of the view provider */
+- mutable boost::signal<void (const Gui::ViewProviderDocumentObject&,
++ mutable boost::signals2::signal<void (const Gui::ViewProviderDocumentObject&,
+ const App::Property&)> signalChangedObject;
+ /// signal on renamed Object
+- mutable boost::signal<void (const Gui::ViewProviderDocumentObject&)> signalRelabelObject;
++ mutable boost::signals2::signal<void (const Gui::ViewProviderDocumentObject&)> signalRelabelObject;
+ /// signal on activated Object
+- mutable boost::signal<void (const Gui::ViewProviderDocumentObject&)> signalActivatedObject;
++ mutable boost::signals2::signal<void (const Gui::ViewProviderDocumentObject&)> signalActivatedObject;
+ /// signal on entering in edit mode
+- mutable boost::signal<void (const Gui::ViewProviderDocumentObject&)> signalInEdit;
++ mutable boost::signals2::signal<void (const Gui::ViewProviderDocumentObject&)> signalInEdit;
+ /// signal on leaving edit mode
+- mutable boost::signal<void (const Gui::ViewProviderDocumentObject&)> signalResetEdit;
++ mutable boost::signals2::signal<void (const Gui::ViewProviderDocumentObject&)> signalResetEdit;
+ /// signal on changed Object, the 2nd argument is the highlite mode to use
+- mutable boost::signal<void (const Gui::ViewProviderDocumentObject&,
+- const Gui::HighlightMode&,
+- bool)> signalHighlightObject;
++ mutable boost::signals2::signal<void (const Gui::ViewProviderDocumentObject&,
++ const Gui::HighlightMode&,
++ bool)> signalHighlightObject;
+ /// signal on changed Object, the 2nd argument is the highlite mode to use
+- mutable boost::signal<void (const Gui::ViewProviderDocumentObject&,
+- const Gui::TreeItemMode&)> signalExpandObject;
++ mutable boost::signals2::signal<void (const Gui::ViewProviderDocumentObject&,
++ const Gui::TreeItemMode&)> signalExpandObject;
+ /// signal on scrolling to an object
+- mutable boost::signal<void (const Gui::ViewProviderDocumentObject&)> signalScrollToObject;
++ mutable boost::signals2::signal<void (const Gui::ViewProviderDocumentObject&)> signalScrollToObject;
+ /// signal on undo Document
+- mutable boost::signal<void (const Gui::Document& doc)> signalUndoDocument;
++ mutable boost::signals2::signal<void (const Gui::Document& doc)> signalUndoDocument;
+ /// signal on redo Document
+- mutable boost::signal<void (const Gui::Document& doc)> signalRedoDocument;
++ mutable boost::signals2::signal<void (const Gui::Document& doc)> signalRedoDocument;
+ /// signal on deleting Document
+- mutable boost::signal<void (const Gui::Document& doc)> signalDeleteDocument;
++ mutable boost::signals2::signal<void (const Gui::Document& doc)> signalDeleteDocument;
+ //@}
+
+ /** @name I/O of the document */
+diff --git a/src/Gui/DocumentModel.cpp b/src/Gui/DocumentModel.cpp
+index 7b3420b1461..4ec20c14033 100644
+--- a/src/Gui/DocumentModel.cpp
++++ b/src/Gui/DocumentModel.cpp
+@@ -26,7 +26,7 @@
+ #ifndef _PreComp_
+ # include <QApplication>
+ # include <algorithm>
+-# include <boost/signals.hpp>
++# include <boost/signals2.hpp>
+ # include <boost/bind.hpp>
+ #endif
+
+diff --git a/src/Gui/DocumentObserver.cpp b/src/Gui/DocumentObserver.cpp
+index 5852d5a1510..d46c0b1a1fd 100644
+--- a/src/Gui/DocumentObserver.cpp
++++ b/src/Gui/DocumentObserver.cpp
+@@ -27,7 +27,6 @@
+ # include <sstream>
+ #endif
+
+-#include <boost/signals.hpp>
+ #include <boost/bind.hpp>
+
+ #include "Application.h"
+@@ -89,19 +88,6 @@ void DocumentObserver::detachDocument()
+ this->connectDocumentDelete.disconnect();
+ }
+
+-void DocumentObserver::enableNotifications(DocumentObserver::Notifications value)
+-{
+- this->connectDocumentCreatedObject.block(!(value & Create));
+- this->connectDocumentDeletedObject.block(!(value & Delete));
+- this->connectDocumentChangedObject.block(!(value & Change));
+- this->connectDocumentRelabelObject.block(!(value & Relabel));
+- this->connectDocumentActivateObject.block(!(value & Activate));
+- this->connectDocumentEditObject.block(!(value & Edit));
+- this->connectDocumentResetObject.block(!(value & Reset));
+- this->connectDocumentUndo.block(!(value & Undo));
+- this->connectDocumentRedo.block(!(value & Redo));
+-}
+-
+ void DocumentObserver::slotUndoDocument(const Document& /*Doc*/)
+ {
+ }
+diff --git a/src/Gui/DocumentObserver.h b/src/Gui/DocumentObserver.h
+index 083e789615c..08a9399e24a 100644
+--- a/src/Gui/DocumentObserver.h
++++ b/src/Gui/DocumentObserver.h
+@@ -25,8 +25,7 @@
+ #define GUI_DOCUMENTOBSERVER_H
+
+ #include <Base/BaseClass.h>
+-#include <boost/signals.hpp>
+-#include <QFlags>
++#include <boost/signals2.hpp>
+
+ namespace App { class Property; }
+ namespace Gui
+@@ -45,21 +44,6 @@ class ViewProviderDocumentObject;
+ class GuiExport DocumentObserver
+ {
+ public:
+- enum Notification {
+- None = 0x0000,
+- Create = 0x0001,
+- Delete = 0x0002,
+- Change = 0x0004,
+- Relabel = 0x0008,
+- Activate = 0x0010,
+- Edit = 0x0020,
+- Reset = 0x0040,
+- Undo = 0x0080,
+- Redo = 0x0100,
+- All = 0x01ff
+- };
+- Q_DECLARE_FLAGS(Notifications, Notification)
+-
+ /// Constructor
+ DocumentObserver();
+ virtual ~DocumentObserver();
+@@ -72,9 +56,6 @@ class GuiExport DocumentObserver
+ * is not longer observed then.
+ */
+ void detachDocument();
+- /** Activates the connection depending on the given value.
+- */
+- void enableNotifications(Notifications value);
+
+ private:
+ /** Notifies when an object has been created. */
+@@ -100,7 +81,7 @@ class GuiExport DocumentObserver
+ virtual void slotDeleteDocument(const Document& Doc);
+
+ private:
+- typedef boost::BOOST_SIGNALS_NAMESPACE::scoped_connection Connection;
++ typedef boost::signals2::scoped_connection Connection;
+ Connection connectDocumentCreatedObject;
+ Connection connectDocumentDeletedObject;
+ Connection connectDocumentChangedObject;
+diff --git a/src/Gui/ExpressionBinding.h b/src/Gui/ExpressionBinding.h
+index 8280dec18d0..76507375158 100644
+--- a/src/Gui/ExpressionBinding.h
++++ b/src/Gui/ExpressionBinding.h
+@@ -27,7 +27,7 @@
+ #include <App/ObjectIdentifier.h>
+ #include <boost/shared_ptr.hpp>
+ #include <QLabel>
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+
+ namespace App {
+ class Expression;
+@@ -75,7 +75,7 @@ class GuiExport ExpressionBinding
+ int iconHeight;
+
+ void expressionChange(const App::ObjectIdentifier& id);
+- boost::signals::scoped_connection connection;
++ boost::signals2::scoped_connection connection;
+ bool m_autoApply;
+ };
+
+diff --git a/src/Gui/GraphvizView.h b/src/Gui/GraphvizView.h
+index 3452e54578e..5a9dc204b37 100644
+--- a/src/Gui/GraphvizView.h
++++ b/src/Gui/GraphvizView.h
+@@ -26,7 +26,7 @@
+
+ #include "MDIView.h"
+ #include <boost/shared_ptr.hpp>
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+
+
+ class QGraphicsScene;
+@@ -84,7 +84,7 @@ private Q_SLOTS:
+ GraphvizWorker* thread;
+ int nPending;
+
+- typedef boost::BOOST_SIGNALS_NAMESPACE::scoped_connection Connection;
++ typedef boost::signals2::scoped_connection Connection;
+ Connection recomputeConnection;
+ Connection undoConnection;
+ Connection redoConnection;
+diff --git a/src/Gui/MDIView.cpp b/src/Gui/MDIView.cpp
+index 1f6421429a7..6d8fbcc5fdc 100644
+--- a/src/Gui/MDIView.cpp
++++ b/src/Gui/MDIView.cpp
+@@ -24,7 +24,7 @@
+ #include "PreCompiled.h"
+
+ #ifndef _PreComp_
+-# include <boost/signals.hpp>
++# include <boost/signals2.hpp>
+ # include <boost/bind.hpp>
+ # include <qapplication.h>
+ # include <qregexp.h>
+diff --git a/src/Gui/MDIView.h b/src/Gui/MDIView.h
+index 8704a0d4d46..a10be328c92 100644
+--- a/src/Gui/MDIView.h
++++ b/src/Gui/MDIView.h
+@@ -150,7 +150,7 @@ protected Q_SLOTS:
+ Qt::WindowStates wstate;
+ // list of active objects of this view
+ ActiveObjectList ActiveObjects;
+- typedef boost::BOOST_SIGNALS_NAMESPACE::connection Connection;
++ typedef boost::signals2::connection Connection;
+ Connection connectDelObject; //remove active object upon delete.
+ };
+
+diff --git a/src/Gui/MainWindow.cpp b/src/Gui/MainWindow.cpp
+index e3a60af34e8..390aa96a948 100644
+--- a/src/Gui/MainWindow.cpp
++++ b/src/Gui/MainWindow.cpp
+@@ -51,7 +51,6 @@
+ # include <QWhatsThis>
+ #endif
+
+-#include <boost/signals.hpp>
+ #include <boost/bind.hpp>
+
+ // FreeCAD Base header
+diff --git a/src/Gui/ManualAlignment.cpp b/src/Gui/ManualAlignment.cpp
+index 31d1289b509..8ae2323f09a 100644
+--- a/src/Gui/ManualAlignment.cpp
++++ b/src/Gui/ManualAlignment.cpp
+@@ -49,7 +49,6 @@
+ # include <Inventor/sensors/SoNodeSensor.h>
+ #endif
+
+-#include <boost/signals.hpp>
+ #include <boost/bind.hpp>
+
+ #include <App/Document.h>
+diff --git a/src/Gui/ManualAlignment.h b/src/Gui/ManualAlignment.h
+index 7b00b17d47f..68998863415 100644
+--- a/src/Gui/ManualAlignment.h
++++ b/src/Gui/ManualAlignment.h
+@@ -30,7 +30,7 @@
+ #include <Gui/Application.h>
+ #include <Gui/Document.h>
+ #include <Gui/ViewProviderDocumentObject.h>
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+
+ class SbVec3f;
+ class SoPickedPoint;
+@@ -245,7 +245,7 @@ protected Q_SLOTS:
+
+ static ManualAlignment* _instance;
+
+- typedef boost::BOOST_SIGNALS_NAMESPACE::connection Connection;
++ typedef boost::signals2::connection Connection;
+ Connection connectApplicationDeletedDocument;
+ Connection connectDocumentDeletedObject;
+
+diff --git a/src/Gui/MergeDocuments.h b/src/Gui/MergeDocuments.h
+index 42bc252e026..d4d1be0f3d6 100644
+--- a/src/Gui/MergeDocuments.h
++++ b/src/Gui/MergeDocuments.h
+@@ -24,7 +24,7 @@
+ #ifndef GUI_MERGEDOCUMENTS_H
+ #define GUI_MERGEDOCUMENTS_H
+
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <Base/Persistence.h>
+
+ namespace zipios {
+@@ -57,7 +57,7 @@ class GuiExport MergeDocuments : public Base::Persistence
+ Gui::Document* document;
+ std::vector<App::DocumentObject*> objects;
+ std::map<std::string, std::string> nameMap;
+- typedef boost::signals::connection Connection;
++ typedef boost::signals2::connection Connection;
+ Connection connectExport;
+ Connection connectImport;
+ };
+diff --git a/src/Gui/Placement.h b/src/Gui/Placement.h
+index 3365d4f07f0..b2b3ef61eee 100644
+--- a/src/Gui/Placement.h
++++ b/src/Gui/Placement.h
+@@ -29,7 +29,7 @@
+ #include <Gui/TaskView/TaskView.h>
+ #include <Base/Placement.h>
+
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <boost/bind.hpp>
+
+ class QSignalMapper;
+@@ -88,7 +88,7 @@ private Q_SLOTS:
+
+ private:
+ typedef Gui::LocationInterfaceComp<Ui_Placement> Ui_PlacementComp;
+- typedef boost::BOOST_SIGNALS_NAMESPACE::connection Connection;
++ typedef boost::signals2::connection Connection;
+ Ui_PlacementComp* ui;
+ QSignalMapper* signalMapper;
+ Connection connectAct;
+diff --git a/src/Gui/PreCompiled.h b/src/Gui/PreCompiled.h
+index 8b41562a247..536e538d679 100644
+--- a/src/Gui/PreCompiled.h
++++ b/src/Gui/PreCompiled.h
+@@ -75,7 +75,7 @@
+ #include <bitset>
+
+ // Boost
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <boost/bind.hpp>
+ #include <boost/program_options.hpp>
+ #include <boost/tuple/tuple.hpp>
+diff --git a/src/Gui/ProjectView.cpp b/src/Gui/ProjectView.cpp
+index 327ac4bc697..bbef326fd38 100644
+--- a/src/Gui/ProjectView.cpp
++++ b/src/Gui/ProjectView.cpp
+@@ -24,7 +24,6 @@
+ #include "PreCompiled.h"
+
+ #ifndef _PreComp_
+-# include <boost/signals.hpp>
+ # include <boost/bind.hpp>
+ # include <QAction>
+ # include <QActionGroup>
+diff --git a/src/Gui/PropertyView.h b/src/Gui/PropertyView.h
+index ea58045b8ce..0feff23a106 100644
+--- a/src/Gui/PropertyView.h
++++ b/src/Gui/PropertyView.h
+@@ -28,7 +28,7 @@
+
+ #include "DockWindow.h"
+ #include "Selection.h"
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+
+ class QPixmap;
+ class QTabWidget;
+@@ -65,15 +65,15 @@ class PropertyView : public QWidget, public Gui::SelectionObserver
+ Gui::PropertyEditor::PropertyEditor* propertyEditorView;
+ Gui::PropertyEditor::PropertyEditor* propertyEditorData;
+
+-public Q_SLOTS:
+- /// Stores a preference for the last tab selected
+- void tabChanged(int index);
+-
++public Q_SLOTS:
++ /// Stores a preference for the last tab selected
++ void tabChanged(int index);
++
+ protected:
+ void changeEvent(QEvent *e);
+
+ private:
+- void onSelectionChanged(const SelectionChanges& msg);
++ void onSelectionChanged(const SelectionChanges& msg);
+ void slotChangePropertyData(const App::DocumentObject&, const App::Property&);
+ void slotChangePropertyView(const Gui::ViewProvider&, const App::Property&);
+ void slotAppendDynamicProperty(const App::Property&);
+@@ -84,7 +84,7 @@ public Q_SLOTS:
+ private:
+ struct PropInfo;
+ struct PropFind;
+- typedef boost::BOOST_SIGNALS_NAMESPACE::connection Connection;
++ typedef boost::signals2::connection Connection;
+ Connection connectPropData;
+ Connection connectPropView;
+ Connection connectPropAppend;
+diff --git a/src/Gui/Selection.cpp b/src/Gui/Selection.cpp
+index 9e05d11a24f..8d1057b9d0a 100644
+--- a/src/Gui/Selection.cpp
++++ b/src/Gui/Selection.cpp
+@@ -26,7 +26,6 @@
+ #ifndef _PreComp_
+ # include <assert.h>
+ # include <string>
+-# include <boost/signals.hpp>
+ # include <boost/bind.hpp>
+ # include <QApplication>
+ # include <QString>
+@@ -54,7 +53,7 @@ FC_LOG_LEVEL_INIT("Selection",false,true,true)
+ using namespace Gui;
+ using namespace std;
+
+-SelectionObserver::SelectionObserver()
++SelectionObserver::SelectionObserver() : blocker(connectSelection, false)
+ {
+ attachSelection();
+ }
+@@ -68,9 +67,9 @@ bool SelectionObserver::blockConnection(bool block)
+ {
+ bool ok = connectSelection.blocked();
+ if (block)
+- connectSelection.block();
++ blocker.block();
+ else
+- connectSelection.unblock();
++ blocker.unblock();
+ return ok;
+ }
+
+diff --git a/src/Gui/Selection.h b/src/Gui/Selection.h
+index e68988191f9..54266f0b07a 100644
+--- a/src/Gui/Selection.h
++++ b/src/Gui/Selection.h
+@@ -30,6 +30,7 @@
+ #include <vector>
+ #include <list>
+ #include <map>
++#include <boost/signals2.hpp>
+ #include <CXX/Objects.hxx>
+
+ #include <Base/Observer.h>
+@@ -144,8 +145,9 @@ class GuiExport SelectionObserver
+ void _onSelectionChanged(const SelectionChanges& msg);
+
+ private:
+- typedef boost::signals::connection Connection;
++ typedef boost::signals2::connection Connection;
+ Connection connectSelection;
++ boost::signals2::shared_connection_block blocker;
+ };
+
+ /**
+@@ -293,7 +295,7 @@ class GuiExport SelectionSingleton : public Base::Subject<const SelectionChanges
+ };
+
+ /// signal on new object
+- boost::signal<void (const SelectionChanges& msg)> signalSelectionChanged;
++ boost::signals2::signal<void (const SelectionChanges& msg)> signalSelectionChanged;
+
+ /** Returns a vector of selection objects
+ * If no document name is given the objects of the active are returned.
+diff --git a/src/Gui/TaskView/TaskAppearance.h b/src/Gui/TaskView/TaskAppearance.h
+index cdcbe1faff6..1e3de8a898a 100644
+--- a/src/Gui/TaskView/TaskAppearance.h
++++ b/src/Gui/TaskView/TaskAppearance.h
+@@ -26,7 +26,7 @@
+
+ #include "TaskView.h"
+ #include <Gui/Selection.h>
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+
+
+ class Ui_TaskAppearance;
+@@ -38,7 +38,7 @@ class Property;
+ namespace Gui {
+ class ViewProvider;
+ namespace TaskView {
+-typedef boost::signals::connection TaskAppearance_Connection;
++typedef boost::signals2::connection TaskAppearance_Connection;
+
+ class TaskAppearance : public TaskBox, public Gui::SelectionSingleton::ObserverType
+ {
+diff --git a/src/Gui/TaskView/TaskSelectLinkProperty.h b/src/Gui/TaskView/TaskSelectLinkProperty.h
+index 85dbf456c4a..7f2e1dcadc2 100644
+--- a/src/Gui/TaskView/TaskSelectLinkProperty.h
++++ b/src/Gui/TaskView/TaskSelectLinkProperty.h
+@@ -26,7 +26,6 @@
+
+ #include "TaskView.h"
+ #include <Gui/Selection.h>
+-#include <boost/signals.hpp>
+ #include <App/PropertyLinks.h>
+
+
+diff --git a/src/Gui/TaskView/TaskView.h b/src/Gui/TaskView/TaskView.h
+index 621482ebfba..5a368c8e3c6 100644
+--- a/src/Gui/TaskView/TaskView.h
++++ b/src/Gui/TaskView/TaskView.h
+@@ -29,7 +29,7 @@
+ #include <map>
+ #include <string>
+ #include <vector>
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <QScrollArea>
+
+ #if !defined (QSINT_ACTIONPANEL)
+@@ -51,7 +51,7 @@ class CombiView;
+ }
+ namespace TaskView {
+
+-typedef boost::signals::connection Connection;
++typedef boost::signals2::connection Connection;
+ class TaskEditControl;
+ class TaskDialog;
+
+diff --git a/src/Gui/Tree.cpp b/src/Gui/Tree.cpp
+index e52727abe93..a659e1bf9ef 100644
+--- a/src/Gui/Tree.cpp
++++ b/src/Gui/Tree.cpp
+@@ -24,7 +24,6 @@
+ #include "PreCompiled.h"
+
+ #ifndef _PreComp_
+-# include <boost/signals.hpp>
+ # include <boost/bind.hpp>
+ # include <QAction>
+ # include <QActionGroup>
+diff --git a/src/Gui/Tree.h b/src/Gui/Tree.h
+index c970f07977a..cc45a2c4e31 100644
+--- a/src/Gui/Tree.h
++++ b/src/Gui/Tree.h
+@@ -185,7 +185,7 @@ class DocumentItem : public QTreeWidgetItem
+ const Gui::Document* pDocument;
+ std::map<std::string,DocumentObjectItemsPtr> ObjectMap;
+
+- typedef boost::BOOST_SIGNALS_NAMESPACE::connection Connection;
++ typedef boost::signals2::connection Connection;
+ Connection connectNewObject;
+ Connection connectDelObject;
+ Connection connectChgObject;
+@@ -223,7 +223,7 @@ class DocumentObjectItem : public QTreeWidgetItem
+ void slotChangeStatusTip(const QString&);
+
+ private:
+- typedef boost::BOOST_SIGNALS_NAMESPACE::connection Connection;
++ typedef boost::signals2::connection Connection;
+ int previousStatus;
+ Gui::ViewProviderDocumentObject* viewObject;
+ Connection connectIcon;
+diff --git a/src/Gui/ViewProvider.h b/src/Gui/ViewProvider.h
+index 96ac6dd8c4d..9c6867e4442 100644
+--- a/src/Gui/ViewProvider.h
++++ b/src/Gui/ViewProvider.h
+@@ -29,7 +29,7 @@
+ #include <string>
+ #include <bitset>
+ #include <QIcon>
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+
+ #include <App/TransactionalObject.h>
+ #include <Base/Vector3D.h>
+@@ -200,11 +200,11 @@ class GuiExport ViewProvider : public App::TransactionalObject
+ /** @name Signals of the view provider */
+ //@{
+ /// signal on icon change
+- boost::signal<void ()> signalChangeIcon;
++ boost::signals2::signal<void ()> signalChangeIcon;
+ /// signal on tooltip change
+- boost::signal<void (const QString&)> signalChangeToolTip;
++ boost::signals2::signal<void (const QString&)> signalChangeToolTip;
+ /// signal on status tip change
+- boost::signal<void (const QString&)> signalChangeStatusTip;
++ boost::signals2::signal<void (const QString&)> signalChangeStatusTip;
+ //@}
+
+ /** update the content of the ViewProvider
+diff --git a/src/Gui/ViewProviderOriginGroup.h b/src/Gui/ViewProviderOriginGroup.h
+index 06ff7112f43..31db1d6d0c3 100644
+--- a/src/Gui/ViewProviderOriginGroup.h
++++ b/src/Gui/ViewProviderOriginGroup.h
+@@ -23,8 +23,6 @@
+ #ifndef VIEWPROVIDERORIGINGROUP_H_JIXBOPA7
+ #define VIEWPROVIDERORIGINGROUP_H_JIXBOPA7
+
+-#include <boost/signals.hpp>
+-
+ #include "ViewProviderGeoFeatureGroup.h"
+ #include "ViewProviderOriginGroupExtension.h"
+
+diff --git a/src/Gui/ViewProviderOriginGroupExtension.h b/src/Gui/ViewProviderOriginGroupExtension.h
+index a326dca013f..4804aa9d80a 100644
+--- a/src/Gui/ViewProviderOriginGroupExtension.h
++++ b/src/Gui/ViewProviderOriginGroupExtension.h
+@@ -56,8 +56,8 @@ class GuiExport ViewProviderOriginGroupExtension : public ViewProviderGeoFeature
+ std::vector<App::DocumentObject*> constructChildren (
+ const std::vector<App::DocumentObject*> &children ) const;
+
+- boost::signals::connection connectChangedObjectApp;
+- boost::signals::connection connectChangedObjectGui;
++ boost::signals2::connection connectChangedObjectApp;
++ boost::signals2::connection connectChangedObjectGui;
+ };
+
+ typedef ViewProviderExtensionPythonT<Gui::ViewProviderOriginGroupExtension> ViewProviderOriginGroupExtensionPython;
+diff --git a/src/Gui/ViewProviderPythonFeature.cpp b/src/Gui/ViewProviderPythonFeature.cpp
+index 7ff9443d625..90f54a42ec7 100644
+--- a/src/Gui/ViewProviderPythonFeature.cpp
++++ b/src/Gui/ViewProviderPythonFeature.cpp
+@@ -30,7 +30,6 @@
+ # include <QFileInfo>
+ # include <QMenu>
+ # include <QPixmap>
+-# include <boost/signals.hpp>
+ # include <boost/bind.hpp>
+ # include <Inventor/nodes/SoDrawStyle.h>
+ # include <Inventor/nodes/SoMaterial.h>
+diff --git a/src/Mod/Drawing/Gui/TaskOrthoViews.cpp b/src/Mod/Drawing/Gui/TaskOrthoViews.cpp
+index a921361871b..385dce60bb0 100644
+--- a/src/Mod/Drawing/Gui/TaskOrthoViews.cpp
++++ b/src/Mod/Drawing/Gui/TaskOrthoViews.cpp
+@@ -641,11 +641,12 @@ void OrthoViews::del_view(int rel_x, int rel_y) // remove a view fro
+
+ if (num > 0)
+ {
+- connectDocumentDeletedObject.block();
+- views[num]->deleteme();
+- delete views[num];
+- views.erase(views.begin() + num);
+- connectDocumentDeletedObject.unblock();
++ {
++ boost::signals2::shared_connection_block blocker(connectDocumentDeletedObject);
++ views[num]->deleteme();
++ delete views[num];
++ views.erase(views.begin() + num);
++ }
+
+ min_r_x = max_r_x = 0;
+ min_r_y = max_r_y = 0;
+@@ -667,14 +668,13 @@ void OrthoViews::del_view(int rel_x, int rel_y) // remove a view fro
+
+ void OrthoViews::del_all()
+ {
+- connectDocumentDeletedObject.block();
++ boost::signals2::shared_connection_block blocker(connectDocumentDeletedObject);
+ for (int i = views.size() - 1; i >= 0; i--) // count downwards to delete from back
+ {
+ views[i]->deleteme();
+ delete views[i];
+ views.pop_back();
+ }
+- connectDocumentDeletedObject.unblock();
+ }
+
+ int OrthoViews::is_Ortho(int rel_x, int rel_y) // is the view at r_x, r_y an ortho or axo one?
+diff --git a/src/Mod/Drawing/Gui/TaskOrthoViews.h b/src/Mod/Drawing/Gui/TaskOrthoViews.h
+index a00b449b4eb..dfeae41f729 100644
+--- a/src/Mod/Drawing/Gui/TaskOrthoViews.h
++++ b/src/Mod/Drawing/Gui/TaskOrthoViews.h
+@@ -30,9 +30,9 @@
+
+ #include <gp_Ax2.hxx>
+ #include <vector>
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+
+-#include <Mod/Drawing/App/FeatureViewPart.h>
++#include <Mod/Drawing/App/FeatureViewPart.h>
+
+
+
+@@ -148,8 +148,8 @@ class OrthoViews
+
+ bool hidden, smooth;
+ bool autodims;
+- boost::BOOST_SIGNALS_NAMESPACE::scoped_connection connectDocumentDeletedObject;
+- boost::BOOST_SIGNALS_NAMESPACE::scoped_connection connectApplicationDeletedDocument;
++ boost::signals2::scoped_connection connectDocumentDeletedObject;
++ boost::signals2::scoped_connection connectApplicationDeletedDocument;
+ };
+
+
+diff --git a/src/Mod/Fem/Gui/TaskPostBoxes.h b/src/Mod/Fem/Gui/TaskPostBoxes.h
+index 3dc24a18005..dca2526dca6 100644
+--- a/src/Mod/Fem/Gui/TaskPostBoxes.h
++++ b/src/Mod/Fem/Gui/TaskPostBoxes.h
+@@ -30,7 +30,6 @@
+ #include <Base/Parameter.h>
+ #include <App/PropertyLinks.h>
+ #include "ViewProviderFemPostFunction.h"
+-#include <boost/signals.hpp>
+
+ class QComboBox;
+ class Ui_TaskPostDisplay;
+@@ -139,15 +138,15 @@ class TaskPostBox : public Gui::TaskView::TaskBox {
+ ~TaskPostBox();
+
+ virtual void applyPythonCode() = 0;
+- virtual bool isGuiTaskOnly() {return false;}; //return true if only gui properties are manipulated
++ virtual bool isGuiTaskOnly() {return false;} //return true if only gui properties are manipulated
+
+ protected:
+- App::DocumentObject* getObject() {return m_object;};
++ App::DocumentObject* getObject() {return m_object;}
+ template<typename T>
+- T* getTypedObject() {return static_cast<T*>(m_object);};
+- Gui::ViewProviderDocumentObject* getView() {return m_view;};
++ T* getTypedObject() {return static_cast<T*>(m_object);}
++ Gui::ViewProviderDocumentObject* getView() {return m_view;}
+ template<typename T>
+- T* getTypedView() {return static_cast<T*>(m_view);};
++ T* getTypedView() {return static_cast<T*>(m_view);}
+
+ bool autoApply();
+ void recompute();
+@@ -203,7 +202,7 @@ class TaskPostDisplay : public TaskPostBox
+ ~TaskPostDisplay();
+
+ virtual void applyPythonCode();
+- virtual bool isGuiTaskOnly() {return true;};
++ virtual bool isGuiTaskOnly() {return true;}
+
+ private Q_SLOTS:
+ void on_Representation_activated(int i);
+diff --git a/src/Mod/Fem/Gui/ViewProviderFemPostFunction.h b/src/Mod/Fem/Gui/ViewProviderFemPostFunction.h
+index 55fb8d0bd3f..3197fea469f 100644
+--- a/src/Mod/Fem/Gui/ViewProviderFemPostFunction.h
++++ b/src/Mod/Fem/Gui/ViewProviderFemPostFunction.h
+@@ -28,28 +28,7 @@
+ #include <Mod/Fem/App/FemPostFunction.h>
+ #include <Inventor/SbMatrix.h>
+ #include <QWidget>
+-
+-
+-#if defined(signals) && defined(QOBJECTDEFS_H) && \
+- !defined(QT_MOC_CPP)
+-# undef signals
+-# define signals signals
+-#endif
+-
+-#include <boost/signal.hpp>
+-namespace boost
+-{
+- namespace signalslib = signals;
+-}
+-
+-#if defined(signals) && defined(QOBJECTDEFS_H) && \
+- !defined(QT_MOC_CPP)
+-# undef signals
+-// Restore the macro definition of "signals", as it was
+-// defined by Qt's <qobjectdefs.h>.
+-# define signals protected
+-#endif
+-
++#include <boost/signals2.hpp>
+
+ class SoScale;
+ class SoSurroundScale;
+@@ -70,19 +49,19 @@ class FemGuiExport FunctionWidget : public QWidget {
+
+ Q_OBJECT
+ public:
+- FunctionWidget() {};
+- virtual ~FunctionWidget() {};
++ FunctionWidget() {}
++ virtual ~FunctionWidget() {}
+
+ virtual void applyPythonCode() = 0;
+ virtual void setViewProvider(ViewProviderFemPostFunction* view);
+ void onObjectsChanged(const App::DocumentObject& obj, const App::Property&);
+
+ protected:
+- ViewProviderFemPostFunction* getView() {return m_view;};
+- Fem::FemPostFunction* getObject(){return m_object;};
++ ViewProviderFemPostFunction* getView() {return m_view;}
++ Fem::FemPostFunction* getObject(){return m_object;}
+
+- bool blockObjectUpdates() {return m_block;};
+- void setBlockObjectUpdates(bool val) {m_block = val;};
++ bool blockObjectUpdates() {return m_block;}
++ void setBlockObjectUpdates(bool val) {m_block = val;}
+
+ virtual void onChange(const App::Property& p) = 0;
+
+@@ -90,7 +69,7 @@ class FemGuiExport FunctionWidget : public QWidget {
+ bool m_block;
+ ViewProviderFemPostFunction* m_view;
+ Fem::FemPostFunction* m_object;
+- boost::signalslib::scoped_connection m_connection;
++ boost::signals2::scoped_connection m_connection;
+ };
+
+ class FemGuiExport ViewProviderFemPostFunctionProvider : public Gui::ViewProviderDocumentObject
+diff --git a/src/Mod/Inspection/App/InspectionFeature.cpp b/src/Mod/Inspection/App/InspectionFeature.cpp
+index d5c5946bf6e..2f18d177daa 100644
+--- a/src/Mod/Inspection/App/InspectionFeature.cpp
++++ b/src/Mod/Inspection/App/InspectionFeature.cpp
+@@ -35,7 +35,6 @@
+ #include <QFutureWatcher>
+ #include <QtConcurrentMap>
+
+-#include <boost/signals.hpp>
+ #include <boost/bind.hpp>
+
+ #include <Base/Console.h>
+diff --git a/src/Mod/Mesh/Gui/DlgEvaluateMeshImp.cpp b/src/Mod/Mesh/Gui/DlgEvaluateMeshImp.cpp
+index c4bdc9c54b8..79a6e02041d 100644
+--- a/src/Mod/Mesh/Gui/DlgEvaluateMeshImp.cpp
++++ b/src/Mod/Mesh/Gui/DlgEvaluateMeshImp.cpp
+@@ -31,7 +31,6 @@
+ #include "ui_DlgEvaluateMesh.h"
+ #include "DlgEvaluateSettings.h"
+
+-#include <boost/signals.hpp>
+ #include <boost/bind.hpp>
+
+ #include <Base/Interpreter.h>
+diff --git a/src/Mod/Mesh/Gui/MeshEditor.h b/src/Mod/Mesh/Gui/MeshEditor.h
+index 43be6e9799a..9d5b248ff41 100644
+--- a/src/Mod/Mesh/Gui/MeshEditor.h
++++ b/src/Mod/Mesh/Gui/MeshEditor.h
+@@ -25,7 +25,7 @@
+
+ #include <QObject>
+ #include <Mod/Mesh/Gui/ViewProvider.h>
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+
+ class SoCoordinate3;
+ class SoFaceSet;
+@@ -139,7 +139,7 @@ private Q_SLOTS:
+
+ private:
+ typedef std::vector<unsigned long> TBoundary;
+- typedef boost::BOOST_SIGNALS_NAMESPACE::connection Connection;
++ typedef boost::signals2::connection Connection;
+
+ static void fileHoleCallback(void * ud, SoEventCallback * n);
+ void createPolygons();
+diff --git a/src/Mod/Part/App/PreCompiled.h b/src/Mod/Part/App/PreCompiled.h
+index ad0c3508f76..9d21862fa38 100644
+--- a/src/Mod/Part/App/PreCompiled.h
++++ b/src/Mod/Part/App/PreCompiled.h
+@@ -63,7 +63,7 @@
+ #include <map>
+
+ // Boost
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <boost/bind.hpp>
+
+ #include <boost/tuple/tuple.hpp>
+@@ -73,10 +73,10 @@
+ #include <boost/program_options.hpp>
+ //namespace po = boost::program_options;
+
+-#include <boost/filesystem/path.hpp>
+-#include <boost/filesystem/operations.hpp>
+-#include <boost/filesystem/exception.hpp>
+-
++#include <boost/filesystem/path.hpp>
++#include <boost/filesystem/operations.hpp>
++#include <boost/filesystem/exception.hpp>
++
+ #include "OpenCascadeAll.h"
+
+ #elif defined(FC_OS_WIN32)
+diff --git a/src/Mod/Part/Gui/DlgBooleanOperation.h b/src/Mod/Part/Gui/DlgBooleanOperation.h
+index dedc9015a91..03e8d1cbf20 100644
+--- a/src/Mod/Part/Gui/DlgBooleanOperation.h
++++ b/src/Mod/Part/Gui/DlgBooleanOperation.h
+@@ -25,7 +25,7 @@
+
+ #include <Gui/TaskView/TaskDialog.h>
+ #include <Gui/TaskView/TaskView.h>
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+
+ class QTreeWidgetItem;
+
+@@ -35,7 +35,7 @@ class Property;
+ }
+ namespace PartGui {
+
+-typedef boost::signals::connection Connection;
++typedef boost::signals2::connection Connection;
+ class Ui_DlgBooleanOperation;
+ class DlgBooleanOperation : public QWidget
+ {
+diff --git a/src/Mod/Part/Gui/DlgFilletEdges.cpp b/src/Mod/Part/Gui/DlgFilletEdges.cpp
+index 07548a8595c..d9f593238a1 100644
+--- a/src/Mod/Part/Gui/DlgFilletEdges.cpp
++++ b/src/Mod/Part/Gui/DlgFilletEdges.cpp
+@@ -207,7 +207,7 @@ namespace PartGui {
+ std::vector<int> edge_ids;
+ TopTools_IndexedMapOfShape all_edges;
+ TopTools_IndexedMapOfShape all_faces;
+- typedef boost::signals::connection Connection;
++ typedef boost::signals2::connection Connection;
+ Connection connectApplicationDeletedObject;
+ Connection connectApplicationDeletedDocument;
+
+diff --git a/src/Mod/Part/Gui/TaskAttacher.h b/src/Mod/Part/Gui/TaskAttacher.h
+index 7cac9e647f6..703eb1a45d9 100644
+--- a/src/Mod/Part/Gui/TaskAttacher.h
++++ b/src/Mod/Part/Gui/TaskAttacher.h
+@@ -131,7 +131,7 @@ private Q_SLOTS:
+ Attacher::SuggestResult lastSuggestResult;
+ bool completed;
+
+- typedef boost::BOOST_SIGNALS_NAMESPACE::connection Connection;
++ typedef boost::signals2::connection Connection;
+ Connection connectDelObject;
+ };
+
+diff --git a/src/Mod/Part/Gui/TaskFaceColors.cpp b/src/Mod/Part/Gui/TaskFaceColors.cpp
+index 0f630f989a6..71b9a7bcea4 100644
+--- a/src/Mod/Part/Gui/TaskFaceColors.cpp
++++ b/src/Mod/Part/Gui/TaskFaceColors.cpp
+@@ -45,7 +45,7 @@
+ # include <Inventor/nodes/SoSeparator.h>
+ #endif
+
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <boost/bind.hpp>
+
+ #include "ui_TaskFaceColors.h"
+@@ -94,7 +94,7 @@ namespace PartGui {
+ class FaceColors::Private
+ {
+ public:
+- typedef boost::signals::connection Connection;
++ typedef boost::signals2::connection Connection;
+ Ui_TaskFaceColors* ui;
+ Gui::View3DInventorViewer* view;
+ ViewProviderPartExt* vp;
+diff --git a/src/Mod/PartDesign/App/Body.h b/src/Mod/PartDesign/App/Body.h
+index b91148b4537..6d5e4032cfc 100644
+--- a/src/Mod/PartDesign/App/Body.h
++++ b/src/Mod/PartDesign/App/Body.h
+@@ -27,7 +27,7 @@
+ #include <App/PropertyStandard.h>
+ #include <Mod/Part/App/BodyBase.h>
+
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+
+ namespace App {
+ class Origin;
+@@ -145,7 +145,7 @@ class PartDesignExport Body : public Part::BodyBase
+ virtual void unsetupObject () override;
+
+ private:
+- boost::signals::scoped_connection connection;
++ boost::signals2::scoped_connection connection;
+ };
+
+ } //namespace PartDesign
+diff --git a/src/Mod/PartDesign/Gui/TaskFeatureParameters.cpp b/src/Mod/PartDesign/Gui/TaskFeatureParameters.cpp
+index 5ce247fa552..8be9d830705 100644
+--- a/src/Mod/PartDesign/Gui/TaskFeatureParameters.cpp
++++ b/src/Mod/PartDesign/Gui/TaskFeatureParameters.cpp
+@@ -49,7 +49,6 @@ TaskFeatureParameters::TaskFeatureParameters(PartDesignGui::ViewProvider *vp, QW
+ {
+ Gui::Document* doc = vp->getDocument();
+ this->attachDocument(doc);
+- this->enableNotifications(DocumentObserver::Delete);
+ }
+
+ void TaskFeatureParameters::slotDeletedObject(const Gui::ViewProviderDocumentObject& Obj)
+diff --git a/src/Mod/PartDesign/Gui/TaskHoleParameters.h b/src/Mod/PartDesign/Gui/TaskHoleParameters.h
+index a0b9884223a..7a00c9fd64f 100644
+--- a/src/Mod/PartDesign/Gui/TaskHoleParameters.h
++++ b/src/Mod/PartDesign/Gui/TaskHoleParameters.h
+@@ -121,7 +121,7 @@ private Q_SLOTS:
+
+ private:
+
+- typedef boost::BOOST_SIGNALS_NAMESPACE::scoped_connection Connection;
++ typedef boost::signals2::scoped_connection Connection;
+ Connection connectPropChanged;
+
+ std::unique_ptr<Observer> observer;
+diff --git a/src/Mod/PartDesign/Gui/TaskPrimitiveParameters.cpp b/src/Mod/PartDesign/Gui/TaskPrimitiveParameters.cpp
+index 48da6a07d76..b7f910475ff 100644
+--- a/src/Mod/PartDesign/Gui/TaskPrimitiveParameters.cpp
++++ b/src/Mod/PartDesign/Gui/TaskPrimitiveParameters.cpp
+@@ -183,7 +183,6 @@ TaskBoxPrimitives::TaskBoxPrimitives(ViewProviderPrimitive* vp, QWidget* parent)
+
+ Gui::Document* doc = vp->getDocument();
+ this->attachDocument(doc);
+- this->enableNotifications(DocumentObserver::Delete);
+
+ //show the parts coordinate system axis for selection
+ PartDesign::Body * body = PartDesign::Body::findBodyOf(vp->getObject());
+diff --git a/src/Mod/PartDesign/Gui/TaskPrimitiveParameters.h b/src/Mod/PartDesign/Gui/TaskPrimitiveParameters.h
+index 073a4d44504..1dcb2cf90d0 100644
+--- a/src/Mod/PartDesign/Gui/TaskPrimitiveParameters.h
++++ b/src/Mod/PartDesign/Gui/TaskPrimitiveParameters.h
+@@ -48,8 +48,6 @@ class ViewProvider;
+
+ namespace PartDesignGui {
+
+-namespace s = boost::signals;
+-
+ class TaskBoxPrimitives : public Gui::TaskView::TaskBox,
+ public Gui::DocumentObserver
+ {
+diff --git a/src/Mod/PartDesign/Gui/TaskTransformedMessages.h b/src/Mod/PartDesign/Gui/TaskTransformedMessages.h
+index f0075c63084..e95aa9f73dd 100644
+--- a/src/Mod/PartDesign/Gui/TaskTransformedMessages.h
++++ b/src/Mod/PartDesign/Gui/TaskTransformedMessages.h
+@@ -25,10 +25,10 @@
+ #define GUI_TASKVIEW_TaskTransformedMessages_H
+
+ #include <Gui/TaskView/TaskView.h>
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+
+ class Ui_TaskTransformedMessages;
+-typedef boost::signals::connection Connection;
++typedef boost::signals2::connection Connection;
+
+ namespace App {
+ class Property;
+diff --git a/src/Mod/PartDesign/Gui/TaskTransformedParameters.cpp b/src/Mod/PartDesign/Gui/TaskTransformedParameters.cpp
+index bf475026077..16b408f8fec 100644
+--- a/src/Mod/PartDesign/Gui/TaskTransformedParameters.cpp
++++ b/src/Mod/PartDesign/Gui/TaskTransformedParameters.cpp
+@@ -76,7 +76,6 @@ TaskTransformedParameters::TaskTransformedParameters(ViewProviderTransformed *Tr
+ if (TransformedView) {
+ Gui::Document* doc = TransformedView->getDocument();
+ this->attachDocument(doc);
+- this->enableNotifications(DocumentObserver::Delete);
+ }
+ }
+
+diff --git a/src/Mod/PartDesign/Gui/ViewProviderBody.h b/src/Mod/PartDesign/Gui/ViewProviderBody.h
+index 41e53c0ef71..dffab56d4b5 100644
+--- a/src/Mod/PartDesign/Gui/ViewProviderBody.h
++++ b/src/Mod/PartDesign/Gui/ViewProviderBody.h
+@@ -96,8 +96,8 @@ class PartDesignGuiExport ViewProviderBody : public PartGui::ViewProviderPart, p
+ private:
+ static const char* BodyModeEnum[];
+
+- boost::signals::connection connectChangedObjectApp;
+- boost::signals::connection connectChangedObjectGui;
++ boost::signals2::connection connectChangedObjectApp;
++ boost::signals2::connection connectChangedObjectGui;
+ };
+
+
+diff --git a/src/Mod/PartDesign/Gui/ViewProviderTransformed.h b/src/Mod/PartDesign/Gui/ViewProviderTransformed.h
+index 3ca5242c1c5..db8ee43169e 100644
+--- a/src/Mod/PartDesign/Gui/ViewProviderTransformed.h
++++ b/src/Mod/PartDesign/Gui/ViewProviderTransformed.h
+@@ -47,7 +47,7 @@ class PartDesignGuiExport ViewProviderTransformed : public ViewProvider
+ virtual bool onDelete(const std::vector<std::string> &);
+
+ /// signals if the transformation contains errors
+- boost::signal<void (QString msg)> signalDiagnosis;
++ boost::signals2::signal<void (QString msg)> signalDiagnosis;
+
+ // The feature name of the subclass
+ std::string featureName;
+diff --git a/src/Mod/PartDesign/Gui/WorkflowManager.h b/src/Mod/PartDesign/Gui/WorkflowManager.h
+index b5508881589..91e7e8a3155 100644
+--- a/src/Mod/PartDesign/Gui/WorkflowManager.h
++++ b/src/Mod/PartDesign/Gui/WorkflowManager.h
+@@ -23,7 +23,7 @@
+ #ifndef WORKFLOWMANAGER_H_PB7A5GCM
+ #define WORKFLOWMANAGER_H_PB7A5GCM
+
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <map>
+
+ namespace App {
+@@ -98,9 +98,9 @@ class PartDesignGuiExport WorkflowManager {
+ private:
+ std::map<const App::Document*, Workflow> dwMap;
+
+- boost::signals::connection connectNewDocument;
+- boost::signals::connection connectFinishRestoreDocument;
+- boost::signals::connection connectDeleteDocument;
++ boost::signals2::connection connectNewDocument;
++ boost::signals2::connection connectFinishRestoreDocument;
++ boost::signals2::connection connectDeleteDocument;
+
+ static WorkflowManager* _instance;
+ };
+diff --git a/src/Mod/Sandbox/App/DocumentProtector.h b/src/Mod/Sandbox/App/DocumentProtector.h
+index 3c051a72dd5..603b92932aa 100644
+--- a/src/Mod/Sandbox/App/DocumentProtector.h
++++ b/src/Mod/Sandbox/App/DocumentProtector.h
+@@ -25,7 +25,6 @@
+ #define SANDBOX_DOCUMENTPROTECTOR_H
+
+ #include <string>
+-#include <boost/signals.hpp>
+ #include <boost/bind.hpp>
+ #include <App/DocumentObserver.h>
+
+@@ -49,9 +48,9 @@ class SandboxAppExport DocumentProtector : public App::DocumentObserver
+ void recompute();
+
+ private:
+- /** Checks if the given document is about to be closed */
+- void slotDeletedDocument(const App::Document& Doc);
+- void validate();
++ /** Checks if the given document is about to be closed */
++ void slotDeletedDocument(const App::Document& Doc);
++ void validate();
+ };
+
+ class AbstractCallable
+@@ -80,8 +79,8 @@ class Callable : public AbstractCallable
+
+ virtual void operator()() const
+ {
+- T* v = static_cast<T*>(obj);
+- (v->*method)();
++ T* v = static_cast<T*>(obj);
++ (v->*method)();
+ }
+
+ private:
+@@ -101,8 +100,8 @@ class CallableWithArgs : public AbstractCallable
+
+ virtual void operator()() const
+ {
+- T* v = static_cast<T*>(obj);
+- (v->*method)(arg);
++ T* v = static_cast<T*>(obj);
++ (v->*method)(arg);
+ }
+
+ private:
+@@ -122,7 +121,7 @@ class SandboxAppExport DocumentObjectProtector
+ void purgeTouched();
+
+ private:
+- void validate();
++ void validate();
+
+ private:
+ App::DocumentObject* obj;
+diff --git a/src/Mod/Sketcher/App/PropertyConstraintList.h b/src/Mod/Sketcher/App/PropertyConstraintList.h
+index e8f58020890..b35e469abba 100644
+--- a/src/Mod/Sketcher/App/PropertyConstraintList.h
++++ b/src/Mod/Sketcher/App/PropertyConstraintList.h
+@@ -32,7 +32,7 @@
+ #include <App/Property.h>
+ #include <Mod/Part/App/Geometry.h>
+ #include "Constraint.h"
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <boost/unordered/unordered_map.hpp>
+
+ namespace Base {
+@@ -129,8 +129,8 @@ class SketcherExport PropertyConstraintList : public App::PropertyLists
+
+ typedef std::pair<int, const Constraint*> ConstraintInfo ;
+
+- boost::signal<void (const std::map<App::ObjectIdentifier, App::ObjectIdentifier> &)> signalConstraintsRenamed;
+- boost::signal<void (const std::set<App::ObjectIdentifier> &)> signalConstraintsRemoved;
++ boost::signals2::signal<void (const std::map<App::ObjectIdentifier, App::ObjectIdentifier> &)> signalConstraintsRenamed;
++ boost::signals2::signal<void (const std::set<App::ObjectIdentifier> &)> signalConstraintsRemoved;
+
+ static std::string getConstraintName(const std::string &name, int i);
+
+diff --git a/src/Mod/Sketcher/App/SketchObject.h b/src/Mod/Sketcher/App/SketchObject.h
+index 8cb5df55b83..7ee39d29b7f 100644
+--- a/src/Mod/Sketcher/App/SketchObject.h
++++ b/src/Mod/Sketcher/App/SketchObject.h
+@@ -437,8 +437,8 @@ class SketcherExport SketchObject : public Part::Part2DObject
+ std::vector<int> lastConflicting;
+ std::vector<int> lastRedundant;
+
+- boost::signals::scoped_connection constraintsRenamedConn;
+- boost::signals::scoped_connection constraintsRemovedConn;
++ boost::signals2::scoped_connection constraintsRenamedConn;
++ boost::signals2::scoped_connection constraintsRemovedConn;
+
+ bool AutoLockTangencyAndPerpty(Constraint* cstr, bool bForce = false, bool bLock = true);
+
+diff --git a/src/Mod/Sketcher/Gui/TaskDlgEditSketch.h b/src/Mod/Sketcher/Gui/TaskDlgEditSketch.h
+index 8a9de4f7bc7..9417ec38381 100644
+--- a/src/Mod/Sketcher/Gui/TaskDlgEditSketch.h
++++ b/src/Mod/Sketcher/Gui/TaskDlgEditSketch.h
+@@ -32,9 +32,9 @@
+ #include "TaskSketcherGeneral.h"
+ #include "TaskSketcherMessages.h"
+ #include "TaskSketcherSolverAdvanced.h"
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+
+-typedef boost::signals::connection Connection;
++typedef boost::signals2::connection Connection;
+
+ namespace SketcherGui {
+
+diff --git a/src/Mod/Sketcher/Gui/TaskSketcherConstrains.h b/src/Mod/Sketcher/Gui/TaskSketcherConstrains.h
+index 754603cb3cc..7d6eaf73f83 100644
+--- a/src/Mod/Sketcher/Gui/TaskSketcherConstrains.h
++++ b/src/Mod/Sketcher/Gui/TaskSketcherConstrains.h
+@@ -26,7 +26,7 @@
+
+ #include <Gui/TaskView/TaskView.h>
+ #include <Gui/Selection.h>
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <QListWidget>
+
+ namespace App {
+@@ -92,7 +92,7 @@ public Q_SLOTS:
+ protected:
+ void changeEvent(QEvent *e);
+ ViewProviderSketch *sketchView;
+- typedef boost::BOOST_SIGNALS_NAMESPACE::connection Connection;
++ typedef boost::signals2::connection Connection;
+ Connection connectionConstraintsChanged;
+
+ private:
+diff --git a/src/Mod/Sketcher/Gui/TaskSketcherElements.h b/src/Mod/Sketcher/Gui/TaskSketcherElements.h
+index 511a2dbb179..990e5517a77 100644
+--- a/src/Mod/Sketcher/Gui/TaskSketcherElements.h
++++ b/src/Mod/Sketcher/Gui/TaskSketcherElements.h
+@@ -26,7 +26,7 @@
+
+ #include <Gui/TaskView/TaskView.h>
+ #include <Gui/Selection.h>
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <QListWidget>
+
+ namespace App {
+@@ -116,7 +116,7 @@ public Q_SLOTS:
+ void changeEvent(QEvent *e);
+ void leaveEvent ( QEvent * event );
+ ViewProviderSketch *sketchView;
+- typedef boost::BOOST_SIGNALS_NAMESPACE::connection Connection;
++ typedef boost::signals2::connection Connection;
+ Connection connectionElementsChanged;
+
+ private:
+diff --git a/src/Mod/Sketcher/Gui/TaskSketcherMessages.h b/src/Mod/Sketcher/Gui/TaskSketcherMessages.h
+index ff4c00aa612..3e230f1d243 100644
+--- a/src/Mod/Sketcher/Gui/TaskSketcherMessages.h
++++ b/src/Mod/Sketcher/Gui/TaskSketcherMessages.h
+@@ -26,10 +26,10 @@
+
+ #include <Gui/TaskView/TaskView.h>
+ #include <Gui/Selection.h>
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+
+ class Ui_TaskSketcherMessages;
+-typedef boost::signals::connection Connection;
++typedef boost::signals2::connection Connection;
+
+ namespace App {
+ class Property;
+diff --git a/src/Mod/Sketcher/Gui/TaskSketcherSolverAdvanced.h b/src/Mod/Sketcher/Gui/TaskSketcherSolverAdvanced.h
+index 92b1423bc6e..69ca70d30f7 100644
+--- a/src/Mod/Sketcher/Gui/TaskSketcherSolverAdvanced.h
++++ b/src/Mod/Sketcher/Gui/TaskSketcherSolverAdvanced.h
+@@ -26,7 +26,6 @@
+
+ #include <Gui/TaskView/TaskView.h>
+ #include <Gui/Selection.h>
+-#include <boost/signals.hpp>
+
+ class Ui_TaskSketcherSolverAdvanced;
+
+diff --git a/src/Mod/Sketcher/Gui/ViewProviderSketch.h b/src/Mod/Sketcher/Gui/ViewProviderSketch.h
+index decb9639075..8baa3d372a8 100644
+--- a/src/Mod/Sketcher/Gui/ViewProviderSketch.h
++++ b/src/Mod/Sketcher/Gui/ViewProviderSketch.h
+@@ -33,11 +33,10 @@
+ #include <Gui/Selection.h>
+ #include <Gui/GLPainter.h>
+ #include <App/Part.h>
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+ #include <QCoreApplication>
+ #include <Gui/Document.h>
+
+-#include <boost/signals.hpp>
+
+ class TopoDS_Shape;
+ class TopoDS_Face;
+@@ -234,13 +233,13 @@ class SketcherGuiExport ViewProviderSketch : public PartGui::ViewProvider2DObjec
+ friend struct ::EditData;
+
+ /// signals if the constraints list has changed
+- boost::signal<void ()> signalConstraintsChanged;
++ boost::signals2::signal<void ()> signalConstraintsChanged;
+ /// signals if the sketch has been set up
+- boost::signal<void (QString msg)> signalSetUp;
++ boost::signals2::signal<void (QString msg)> signalSetUp;
+ /// signals if the sketch has been solved
+- boost::signal<void (QString msg)> signalSolved;
++ boost::signals2::signal<void (QString msg)> signalSolved;
+ /// signals if the elements list has changed
+- boost::signal<void ()> signalElementsChanged;
++ boost::signals2::signal<void ()> signalElementsChanged;
+
+ protected:
+ virtual bool setEdit(int ModNum);
+@@ -269,8 +268,8 @@ class SketcherGuiExport ViewProviderSketch : public PartGui::ViewProvider2DObjec
+ void slotRedoDocument(const Gui::Document&);
+
+ protected:
+- boost::signals::connection connectUndoDocument;
+- boost::signals::connection connectRedoDocument;
++ boost::signals2::connection connectUndoDocument;
++ boost::signals2::connection connectRedoDocument;
+
+ /// Return display string for constraint including hiding units if
+ //requested.
+diff --git a/src/Mod/Spreadsheet/App/Sheet.h b/src/Mod/Spreadsheet/App/Sheet.h
+index 59becc77028..1f2e88ea4d0 100644
+--- a/src/Mod/Spreadsheet/App/Sheet.h
++++ b/src/Mod/Spreadsheet/App/Sheet.h
+@@ -170,13 +170,13 @@ class SpreadsheetExport Sheet : public App::DocumentObject
+
+ // Signals
+
+- boost::signal<void (App::CellAddress)> cellUpdated;
++ boost::signals2::signal<void (App::CellAddress)> cellUpdated;
+
+- boost::signal<void (App::CellAddress)> cellSpanChanged;
++ boost::signals2::signal<void (App::CellAddress)> cellSpanChanged;
+
+- boost::signal<void (int, int)> columnWidthChanged;
++ boost::signals2::signal<void (int, int)> columnWidthChanged;
+
+- boost::signal<void (int, int)> rowHeightChanged;
++ boost::signals2::signal<void (int, int)> rowHeightChanged;
+
+ /** @name Access properties */
+ //@{
+@@ -296,8 +296,8 @@ class SpreadsheetExport Sheet : public App::DocumentObject
+ typedef std::map<std::string, SheetObserver* > ObserverMap;
+ ObserverMap observers;
+
+- boost::BOOST_SIGNALS_NAMESPACE::scoped_connection onRelabledDocumentConnection;
+- boost::BOOST_SIGNALS_NAMESPACE::scoped_connection onRenamedDocumentConnection;
++ boost::signals2::scoped_connection onRelabledDocumentConnection;
++ boost::signals2::scoped_connection onRenamedDocumentConnection;
+
+ friend class SheetObserver;
+
+diff --git a/src/Mod/Spreadsheet/Gui/SheetModel.h b/src/Mod/Spreadsheet/Gui/SheetModel.h
+index 44a599359b6..6c2cb8dade0 100644
+--- a/src/Mod/Spreadsheet/Gui/SheetModel.h
++++ b/src/Mod/Spreadsheet/Gui/SheetModel.h
+@@ -52,7 +52,7 @@ class SheetModel : public QAbstractTableModel
+ private:
+ void cellUpdated(App::CellAddress address);
+
+- boost::BOOST_SIGNALS_NAMESPACE::scoped_connection cellUpdatedConnection;
++ boost::signals2::scoped_connection cellUpdatedConnection;
+ Spreadsheet::Sheet * sheet;
+ QColor aliasBgColor;
+ QColor textFgColor;
+diff --git a/src/Mod/Spreadsheet/Gui/SheetTableView.h b/src/Mod/Spreadsheet/Gui/SheetTableView.h
+index c23f9912dce..31fd94b7878 100644
+--- a/src/Mod/Spreadsheet/Gui/SheetTableView.h
++++ b/src/Mod/Spreadsheet/Gui/SheetTableView.h
+@@ -79,7 +79,7 @@ protected Q_SLOTS:
+ QModelIndex currentEditIndex;
+ Spreadsheet::Sheet * sheet;
+
+- boost::BOOST_SIGNALS_NAMESPACE::scoped_connection cellSpanChangedConnection;
++ boost::signals2::scoped_connection cellSpanChangedConnection;
+ };
+
+ }
+diff --git a/src/Mod/Spreadsheet/Gui/SpreadsheetView.h b/src/Mod/Spreadsheet/Gui/SpreadsheetView.h
+index b0da2c7e3a3..ad7f9d1cbfc 100644
+--- a/src/Mod/Spreadsheet/Gui/SpreadsheetView.h
++++ b/src/Mod/Spreadsheet/Gui/SpreadsheetView.h
+@@ -100,9 +100,9 @@ protected Q_SLOTS:
+ Spreadsheet::Sheet * sheet;
+ SpreadsheetDelegate * delegate;
+ SheetModel * model;
+- boost::BOOST_SIGNALS_NAMESPACE::scoped_connection columnWidthChangedConnection;
+- boost::BOOST_SIGNALS_NAMESPACE::scoped_connection rowHeightChangedConnection;
+- boost::BOOST_SIGNALS_NAMESPACE::scoped_connection positionChangedConnection;
++ boost::signals2::scoped_connection columnWidthChangedConnection;
++ boost::signals2::scoped_connection rowHeightChangedConnection;
++ boost::signals2::scoped_connection positionChangedConnection;
+
+ QMap<int, int> newColumnSizes;
+ QMap<int, int> newRowSizes;
+diff --git a/src/Mod/TechDraw/Gui/MDIViewPage.cpp b/src/Mod/TechDraw/Gui/MDIViewPage.cpp
+index 2c224a92f76..32a2bdedc8e 100644
+--- a/src/Mod/TechDraw/Gui/MDIViewPage.cpp
++++ b/src/Mod/TechDraw/Gui/MDIViewPage.cpp
+@@ -38,7 +38,7 @@
+ #include <QPrinter>
+ #include <QPrintDialog>
+ #include <QPrintPreviewDialog>
+- #include <boost/signal.hpp>
++ #include <boost/signals2.hpp>
+ #include <boost/bind.hpp>
+
+ #endif // #ifndef _PreComp_
+diff --git a/src/Mod/TechDraw/Gui/MDIViewPage.h b/src/Mod/TechDraw/Gui/MDIViewPage.h
+index 10896f348bb..2f1d14f89b5 100644
+--- a/src/Mod/TechDraw/Gui/MDIViewPage.h
++++ b/src/Mod/TechDraw/Gui/MDIViewPage.h
+@@ -125,7 +125,7 @@ public Q_SLOTS:
+
+ void onDeleteObject(const App::DocumentObject& obj);
+
+- typedef boost::BOOST_SIGNALS_NAMESPACE::connection Connection;
++ typedef boost::signals2::connection Connection;
+ Connection connectDeletedObject;
+
+ bool compareSelections(std::vector<Gui::SelectionObject> treeSel,QList<QGraphicsItem*> sceneSel);
+From dedf42102e9f46d4fee361a0dff4e2f403bdb937 Mon Sep 17 00:00:00 2001
+From: wmayer <wmayer@users.sourceforge.net>
+Date: Mon, 5 Nov 2018 00:03:36 +0100
+Subject: [PATCH] remove leftover of boost.signals headers
+
+---
+ src/App/DocumentObject.cpp | 1 -
+ src/Mod/Sketcher/App/SketchObject.h | 1 -
+ src/Mod/Spreadsheet/Gui/SheetModel.h | 1 -
+ src/Mod/Spreadsheet/Gui/SheetTableView.h | 1 -
+ 4 files changed, 4 deletions(-)
+
+diff --git a/src/App/DocumentObject.cpp b/src/App/DocumentObject.cpp
+index 409f6220ce7..763a121ab98 100644
+--- a/src/App/DocumentObject.cpp
++++ b/src/App/DocumentObject.cpp
+@@ -38,7 +38,6 @@
+ #include "DocumentObjectExtension.h"
+ #include "GeoFeatureGroupExtension.h"
+ #include <App/DocumentObjectPy.h>
+-#include <boost/signals/connection.hpp>
+ #include <boost/bind.hpp>
+
+ using namespace App;
+diff --git a/src/Mod/Sketcher/App/SketchObject.h b/src/Mod/Sketcher/App/SketchObject.h
+index 50d8c0b7070..895b4c3d93c 100644
+--- a/src/Mod/Sketcher/App/SketchObject.h
++++ b/src/Mod/Sketcher/App/SketchObject.h
+@@ -23,7 +23,6 @@
+ #ifndef SKETCHER_SKETCHOBJECT_H
+ #define SKETCHER_SKETCHOBJECT_H
+
+-#include <boost/signals/connection.hpp>
+ #include <App/PropertyStandard.h>
+ #include <App/PropertyFile.h>
+ #include <App/FeaturePython.h>
+diff --git a/src/Mod/Spreadsheet/Gui/SheetModel.h b/src/Mod/Spreadsheet/Gui/SheetModel.h
+index 6c2cb8dade0..5e418ac0670 100644
+--- a/src/Mod/Spreadsheet/Gui/SheetModel.h
++++ b/src/Mod/Spreadsheet/Gui/SheetModel.h
+@@ -24,7 +24,6 @@
+ #define SHEETMODEL_H
+
+ #include <QAbstractTableModel>
+-#include <boost/signals/connection.hpp>
+ #include <Mod/Spreadsheet/App/Utils.h>
+ #include <App/Range.h>
+
+diff --git a/src/Mod/Spreadsheet/Gui/SheetTableView.h b/src/Mod/Spreadsheet/Gui/SheetTableView.h
+index 31fd94b7878..abf0377861d 100644
+--- a/src/Mod/Spreadsheet/Gui/SheetTableView.h
++++ b/src/Mod/Spreadsheet/Gui/SheetTableView.h
+@@ -26,7 +26,6 @@
+ #include <QTableView>
+ #include <QHeaderView>
+ #include <QKeyEvent>
+-#include <boost/signals/connection.hpp>
+ #include <Mod/Spreadsheet/App/Sheet.h>
+ #include <Mod/Spreadsheet/App/Utils.h>
+
+From 26d7d747257fbad486f448e95de4f970e6a5cc46 Mon Sep 17 00:00:00 2001
+From: wandererfan <wandererfan@gmail.com>
+Date: Thu, 10 May 2018 12:00:13 -0400
+Subject: [PATCH] Convert deprecated boost::signal to signals2
+
+---
+ src/Mod/TechDraw/App/DrawPage.h | 4 ++--
+ src/Mod/TechDraw/App/DrawView.cpp | 1 -
+ src/Mod/TechDraw/App/DrawView.h | 4 ++--
+ src/Mod/TechDraw/Gui/ViewProviderDrawingView.cpp | 3 ++-
+ src/Mod/TechDraw/Gui/ViewProviderDrawingView.h | 4 +++-
+ src/Mod/TechDraw/Gui/ViewProviderPage.cpp | 3 ++-
+ src/Mod/TechDraw/Gui/ViewProviderPage.h | 4 +++-
+ 7 files changed, 14 insertions(+), 9 deletions(-)
+
+diff --git a/src/Mod/TechDraw/App/DrawPage.h b/src/Mod/TechDraw/App/DrawPage.h
+index ff695915eee..33f0420dc12 100644
+--- a/src/Mod/TechDraw/App/DrawPage.h
++++ b/src/Mod/TechDraw/App/DrawPage.h
+@@ -24,7 +24,7 @@
+ #ifndef _DrawPage_h_
+ #define _DrawPage_h_
+
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+
+ #include <App/DocumentObject.h>
+ #include <App/DocumentObjectGroup.h>
+@@ -59,7 +59,7 @@ class TechDrawExport DrawPage: public App::DocumentObject
+ int addView(App::DocumentObject *docObj);
+ int removeView(App::DocumentObject* docObj);
+ short mustExecute() const;
+- boost::signal<void (const DrawPage*)> signalGuiPaint;
++ boost::signals2::signal<void (const DrawPage*)> signalGuiPaint;
+
+ /// returns the type name of the ViewProvider
+ virtual const char* getViewProviderName(void) const {
+diff --git a/src/Mod/TechDraw/App/DrawView.h b/src/Mod/TechDraw/App/DrawView.h
+index dde8baa358a..3f09a015f3d 100644
+--- a/src/Mod/TechDraw/App/DrawView.h
++++ b/src/Mod/TechDraw/App/DrawView.h
+@@ -23,7 +23,7 @@
+ #ifndef _DrawView_h_
+ #define _DrawView_h_
+
+-#include <boost/signals.hpp>
++#include <boost/signals2.hpp>
+
+ #include <QRectF>
+
+@@ -85,7 +85,7 @@ class TechDrawExport DrawView : public App::DocumentObject
+ virtual bool checkFit(DrawPage*) const;
+ virtual void setPosition(double x, double y);
+ bool keepUpdated(void);
+- boost::signal<void (const DrawView*)> signalGuiPaint;
++ boost::signals2::signal<void (const DrawView*)> signalGuiPaint;
+ virtual double getScale(void) const;
+ void checkScale(void);
+ void requestPaint(void);
+diff --git a/src/Mod/TechDraw/Gui/ViewProviderDrawingView.cpp b/src/Mod/TechDraw/Gui/ViewProviderDrawingView.cpp
+index 1175c1aff8f..32fe47afe84 100644
+--- a/src/Mod/TechDraw/Gui/ViewProviderDrawingView.cpp
++++ b/src/Mod/TechDraw/Gui/ViewProviderDrawingView.cpp
+@@ -25,7 +25,8 @@
+ #include "PreCompiled.h"
+
+ #ifndef _PreComp_
+-#include <boost/signal.hpp>
++#include <boost/signals2.hpp>
++#include <boost/signals2/connection.hpp>
+ #include <boost/bind.hpp>
+
+ #endif
+diff --git a/src/Mod/TechDraw/Gui/ViewProviderDrawingView.h b/src/Mod/TechDraw/Gui/ViewProviderDrawingView.h
+index 679fc84135e..31970b4a677 100644
+--- a/src/Mod/TechDraw/Gui/ViewProviderDrawingView.h
++++ b/src/Mod/TechDraw/Gui/ViewProviderDrawingView.h
+@@ -25,6 +25,8 @@
+ #ifndef DRAWINGGUI_VIEWPROVIDERVIEW_H
+ #define DRAWINGGUI_VIEWPROVIDERVIEW_H
+
++#include <boost/signals2.hpp>
++
+ #include <Gui/ViewProviderFeature.h>
+ #include <Gui/ViewProviderDocumentObjectGroup.h>
+
+@@ -78,7 +80,7 @@ class TechDrawGuiExport ViewProviderDrawingView : public Gui::ViewProviderDocume
+ virtual TechDraw::DrawView* getViewObject() const;
+
+ void onGuiRepaint(const TechDraw::DrawView* dv);
+- typedef boost::signals::scoped_connection Connection;
++ typedef boost::signals2::scoped_connection Connection;
+ Connection connectGuiRepaint;
+
+
+diff --git a/src/Mod/TechDraw/Gui/ViewProviderPage.cpp b/src/Mod/TechDraw/Gui/ViewProviderPage.cpp
+index adeafd76694..e9273d57fc2 100644
+--- a/src/Mod/TechDraw/Gui/ViewProviderPage.cpp
++++ b/src/Mod/TechDraw/Gui/ViewProviderPage.cpp
+@@ -29,7 +29,8 @@
+ # include <QMenu>
+ # include <QTimer>
+ #include <QPointer>
+-#include <boost/signal.hpp>
++#include <boost/signals2.hpp>
++#include <boost/signals2/connection.hpp>
+ #include <boost/bind.hpp>
+
+ #endif
+diff --git a/src/Mod/TechDraw/Gui/ViewProviderPage.h b/src/Mod/TechDraw/Gui/ViewProviderPage.h
+index e24f55073a5..4f900cf0f2d 100644
+--- a/src/Mod/TechDraw/Gui/ViewProviderPage.h
++++ b/src/Mod/TechDraw/Gui/ViewProviderPage.h
+@@ -28,6 +28,8 @@
+ #include <QPointer>
+ #include <Gui/ViewProviderDocumentObject.h>
+
++#include <boost/signals2.hpp>
++
+ namespace TechDraw{
+ class DrawPage;
+ }
+@@ -72,7 +74,7 @@ class TechDrawGuiExport ViewProviderPage : public Gui::ViewProviderDocumentObjec
+
+ TechDraw::DrawPage* getDrawPage() const;
+ void onGuiRepaint(const TechDraw::DrawPage* dp);
+- typedef boost::signals::scoped_connection Connection;
++ typedef boost::signals2::scoped_connection Connection;
+ Connection connectGuiRepaint;
+
+ void unsetEdit(int ModNum);
+From 7fbd1c6bebdab544b3fbaa2028d460cd59469bd8 Mon Sep 17 00:00:00 2001
+From: wmayer <wmayer@users.sourceforge.net>
+Date: Wed, 7 Nov 2018 11:42:44 +0100
+Subject: [PATCH] remove some more boost.signals leftover
+
+---
+ src/Mod/Part/Gui/DlgFilletEdges.cpp | 1 -
+ 2 files changed, 2 insertions(+), 24 deletions(-)
+
+diff --git a/src/Mod/Part/Gui/DlgFilletEdges.cpp b/src/Mod/Part/Gui/DlgFilletEdges.cpp
+index d9f593238a1..138ccd38671 100644
+--- a/src/Mod/Part/Gui/DlgFilletEdges.cpp
++++ b/src/Mod/Part/Gui/DlgFilletEdges.cpp
+@@ -43,7 +43,6 @@
+ # include <QItemSelection>
+ # include <QItemSelectionModel>
+ # include <QTimer>
+-# include <boost/signal.hpp>
+ # include <boost/bind.hpp>
+ # include <Python.h>
+ # include <Inventor/actions/SoSearchAction.h>
+From 24c33c0d96c21f09a0129da7c3423999e1ed1074 Mon Sep 17 00:00:00 2001
+From: wmayer <wmayer@users.sourceforge.net>
+Date: Thu, 8 Nov 2018 12:34:43 +0100
+Subject: [PATCH] remove some more boost.signals leftover
+
+---
+ src/Mod/Assembly/Gui/TaskAssemblyConstraints.h | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/Mod/Assembly/Gui/TaskAssemblyConstraints.h b/src/Mod/Assembly/Gui/TaskAssemblyConstraints.h
+index 6abc028e47f..d9f2da7b380 100644
+--- a/src/Mod/Assembly/Gui/TaskAssemblyConstraints.h
++++ b/src/Mod/Assembly/Gui/TaskAssemblyConstraints.h
+@@ -29,7 +29,6 @@
+ #include "ViewProviderConstraint.h"
+ #include <opendcm/core.hpp>
+ #include <Solver/Solver.h>
+-#include <boost/signals.hpp>
+ #include "ui_TaskAssemblyConstraints.h"
+
+ namespace App {