diff --git a/src/Gui/CommandDoc.cpp b/src/Gui/CommandDoc.cpp
index 46c5f5681..b9d0ea68b 100644
--- a/src/Gui/CommandDoc.cpp
+++ b/src/Gui/CommandDoc.cpp
@@ -294,9 +294,6 @@ void StdCmdMergeProjects::activated(int iMsg)
return;
}
- QString dir1 = proj.absoluteDir().filePath(proj.baseName());
- QString dir2 = info.absoluteDir().filePath(info.baseName());
-
Base::FileInfo fi((const char*)project.toUtf8());
Base::ifstream str(fi, std::ios::in | std::ios::binary);
MergeDocuments md(doc);
diff --git a/src/Gui/DocumentPy.xml b/src/Gui/DocumentPy.xml
index 75ac71a54..c76e101cf 100644
--- a/src/Gui/DocumentPy.xml
+++ b/src/Gui/DocumentPy.xml
@@ -77,6 +77,11 @@
Send a message to all views of the document
+
+
+
+ Merges this document with another project file
+
diff --git a/src/Gui/DocumentPyImp.cpp b/src/Gui/DocumentPyImp.cpp
index 4d30e7cc5..67b66f36a 100644
--- a/src/Gui/DocumentPyImp.cpp
+++ b/src/Gui/DocumentPyImp.cpp
@@ -32,6 +32,7 @@
#include
#include "Document.h"
+#include "MergeDocuments.h"
#include "ViewProviderExtern.h"
// inclusion of the generated files (generated out of DocumentPy.xml)
@@ -234,6 +235,22 @@ PyObject* DocumentPy::sendMsgToViews(PyObject *args)
} PY_CATCH;
}
+PyObject* DocumentPy::mergeProject(PyObject *args)
+{
+ char* filename;
+ if (!PyArg_ParseTuple(args, "s", &filename)) // convert args: Python->C
+ return NULL; // NULL triggers exception
+
+ PY_TRY {
+ Base::FileInfo fi(filename);
+ Base::ifstream str(fi, std::ios::in | std::ios::binary);
+ App::Document* doc = getDocumentPtr()->getDocument();
+ MergeDocuments md(doc);
+ md.importObjects(str);
+ Py_Return;
+ } PY_CATCH;
+}
+
Py::Object DocumentPy::getActiveObject(void) const
{
App::DocumentObject *object = getDocumentPtr()->getDocument()->getActiveObject();