Kaydet (Commit) af3e421f authored tarafından Muhammet Kara's avatar Muhammet Kara

Add method DocumentToGraphicRenderer::getPageCount()

And use that in sfx2 Redaction code to be independent of
the document/module type

Change-Id: Ic206f7a10a27d8d44566df34a10d009a34adf0a5
Reviewed-on: https://gerrit.libreoffice.org/65971
Tested-by: Jenkins
Reviewed-by: 's avatarMuhammet Kara <muhammet.kara@collabora.com>
üst 93d3ef81
......@@ -68,6 +68,7 @@ public:
~DocumentToGraphicRenderer();
sal_Int32 getCurrentPage();
sal_Int32 getPageCount();
/**
* Get list of chapter names for a page, current page is set by
* renderToGraphic().
......
......@@ -538,22 +538,12 @@ void SfxObjectShell::ExecFile_Impl(SfxRequest &rReq)
if(!xModel.is())
return;
uno::Reference<text::XTextViewCursorSupplier> xTextViewCursorSupplier(
xModel->getCurrentController(), uno::UNO_QUERY);
if(!xTextViewCursorSupplier.is())
return;
uno::Reference<text::XPageCursor> xCursor(xTextViewCursorSupplier->getViewCursor(),
uno::UNO_QUERY);
if(!xCursor.is())
return;
xCursor->jumpToLastPage();
sal_Int16 nPages = xCursor->getPage();
uno::Reference< lang::XComponent > xSourceDoc( xModel );
DocumentToGraphicRenderer aRenderer(xSourceDoc, /*bSelectionOnly=*/false);
sal_Int32 nPages = aRenderer.getPageCount();
std::vector< GDIMetaFile > aMetaFiles;
for (sal_Int32 nPage = 1; nPage <= nPages; ++nPage)
......
......@@ -253,6 +253,29 @@ sal_Int32 DocumentToGraphicRenderer::getCurrentPage()
return 1;
}
sal_Int32 DocumentToGraphicRenderer::getPageCount()
{
Reference< awt::XDevice > xDevice(mxToolkit->createScreenCompatibleDevice( 32, 32 ) );
uno::Any selection( getSelection() );
PropertyValues renderProperties;
renderProperties.realloc( 4 );
renderProperties[0].Name = "IsPrinter";
renderProperties[0].Value <<= true;
renderProperties[1].Name = "RenderDevice";
renderProperties[1].Value <<= xDevice;
renderProperties[2].Name = "View";
renderProperties[2].Value <<= mxController;
renderProperties[3].Name = "RenderToGraphic";
renderProperties[3].Value <<= true;
sal_Int32 nPages = mxRenderable->getRendererCount( selection, renderProperties );
return nPages;
}
sal_Int32 DocumentToGraphicRenderer::getCurrentPageWriter()
{
Reference<text::XTextViewCursorSupplier> xTextViewCursorSupplier(mxModel->getCurrentController(), UNO_QUERY);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment