Writer: Insert signature line at current cursor position
Reviewed-on: https://gerrit.libreoffice.org/57026
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
(cherry picked from commit 8905ae9f0fc8b0e4a95113fd81e88d4e7db57bcc)
Change-Id: Ic7cbcd409372a2d8222f57e67e1109a74f6f5ce3
Reviewed-on: https://gerrit.libreoffice.org/57035
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
diff --git a/cui/source/dialogs/SignatureLineDialog.cxx b/cui/source/dialogs/SignatureLineDialog.cxx
index bd3d2a7..f2a5ec0 100644
--- a/cui/source/dialogs/SignatureLineDialog.cxx
+++ b/cui/source/dialogs/SignatureLineDialog.cxx
@@ -25,6 +25,8 @@
#include <com/sun/star/text/TextContentAnchorType.hpp>
#include <com/sun/star/text/XTextContent.hpp>
#include <com/sun/star/text/XTextDocument.hpp>
#include <com/sun/star/text/XTextViewCursor.hpp>
#include <com/sun/star/text/XTextViewCursorSupplier.hpp>
using namespace css;
using namespace css::uno;
@@ -162,10 +164,13 @@ void SignatureLineDialog::Apply()
xShapeProps->setPropertyValue("AnchorType", Any(TextContentAnchorType_AT_PARAGRAPH));
// Insert into document
Reference<XTextRange> const xEnd
= Reference<XTextDocument>(m_xModel, UNO_QUERY)->getText()->getEnd();
Reference<XTextContent> const xShapeContent(xShapeProps, UNO_QUERY);
xShapeContent->attach(xEnd);
const Reference<XTextDocument> xTextDocument(m_xModel, UNO_QUERY);
Reference<XText> xText = xTextDocument->getText();
Reference<XTextContent> xTextContent(xShape, UNO_QUERY_THROW);
Reference<XTextViewCursorSupplier> xViewCursorSupplier(m_xModel->getCurrentController(),
UNO_QUERY_THROW);
Reference<XTextViewCursor> xCursor = xViewCursorSupplier->getViewCursor();
xText->insertTextContent(xCursor, xTextContent, true);
}
}