.gitignore | 3 basic/inc/pch/precompiled_sb.hxx | 2 basic/source/runtime/methods.cxx | 46 dev/null |binary dictionaries | 2 drawinglayer/source/attribute/fillgradientattribute.cxx | 4 drawinglayer/source/attribute/fillgraphicattribute.cxx | 4 drawinglayer/source/attribute/fillhatchattribute.cxx | 4 drawinglayer/source/attribute/lineattribute.cxx | 4 drawinglayer/source/attribute/linestartendattribute.cxx | 4 drawinglayer/source/attribute/sdrfillattribute.cxx | 4 drawinglayer/source/attribute/sdrfillgraphicattribute.cxx | 4 drawinglayer/source/attribute/sdrlightingattribute3d.cxx | 4 drawinglayer/source/attribute/sdrlineattribute.cxx | 4 drawinglayer/source/attribute/sdrlinestartendattribute.cxx | 4 drawinglayer/source/attribute/sdrsceneattribute3d.cxx | 4 drawinglayer/source/attribute/sdrshadowattribute.cxx | 4 drawinglayer/source/attribute/strokeattribute.cxx | 4 editeng/source/items/flditem.cxx | 2 editeng/source/uno/unofield.cxx | 9 filter/source/xslt/import/spreadsheetml/spreadsheetml2ooo.xsl | 13 i18npool/source/breakiterator/breakiterator_th.cxx | 10 icon-themes/galaxy/res/helpimg/rechenlt.png |binary include/editeng/flditem.hxx | 2 include/xmloff/txtimp.hxx | 1 include/xmloff/xmltoken.hxx | 1 offapi/com/sun/star/text/textfield/Type.idl | 2 readlicense_oo/license/CREDITS.fodt | 2784 +++++----- sc/source/ui/view/gridwin4.cxx | 10 sd/source/ui/app/sdmod2.cxx | 6 sd/source/ui/app/strings.src | 10 sd/source/ui/inc/strings.hrc | 2 sd/source/ui/unoidl/unomodel.cxx | 6 sw/CppunitTest_sw_rtfexport.mk | 31 sw/inc/doc.hxx | 5 sw/inc/frmfmt.hxx | 23 sw/inc/node.hxx | 9 sw/qa/extras/htmlexport/data/tdf90905.odt |binary sw/qa/extras/htmlexport/htmlexport.cxx | 9 sw/qa/extras/inc/swmodeltestbase.hxx | 6 sw/qa/extras/odfimport/odfimport.cxx | 2 sw/qa/extras/ooxmlexport/data/hyperlink-field.odt |binary sw/qa/extras/ooxmlexport/data/tdf91261.docx |binary sw/qa/extras/ooxmlexport/ooxmlexport.cxx | 19 sw/qa/extras/ooxmlexport/ooxmlexport5.cxx | 8 sw/qa/extras/rtfexport/data/tdf90421.fodt | 8 sw/qa/extras/rtfexport/rtfexport.cxx | 23 sw/qa/extras/rtfimport/data/tdf91074.rtf | 7 sw/qa/extras/rtfimport/rtfimport.cxx | 7 sw/source/core/doc/DocumentRedlineManager.cxx | 2 sw/source/core/doc/docbm.cxx | 2 sw/source/core/doc/doclay.cxx | 18 sw/source/core/doc/docnew.cxx | 2 sw/source/core/docnode/node.cxx | 47 sw/source/core/docnode/nodes.cxx | 76 sw/source/core/layout/atrfrm.cxx | 51 sw/source/core/layout/frmtool.cxx | 9 sw/source/core/txtnode/ndtxt.cxx | 8 sw/source/core/undo/undoflystrattr.cxx | 1 sw/source/core/unocore/unoflatpara.cxx | 10 sw/source/core/unocore/unoframe.cxx | 21 sw/source/filter/html/wrthtml.cxx | 8 sw/source/filter/ww8/docxattributeoutput.cxx | 10 sw/source/filter/ww8/rtfattributeoutput.cxx | 74 sw/source/filter/ww8/rtfattributeoutput.hxx | 3 sw/source/ui/fldui/fldref.cxx | 5 vcl/generic/glyphs/gcach_layout.cxx | 6 vcl/source/gdi/mapmod.cxx | 8 vcl/source/outdev/font.cxx | 5 vcl/source/outdev/map.cxx | 1 vcl/source/window/floatwin.cxx | 4 vcl/unx/generic/gdi/cairotextrender.cxx | 2 wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.py | 8 writerfilter/source/dmapper/DomainMapper.cxx | 21 writerfilter/source/dmapper/DomainMapper_Impl.cxx | 12 writerfilter/source/dmapper/PropertyIds.cxx | 2 writerfilter/source/dmapper/PropertyIds.hxx | 2 writerfilter/source/dmapper/PropertyMap.cxx | 5 writerfilter/source/dmapper/PropertyMap.hxx | 2 writerfilter/source/rtftok/rtfdocumentimpl.cxx | 6 writerfilter/source/rtftok/rtfsdrimport.cxx | 45 writerfilter/source/rtftok/rtfsdrimport.hxx | 2 xmloff/inc/txtflde.hxx | 1 xmloff/inc/txtfldi.hxx | 22 xmloff/source/core/xmltoken.cxx | 1 xmloff/source/style/XMLBackgroundImageContext.cxx | 3 xmloff/source/text/txtflde.cxx | 16 xmloff/source/text/txtfldi.cxx | 31 xmloff/source/text/txtimp.cxx | 2 89 files changed, 2077 insertions(+), 1597 deletions(-)
New commits: commit 9aef835e08c34341d9d4ec6aa2905b9217b4c5a6 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Mon May 11 09:05:12 2015 +0200 tdf#91074 RTF import: handle \dplineco* for text frames RTFSdrImport::resolve() already had the logic to use the relevant API depending on if the shape is a text frame or not -- extract that to a separate member function and use it from RTFDocumentImpl::popState(), too. (cherry picked from commit ec1a96e79e3e6225706151cb72eb3df763b0598d) Conflicts: sw/qa/extras/rtfimport/rtfimport.cxx writerfilter/source/rtftok/rtfsdrimport.cxx writerfilter/source/rtftok/rtfsdrimport.hxx Change-Id: I663b372244f09f002447ece62587143b2a575795 Reviewed-on: https://gerrit.libreoffice.org/15939 Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> diff --git a/sw/qa/extras/rtfimport/data/tdf91074.rtf b/sw/qa/extras/rtfimport/data/tdf91074.rtf new file mode 100644 index 0000000..ff3fe9b --- /dev/null +++ b/sw/qa/extras/rtfimport/data/tdf91074.rtf @@ -0,0 +1,7 @@ +{\rtf1\ansi\ansicpg1252\deff0\deftab720 +{\*\do\dobxpage\dobypage\dodhgt8192\dptxbx +{\dptxbxtext\pard\plain +inner\par } +\dpx674\dpy725\dpxsize1875\dpysize1020\dplinecor255\dplinecog0\dplinecob0\dplinew40\dpfillfgcr0\dpfillfgcg0\dpfillfgcb0\dpfillbgcr0\dpfillbgcg0\dpfillbgcb0\dpfillpat0} +\par +outer\par} diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx b/sw/qa/extras/rtfimport/rtfimport.cxx index 6c52362..535687f 100644 --- a/sw/qa/extras/rtfimport/rtfimport.cxx +++ b/sw/qa/extras/rtfimport/rtfimport.cxx @@ -2265,6 +2265,13 @@ DECLARE_RTFIMPORT_TEST(testTdf86182, "tdf86182.rtf") CPPUNIT_ASSERT_EQUAL(text::WritingMode2::RL_TB, getProperty<sal_Int16>(getParagraph(1), "WritingMode")); } +DECLARE_RTFIMPORT_TEST(testTdf91074, "tdf91074.rtf") +{ + // The file failed to load, as the border color was imported using the LineColor UNO property. + uno::Reference<drawing::XShape> xShape = getShape(1); + CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(COL_LIGHTRED), getProperty<table::BorderLine2>(xShape, "TopBorder").Color); +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx index ad9954b..b039ede 100644 --- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx +++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx @@ -5541,7 +5541,11 @@ int RTFDocumentImpl::popState() xShape->setSize(awt::Size(rDrawing.nRight, rDrawing.nBottom)); if (rDrawing.bHasLineColor) - xPropertySet->setPropertyValue("LineColor", uno::makeAny(sal_uInt32((rDrawing.nLineColorR<<16) + (rDrawing.nLineColorG<<8) + rDrawing.nLineColorB))); + { + uno::Any aLineColor = uno::makeAny(sal_uInt32((rDrawing.nLineColorR<<16) + (rDrawing.nLineColorG<<8) + rDrawing.nLineColorB)); + uno::Any aLineWidth; + RTFSdrImport::resolveLineColorAndWidth(bTextFrame, xPropertySet, aLineColor, aLineWidth); + } if (rDrawing.bHasFillColor) xPropertySet->setPropertyValue("FillColor", uno::makeAny(sal_uInt32((rDrawing.nFillColorR<<16) + (rDrawing.nFillColorG<<8) + rDrawing.nFillColorB))); else if (!bTextFrame) diff --git a/writerfilter/source/rtftok/rtfsdrimport.cxx b/writerfilter/source/rtftok/rtfsdrimport.cxx index 7969b0b..1ebaf46 100644 --- a/writerfilter/source/rtftok/rtfsdrimport.cxx +++ b/writerfilter/source/rtftok/rtfsdrimport.cxx @@ -128,6 +128,31 @@ void RTFSdrImport::resolveDhgt(uno::Reference<beans::XPropertySet> const& xPrope pHelper->addItem(xPropertySet, nZOrder); } +void RTFSdrImport::resolveLineColorAndWidth(bool bTextFrame, const uno::Reference<beans::XPropertySet>& xPropertySet, uno::Any& rLineColor, uno::Any& rLineWidth) +{ + if (!bTextFrame) + { + xPropertySet->setPropertyValue("LineColor", rLineColor); + xPropertySet->setPropertyValue("LineWidth", rLineWidth); + } + else + { + static const char* aBorders[] = + { + "TopBorder", "LeftBorder", "BottomBorder", "RightBorder" + }; + for (unsigned int i = 0; i < SAL_N_ELEMENTS(aBorders); ++i) + { + table::BorderLine2 aBorderLine = xPropertySet->getPropertyValue(OUString::createFromAscii(aBorders[i])).get<table::BorderLine2>(); + if (rLineColor.hasValue()) + aBorderLine.Color = rLineColor.get<sal_Int32>(); + if (rLineWidth.hasValue()) + aBorderLine.LineWidth = rLineWidth.get<sal_Int32>(); + xPropertySet->setPropertyValue(OUString::createFromAscii(aBorders[i]), uno::makeAny(aBorderLine)); + } + } +} + void RTFSdrImport::resolveFLine(uno::Reference<beans::XPropertySet> const& xPropertySet, sal_Int32 const nFLine) { @@ -752,25 +777,7 @@ void RTFSdrImport::resolve(RTFShape& rShape, bool bClose, ShapeOrPict const shap if (xPropertySet.is()) { - if (!m_bTextFrame) - { - xPropertySet->setPropertyValue("LineColor", aLineColor); - xPropertySet->setPropertyValue("LineWidth", aLineWidth); - } - else - { - static const OUString aBorders[] = - { - OUString("TopBorder"), OUString("LeftBorder"), OUString("BottomBorder"), OUString("RightBorder") - }; - for (unsigned int i = 0; i < SAL_N_ELEMENTS(aBorders); ++i) - { - table::BorderLine2 aBorderLine = xPropertySet->getPropertyValue(aBorders[i]).get<table::BorderLine2>(); - aBorderLine.Color = aLineColor.get<sal_Int32>(); - aBorderLine.LineWidth = aLineWidth.get<sal_Int32>(); - xPropertySet->setPropertyValue(aBorders[i], uno::makeAny(aBorderLine)); - } - } + resolveLineColorAndWidth(m_bTextFrame, xPropertySet, aLineColor, aLineWidth); if (rShape.oZ) resolveDhgt(xPropertySet, *rShape.oZ, /*bOldStyle=*/false); if (m_bTextFrame) diff --git a/writerfilter/source/rtftok/rtfsdrimport.hxx b/writerfilter/source/rtftok/rtfsdrimport.hxx index 8135ada..53da0ee 100644 --- a/writerfilter/source/rtftok/rtfsdrimport.hxx +++ b/writerfilter/source/rtftok/rtfsdrimport.hxx @@ -32,6 +32,8 @@ public: /// Append property on the current parent. void appendGroupProperty(const OUString& aKey, const OUString& aValue); void resolveDhgt(css::uno::Reference<css::beans::XPropertySet> const& xPropertySet, sal_Int32 nZOrder, bool bOldStyle); + /// Set line color and line width on the shape, using the relevant API depending on if the shape is a text frame or not. + static void resolveLineColorAndWidth(bool bTextFrame, const css::uno::Reference<css::beans::XPropertySet>& xPropertySet, css::uno::Any& rLineColor, css::uno::Any& rLineWidth); void resolveFLine(css::uno::Reference<css::beans::XPropertySet> const& xPropertySet, sal_Int32 nFLine); /** * These are the default in Word, but not in Writer. commit 0cb181730ec27e178e2ba434ab855d1ae4efdb97 Author: Caolán McNamara <caol...@redhat.com> Date: Wed May 27 17:24:13 2015 +0100 Resolves: tdf#91403 no wrtshell during initial layout (cherry picked from commit ff44502d836880d2bdb057e7fdfd9b5abeb87842) (cherry picked from commit cf851cda7c943548d0ce60d0b4836ccbf6e76698) Change-Id: I0d0b8027e07f9dc2dfff584abd026d1b496d93dd Reviewed-on: https://gerrit.libreoffice.org/15933 Reviewed-by: Miklos Vajna <vmik...@collabora.co.uk> Tested-by: Miklos Vajna <vmik...@collabora.co.uk> diff --git a/sw/source/ui/fldui/fldref.cxx b/sw/source/ui/fldui/fldref.cxx index 360c080c..1244308 100644 --- a/sw/source/ui/fldui/fldref.cxx +++ b/sw/source/ui/fldui/fldref.cxx @@ -183,9 +183,12 @@ void SwFldRefPage::Reset(const SfxItemSet* ) // fill up with the sequence types SwWrtShell *pSh = GetWrtShell(); - if(!pSh) + if (!pSh) pSh = ::GetActiveWrtShell(); + if (!pSh) + return; + const sal_uInt16 nFldTypeCnt = pSh->GetFldTypeCount(RES_SETEXPFLD); for (sal_uInt16 n = 0; n < nFldTypeCnt; ++n) commit c11cb9228c2e3624e4fac67143e4b6ada05adb9c Author: Caolán McNamara <caol...@redhat.com> Date: Wed May 27 16:20:34 2015 +0100 Resolves: tdf#89731 numberingChange feature not available in writer Change-Id: Ie779e78fc3c7ccf717117513d9187697c22cc51a (cherry picked from commit 0123bbbc4d07fd7d6c233f67139984ab3cd4555d) Reviewed-on: https://gerrit.libreoffice.org/15932 Reviewed-by: Miklos Vajna <vmik...@collabora.co.uk> Tested-by: Miklos Vajna <vmik...@collabora.co.uk> diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index 3e7e4af..040e228 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -4700,8 +4700,10 @@ void DomainMapper_Impl::SetCurrentRedlineAuthor( const OUString& sAuthor ) { if (!m_xAnnotationField.is()) { - assert( m_currentRedline.get()); - m_currentRedline->m_sAuthor = sAuthor; + if (m_currentRedline.get()) + m_currentRedline->m_sAuthor = sAuthor; + else + SAL_INFO("writerfilter.dmapper", "numberingChange not implemented"); } else m_xAnnotationField->setPropertyValue("Author", uno::makeAny(sAuthor)); @@ -4717,8 +4719,10 @@ void DomainMapper_Impl::SetCurrentRedlineDate( const OUString& sDate ) { if (!m_xAnnotationField.is()) { - assert( m_currentRedline.get()); - m_currentRedline->m_sDate = sDate; + if (m_currentRedline.get()) + m_currentRedline->m_sDate = sDate; + else + SAL_INFO("writerfilter.dmapper", "numberingChange not implemented"); } else m_xAnnotationField->setPropertyValue("DateTimeValue", uno::makeAny(ConversionHelper::ConvertDateStringToDateTime(sDate))); commit 47eb112275d3dc426a0e2e05be91517f0da8943f Author: Caolán McNamara <caol...@redhat.com> Date: Wed May 27 15:39:12 2015 +0100 wrong comparison in letter wizard the file name widget is empty when it shouldn't be. the other wizards get this right Change-Id: Icdb629e676a73fcf8d8be4352818abbef455bbaf (cherry picked from commit a3727ad62b7c1a30f9b0531042cce5ce5b8c6089) Reviewed-on: https://gerrit.libreoffice.org/15931 Reviewed-by: Miklos Vajna <vmik...@collabora.co.uk> Tested-by: Miklos Vajna <vmik...@collabora.co.uk> diff --git a/wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.py b/wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.py index d8598ff..f4a16e2 100644 --- a/wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.py +++ b/wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.py @@ -123,7 +123,7 @@ class LetterWizardDialogImpl(LetterWizardDialog): self.myConfig.cp_PrivateLetter.cp_Salutation = \ self.resources.SalutationLabels[2] - if self.myPathSelection.xSaveTextBox.Text.lower(): + if self.myPathSelection.xSaveTextBox.Text.lower() == "": self.myPathSelection.initializePath() xContainerWindow = self.myLetterDoc.xFrame.ContainerWindow @@ -256,7 +256,7 @@ class LetterWizardDialogImpl(LetterWizardDialog): self.lstBusinessStyleItemChanged() self.enableSenderReceiver() self.setPossibleFooter(True) - if self.myPathSelection.xSaveTextBox.Text.lower(): + if self.myPathSelection.xSaveTextBox.Text.lower() == "": self.myPathSelection.initializePath() def optPrivOfficialLetterItemChanged(self): @@ -273,7 +273,7 @@ class LetterWizardDialogImpl(LetterWizardDialog): self.disableBusinessPaper() self.disableSenderReceiver() self.setPossibleFooter(True) - if self.myPathSelection.xSaveTextBox.Text.lower(): + if self.myPathSelection.xSaveTextBox.Text.lower() == "": self.myPathSelection.initializePath() self.myLetterDoc.fillSenderWithUserData() @@ -291,7 +291,7 @@ class LetterWizardDialogImpl(LetterWizardDialog): self.disableBusinessPaper() self.disableSenderReceiver() self.setPossibleFooter(False) - if self.myPathSelection.xSaveTextBox.Text.lower(): + if self.myPathSelection.xSaveTextBox.Text.lower() == "": self.myPathSelection.initializePath() def optSenderPlaceholderItemChanged(self): commit eb6d735edc45bb3e0fbe511de097e3f476ac6c91 Author: Caolán McNamara <caol...@redhat.com> Date: Wed May 27 12:06:36 2015 +0100 fix build Change-Id: Ie620107c7ce3ca7a3235adc296daf964a78f0540 diff --git a/vcl/generic/glyphs/gcach_layout.cxx b/vcl/generic/glyphs/gcach_layout.cxx index c51ee4a..af9830c 100644 --- a/vcl/generic/glyphs/gcach_layout.cxx +++ b/vcl/generic/glyphs/gcach_layout.cxx @@ -446,7 +446,7 @@ bool HbLayoutEngine::layout(ServerFontLayout& rLayout, ImplLayoutArgs& rArgs) int32_t nCharPos = pHbGlyphInfos[i].cluster; // tdf#89231 if it's just a missing non-breaking space, then use a normal space - if (!nGlyphIndex && (SalLayoutFlags::ForFallback & rArgs.mnFlags) && nCharPos >= 0 && rArgs.mpStr[nCharPos] == 0x202F) + if (!nGlyphIndex && (SAL_LAYOUT_FOR_FALLBACK & rArgs.mnFlags) && nCharPos >= 0 && rArgs.mpStr[nCharPos] == 0x202F) { nGlyphIndex = rFont.GetGlyphIndex(' '); } commit 3ac7eb1c3868329f05a7e53f11e8768ece3b65c9 Author: Thorsten Behrens <thorsten.behr...@cib.de> Date: Sun May 24 11:53:59 2015 +0200 Fix tdf#87509 - default sdr attribute is special object. The drawinglayer attributes signal defaultness by object identity, not value equalness. That should fix a number of subtle cache and redraw problems. Change-Id: I049ffda228a48db71cef108571805c6e41e4b149 (cherry picked from commit 551c204740a37c8dbc7acd35bc9fe683ade3fe80) Reviewed-on: https://gerrit.libreoffice.org/15922 Reviewed-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com> Tested-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com> diff --git a/drawinglayer/source/attribute/fillgradientattribute.cxx b/drawinglayer/source/attribute/fillgradientattribute.cxx index 2689d07..497817e 100644 --- a/drawinglayer/source/attribute/fillgradientattribute.cxx +++ b/drawinglayer/source/attribute/fillgradientattribute.cxx @@ -142,6 +142,10 @@ namespace drawinglayer bool FillGradientAttribute::operator==(const FillGradientAttribute& rCandidate) const { + // tdf#87509 default attr is always != non-default attr, even with same values + if(rCandidate.isDefault() != isDefault()) + return false; + return rCandidate.mpFillGradientAttribute == mpFillGradientAttribute; } diff --git a/drawinglayer/source/attribute/fillgraphicattribute.cxx b/drawinglayer/source/attribute/fillgraphicattribute.cxx index bd7b98e..89422be 100644 --- a/drawinglayer/source/attribute/fillgraphicattribute.cxx +++ b/drawinglayer/source/attribute/fillgraphicattribute.cxx @@ -120,6 +120,10 @@ namespace drawinglayer bool FillGraphicAttribute::operator==(const FillGraphicAttribute& rCandidate) const { + // tdf#87509 default attr is always != non-default attr, even with same values + if(rCandidate.isDefault() != isDefault()) + return false; + return rCandidate.mpFillGraphicAttribute == mpFillGraphicAttribute; } diff --git a/drawinglayer/source/attribute/fillhatchattribute.cxx b/drawinglayer/source/attribute/fillhatchattribute.cxx index 9e3adc7..f54db08 100644 --- a/drawinglayer/source/attribute/fillhatchattribute.cxx +++ b/drawinglayer/source/attribute/fillhatchattribute.cxx @@ -131,6 +131,10 @@ namespace drawinglayer bool FillHatchAttribute::operator==(const FillHatchAttribute& rCandidate) const { + // tdf#87509 default attr is always != non-default attr, even with same values + if(rCandidate.isDefault() != isDefault()) + return false; + return rCandidate.mpFillHatchAttribute == mpFillHatchAttribute; } diff --git a/drawinglayer/source/attribute/lineattribute.cxx b/drawinglayer/source/attribute/lineattribute.cxx index 6cf96e1..6d22e56 100644 --- a/drawinglayer/source/attribute/lineattribute.cxx +++ b/drawinglayer/source/attribute/lineattribute.cxx @@ -118,6 +118,10 @@ namespace drawinglayer bool LineAttribute::operator==(const LineAttribute& rCandidate) const { + // tdf#87509 default attr is always != non-default attr, even with same values + if(rCandidate.isDefault() != isDefault()) + return false; + return rCandidate.mpLineAttribute == mpLineAttribute; } diff --git a/drawinglayer/source/attribute/linestartendattribute.cxx b/drawinglayer/source/attribute/linestartendattribute.cxx index f11e66f..f3a0822 100644 --- a/drawinglayer/source/attribute/linestartendattribute.cxx +++ b/drawinglayer/source/attribute/linestartendattribute.cxx @@ -110,6 +110,10 @@ namespace drawinglayer bool LineStartEndAttribute::operator==(const LineStartEndAttribute& rCandidate) const { + // tdf#87509 default attr is always != non-default attr, even with same values + if(rCandidate.isDefault() != isDefault()) + return false; + return rCandidate.mpLineStartEndAttribute == mpLineStartEndAttribute; } diff --git a/drawinglayer/source/attribute/sdrfillattribute.cxx b/drawinglayer/source/attribute/sdrfillattribute.cxx index aacfa87..2ad96fe 100644 --- a/drawinglayer/source/attribute/sdrfillattribute.cxx +++ b/drawinglayer/source/attribute/sdrfillattribute.cxx @@ -126,6 +126,10 @@ namespace drawinglayer bool SdrFillAttribute::operator==(const SdrFillAttribute& rCandidate) const { + // tdf#87509 default attr is always != non-default attr, even with same values + if(rCandidate.isDefault() != isDefault()) + return false; + return rCandidate.mpSdrFillAttribute == mpSdrFillAttribute; } diff --git a/drawinglayer/source/attribute/sdrfillgraphicattribute.cxx b/drawinglayer/source/attribute/sdrfillgraphicattribute.cxx index 2e7f05e..a2f7576 100644 --- a/drawinglayer/source/attribute/sdrfillgraphicattribute.cxx +++ b/drawinglayer/source/attribute/sdrfillgraphicattribute.cxx @@ -161,6 +161,10 @@ namespace drawinglayer bool SdrFillGraphicAttribute::operator==(const SdrFillGraphicAttribute& rCandidate) const { + // tdf#87509 default attr is always != non-default attr, even with same values + if(rCandidate.isDefault() != isDefault()) + return false; + return rCandidate.mpSdrFillGraphicAttribute == mpSdrFillGraphicAttribute; } diff --git a/drawinglayer/source/attribute/sdrlightingattribute3d.cxx b/drawinglayer/source/attribute/sdrlightingattribute3d.cxx index 9e3f809..43b4b94 100644 --- a/drawinglayer/source/attribute/sdrlightingattribute3d.cxx +++ b/drawinglayer/source/attribute/sdrlightingattribute3d.cxx @@ -102,6 +102,10 @@ namespace drawinglayer bool SdrLightingAttribute::operator==(const SdrLightingAttribute& rCandidate) const { + // tdf#87509 default attr is always != non-default attr, even with same values + if(rCandidate.isDefault() != isDefault()) + return false; + return rCandidate.mpSdrLightingAttribute == mpSdrLightingAttribute; } diff --git a/drawinglayer/source/attribute/sdrlineattribute.cxx b/drawinglayer/source/attribute/sdrlineattribute.cxx index 5afcac0..f1842fa 100644 --- a/drawinglayer/source/attribute/sdrlineattribute.cxx +++ b/drawinglayer/source/attribute/sdrlineattribute.cxx @@ -142,6 +142,10 @@ namespace drawinglayer bool SdrLineAttribute::operator==(const SdrLineAttribute& rCandidate) const { + // tdf#87509 default attr is always != non-default attr, even with same values + if(rCandidate.isDefault() != isDefault()) + return false; + return rCandidate.mpSdrLineAttribute == mpSdrLineAttribute; } diff --git a/drawinglayer/source/attribute/sdrlinestartendattribute.cxx b/drawinglayer/source/attribute/sdrlinestartendattribute.cxx index 20aa45d..b64f98c 100644 --- a/drawinglayer/source/attribute/sdrlinestartendattribute.cxx +++ b/drawinglayer/source/attribute/sdrlinestartendattribute.cxx @@ -144,6 +144,10 @@ namespace drawinglayer bool SdrLineStartEndAttribute::operator==(const SdrLineStartEndAttribute& rCandidate) const { + // tdf#87509 default attr is always != non-default attr, even with same values + if(rCandidate.isDefault() != isDefault()) + return false; + return rCandidate.mpSdrLineStartEndAttribute == mpSdrLineStartEndAttribute; } diff --git a/drawinglayer/source/attribute/sdrsceneattribute3d.cxx b/drawinglayer/source/attribute/sdrsceneattribute3d.cxx index 5776d20..a873440 100644 --- a/drawinglayer/source/attribute/sdrsceneattribute3d.cxx +++ b/drawinglayer/source/attribute/sdrsceneattribute3d.cxx @@ -123,6 +123,10 @@ namespace drawinglayer bool SdrSceneAttribute::operator==(const SdrSceneAttribute& rCandidate) const { + // tdf#87509 default attr is always != non-default attr, even with same values + if(rCandidate.isDefault() != isDefault()) + return false; + return rCandidate.mpSdrSceneAttribute == mpSdrSceneAttribute; } diff --git a/drawinglayer/source/attribute/sdrshadowattribute.cxx b/drawinglayer/source/attribute/sdrshadowattribute.cxx index 9630593..907423a 100644 --- a/drawinglayer/source/attribute/sdrshadowattribute.cxx +++ b/drawinglayer/source/attribute/sdrshadowattribute.cxx @@ -109,6 +109,10 @@ namespace drawinglayer bool SdrShadowAttribute::operator==(const SdrShadowAttribute& rCandidate) const { + // tdf#87509 default attr is always != non-default attr, even with same values + if(rCandidate.isDefault() != isDefault()) + return false; + return mpSdrShadowAttribute == rCandidate.mpSdrShadowAttribute; } diff --git a/drawinglayer/source/attribute/strokeattribute.cxx b/drawinglayer/source/attribute/strokeattribute.cxx index 08445b0..efbcc5d 100644 --- a/drawinglayer/source/attribute/strokeattribute.cxx +++ b/drawinglayer/source/attribute/strokeattribute.cxx @@ -110,6 +110,10 @@ namespace drawinglayer bool StrokeAttribute::operator==(const StrokeAttribute& rCandidate) const { + // tdf#87509 default attr is always != non-default attr, even with same values + if(rCandidate.isDefault() != isDefault()) + return false; + return rCandidate.mpStrokeAttribute == mpStrokeAttribute; } commit 66980c60ae9d75620928b92f829dc69d455f3a54 Author: Caolán McNamara <caol...@redhat.com> Date: Tue May 26 15:45:30 2015 +0100 Resolves: tdf#89231 if no font has 0x202F fallback to a normal space Change-Id: I2325c0b09ccf66ee15597251ad027b295de5502f (cherry picked from commit f76ecc3e9ce51b35fc18db55b808270079a3652b) Reviewed-on: https://gerrit.libreoffice.org/15912 Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> Tested-by: Thorsten Behrens <thorsten.behr...@cib.de> diff --git a/vcl/generic/glyphs/gcach_layout.cxx b/vcl/generic/glyphs/gcach_layout.cxx index b29627d..c51ee4a 100644 --- a/vcl/generic/glyphs/gcach_layout.cxx +++ b/vcl/generic/glyphs/gcach_layout.cxx @@ -445,6 +445,12 @@ bool HbLayoutEngine::layout(ServerFontLayout& rLayout, ImplLayoutArgs& rArgs) int32_t nGlyphIndex = pHbGlyphInfos[i].codepoint; int32_t nCharPos = pHbGlyphInfos[i].cluster; + // tdf#89231 if it's just a missing non-breaking space, then use a normal space + if (!nGlyphIndex && (SalLayoutFlags::ForFallback & rArgs.mnFlags) && nCharPos >= 0 && rArgs.mpStr[nCharPos] == 0x202F) + { + nGlyphIndex = rFont.GetGlyphIndex(' '); + } + // if needed request glyph fallback by updating LayoutArgs if (!nGlyphIndex) { diff --git a/vcl/source/outdev/font.cxx b/vcl/source/outdev/font.cxx index b04a318..068b2bb 100644 --- a/vcl/source/outdev/font.cxx +++ b/vcl/source/outdev/font.cxx @@ -2080,7 +2080,10 @@ SalLayout* OutputDevice::ImplGlyphFallbackLayout( SalLayout* pSalLayout, ImplLay if( nFallbackLevel < MAX_FALLBACK-1) { // ignore fallback font if it is the same as the original font - if( mpFontEntry->maFontSelData.mpFontData == aFontSelData.mpFontData ) + // unless we are looking for a substituion for 0x202F, in which + // case we'll just use a normal space + if( mpFontEntry->maFontSelData.mpFontData == aFontSelData.mpFontData && + aMissingCodes.indexOf(0x202F) == -1 ) { mpFontCache->Release( pFallbackFont ); continue; commit c3f3f145a6f7ba9456dd6ce2ea27c4327980cea4 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Tue Apr 21 17:00:57 2015 +0200 tdf#90421 RTF export: ignore hyperlinks without an URL Commit fe444d1f74abe417962be0bcd3340f40f2446b58 (fdo#62536: sw: fix AutoCorrect bold/underline on existing AUTOFMT, 2013-06-20) adds an empty inet format hint on the text node during autocorrection, on export we can safely ignore that to provide well-formed output. (cherry picked from commit 7d42346ba77c9c4df241ea40eaf550993ca18783) Change-Id: Iafae941a13e29dcc7d8b4bade5ce94a486b59638 Reviewed-on: https://gerrit.libreoffice.org/15906 Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> Tested-by: Thorsten Behrens <thorsten.behr...@cib.de> diff --git a/sw/CppunitTest_sw_rtfexport.mk b/sw/CppunitTest_sw_rtfexport.mk index 88f371b..b47c906 100644 --- a/sw/CppunitTest_sw_rtfexport.mk +++ b/sw/CppunitTest_sw_rtfexport.mk @@ -48,36 +48,7 @@ $(eval $(call gb_CppunitTest_use_api,sw_rtfexport,\ $(eval $(call gb_CppunitTest_use_ure,sw_rtfexport)) $(eval $(call gb_CppunitTest_use_vcl,sw_rtfexport)) -$(eval $(call gb_CppunitTest_use_components,sw_rtfexport,\ - basic/util/sb \ - comphelper/util/comphelp \ - configmgr/source/configmgr \ - embeddedobj/util/embobj \ - filter/source/config/cache/filterconfig1 \ - filter/source/storagefilterdetect/storagefd \ - framework/util/fwk \ - i18npool/util/i18npool \ - linguistic/source/lng \ - package/source/xstor/xstor \ - package/util/package2 \ - sax/source/expatwrap/expwrap \ - sfx2/util/sfx \ - starmath/util/sm \ - svl/source/fsstor/fsstorage \ - svtools/util/svt \ - sw/util/msword \ - sw/util/sw \ - sw/util/swd \ - toolkit/util/tk \ - ucb/source/core/ucb1 \ - ucb/source/ucp/file/ucpfile1 \ - unotools/util/utl \ - unoxml/source/service/unoxml \ - uui/util/uui \ - writerfilter/util/writerfilter \ - xmloff/util/xo \ - oox/util/oox \ -)) +$(eval $(call gb_CppunitTest_use_rdb,sw_rtfexport,services)) $(eval $(call gb_CppunitTest_use_configuration,sw_rtfexport)) diff --git a/sw/qa/extras/inc/swmodeltestbase.hxx b/sw/qa/extras/inc/swmodeltestbase.hxx index 760afc2..4cd9919 100644 --- a/sw/qa/extras/inc/swmodeltestbase.hxx +++ b/sw/qa/extras/inc/swmodeltestbase.hxx @@ -264,6 +264,7 @@ protected: header(); preTest(filename); load(mpTestDocumentPath, filename); + postLoad(filename); reload(mpFilter, filename); postTest(filename); verify(); @@ -313,6 +314,11 @@ protected: { } + /// Override this function if some special file-specific setup is needed during export test: after load, but before save. + virtual void postLoad(const char* /*pFilename*/) + { + } + /** * Override this function if some special filename-specific teardown is needed */ diff --git a/sw/qa/extras/rtfexport/data/tdf90421.fodt b/sw/qa/extras/rtfexport/data/tdf90421.fodt new file mode 100644 index 0000000..a0da4b8 --- /dev/null +++ b/sw/qa/extras/rtfexport/data/tdf90421.fodt @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<office:document xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:config="urn:oas is:names:tc:opendocument:xmlns:config:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rpt="http://openoffice.org/2005/report" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:officeooo="http://openoffice.org/2009/office" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:drawooo="http://openoffice.org/2010/draw" xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:formx="urn:openoffice:names: experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:css3t="http://www.w3.org/TR/css3-text/" office:version="1.2" office:mimetype="application/vnd.oasis.opendocument.text"> + <office:body> + <office:text> + <text:p text:style-name="P1">A <text:a xlink:type="simple" xlink:href="http://s/" text:style-name="Internet_20_link" text:visited-style-name="Visited_20_Internet_20_Link">http://s/</text:a> B</text:p> + </office:text> + </office:body> +</office:document> diff --git a/sw/qa/extras/rtfexport/rtfexport.cxx b/sw/qa/extras/rtfexport/rtfexport.cxx index 2a13b4b..9bc57d5 100644 --- a/sw/qa/extras/rtfexport/rtfexport.cxx +++ b/sw/qa/extras/rtfexport/rtfexport.cxx @@ -76,6 +76,16 @@ public: return false; } + + virtual void postLoad(const char* pFilename) SAL_OVERRIDE + { + if (OString(pFilename) == "tdf90421.fodt") + { + // Change the hyperlink, so its URL is empty. + uno::Reference<beans::XPropertySet> xRun(getRun(getParagraph(1), 2), uno::UNO_QUERY); + xRun->setPropertyValue("HyperLinkURL", uno::makeAny(OUString())); + } + } }; DECLARE_RTFEXPORT_TEST(testZoom, "zoom.rtf") @@ -869,6 +879,19 @@ DECLARE_RTFEXPORT_TEST(testTdf80708, "tdf80708.rtf") CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(1), getProperty< uno::Sequence<text::TableColumnSeparator> >(xTableRows->getByIndex(0), "TableColumnSeparators").getLength()); } +DECLARE_RTFEXPORT_TEST(testTdf90421, "tdf90421.fodt") +{ + if (mbExported) + { + SvMemoryStream aMemoryStream; + SvFileStream aStream(maTempFile.GetURL(), STREAM_READ); + aStream.ReadStream(aMemoryStream); + OString aData(static_cast<const char*>(aMemoryStream.GetData()), aMemoryStream.GetSize()); + // This was some positive number, i.e. we exported a hyperlink with an empty URL. + CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(-1), aData.indexOf("HYPERLINK")); + } +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sw/source/filter/ww8/rtfattributeoutput.cxx b/sw/source/filter/ww8/rtfattributeoutput.cxx index 7071e7b..da8f01f 100644 --- a/sw/source/filter/ww8/rtfattributeoutput.cxx +++ b/sw/source/filter/ww8/rtfattributeoutput.cxx @@ -437,52 +437,58 @@ void RtfAttributeOutput::EndRuby() bool RtfAttributeOutput::StartURL(const OUString& rUrl, const OUString& rTarget) { - m_aStyles.append('{'); - m_aStyles.append(OOO_STRING_SVTOOLS_RTF_FIELD); - m_aStyles.append('{'); - m_aStyles.append(OOO_STRING_SVTOOLS_RTF_IGNORE); - m_aStyles.append(OOO_STRING_SVTOOLS_RTF_FLDINST); - m_aStyles.append(" HYPERLINK "); - - OUString sURL(rUrl); - if (!sURL.isEmpty()) + m_sURL = rUrl; + // Ignore hyperlink without an URL. + if (!rUrl.isEmpty()) { + m_aStyles.append('{'); + m_aStyles.append(OOO_STRING_SVTOOLS_RTF_FIELD); + m_aStyles.append('{'); + m_aStyles.append(OOO_STRING_SVTOOLS_RTF_IGNORE); + m_aStyles.append(OOO_STRING_SVTOOLS_RTF_FLDINST); + m_aStyles.append(" HYPERLINK "); + + OUString sURL(rUrl); m_aStyles.append("\""); m_aStyles.append(msfilter::rtfutil::OutString(sURL, m_rExport.eCurrentEncoding)); m_aStyles.append("\" "); - } - if (!rTarget.isEmpty()) - { - m_aStyles.append("\\\\t \""); - m_aStyles.append(msfilter::rtfutil::OutString(rTarget, m_rExport.eCurrentEncoding)); - m_aStyles.append("\" "); - } + if (!rTarget.isEmpty()) + { + m_aStyles.append("\\\\t \""); + m_aStyles.append(msfilter::rtfutil::OutString(rTarget, m_rExport.eCurrentEncoding)); + m_aStyles.append("\" "); + } - m_aStyles.append("}"); - m_aStyles.append("{" OOO_STRING_SVTOOLS_RTF_FLDRSLT " {"); + m_aStyles.append("}"); + m_aStyles.append("{" OOO_STRING_SVTOOLS_RTF_FLDRSLT " {"); + } return true; } bool RtfAttributeOutput::EndURL(bool const isAtEndOfParagraph) { - // UGLY: usually EndRun is called earlier, but there is an extra - // call to OutAttrWithRange() when at the end of the paragraph, - // so in that special case the output needs to be appended to the - // new run's text instead of the previous run - if (isAtEndOfParagraph) + if (!m_sURL.isEmpty()) { - // close the fldrslt group - m_aRunText->append("}}"); - // close the field group - m_aRunText->append('}'); - } - else - { - // close the fldrslt group - m_aRun->append("}}"); - // close the field group - m_aRun->append('}'); + // UGLY: usually EndRun is called earlier, but there is an extra + // call to OutAttrWithRange() when at the end of the paragraph, + // so in that special case the output needs to be appended to the + // new run's text instead of the previous run + if (isAtEndOfParagraph) + { + // close the fldrslt group + m_aRunText->append("}}"); + // close the field group + m_aRunText->append('}'); + } + else + { + // close the fldrslt group + m_aRun->append("}}"); + // close the field group + m_aRun->append('}'); + } + m_sURL.clear(); } return true; } diff --git a/sw/source/filter/ww8/rtfattributeoutput.hxx b/sw/source/filter/ww8/rtfattributeoutput.hxx index a056849..72d07cc 100644 --- a/sw/source/filter/ww8/rtfattributeoutput.hxx +++ b/sw/source/filter/ww8/rtfattributeoutput.hxx @@ -596,6 +596,9 @@ private: boost::optional<css::drawing::FillStyle> m_oFillStyle; + /// If we're in the process of exporting a hyperlink, then its URL. + OUString m_sURL; + public: RtfAttributeOutput(RtfExport& rExport); commit b9966818449d7b60621337e354d30aa213687688 Author: Katarina Behrens <katarina.behr...@cib.de> Date: Wed Apr 22 23:31:43 2015 +0200 tdf#88056: Implement ODF import/export of page title field to/from loext namespace, since new tag's needed for the new field and it isn't approved by ODF-TC yet Change-Id: I70ceb4e16e1199663520dbdf3beae31423bc81d0 Reviewed-on: https://gerrit.libreoffice.org/15485 Tested-by: Michael Stahl <mst...@redhat.com> Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> Tested-by: Thorsten Behrens <thorsten.behr...@cib.de> diff --git a/editeng/source/items/flditem.cxx b/editeng/source/items/flditem.cxx index 57f1e2a..4e144ed 100644 --- a/editeng/source/items/flditem.cxx +++ b/editeng/source/items/flditem.cxx @@ -117,7 +117,7 @@ SvxFieldData* SvxFieldData::Create(const uno::Reference<text::XTextContent>& xTe return new SvxPageField(); case text::textfield::Type::PAGES: return new SvxPagesField(); - case text::textfield::Type::PAGE_TITLE: + case text::textfield::Type::PAGE_NAME: return new SvxPageTitleField(); case text::textfield::Type::DOCINFO_TITLE: return new SvxFileField(); diff --git a/editeng/source/uno/unofield.cxx b/editeng/source/uno/unofield.cxx index 7c7cae9..b507d3b 100644 --- a/editeng/source/uno/unofield.cxx +++ b/editeng/source/uno/unofield.cxx @@ -504,6 +504,9 @@ SvxFieldData* SvxUnoTextField::CreateFieldData() const throw() case text::textfield::Type::PRESENTATION_DATE_TIME: pData = new SvxDateTimeField(); break; + case text::textfield::Type::PAGE_NAME: + pData = new SvxPageTitleField(); + break; }; return pData; @@ -606,6 +609,8 @@ OUString SAL_CALL SvxUnoTextField::getPresentation( sal_Bool bShowCommand ) return OUString("Footer"); case text::textfield::Type::PRESENTATION_DATE_TIME: return OUString("DateTime"); + case text::textfield::Type::PAGE_NAME: + return OUString("PageName"); default: return OUString("Unknown"); } @@ -853,6 +858,10 @@ uno::Sequence< OUString > SAL_CALL SvxUnoTextField::getSupportedServiceNames() pServices[2] = "com.sun.star.presentation.TextField.DateTime"; pServices[3] = "com.sun.star.presentation.textfield.DateTime"; break; + case text::textfield::Type::PAGE_NAME: + pServices[2] = "com.sun.star.text.TextField.PageName"; + pServices[3] = "com.sun.star.text.textfield.PageName"; + break; default: aSeq.realloc(0); } diff --git a/include/editeng/flditem.hxx b/include/editeng/flditem.hxx index e35e503..554a2b1 100644 --- a/include/editeng/flditem.hxx +++ b/include/editeng/flditem.hxx @@ -194,7 +194,7 @@ public: class EDITENG_DLLPUBLIC SvxPageTitleField : public SvxFieldData { public: - SV_DECL_PERSIST1( SvxPageTitleField, SvxFieldData, com::sun::star::text::textfield::Type::PAGE_TITLE ) + SV_DECL_PERSIST1( SvxPageTitleField, SvxFieldData, com::sun::star::text::textfield::Type::PAGE_NAME ) SvxPageTitleField(); virtual SvxFieldData* Clone() const SAL_OVERRIDE; diff --git a/include/xmloff/txtimp.hxx b/include/xmloff/txtimp.hxx index 592c834..96df6f1 100644 --- a/include/xmloff/txtimp.hxx +++ b/include/xmloff/txtimp.hxx @@ -210,6 +210,7 @@ enum XMLTextPElemTokens XML_TOK_TEXT_SEQUENCE_REF, XML_TOK_TEXT_NOTE_REF, XML_TOK_TEXT_SHEET_NAME, + XML_TOK_TEXT_PAGE_NAME, XML_TOK_TEXT_BIBLIOGRAPHY_MARK, XML_TOK_TEXT_ANNOTATION, XML_TOK_TEXT_ANNOTATION_END, diff --git a/include/xmloff/xmltoken.hxx b/include/xmloff/xmltoken.hxx index 9639326..21b584d 100644 --- a/include/xmloff/xmltoken.hxx +++ b/include/xmloff/xmltoken.hxx @@ -1368,6 +1368,7 @@ namespace xmloff { namespace token { XML_PAGE_HEIGHT, XML_PAGE_MASTER, XML_PAGE_MASTER_NAME, + XML_PAGE_NAME, XML_PAGE_NUMBER, XML_PAGE_START_MARGIN, XML_PAGE_STYLE_NAME, diff --git a/offapi/com/sun/star/text/textfield/Type.idl b/offapi/com/sun/star/text/textfield/Type.idl index 42fcb8b..d2fa81f 100644 --- a/offapi/com/sun/star/text/textfield/Type.idl +++ b/offapi/com/sun/star/text/textfield/Type.idl @@ -42,7 +42,7 @@ constants Type const long PRESENTATION_HEADER = 11; const long PRESENTATION_FOOTER = 12; const long PRESENTATION_DATE_TIME = 13; - const long PAGE_TITLE = 14; + const long PAGE_NAME = 14; }; }; }; }; }; }; diff --git a/sd/source/ui/app/sdmod2.cxx b/sd/source/ui/app/sdmod2.cxx index dd5c666..8f2d3a2 100644 --- a/sd/source/ui/app/sdmod2.cxx +++ b/sd/source/ui/app/sdmod2.cxx @@ -268,6 +268,12 @@ IMPL_LINK(SdModule, CalcFieldValueHdl, EditFieldInfo*, pInfo) { aRepresentation = pPage->GetName(); } + else + { + aRepresentation = ( ( pDoc->GetDocumentType() == DOCUMENT_TYPE_IMPRESS ) + ? SdResId(STR_FIELD_PLACEHOLDER_SLIDENAME).toString() + : SdResId(STR_FIELD_PLACEHOLDER_PAGENAME).toString() ); + } pInfo->SetRepresentation( aRepresentation ); } diff --git a/sd/source/ui/app/strings.src b/sd/source/ui/app/strings.src index 06b0fcf..c46b5ef 100644 --- a/sd/source/ui/app/strings.src +++ b/sd/source/ui/app/strings.src @@ -1066,6 +1066,16 @@ String STR_FIELD_PLACEHOLDER_COUNT Text [ en-US ] = "<count>" ; }; +String STR_FIELD_PLACEHOLDER_SLIDENAME +{ + Text [ en-US ] = "<slide-name>" ; +}; + +String STR_FIELD_PLACEHOLDER_PAGENAME +{ + Text [ en-US ] = "<page-name>" ; +}; + String STR_PLACEHOLDER_DESCRIPTION_NOTES { Text [ en-US ] = "Notes Area"; diff --git a/sd/source/ui/inc/strings.hrc b/sd/source/ui/inc/strings.hrc index 1fa282c..2c4c79e 100644 --- a/sd/source/ui/inc/strings.hrc +++ b/sd/source/ui/inc/strings.hrc @@ -367,6 +367,8 @@ #define STR_UNDO_HANGULHANJACONVERSION (RID_APP_START+696) #define STR_FIELD_PLACEHOLDER_COUNT (RID_APP_START+697) +#define STR_FIELD_PLACEHOLDER_SLIDENAME (RID_APP_START+698) +#define STR_FIELD_PLACEHOLDER_PAGENAME (RID_APP_START+699) #define STR_LEFT_PANE_DRAW_TITLE (RID_APP_START+700) #define STR_LEFT_PANE_IMPRESS_TITLE (RID_APP_START+701) diff --git a/sd/source/ui/unoidl/unomodel.cxx b/sd/source/ui/unoidl/unomodel.cxx index b461f87..2d72378 100644 --- a/sd/source/ui/unoidl/unomodel.cxx +++ b/sd/source/ui/unoidl/unomodel.cxx @@ -929,6 +929,12 @@ css::uno::Reference<css::uno::XInterface> SdXImpressDocument::create( return (::cppu::OWeakObject * )new SvxUnoTextField( text::textfield::Type::PRESENTATION_DATE_TIME ); } + if( aServiceSpecifier == "com.sun.star.text.TextField.PageName" || + aServiceSpecifier == "com.sun.star.text.textfield.PageName" ) + { + return (::cppu::OWeakObject * )new SvxUnoTextField( text::textfield::Type::PAGE_NAME ); + } + if( aServiceSpecifier == "com.sun.star.xml.NamespaceMap" ) { static sal_uInt16 aWhichIds[] = { SDRATTR_XMLATTRIBUTES, EE_CHAR_XMLATTRIBS, EE_PARA_XMLATTRIBS, 0 }; diff --git a/xmloff/inc/txtflde.hxx b/xmloff/inc/txtflde.hxx index 5061477..79014b6 100644 --- a/xmloff/inc/txtflde.hxx +++ b/xmloff/inc/txtflde.hxx @@ -57,6 +57,7 @@ enum FieldIdEnum { FIELD_ID_AUTHOR, FIELD_ID_DATE, // current date FIELD_ID_TIME, // current time (+date) + FIELD_ID_PAGENAME, // page/slide name FIELD_ID_PAGENUMBER, // page number FIELD_ID_PAGESTRING, // page contination string (page number string) FIELD_ID_REFPAGE_SET, // set reference page diff --git a/xmloff/inc/txtfldi.hxx b/xmloff/inc/txtfldi.hxx index 4023aac..42a3263 100644 --- a/xmloff/inc/txtfldi.hxx +++ b/xmloff/inc/txtfldi.hxx @@ -1131,6 +1131,28 @@ protected: ::com::sun::star::beans::XPropertySet> & xPropertySet) SAL_OVERRIDE; }; +/** import page|slide name fields (<text:page-name>) */ +class XMLPageNameFieldImportContext : public XMLTextFieldImportContext +{ +public: + TYPEINFO_OVERRIDE(); + + XMLPageNameFieldImportContext( + SvXMLImport& rImport, /// XML Import + XMLTextImportHelper& rHlp, /// Text import helper + sal_uInt16 nPrfx, /// namespace prefix + const OUString& sLocalName); /// element name w/o prefix + + /// process attribute values + virtual void ProcessAttribute( sal_uInt16 nAttrToken, + const OUString& sAttrValue ) SAL_OVERRIDE; + + /// prepare XTextField for insertion into document + virtual void PrepareField( + const ::com::sun::star::uno::Reference< + ::com::sun::star::beans::XPropertySet> & xPropertySet) SAL_OVERRIDE; +}; + /** import hyperlinks as URL fields (Calc, Impress, Draw) (<office:a>) */ class XMLUrlFieldImportContext : public XMLTextFieldImportContext { diff --git a/xmloff/source/core/xmltoken.cxx b/xmloff/source/core/xmltoken.cxx index 323e073..e15cf96 100644 --- a/xmloff/source/core/xmltoken.cxx +++ b/xmloff/source/core/xmltoken.cxx @@ -1373,6 +1373,7 @@ namespace xmloff { namespace token { TOKEN( "page-height", XML_PAGE_HEIGHT ), TOKEN( "page-master", XML_PAGE_MASTER ), TOKEN( "page-master-name", XML_PAGE_MASTER_NAME ), + TOKEN( "page-name", XML_PAGE_NAME ), TOKEN( "page-number", XML_PAGE_NUMBER ), TOKEN( "page-start-margin", XML_PAGE_START_MARGIN ), TOKEN( "page-style-name", XML_PAGE_STYLE_NAME ), diff --git a/xmloff/source/text/txtflde.cxx b/xmloff/source/text/txtflde.cxx index f1f8442..7c20b5c 100644 --- a/xmloff/source/text/txtflde.cxx +++ b/xmloff/source/text/txtflde.cxx @@ -141,6 +141,7 @@ static sal_Char const FIELD_SERVICE_OBJECT_COUNT[] = "EmbeddedObjectCount"; static sal_Char const FIELD_SERVICE_REFERENCE_PAGE_SET[] = "ReferencePageSet"; static sal_Char const FIELD_SERVICE_REFERENCE_PAGE_GET[] = "ReferencePageGet"; static sal_Char const FIELD_SERVICE_SHEET_NAME[] = "SheetName"; +static sal_Char const FIELD_SERVICE_PAGE_NAME[] = "PageName"; static sal_Char const FIELD_SERVICE_MACRO[] = "Macro"; static sal_Char const FIELD_SERVICE_GET_REFERENCE[] = "GetReference"; static sal_Char const FIELD_SERVICE_DDE[] = "DDE"; @@ -234,6 +235,7 @@ SvXMLEnumStringMapEntry const aFieldServiceNameMapping[] = // non-writer fields ENUM_STRING_MAP_ENTRY( FIELD_SERVICE_SHEET_NAME, FIELD_ID_SHEET_NAME ), + ENUM_STRING_MAP_ENTRY( FIELD_SERVICE_PAGE_NAME, FIELD_ID_PAGENAME ), ENUM_STRING_MAP_ENTRY( FIELD_SERVICE_URL, FIELD_ID_URL ), ENUM_STRING_MAP_ENTRY( FIELD_SERVICE_MEASURE, FIELD_ID_MEASURE ), @@ -611,6 +613,7 @@ enum FieldIdEnum XMLTextFieldExport::MapFieldName( case FIELD_ID_FILE_NAME: case FIELD_ID_META: case FIELD_ID_SHEET_NAME: + case FIELD_ID_PAGENAME: case FIELD_ID_MEASURE: case FIELD_ID_URL: case FIELD_ID_TABLE_FORMULA: @@ -718,6 +721,7 @@ bool XMLTextFieldExport::IsStringField( case FIELD_ID_TEXT_INPUT: case FIELD_ID_SENDER: case FIELD_ID_AUTHOR: + case FIELD_ID_PAGENAME: case FIELD_ID_PAGESTRING: case FIELD_ID_SHEET_NAME: case FIELD_ID_MEASURE: @@ -932,6 +936,7 @@ void XMLTextFieldExport::ExportFieldAutoStyle( case FIELD_ID_DOCINFO_REVISION: case FIELD_ID_DOCINFO_SAVE_AUTHOR: case FIELD_ID_SEQUENCE: + case FIELD_ID_PAGENAME: case FIELD_ID_PAGENUMBER: case FIELD_ID_PAGESTRING: case FIELD_ID_AUTHOR: @@ -1669,6 +1674,16 @@ void XMLTextFieldExport::ExportFieldHelper( ExportElement(XML_SHEET_NAME, sPresentation); break; + case FIELD_ID_PAGENAME: + { + if (SvtSaveOptions().GetODFDefaultVersion() > SvtSaveOptions::ODFVER_012) + { + SvXMLElementExport aElem( GetExport(), XML_NAMESPACE_LO_EXT, XML_PAGE_NAME, false, false ); + GetExport().Characters( sPresentation ); + } + break; + } + case FIELD_ID_URL: { // this field is a special case because it gets mapped onto a @@ -1848,6 +1863,7 @@ void XMLTextFieldExport::ExportFieldHelper( } break; + case FIELD_ID_UNKNOWN: default: OSL_FAIL("unknown field type encountered!"); diff --git a/xmloff/source/text/txtfldi.cxx b/xmloff/source/text/txtfldi.cxx index 6b7c9ad..274ff52 100644 --- a/xmloff/source/text/txtfldi.cxx +++ b/xmloff/source/text/txtfldi.cxx @@ -129,6 +129,7 @@ const sal_Char sAPI_macro[] = "Macro"; const sal_Char sAPI_dde[] = "DDE"; const sal_Char sAPI_get_reference[] = "GetReference"; const sal_Char sAPI_sheet_name[] = "SheetName"; +const sal_Char sAPI_pagename[] = "PageName"; const sal_Char sAPI_url[] = "URL"; const sal_Char sAPI_bibliography[] = "Bibliography"; const sal_Char sAPI_annotation[] = "Annotation"; @@ -538,6 +539,11 @@ XMLTextFieldImportContext::CreateTextFieldImportContext( nPrefix, rName ); break; + case XML_TOK_TEXT_PAGE_NAME: + pContext = new XMLPageNameFieldImportContext( rImport, rHlp, + nPrefix, rName ); + break; + case XML_TOK_TEXT_BIBLIOGRAPHY_MARK: pContext = new XMLBibliographyFieldImportContext( rImport, rHlp, nPrefix, rName ); @@ -3267,6 +3273,31 @@ void XMLSheetNameImportContext::PrepareField( // no attributes -> nothing to be done } +/** import page|slide name fields (<text:page-name>) */ +TYPEINIT1( XMLPageNameFieldImportContext, XMLTextFieldImportContext ); + +XMLPageNameFieldImportContext::XMLPageNameFieldImportContext( + SvXMLImport& rImport, /// XML Import + XMLTextImportHelper& rHlp, /// Text import helper + sal_uInt16 nPrfx, /// namespace prefix + const OUString& sLocalName) /// element name w/o prefix +: XMLTextFieldImportContext(rImport, rHlp, sAPI_pagename, nPrfx, sLocalName ) +{ + bValid = true; +} + +/// process attribute values +void XMLPageNameFieldImportContext::ProcessAttribute( sal_uInt16, + const OUString& ) +{ +} + +/// prepare XTextField for insertion into document +void XMLPageNameFieldImportContext::PrepareField( + const ::com::sun::star::uno::Reference< + ::com::sun::star::beans::XPropertySet> &) +{ +} // URL fields (Calc, Impress, Draw) diff --git a/xmloff/source/text/txtimp.cxx b/xmloff/source/text/txtimp.cxx index 6c74084..2ea64ce 100644 --- a/xmloff/source/text/txtimp.cxx +++ b/xmloff/source/text/txtimp.cxx @@ -269,6 +269,8 @@ static const SvXMLTokenMapEntry aTextPElemTokenMap[] = // draw fields { XML_NAMESPACE_TEXT, XML_MEASURE, XML_TOK_TEXT_MEASURE }, + { XML_NAMESPACE_LO_EXT, XML_PAGE_NAME, XML_TOK_TEXT_PAGE_NAME }, + { XML_NAMESPACE_TEXT, XML_PAGE_NAME, XML_TOK_TEXT_PAGE_NAME }, // RDF metadata { XML_NAMESPACE_TEXT, XML_META, XML_TOK_TEXT_META }, commit cd19c5b1c6dfb5ef9c9970c2a4b6407cb52cff87 Author: Christian Lohmaier <lohmaier+libreoff...@googlemail.com> Date: Tue May 26 23:18:49 2015 +0200 update credits Change-Id: I5faeceb0d0d3ed16d9c6e4474720c24a8dd95f85 diff --git a/readlicense_oo/license/CREDITS.fodt b/readlicense_oo/license/CREDITS.fodt index c89e96a..0e53f0e 100644 --- a/readlicense_oo/license/CREDITS.fodt +++ b/readlicense_oo/license/CREDITS.fodt @@ -1,13 +1,13 @@ <?xml version="1.0" encoding="UTF-8"?> <office:document xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:config="urn:oas is:names:tc:opendocument:xmlns:config:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rpt="http://openoffice.org/2005/report" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:officeooo="http://openoffice.org/2009/office" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:drawooo="http://openoffice.org/2010/draw" xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:formx="urn:openoffice:names: experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:css3t="http://www.w3.org/TR/css3-text/" office:version="1.2" office:mimetype="application/vnd.oasis.opendocument.text"> - <office:meta><dc:title>Credits » LibreOffice</dc:title><meta:keyword>Credits</meta:keyword><meta:keyword>contributors</meta:keyword><meta:keyword>coders</meta:keyword><meta:keyword>developers</meta:keyword><dc:description>Credits for the LibreOffice development/coding.</dc:description><meta:generator>LibreOffice/4.4.2.2$Linux_X86_64 LibreOffice_project/c4c7d32d0d49397cad38d62472b0bc8acff48dd6</meta:generator><dc:date>2012-02-20T22:17:18.060000000</dc:date><meta:editing-duration>PT14M12S</meta:editing-duration><meta:editing-cycles>3</meta:editing-cycles><meta:document-statistic meta:table-count="5" meta:image-count="1" meta:object-count="0" meta:page-count="2" meta:paragraph-count="3166" meta:word-count="11230" meta:character-count="81181" meta:non-whitespace-character-count="71062"/><meta:user-defined meta:name="google-site-verification">JUebjoxEpqXoQcpltWRTwzBZEEHtch3wApdhgiQPFiA</meta:user-defined></office:meta> + <office:meta><dc:title>Credits » LibreOffice</dc:title><meta:keyword>Credits</meta:keyword><meta:keyword>contributors</meta:keyword><meta:keyword>coders</meta:keyword><meta:keyword>developers</meta:keyword><dc:description>Credits for the LibreOffice development/coding.</dc:description><meta:generator>LibreOffice/4.4.3.2$Linux_X86_64 LibreOffice_project/88805f81e9fe61362df02b9941de8e38a9b5fd16</meta:generator><dc:date>2012-02-20T22:17:18.060000000</dc:date><meta:editing-duration>PT14M12S</meta:editing-duration><meta:editing-cycles>3</meta:editing-cycles><meta:document-statistic meta:table-count="5" meta:image-count="1" meta:object-count="0" meta:page-count="2" meta:paragraph-count="3192" meta:word-count="11299" meta:character-count="81656" meta:non-whitespace-character-count="71471"/><meta:user-defined meta:name="google-site-verification">JUebjoxEpqXoQcpltWRTwzBZEEHtch3wApdhgiQPFiA</meta:user-defined></office:meta> <office:settings> <config:config-item-set config:name="ooo:view-settings"> - <config:config-item config:name="ViewAreaTop" config:type="long">660</config:config-item> + <config:config-item config:name="ViewAreaTop" config:type="long">739</config:config-item> <config:config-item config:name="ViewAreaLeft" config:type="long">501</config:config-item> - <config:config-item config:name="ViewAreaWidth" config:type="long">23629</config:config-item> - <config:config-item config:name="ViewAreaHeight" config:type="long">15215</config:config-item> + <config:config-item config:name="ViewAreaWidth" config:type="long">30058</config:config-item> + <config:config-item config:name="ViewAreaHeight" config:type="long">9077</config:config-item> <config:config-item config:name="ShowRedlineChanges" config:type="boolean">true</config:config-item> <config:config-item config:name="InBrowseMode" config:type="boolean">true</config:config-item> <config:config-item-map-indexed config:name="Views"> @@ -16,9 +16,9 @@ <config:config-item config:name="ViewLeft" config:type="long">3676</config:config-item> <config:config-item config:name="ViewTop" config:type="long">3471</config:config-item> <config:config-item config:name="VisibleLeft" config:type="long">501</config:config-item> - <config:config-item config:name="VisibleTop" config:type="long">660</config:config-item> - <config:config-item config:name="VisibleRight" config:type="long">24128</config:config-item> - <config:config-item config:name="VisibleBottom" config:type="long">15873</config:config-item> + <config:config-item config:name="VisibleTop" config:type="long">739</config:config-item> + <config:config-item config:name="VisibleRight" config:type="long">30558</config:config-item> + <config:config-item config:name="VisibleBottom" config:type="long">9814</config:config-item> <config:config-item config:name="ZoomType" config:type="short">0</config:config-item> <config:config-item config:name="ViewLayoutColumns" config:type="short">0</config:config-item> <config:config-item config:name="ViewLayoutBookMode" config:type="boolean">false</config:config-item> @@ -36,6 +36,7 @@ <config:config-item config:name="PrintProspect" config:type="boolean">false</config:config-item> <config:config-item config:name="PrintSingleJobs" config:type="boolean">false</config:config-item> <config:config-item config:name="PrintEmptyPages" config:type="boolean">false</config:config-item> + <config:config-item config:name="SubtractFlysAnchoredAtFlys" config:type="boolean">true</config:config-item> <config:config-item config:name="ApplyParagraphMarkFormatToNumbering" config:type="boolean">false</config:config-item> <config:config-item config:name="TabOverMargin" config:type="boolean">false</config:config-item> <config:config-item config:name="EmbedSystemFonts" config:type="boolean">false</config:config-item> @@ -82,7 +83,7 @@ <config:config-item config:name="ConsiderTextWrapOnObjPos" config:type="boolean">false</config:config-item> <config:config-item config:name="CurrentDatabaseCommandType" config:type="int">0</config:config-item> <config:config-item config:name="RedlineProtectionKey" config:type="base64Binary"/> - <config:config-item config:name="Rsid" config:type="int">2684130</config:config-item> + <config:config-item config:name="Rsid" config:type="int">2811305</config:config-item> <config:config-item config:name="PrintProspectRTL" config:type="boolean">false</config:config-item> <config:config-item config:name="PrinterSetup" config:type="base64Binary"/> <config:config-item config:name="AlignTabStopPosition" config:type="boolean">true</config:config-item> @@ -131,8 +132,8 @@ <style:font-face style:name="HG Mincho Light J" svg:font-family="'HG Mincho Light J'" style:font-pitch="variable"/> <style:font-face style:name="Thorndale AMT" svg:font-family="'Thorndale AMT'" style:font-family-generic="roman" style:font-pitch="variable"/> <style:font-face style:name="Albany" svg:font-family="Albany" style:font-family-generic="swiss" style:font-pitch="variable"/> - <style:font-face style:name="Liberation Sans1" svg:font-family="'Liberation Sans'" style:font-adornments="Bold" style:font-family-generic="swiss" style:font-pitch="variable"/> - <style:font-face style:name="Liberation Sans" svg:font-family="'Liberation Sans'" style:font-adornments="Regular" style:font-family-generic="swiss" style:font-pitch="variable"/> + <style:font-face style:name="Liberation Sans" svg:font-family="'Liberation Sans'" style:font-adornments="Bold" style:font-family-generic="swiss" style:font-pitch="variable"/> + <style:font-face style:name="Liberation Sans1" svg:font-family="'Liberation Sans'" style:font-adornments="Regular" style:font-family-generic="swiss" style:font-pitch="variable"/> <style:font-face style:name="Mangal" svg:font-family="Mangal" style:font-family-generic="system" style:font-pitch="variable"/> <style:font-face style:name="SimSun" svg:font-family="SimSun" style:font-family-generic="system" style:font-pitch="variable"/> </office:font-face-decls> @@ -163,7 +164,7 @@ </style:style> <style:style style:name="Text_20_body" style:display-name="Text body" style:family="paragraph" style:parent-style-name="Standard" style:class="text"> <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0.499cm" loext:contextual-spacing="false"/> - <style:text-properties style:font-name="Liberation Sans" fo:font-family="'Liberation Sans'" style:font-style-name="Regular" style:font-family-generic="swiss" style:font-pitch="variable" fo:language="en" fo:country="US"/> + <style:text-properties style:font-name="Liberation Sans1" fo:font-family="'Liberation Sans'" style:font-style-name="Regular" style:font-family-generic="swiss" style:font-pitch="variable" fo:language="en" fo:country="US"/> </style:style> <style:style style:name="List" style:family="paragraph" style:parent-style-name="Text_20_body" style:class="list"> <style:text-properties style:font-size-asian="12pt" style:font-name-complex="Mangal1" style:font-family-complex="Mangal"/> @@ -201,7 +202,7 @@ </style:paragraph-properties> </style:style> <style:style style:name="Heading_20_1" style:display-name="Heading 1" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:class="text"> - <style:text-properties style:font-name="Liberation Sans1" fo:font-family="'Liberation Sans'" style:font-style-name="Bold" style:font-family-generic="swiss" style:font-pitch="variable" fo:font-size="24pt" fo:language="en" fo:country="US" fo:font-weight="bold" style:font-name-asian="HG Mincho Light J" style:font-family-asian="'HG Mincho Light J'" style:font-pitch-asian="variable" style:font-size-asian="24pt" style:font-weight-asian="bold" style:font-name-complex="Arial Unicode MS" style:font-family-complex="'Arial Unicode MS'" style:font-pitch-complex="variable" style:font-size-complex="24pt" style:font-weight-complex="bold"/> + <style:text-properties style:font-name="Liberation Sans" fo:font-family="'Liberation Sans'" style:font-style-name="Bold" style:font-family-generic="swiss" style:font-pitch="variable" fo:font-size="24pt" fo:language="en" fo:country="US" fo:font-weight="bold" style:font-name-asian="HG Mincho Light J" style:font-family-asian="'HG Mincho Light J'" style:font-pitch-asian="variable" style:font-size-asian="24pt" style:font-weight-asian="bold" style:font-name-complex="Arial Unicode MS" style:font-family-complex="'Arial Unicode MS'" style:font-pitch-complex="variable" style:font-size-complex="24pt" style:font-weight-complex="bold"/> </style:style> <style:style style:name="Quotations" style:family="paragraph" style:parent-style-name="Standard" style:class="html"> <style:paragraph-properties fo:margin-left="1cm" fo:margin-right="1cm" fo:margin-top="0cm" fo:margin-bottom="0.499cm" loext:contextual-spacing="false" fo:text-indent="0cm" style:auto-text-indent="false"/> @@ -210,14 +211,14 @@ <style:text-properties fo:font-variant="small-caps"/> </style:style> <style:style style:name="Heading_20_3" style:display-name="Heading 3" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="3" style:list-style-name="" style:class="text"> - <style:text-properties style:font-name="Liberation Sans1" fo:font-family="'Liberation Sans'" style:font-style-name="Bold" style:font-family-generic="swiss" style:font-pitch="variable" fo:font-size="14pt" fo:language="en" fo:country="US" fo:font-weight="bold" style:font-name-asian="SimSun" style:font-family-asian="SimSun" style:font-family-generic-asian="system" style:font-pitch-asian="variable" style:font-size-asian="14pt" style:font-weight-asian="bold" style:font-name-complex="Mangal" style:font-family-complex="Mangal" style:font-family-generic-complex="system" style:font-pitch-complex="variable" style:font-size-complex="14pt" style:font-weight-complex="bold"/> + <style:text-properties style:font-name="Liberation Sans" fo:font-family="'Liberation Sans'" style:font-style-name="Bold" style:font-family-generic="swiss" style:font-pitch="variable" fo:font-size="14pt" fo:language="en" fo:country="US" fo:font-weight="bold" style:font-name-asian="SimSun" style:font-family-asian="SimSun" style:font-family-generic-asian="system" style:font-pitch-asian="variable" style:font-size-asian="14pt" style:font-weight-asian="bold" style:font-name-complex="Mangal" style:font-family-complex="Mangal" style:font-family-generic-complex="system" style:font-pitch-complex="variable" style:font-size-complex="14pt" style:font-weight-complex="bold"/> </style:style> <style:style style:name="Table_20_Heading" style:display-name="Table Heading" style:family="paragraph" style:parent-style-name="Table_20_Contents" style:class="extra"> <style:paragraph-properties fo:text-align="center" style:justify-single-word="false" text:number-lines="false" text:line-number="0"/> <style:text-properties fo:font-weight="bold" style:font-weight-asian="bold" style:font-weight-complex="bold"/> </style:style> <style:style style:name="Heading_20_2" style:display-name="Heading 2" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:default-outline-level="2" style:list-style-name="" style:class="text"> - <style:text-properties style:font-name="Liberation Sans1" fo:font-family="'Liberation Sans'" style:font-style-name="Bold" style:font-family-generic="swiss" style:font-pitch="variable" fo:font-size="18pt" fo:language="en" fo:country="US" fo:font-weight="bold" style:font-name-asian="SimSun" style:font-family-asian="SimSun" style:font-family-generic-asian="system" style:font-pitch-asian="variable" style:font-size-asian="18pt" style:font-weight-asian="bold" style:font-name-complex="Mangal" style:font-family-complex="Mangal" style:font-family-generic-complex="system" style:font-pitch-complex="variable" style:font-size-complex="18pt" style:font-weight-complex="bold"/> + <style:text-properties style:font-name="Liberation Sans" fo:font-family="'Liberation Sans'" style:font-style-name="Bold" style:font-family-generic="swiss" style:font-pitch="variable" fo:font-size="18pt" fo:language="en" fo:country="US" fo:font-weight="bold" style:font-name-asian="SimSun" style:font-family-asian="SimSun" style:font-family-generic-asian="system" style:font-pitch-asian="variable" style:font-size-asian="18pt" style:font-weight-asian="bold" style:font-name-complex="Mangal" style:font-family-complex="Mangal" style:font-family-generic-complex="system" style:font-pitch-complex="variable" style:font-size-complex="18pt" style:font-weight-complex="bold"/> </style:style> <style:style style:name="Frame_20_contents" style:display-name="Frame contents" style:family="paragraph" style:parent-style-name="Text_20_body" style:class="extra"/> <style:style style:name="Endnote_20_Symbol" style:display-name="Endnote Symbol" style:family="text"/> @@ -301,23 +302,26 @@ </office:styles> <office:automatic-styles> <style:style style:name="Tabelle1" style:family="table"> - <style:table-properties style:width="23.206cm" table:align="left"/> + <style:table-properties style:width="24.64cm" table:align="left"/> </style:style> <style:style style:name="Tabelle1.A" style:family="table-column"> - <style:table-column-properties style:column-width="6.288cm"/> + <style:table-column-properties style:column-width="5.902cm"/> </style:style> <style:style style:name="Tabelle1.B" style:family="table-column"> - <style:table-column-properties style:column-width="5.48cm"/> + <style:table-column-properties style:column-width="5.373cm"/> </style:style> <style:style style:name="Tabelle1.C" style:family="table-column"> - <style:table-column-properties style:column-width="6.112cm"/> + <style:table-column-properties style:column-width="6.563cm"/> </style:style> <style:style style:name="Tabelle1.D" style:family="table-column"> - <style:table-column-properties style:column-width="5.325cm"/> + <style:table-column-properties style:column-width="6.802cm"/> </style:style> <style:style style:name="Tabelle1.A1" style:family="table-cell"> <style:table-cell-properties style:vertical-align="middle" fo:padding="0.049cm" fo:border="none"/> </style:style> + <style:style style:name="Tabelle1.D231" style:family="table-cell"> + <style:table-cell-properties fo:padding="0.049cm" fo:border="none"/> + </style:style> <style:style style:name="Tabelle2" style:family="table"> <style:table-properties style:width="16.702cm" table:align="left"/> </style:style> @@ -379,23 +383,26 @@ <style:table-cell-properties fo:padding="0.049cm" fo:border="none"/> </style:style> <style:style style:name="Tabelle5" style:family="table"> - <style:table-properties style:width="23.206cm" table:align="left"/> + <style:table-properties style:width="29.635cm" table:align="left"/> </style:style> <style:style style:name="Tabelle5.A" style:family="table-column"> - <style:table-column-properties style:column-width="5.413cm"/> + <style:table-column-properties style:column-width="6.189cm"/> </style:style> <style:style style:name="Tabelle5.B" style:family="table-column"> - <style:table-column-properties style:column-width="4.865cm"/> + <style:table-column-properties style:column-width="10.552cm"/> </style:style> <style:style style:name="Tabelle5.C" style:family="table-column"> - <style:table-column-properties style:column-width="4.87cm"/> + <style:table-column-properties style:column-width="6.541cm"/> </style:style> <style:style style:name="Tabelle5.D" style:family="table-column"> - <style:table-column-properties style:column-width="8.057cm"/> + <style:table-column-properties style:column-width="6.354cm"/> </style:style> <style:style style:name="Tabelle5.A1" style:family="table-cell"> <style:table-cell-properties style:vertical-align="middle" fo:padding="0.049cm" fo:border="none"/> </style:style> + <style:style style:name="Tabelle5.D523" style:family="table-cell"> + <style:table-cell-properties fo:padding="0.049cm" fo:border="none"/> + </style:style> <style:style style:name="P1" style:family="paragraph" style:parent-style-name="Table_20_Contents"> <style:text-properties fo:font-size="2pt" style:font-size-asian="2pt" style:font-size-complex="2pt"/> </style:style> @@ -717,8 +724,7 @@ <style:footer-style/> </style:page-layout> <style:page-layout style:name="pm3"> - <style:page-layout-properties fo:page-width="21.001cm" fo:page-height="29.7cm" style:num-format="1" style:print-orientation="portrait" fo:margin-top="1cm" fo:margin-bottom="1cm" fo:margin-left="2cm" fo:margin-right="1cm" fo:background-color="#ffffff" style:writing-mode="lr-tb" style:footnote-max-height="0cm"> - <style:background-image/> + <style:page-layout-properties fo:page-width="21.001cm" fo:page-height="29.7cm" style:num-format="1" style:print-orientation="portrait" fo:margin-top="1cm" fo:margin-bottom="1cm" fo:margin-left="2cm" fo:margin-right="1cm" fo:background-color="#ffffff" style:writing-mode="lr-tb" draw:fill="solid" draw:fill-color="#ffffff" draw:opacity="100%" style:footnote-max-height="0cm"> <style:footnote-sep style:width="0.018cm" style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" style:line-style="none" style:adjustment="left" style:rel-width="25%" style:color="#000000"/> </style:page-layout-properties> <style:header-style/> @@ -1002,7 +1008,7 @@ </office:binary-data> </draw:image> </draw:frame>Credits</text:p> - <text:p text:style-name="Text_20_body">1055 individuals contributed to OpenOffice.org (and whose contributions were imported into LibreOffice) or LibreOffice until 2015-04-28 21:51:10.</text:p> + <text:p text:style-name="Text_20_body">1058 individuals contributed to OpenOffice.org (and whose contributions were imported into LibreOffice) or LibreOffice until 2015-05-26 10:47:30.</text:p> <text:p text:style-name="Text_20_body"><text:span text:style-name="T1">*</text:span> marks developers whose first contributions happened after 2010-09-28.</text:p> <text:h text:style-name="Heading_20_2" text:outline-level="2">Developers committing code since 2010-09-28</text:h> <table:table table:name="Tabelle1" table:style-name="Tabelle1"> @@ -1029,18 +1035,18 @@ <text:p text:style-name="Table_20_Contents">Vladimir Glazunov<text:line-break/>Commits: 25434<text:line-break/>Joined: 2000-12-04</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents">Caolán McNamara<text:line-break/>Commits: 17009<text:line-break/>Joined: 2000-10-10</text:p> + <text:p text:style-name="Table_20_Contents">Caolán McNamara<text:line-break/>Commits: 17219<text:line-break/>Joined: 2000-10-10</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> <text:p text:style-name="Table_20_Contents">Ivo Hinkelmann<text:line-break/>Commits: 9480<text:line-break/>Joined: 2002-09-09</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents">Stephan Bergmann<text:line-break/>Commits: 8880<text:line-break/>Joined: 2000-10-04</text:p> + <text:p text:style-name="Table_20_Contents">Stephan Bergmann<text:line-break/>Commits: 9142<text:line-break/>Joined: 2000-10-04</text:p> </table:table-cell> </table:table-row> <table:table-row> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents">Tor Lillqvist<text:line-break/>Commits: 6862<text:line-break/>Joined: 2010-03-23</text:p> + <text:p text:style-name="Table_20_Contents">Tor Lillqvist<text:line-break/>Commits: 6907<text:line-break/>Joined: 2010-03-23</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> <text:p text:style-name="Table_20_Contents">Kohei Yoshida<text:line-break/>Commits: 5360<text:line-break/>Joined: 2009-06-19</text:p> @@ -1049,32 +1055,32 @@ <text:p text:style-name="Table_20_Contents">Frank Schoenheit [fs]<text:line-break/>Commits: 5008<text:line-break/>Joined: 2000-09-19</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents">Michael Stahl<text:line-break/>Commits: 4477<text:line-break/>Joined: 2008-06-16</text:p> + <text:p text:style-name="Table_20_Contents">Michael Stahl<text:line-break/>Commits: 4564<text:line-break/>Joined: 2008-06-16</text:p> </table:table-cell> </table:table-row> <table:table-row> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents">Miklos Vajna<text:line-break/>Commits: 4356<text:line-break/>Joined: 2010-07-29</text:p> + <text:p text:style-name="Table_20_Contents">Miklos Vajna<text:line-break/>Commits: 4453<text:line-break/>Joined: 2010-07-29</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Noel Grandin<text:line-break/>Commits: 3684<text:line-break/>Joined: <text:span text:style-name="T2">2011-12-12</text:span></text:p> + <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Noel Grandin<text:line-break/>Commits: 3842<text:line-break/>Joined: <text:span text:style-name="T2">2011-12-12</text:span></text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Markus Mohrhard<text:line-break/>Commits: 3490<text:line-break/>Joined: <text:span text:style-name="T2">2011-03-17</text:span></text:p> + <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Markus Mohrhard<text:line-break/>Commits: 3593<text:line-break/>Joined: <text:span text:style-name="T2">2011-03-17</text:span></text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents">Hans-Joachim Lankenau<text:line-break/>Commits: 3007<text:line-break/>Joined: 2000-09-19</text:p> + <text:p text:style-name="Table_20_Contents">David Tardon<text:line-break/>Commits: 3038<text:line-break/>Joined: 2009-11-12</text:p> </table:table-cell> </table:table-row> <table:table-row> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents">David Tardon<text:line-break/>Commits: 3001<text:line-break/>Joined: 2009-11-12</text:p> + <text:p text:style-name="Table_20_Contents">Hans-Joachim Lankenau<text:line-break/>Commits: 3007<text:line-break/>Joined: 2000-09-19</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> <text:p text:style-name="Table_20_Contents">Ocke Janssen [oj]<text:line-break/>Commits: 2850<text:line-break/>Joined: 2000-09-20</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents">Eike Rathke<text:line-break/>Commits: 2625<text:line-break/>Joined: 2000-10-11</text:p> + <text:p text:style-name="Table_20_Contents">Eike Rathke<text:line-break/>Commits: 2643<text:line-break/>Joined: 2000-10-11</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> <text:p text:style-name="Table_20_Contents">Mathias Bauer<text:line-break/>Commits: 2580<text:line-break/>Joined: 2000-09-20</text:p> @@ -1088,32 +1094,32 @@ <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Thomas Arnhold<text:line-break/>Commits: 2176<text:line-break/>Joined: <text:span text:style-name="T2">2011-01-16</text:span></text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Norbert Thiebaud<text:line-break/>Commits: 2090<text:line-break/>Joined: <text:span text:style-name="T2">2010-09-29</text:span></text:p> + <text:p text:style-name="Table_20_Contents">Jan Holesovsky<text:line-break/>Commits: 2112<text:line-break/>Joined: 2009-06-23</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents">Philipp Lohmann [pl]<text:line-break/>Commits: 2089<text:line-break/>Joined: 2000-09-21</text:p> + <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Norbert Thiebaud<text:line-break/>Commits: 2097<text:line-break/>Joined: <text:span text:style-name="T2">2010-09-29</text:span></text:p> </table:table-cell> </table:table-row> <table:table-row> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents">Jan Holesovsky<text:line-break/>Commits: 2058<text:line-break/>Joined: 2009-06-23</text:p> + <text:p text:style-name="Table_20_Contents">Philipp Lohmann [pl]<text:line-break/>Commits: 2089<text:line-break/>Joined: 2000-09-21</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents">Bjoern Michaelsen<text:line-break/>Commits: 1837<text:line-break/>Joined: 2009-10-14</text:p> + <text:p text:style-name="Table_20_Contents">Bjoern Michaelsen<text:line-break/>Commits: 1869<text:line-break/>Joined: 2009-10-14</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> <text:p text:style-name="Table_20_Contents">Christian Lippka<text:line-break/>Commits: 1805<text:line-break/>Joined: 2000-09-25</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Julien Nabet<text:line-break/>Commits: 1691<text:line-break/>Joined: <text:span text:style-name="T2">2010-11-04</text:span></text:p> + <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Julien Nabet<text:line-break/>Commits: 1713<text:line-break/>Joined: <text:span text:style-name="T2">2010-11-04</text:span></text:p> </table:table-cell> </table:table-row> <table:table-row> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Matúš Kukan<text:line-break/>Commits: 1634<text:line-break/>Joined: <text:span text:style-name="T2">2011-04-06</text:span></text:p> + <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Matúš Kukan<text:line-break/>Commits: 1636<text:line-break/>Joined: <text:span text:style-name="T2">2011-04-06</text:span></text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Andras Timar<text:line-break/>Commits: 1558<text:line-break/>Joined: <text:span text:style-name="T2">2010-10-02</text:span></text:p> + <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Andras Timar<text:line-break/>Commits: 1575<text:line-break/>Joined: <text:span text:style-name="T2">2010-10-02</text:span></text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> <text:p text:style-name="Table_20_Contents">LuboÅ¡ LuÅák<text:line-break/>Commits: 1521<text:line-break/>Joined: 2010-09-21</text:p> @@ -1133,18 +1139,18 @@ <text:p text:style-name="Table_20_Contents">Niklas Nebel<text:line-break/>Commits: 1296<text:line-break/>Joined: 2000-09-19</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents">Daniel Rentz [dr]<text:line-break/>Commits: 1206<text:line-break/>Joined: 2000-09-28</text:p> + <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Tomaž Vajngerl<text:line-break/>Commits: 1282<text:line-break/>Joined: <text:span text:style-name="T2">2012-06-02</text:span></text:p> </table:table-cell> </table:table-row> <table:table-row> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents">Armin Le Grand<text:line-break/>Commits: 1187<text:line-break/>Joined: 2000-09-25</text:p> + <text:p text:style-name="Table_20_Contents">Daniel Rentz [dr]<text:line-break/>Commits: 1206<text:line-break/>Joined: 2000-09-28</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents">Thorsten Behrens<text:line-break/>Commits: 1100<text:line-break/>Joined: 2001-04-25</text:p> + <text:p text:style-name="Table_20_Contents">Armin Le Grand<text:line-break/>Commits: 1187<text:line-break/>Joined: 2000-09-25</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Tomaž Vajngerl<text:line-break/>Commits: 1075<text:line-break/>Joined: <text:span text:style-name="T2">2012-06-02</text:span></text:p> + <text:p text:style-name="Table_20_Contents">Thorsten Behrens<text:line-break/>Commits: 1116<text:line-break/>Joined: 2001-04-25</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> <text:p text:style-name="Table_20_Contents">Petr Mladek<text:line-break/>Commits: 958<text:line-break/>Joined: 2006-10-03</text:p> @@ -1155,7 +1161,7 @@ <text:p text:style-name="Table_20_Contents">Noel Power<text:line-break/>Commits: 950<text:line-break/>Joined: 2002-09-24</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Lionel Elie Mamane<text:line-break/>Commits: 916<text:line-break/>Joined: <text:span text:style-name="T2">2011-01-15</text:span></text:p> + <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Lionel Elie Mamane<text:line-break/>Commits: 917<text:line-break/>Joined: <text:span text:style-name="T2">2011-01-15</text:span></text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> <text:p text:style-name="Table_20_Contents">Kai Ahrens<text:line-break/>Commits: 909<text:line-break/>Joined: 2000-09-21</text:p> @@ -1166,13 +1172,13 @@ </table:table-row> <table:table-row> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents">Cédric Bosdonnat<text:line-break/>Commits: 882<text:line-break/>Joined: 2009-11-16</text:p> + <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Matteo Casalin<text:line-break/>Commits: 894<text:line-break/>Joined: <text:span text:style-name="T2">2011-11-13</text:span></text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Takeshi Abe<text:line-break/>Commits: 875<text:line-break/>Joined: <text:span text:style-name="T2">2010-11-08</text:span></text:p> + <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Takeshi Abe<text:line-break/>Commits: 890<text:line-break/>Joined: <text:span text:style-name="T2">2010-11-08</text:span></text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Matteo Casalin<text:line-break/>Commits: 870<text:line-break/>Joined: <text:span text:style-name="T2">2011-11-13</text:span></text:p> + <text:p text:style-name="Table_20_Contents">Cédric Bosdonnat<text:line-break/>Commits: 882<text:line-break/>Joined: 2009-11-16</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> <text:p text:style-name="Table_20_Contents">Malte Timmermann [mt]<text:line-break/>Commits: 864<text:line-break/>Joined: 2000-10-10</text:p> @@ -1208,7 +1214,10 @@ </table:table-row> <table:table-row> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Zolnai Tamás<text:line-break/>Commits: 715<text:line-break/>Joined: <text:span text:style-name="T2">2012-08-06</text:span></text:p> + <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Zolnai Tamás<text:line-break/>Commits: 716<text:line-break/>Joined: <text:span text:style-name="T2">2012-08-06</text:span></text:p> + </table:table-cell> + <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> + <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Andrzej Hunt<text:line-break/>Commits: 693<text:line-break/>Joined: <text:span text:style-name="T2">2012-03-27</text:span></text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> <text:p text:style-name="Table_20_Contents">Joerg Skottke [jsk]<text:line-break/>Commits: 678<text:line-break/>Joined: 2008-06-17</text:p> @@ -1216,11 +1225,11 @@ <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Joseph Powers<text:line-break/>Commits: 658<text:line-break/>Joined: <text:span text:style-name="T2">2010-10-15</text:span></text:p> </table:table-cell> + </table:table-row> + <table:table-row> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> <text:p text:style-name="Table_20_Contents">Kai Sommerfeld<text:line-break/>Commits: 651<text:line-break/>Joined: 2000-10-10</text:p> </table:table-cell> - </table:table-row> - <table:table-row> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> <text:p text:style-name="Table_20_Contents">Ingrid Halama<text:line-break/>Commits: 639<text:line-break/>Joined: 2001-01-19</text:p> </table:table-cell> @@ -1228,24 +1237,21 @@ <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Rafael Dominguez<text:line-break/>Commits: 606<text:line-break/>Joined: <text:span text:style-name="T2">2011-02-13</text:span></text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents">Thomas Benisch [tbe]<text:line-break/>Commits: 551<text:line-break/>Joined: 2000-10-23</text:p> - </table:table-cell> - <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents">Jürgen Schmidt<text:line-break/>Commits: 512<text:line-break/>Joined: 2000-10-09</text:p> + <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Michael Meeks<text:line-break/>Commits: 575<text:line-break/>Joined: <text:span text:style-name="T2">2013-09-10</text:span></text:p> </table:table-cell> </table:table-row> <table:table-row> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Andrzej Hunt<text:line-break/>Commits: 506<text:line-break/>Joined: <text:span text:style-name="T2">2012-03-27</text:span></text:p> + <text:p text:style-name="Table_20_Contents">Thomas Benisch [tbe]<text:line-break/>Commits: 551<text:line-break/>Joined: 2000-10-23</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Michael Meeks<text:line-break/>Commits: 499<text:line-break/>Joined: <text:span text:style-name="T2">2013-09-10</text:span></text:p> + <text:p text:style-name="Table_20_Contents">Jürgen Schmidt<text:line-break/>Commits: 512<text:line-break/>Joined: 2000-10-09</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents">Andreas Bregas<text:line-break/>Commits: 470<text:line-break/>Joined: 2000-09-25</text:p> + <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Chris Sherlock<text:line-break/>Commits: 499<text:line-break/>Joined: <text:span text:style-name="T2">2013-02-25</text:span></text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Chris Sherlock<text:line-break/>Commits: 469<text:line-break/>Joined: <text:span text:style-name="T2">2013-02-25</text:span></text:p> + <text:p text:style-name="Table_20_Contents">Andreas Bregas<text:line-break/>Commits: 470<text:line-break/>Joined: 2000-09-25</text:p> </table:table-cell> </table:table-row> <table:table-row> @@ -1256,7 +1262,7 @@ <text:p text:style-name="Table_20_Contents">Dirk Voelzke<text:line-break/>Commits: 392<text:line-break/>Joined: 2000-11-27</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents">Rene Engelhard<text:line-break/>Commits: 387<text:line-break/>Joined: 2005-03-14</text:p> + <text:p text:style-name="Table_20_Contents">Rene Engelhard<text:line-break/>Commits: 388<text:line-break/>Joined: 2005-03-14</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Ivan Timofeev<text:line-break/>Commits: 380<text:line-break/>Joined: <text:span text:style-name="T2">2011-09-16</text:span></text:p> @@ -1287,15 +1293,15 @@ <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>August Sodora<text:line-break/>Commits: 285<text:line-break/>Joined: <text:span text:style-name="T2">2011-10-18</text:span></text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Pierre-André Jacquod<text:line-break/>Commits: 276<text:line-break/>Joined: <text:span text:style-name="T2">2010-11-13</text:span></text:p> + <text:p text:style-name="Table_20_Contents">Christian Lohmaier<text:line-break/>Commits: 279<text:line-break/>Joined: 2008-06-01</text:p> </table:table-cell> </table:table-row> <table:table-row> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Siqi Liu<text:line-break/>Commits: 275<text:line-break/>Joined: <text:span text:style-name="T2">2013-04-13</text:span></text:p> + <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Pierre-André Jacquod<text:line-break/>Commits: 276<text:line-break/>Joined: <text:span text:style-name="T2">2010-11-13</text:span></text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents">Christian Lohmaier<text:line-break/>Commits: 272<text:line-break/>Joined: 2008-06-01</text:p> + <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Siqi Liu<text:line-break/>Commits: 275<text:line-break/>Joined: <text:span text:style-name="T2">2013-04-13</text:span></text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> <text:p text:style-name="Table_20_Contents">Lars Langhans<text:line-break/>Commits: 260<text:line-break/>Joined: 2000-09-22</text:p> @@ -1306,24 +1312,24 @@ </table:table-row> <table:table-row> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Robert Antoni Buj Gelonch<text:line-break/>Commits: 239<text:line-break/>Joined: <text:span text:style-name="T2">2014-06-11</text:span></text:p> + <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Robert Antoni Buj Gelonch<text:line-break/>Commits: 246<text:line-break/>Joined: <text:span text:style-name="T2">2014-06-11</text:span></text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Khaled Hosny<text:line-break/>Commits: 224<text:line-break/>Joined: <text:span text:style-name="T2">2011-01-28</text:span></text:p> + <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Katarina Behrens<text:line-break/>Commits: 229<text:line-break/>Joined: <text:span text:style-name="T2">2010-10-13</text:span></text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>David Ostrovsky<text:line-break/>Commits: 218<text:line-break/>Joined: <text:span text:style-name="T2">2012-04-01</text:span></text:p> + <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T1">*</text:span>Khaled Hosny<text:line-break/>Commits: 226<text:line-break/>Joined: <text:span text:style-name="T2">2011-01-28</text:span></text:p> ... etc. - the rest is truncated
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits