summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArmin Weiss <aw@openoffice.org>2001-10-01 10:43:24 +0000
committerArmin Weiss <aw@openoffice.org>2001-10-01 10:43:24 +0000
commit08722b4414f249e27067410e43291d2cdcaba454 (patch)
treedc3045c7711f3e84ceb7ccedbfb91557eebb3675
parentb75c8e2d989a250403c079d88b779119d87deba1 (diff)
#91587# add handout master count
#91587# take notes pages from master pages into account #91587# take notes pages from draw pages into account
-rw-r--r--xmloff/source/draw/sdxmlexp.cxx49
1 files changed, 47 insertions, 2 deletions
diff --git a/xmloff/source/draw/sdxmlexp.cxx b/xmloff/source/draw/sdxmlexp.cxx
index e0620658d033..adce34d242dc 100644
--- a/xmloff/source/draw/sdxmlexp.cxx
+++ b/xmloff/source/draw/sdxmlexp.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: sdxmlexp.cxx,v $
*
- * $Revision: 1.74 $
+ * $Revision: 1.75 $
*
- * last change: $Author: cl $ $Date: 2001-09-28 14:31:58 $
+ * last change: $Author: aw $ $Date: 2001-10-01 11:43:24 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -664,6 +664,21 @@ void SAL_CALL SdXMLExport::setSourceDocument( const uno::Reference< lang::XCompo
// is initialized to 0.
if(!mnObjectCount)
{
+ // #91587# add handout master count
+ uno::Reference<presentation::XHandoutMasterSupplier> xHandoutSupp(GetModel(), uno::UNO_QUERY);
+ if(xHandoutSupp.is())
+ {
+ uno::Reference<drawing::XDrawPage> xHandoutPage(xHandoutSupp->getHandoutMasterPage());
+ if(xHandoutPage.is())
+ {
+ uno::Reference<drawing::XShapes> xShapes(xHandoutPage, uno::UNO_QUERY);
+ if(xShapes.is() && xShapes->getCount())
+ {
+ mnObjectCount += ImpRecursiveObjectCount(xShapes);
+ }
+ }
+ }
+
if(mxDocMasterPages.is())
{
for(sal_Int32 a(0); a < mnDocMasterPageCount; a++)
@@ -675,6 +690,21 @@ void SAL_CALL SdXMLExport::setSourceDocument( const uno::Reference< lang::XCompo
{
mnObjectCount += ImpRecursiveObjectCount(xMasterPage);
}
+
+ // #91587# take notes pages from master pages into account
+ uno::Reference<presentation::XPresentationPage> xPresPage;
+ if((aAny >>= xPresPage) && xPresPage.is())
+ {
+ uno::Reference<drawing::XDrawPage> xNotesPage(xPresPage->getNotesPage());
+ if(xNotesPage.is())
+ {
+ uno::Reference<drawing::XShapes> xShapes(xNotesPage, uno::UNO_QUERY);
+ if(xShapes.is() && xShapes->getCount())
+ {
+ mnObjectCount += ImpRecursiveObjectCount(xShapes);
+ }
+ }
+ }
}
}
@@ -689,6 +719,21 @@ void SAL_CALL SdXMLExport::setSourceDocument( const uno::Reference< lang::XCompo
{
mnObjectCount += ImpRecursiveObjectCount(xPage);
}
+
+ // #91587# take notes pages from draw pages into account
+ uno::Reference<presentation::XPresentationPage> xPresPage;
+ if((aAny >>= xPresPage) && xPresPage.is())
+ {
+ uno::Reference<drawing::XDrawPage> xNotesPage(xPresPage->getNotesPage());
+ if(xNotesPage.is())
+ {
+ uno::Reference<drawing::XShapes> xShapes(xNotesPage, uno::UNO_QUERY);
+ if(xShapes.is() && xShapes->getCount())
+ {
+ mnObjectCount += ImpRecursiveObjectCount(xShapes);
+ }
+ }
+ }
}
}