summaryrefslogtreecommitdiff
path: root/sd
diff options
context:
space:
mode:
Diffstat (limited to 'sd')
-rw-r--r--sd/qa/unit/data/pptx/tdf145162.pptxbin0 -> 33770 bytes
-rw-r--r--sd/qa/unit/data/pptx/tdfpictureplaceholder.pptxbin0 -> 28072 bytes
-rw-r--r--sd/qa/unit/export-tests-ooxml3.cxx36
-rw-r--r--sd/source/ui/animations/CustomAnimationList.cxx2
-rw-r--r--sd/source/ui/annotations/annotationwindow.cxx9
-rw-r--r--sd/source/ui/func/fuinsert.cxx4
-rw-r--r--sd/source/ui/unoidl/unomodel.cxx8
-rw-r--r--sd/uiconfig/sdraw/popupmenu/draw.xml1
-rw-r--r--sd/uiconfig/simpress/popupmenu/draw.xml1
9 files changed, 50 insertions, 11 deletions
diff --git a/sd/qa/unit/data/pptx/tdf145162.pptx b/sd/qa/unit/data/pptx/tdf145162.pptx
new file mode 100644
index 000000000000..3746740f327c
--- /dev/null
+++ b/sd/qa/unit/data/pptx/tdf145162.pptx
Binary files differ
diff --git a/sd/qa/unit/data/pptx/tdfpictureplaceholder.pptx b/sd/qa/unit/data/pptx/tdfpictureplaceholder.pptx
new file mode 100644
index 000000000000..d681c749cab0
--- /dev/null
+++ b/sd/qa/unit/data/pptx/tdfpictureplaceholder.pptx
Binary files differ
diff --git a/sd/qa/unit/export-tests-ooxml3.cxx b/sd/qa/unit/export-tests-ooxml3.cxx
index f842e4b97717..92c62451549f 100644
--- a/sd/qa/unit/export-tests-ooxml3.cxx
+++ b/sd/qa/unit/export-tests-ooxml3.cxx
@@ -37,6 +37,7 @@
#include <com/sun/star/style/LineSpacing.hpp>
#include <com/sun/star/style/LineSpacingMode.hpp>
#include <com/sun/star/frame/XLoadable.hpp>
+#include <com/sun/star/text/GraphicCrop.hpp>
#include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
@@ -68,6 +69,7 @@ public:
void testTdf118806();
void testTdf130058();
void testTdf111789();
+ void testTdf145162();
void testTdf100348_convert_Fontwork2TextWarp();
void testTdf1225573_FontWorkScaleX();
void testTdf99497_keepAppearanceOfCircleKind();
@@ -118,6 +120,7 @@ public:
void testTdf96061_textHighlight();
void testTdf142235_TestPlaceholderTextAlignment();
void testTdf143315();
+ void testTdf140912_PicturePlaceholder();
CPPUNIT_TEST_SUITE(SdOOXMLExportTest3);
@@ -139,6 +142,7 @@ public:
CPPUNIT_TEST(testTdf118806);
CPPUNIT_TEST(testTdf130058);
CPPUNIT_TEST(testTdf111789);
+ CPPUNIT_TEST(testTdf145162);
CPPUNIT_TEST(testTdf100348_convert_Fontwork2TextWarp);
CPPUNIT_TEST(testTdf1225573_FontWorkScaleX);
CPPUNIT_TEST(testTdf99497_keepAppearanceOfCircleKind);
@@ -188,6 +192,7 @@ public:
CPPUNIT_TEST(testTdf96061_textHighlight);
CPPUNIT_TEST(testTdf142235_TestPlaceholderTextAlignment);
CPPUNIT_TEST(testTdf143315);
+ CPPUNIT_TEST(testTdf140912_PicturePlaceholder);
CPPUNIT_TEST_SUITE_END();
virtual void registerNamespaces(xmlXPathContextPtr& pXmlXPathCtx) override
@@ -606,6 +611,20 @@ void SdOOXMLExportTest3::testTdf111789()
xDocShRef->DoClose();
}
+void SdOOXMLExportTest3::testTdf145162()
+{
+ sd::DrawDocShellRef xDocShRef
+ = loadURL(m_directories.getURLFromSrc(u"sd/qa/unit/data/pptx/tdf145162.pptx"), PPTX);
+ utl::TempFile tempFile;
+ xDocShRef = saveAndReload(xDocShRef.get(), PPTX, &tempFile);
+ xmlDocUniquePtr pXmlDocContent = parseExport(tempFile, "ppt/slides/slide1.xml");
+
+ assertXPath(pXmlDocContent, "/p:sld/p:cSld/p:spTree/p:sp[2]/p:txBody/a:p[2]/a:pPr/a:buNone");
+ // Before the fix, that tag was missing so PP put bullet to each para.
+
+ xDocShRef->DoClose();
+}
+
void SdOOXMLExportTest3::testTdf100348_convert_Fontwork2TextWarp()
{
::sd::DrawDocShellRef xDocShRef = loadURL(
@@ -1770,6 +1789,23 @@ void SdOOXMLExportTest3::testTdf143315()
assertXPath(pXml, "/p:sld/p:cSld/p:spTree/p:sp/p:txBody/a:p/a:pPr/a:buChar", 0);
}
+void SdOOXMLExportTest3::testTdf140912_PicturePlaceholder()
+{
+ ::sd::DrawDocShellRef xDocShRef = loadURL(
+ m_directories.getURLFromSrc(u"/sd/qa/unit/data/pptx/tdfpictureplaceholder.pptx"), PPTX);
+
+ uno::Reference<beans::XPropertySet> xShapeProps(getShapeFromPage(0, 0, xDocShRef));
+ bool bTextContourFrame = true;
+ xShapeProps->getPropertyValue("TextContourFrame") >>= bTextContourFrame;
+ CPPUNIT_ASSERT_EQUAL(false, bTextContourFrame);
+
+ text::GraphicCrop aGraphicCrop;
+ xShapeProps->getPropertyValue("GraphicCrop") >>= aGraphicCrop;
+ CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(-8490), aGraphicCrop.Top);
+
+ xDocShRef->DoClose();
+}
+
CPPUNIT_TEST_SUITE_REGISTRATION(SdOOXMLExportTest3);
CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/sd/source/ui/animations/CustomAnimationList.cxx b/sd/source/ui/animations/CustomAnimationList.cxx
index 3c67edc5c831..4f366979e20e 100644
--- a/sd/source/ui/animations/CustomAnimationList.cxx
+++ b/sd/source/ui/animations/CustomAnimationList.cxx
@@ -815,6 +815,8 @@ void CustomAnimationList::update()
} while (mxTreeView->iter_next(*xEntry));
}
+ // tdf#147032 unselect what previous set_cursor may have caused to get selected as a side-effect
+ mxTreeView->unselect_all();
for (const auto& rEntry : aNewSelection)
mxTreeView->select(*rEntry);
diff --git a/sd/source/ui/annotations/annotationwindow.cxx b/sd/source/ui/annotations/annotationwindow.cxx
index 0022b84c9625..21b3bb997ed6 100644
--- a/sd/source/ui/annotations/annotationwindow.cxx
+++ b/sd/source/ui/annotations/annotationwindow.cxx
@@ -390,8 +390,13 @@ void AnnotationWindow::DoResize()
if( aTextHeight > aHeight )
{
- // we need vertical scrollbars and have to reduce the width
- aWidth -= mxVScrollbar->get_scroll_thickness();
+ const int nThickness = mxVScrollbar->get_scroll_thickness();
+ if (nThickness)
+ {
+ // we need vertical scrollbars and have to reduce the width
+ aWidth -= nThickness;
+ mpOutliner->SetPaperSize(rDevice.PixelToLogic(Size(aWidth, aHeight)));
+ }
mxVScrollbar->set_vpolicy(VclPolicyType::ALWAYS);
}
else
diff --git a/sd/source/ui/func/fuinsert.cxx b/sd/source/ui/func/fuinsert.cxx
index 01434b40f141..d51a580ff081 100644
--- a/sd/source/ui/func/fuinsert.cxx
+++ b/sd/source/ui/func/fuinsert.cxx
@@ -148,7 +148,9 @@ void FuInsertGraphic::DoExecute( SfxRequest& rReq )
if (aRotation)
{
std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(nullptr, VclMessageType::Question,VclButtonsType::YesNo,SdResId(STR_QUERYROTATION)));
- if (xQueryBox->run() == RET_YES)
+ // tdf#145819 Apply the rotation information if the user does NOT want to unrotate the image
+ // If they chose Yes we ignore the rotation
+ if (xQueryBox->run() == RET_NO)
{
GraphicNativeTransform aTransform( aGraphic );
aTransform.rotate( aRotation );
diff --git a/sd/source/ui/unoidl/unomodel.cxx b/sd/source/ui/unoidl/unomodel.cxx
index 006a9cad3347..4fdae7e3cfbe 100644
--- a/sd/source/ui/unoidl/unomodel.cxx
+++ b/sd/source/ui/unoidl/unomodel.cxx
@@ -1882,14 +1882,6 @@ void SAL_CALL SdXImpressDocument::render( sal_Int32 nRenderer, const uno::Any& r
!(pPDFExtOutDevData && pPDFExtOutDevData->GetIsExportHiddenSlides()) )
return;
- if (pPDFExtOutDevData)
- {
- // Calculate the page number in the PDF output, which may be smaller than the page number in
- // case of hidden slides.
- sal_Int32 nOutputPageNum = CalcOutputPageNum(pPDFExtOutDevData, mpDoc, nPageNumber);
- pPDFExtOutDevData->SetCurrentPageNumber(nOutputPageNum);
- }
-
::sd::ClientView aView( mpDocShell, pOut );
::tools::Rectangle aVisArea( Point(), mpDoc->GetSdPage( static_cast<sal_uInt16>(nPageNumber) - 1, ePageKind )->GetSize() );
vcl::Region aRegion( aVisArea );
diff --git a/sd/uiconfig/sdraw/popupmenu/draw.xml b/sd/uiconfig/sdraw/popupmenu/draw.xml
index 68655c28f41b..d29bb5046456 100644
--- a/sd/uiconfig/sdraw/popupmenu/draw.xml
+++ b/sd/uiconfig/sdraw/popupmenu/draw.xml
@@ -61,6 +61,7 @@
</menu:menupopup>
</menu:menu>
<menu:menuitem menu:id=".uno:LeaveGroup"/>
+ <menu:menuitem menu:id=".uno:Dismantle"/>
<menu:menuseparator/>
<menu:menuitem menu:id=".uno:NameGroup"/>
<menu:menuitem menu:id=".uno:ObjectTitleDescription"/>
diff --git a/sd/uiconfig/simpress/popupmenu/draw.xml b/sd/uiconfig/simpress/popupmenu/draw.xml
index a607562c4147..722250f0d2e3 100644
--- a/sd/uiconfig/simpress/popupmenu/draw.xml
+++ b/sd/uiconfig/simpress/popupmenu/draw.xml
@@ -61,6 +61,7 @@
</menu:menupopup>
</menu:menu>
<menu:menuitem menu:id=".uno:LeaveGroup"/>
+ <menu:menuitem menu:id=".uno:Dismantle"/>
<menu:menuseparator/>
<menu:menuitem menu:id=".uno:NameGroup"/>
<menu:menuitem menu:id=".uno:ObjectTitleDescription"/>