[Libreoffice-commits] core.git: Branch 'distro/cib/libreoffice-5-1' - 126 commits - basic/source configure.ac connectivity/source cui/source cui/uiconfig desktop/inc desktop/Library_sofficeapp.mk desktop/source dictionaries download.lst dtrans/source editeng/source embeddedobj/source external/curl external/lcms2 external/libodfgen filter/source framework/source i18npool/qa i18npool/source icon-themes/galaxy icon-themes/sifr include/basic include/opencl include/sfx2 include/svx include/vcl instsetoo_native/inc_common instsetoo_native/util linguistic/source odk/settings officecfg/registry opencl/inc opencl/Library_opencl.mk opencl/source package/source postprocess/CustomTarget_registry.mk readlicense_oo/license reportdesign/source Repository.mk sc/inc sc/Module_sc.mk sc/Package_opencl.mk sc/source sd/inc sd/qa sd/source sfx2/source solenv/gbuild starmath/source svgio/source svl/source svtools/source svx/source sw/inc sw/qa sw/source sw/uiconfig translations uui/source vcl/inc vcl/Library_vcl.mk vcl /opengl vcl/source vcl/unx vcl/win wizards/com writerfilter/qa writerfilter/source
Katarina Behrens
Katarina.Behrens at cib.de
Mon Sep 26 03:48:32 UTC 2016
Rebased ref, commits from common ancestor:
commit a966e59b4df26d6b86a3fe8ea0e0877d49601697
Author: Katarina Behrens <Katarina.Behrens at cib.de>
Date: Fri Mar 11 17:58:47 2016 +0100
WIP Make PDF export of cell formulas depend on configuration
Change-Id: I0d1828cb93290313f578cf40b7cd021dedd6b5ed
diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
index f6e85b5..49b4764 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
@@ -5183,6 +5183,20 @@
</constraints>
<value>0</value>
</prop>
+ <prop oor:name="ExportFormulaAsAnnotation" oor:type="xs:boolean" oor:nillable="false">
+ <info>
+ <desc>Specifies if cell formulas are exported to PDF as highlight annotations
+ (in Calc documents only).</desc>
+ </info>
+ <value>false</value>
+ </prop>
+ <prop oor:name="FormulaAnnotationHighlightColor" oor:type="xs:int" oor:nillable="false">
+ <info>
+ <desc>Specifies colour used to highlight cells that have formula in exported PDF,
+ -1 if no highlight should be used (Calc documents only).</desc>
+ </info>
+ <value>-1</value>
+ </prop>
<prop oor:name="AllowDuplicateFieldNames" oor:type="xs:boolean" oor:nillable="false">
<info>
<desc>Specifies whether multiple form fields exported are allowed
diff --git a/sc/source/ui/view/output2.cxx b/sc/source/ui/view/output2.cxx
index 38c0b5f..c1b4036 100644
--- a/sc/source/ui/view/output2.cxx
+++ b/sc/source/ui/view/output2.cxx
@@ -45,6 +45,7 @@
#include <vcl/pdfextoutdevdata.hxx>
#include <vcl/settings.hxx>
#include <o3tl/make_unique.hxx>
+#include <officecfg/Office/Common.hxx>
#include "output.hxx"
#include "document.hxx"
@@ -1468,6 +1469,7 @@ Rectangle ScOutputData::LayoutStrings(bool bPixelToLogic, bool bPaint, const ScA
"LayoutStrings: different MapUnits ?!?!" );
vcl::PDFExtOutDevData* pPDFData = dynamic_cast< vcl::PDFExtOutDevData* >(mpDev->GetExtOutDevData() );
+ bool bExportFormulaAnnotation = officecfg::Office::Common::Filter::PDF::Export::ExportFormulaAsAnnotation::get();
sc::IdleSwitch aIdleSwitch(*mpDoc, false);
ScDrawStringsVars aVars( this, bPixelToLogic );
@@ -2136,7 +2138,7 @@ Rectangle ScOutputData::LayoutStrings(bool bPixelToLogic, bool bPaint, const ScA
Rectangle aURLRect( aURLStart, aVars.GetTextSize() );
if (bHasURL)
lcl_DoHyperlinkResult(mpDev, aURLRect, aCell);
- else
+ else if (bExportFormulaAnnotation)
lcl_DoFormulaAnnotation(mpDev, aURLRect, aCell);
}
}
diff --git a/vcl/source/gdi/pdfwriter_impl.cxx b/vcl/source/gdi/pdfwriter_impl.cxx
index 4c4568f..f5586ff 100644
--- a/vcl/source/gdi/pdfwriter_impl.cxx
+++ b/vcl/source/gdi/pdfwriter_impl.cxx
@@ -39,6 +39,7 @@
#include <cppuhelper/implbase.hxx>
#include <i18nlangtag/languagetag.hxx>
#include <o3tl/numeric.hxx>
+#include <officecfg/Office/Common.hxx>
#include <osl/file.hxx>
#include <osl/thread.h>
#include <rtl/crc.h>
@@ -4712,6 +4713,8 @@ bool PDFWriterImpl::emitNoteAnnotations()
bool PDFWriterImpl::emitFormulaAnnotations()
{
int nFormulaNotes = m_aFormulaNotes.size();
+ sal_Int32 nColor = officecfg::Office::Common::Filter::PDF::Export::FormulaAnnotationHighlightColor::get();
+ Color aColor( nColor );
for (int i = 0; i < nFormulaNotes; i++)
{
@@ -4755,7 +4758,16 @@ bool PDFWriterImpl::emitFormulaAnnotations()
aLine.append( "]" );
aLine.append( "/F 4" );
- aLine.append( "/C [1 1 0]");
+
+ if ( nColor == -1 )
+ aLine.append( "/C [0.63 0.63 0.63] /CA 0") ; // light grey-ish pop-up note, transparent highlight
+ else
+ {
+ aLine.append( "/C [");
+ appendColor( aColor, aLine);
+ aLine.append( "] /CA 1");
+ }
+
aLine.append( "/Contents\n" );
appendLiteralStringEncrypt( rFormulaNote.m_aContents.Contents, rFormulaNote.m_nObject, aLine );
aLine.append( "\n" );
commit df444d756ac566fef7861786d0e5b64af6a3db65
Author: Katarina Behrens <Katarina.Behrens at cib.de>
Date: Tue Mar 8 11:41:26 2016 +0100
WIP Show cell formula as annotation in exported PDF
Conflicts:
vcl/source/gdi/pdfextoutdevdata.cxx
Change-Id: Idca8f6a27453a0f41566098a1720ee345eff3af6
diff --git a/include/vcl/pdfextoutdevdata.hxx b/include/vcl/pdfextoutdevdata.hxx
index 1140180..2553d9f 100644
--- a/include/vcl/pdfextoutdevdata.hxx
+++ b/include/vcl/pdfextoutdevdata.hxx
@@ -318,6 +318,7 @@ public:
or -1 in which case the current page is used
*/
void CreateNote( const Rectangle& rRect, const PDFNote& rNote, sal_Int32 nPageNr = -1 );
+ void CreateFormulaAnnotation( const Rectangle& rRect, const PDFNote& rNote, sal_Int32 nPageNr = -1 );
/** begin a new logical structure element
diff --git a/include/vcl/pdfwriter.hxx b/include/vcl/pdfwriter.hxx
index c10f1cc..225966b 100644
--- a/include/vcl/pdfwriter.hxx
+++ b/include/vcl/pdfwriter.hxx
@@ -1086,6 +1086,7 @@ The following structure describes the permissions used in PDF security
or -1 in which case the current page is used
*/
void CreateNote( const Rectangle& rRect, const PDFNote& rNote, sal_Int32 nPageNr = -1 );
+ void CreateFormulaAnnotation( const Rectangle& rRect, const PDFNote& rNote, sal_Int32 nPageNr = -1 );
/** begin a new logical structure element
diff --git a/sc/source/ui/view/output2.cxx b/sc/source/ui/view/output2.cxx
index 718b3cc..38c0b5f 100644
--- a/sc/source/ui/view/output2.cxx
+++ b/sc/source/ui/view/output2.cxx
@@ -851,6 +851,33 @@ static void lcl_DoHyperlinkResult( OutputDevice* pDev, const Rectangle& rRect, S
}
}
+static void lcl_DoFormulaAnnotation( OutputDevice* pDev, const Rectangle& rRect, ScRefCellValue& rCell )
+{
+ vcl::PDFExtOutDevData* pPDFData = dynamic_cast< vcl::PDFExtOutDevData* >( pDev->GetExtOutDevData() );
+
+ ScFormulaCell* pFCell = rCell.mpFormula;
+
+ if (pFCell && pPDFData)
+ {
+ OUString aFormula;
+ pFCell->GetFormula( aFormula );
+
+ if ( !aFormula.isEmpty() )
+ {
+ const OUString aEquals("=");
+ OUString aAnnotation;
+ vcl::PDFNote aPDFNote;
+
+ // chop off leading '=', some PDF viewers don't like it
+ if ( aFormula.startsWith( aEquals ) )
+ aAnnotation = aFormula.copy( 1, aFormula.getLength() - 1 );
+
+ aPDFNote.Contents = aAnnotation;
+ pPDFData->CreateFormulaAnnotation( rRect, aPDFNote);
+ }
+ }
+}
+
void ScOutputData::SetSyntaxColor( vcl::Font* pFont, const ScRefCellValue& rCell )
{
switch (rCell.meType)
@@ -2102,11 +2129,15 @@ Rectangle ScOutputData::LayoutStrings(bool bPixelToLogic, bool bPaint, const ScA
}
// PDF: whole-cell hyperlink from formula?
- bool bHasURL = pPDFData && aCell.meType == CELLTYPE_FORMULA && aCell.mpFormula->IsHyperLinkCell();
- if (bPaint && bHasURL)
+ bool bHasFormula = pPDFData && aCell.meType == CELLTYPE_FORMULA;
+ bool bHasURL = bHasFormula && aCell.mpFormula->IsHyperLinkCell();
+ if (bPaint && bHasFormula)
{
Rectangle aURLRect( aURLStart, aVars.GetTextSize() );
- lcl_DoHyperlinkResult(mpDev, aURLRect, aCell);
+ if (bHasURL)
+ lcl_DoHyperlinkResult(mpDev, aURLRect, aCell);
+ else
+ lcl_DoFormulaAnnotation(mpDev, aURLRect, aCell);
}
}
}
diff --git a/vcl/source/gdi/pdfextoutdevdata.cxx b/vcl/source/gdi/pdfextoutdevdata.cxx
index 75ce7de..f7fb254 100644
--- a/vcl/source/gdi/pdfextoutdevdata.cxx
+++ b/vcl/source/gdi/pdfextoutdevdata.cxx
@@ -36,6 +36,7 @@ struct PDFExtOutDevDataSync
enum Action{ CreateNamedDest,
CreateDest,
CreateLink,
+ CreateFormulaAnnotation,
SetLinkDest,
SetLinkURL,
RegisterDest,
@@ -83,6 +84,7 @@ struct GlobalSyncData
std::deque< OUString > mParaOUStrings;
std::deque< PDFWriter::DestAreaType > mParaDestAreaTypes;
std::deque< PDFNote > mParaPDFNotes;
+ std::deque< PDFNote > mParaFormulaNotes;
std::deque< PDFWriter::PageTransition > mParaPageTransitions;
::std::map< sal_Int32, PDFLinkDestination > mFutureDestinations;
@@ -251,6 +253,16 @@ void GlobalSyncData::PlayGlobalActions( PDFWriter& rWriter )
mParaPDFNotes.pop_front();
mParaInts.pop_front();
}
+ case PDFExtOutDevDataSync::CreateFormulaAnnotation :
+ {
+ rWriter.Push( PushFlags::MAPMODE );
+ rWriter.SetMapMode( mParaMapModes.front() );
+ rWriter.CreateFormulaAnnotation( mParaRects.front(), mParaFormulaNotes.front(), mParaInts.front() );
+ mParaMapModes.pop_front();
+ mParaRects.pop_front();
+ mParaFormulaNotes.pop_front();
+ mParaInts.pop_front();
+ }
break;
case PDFExtOutDevDataSync::SetAutoAdvanceTime :
{
@@ -489,6 +501,7 @@ bool PageSyncData::PlaySyncPageAct( PDFWriter& rWriter, sal_uInt32& rCurGDIMtfAc
case PDFExtOutDevDataSync::SetOutlineItemText:
case PDFExtOutDevDataSync::SetOutlineItemDest:
case PDFExtOutDevDataSync::CreateNote:
+ case PDFExtOutDevDataSync::CreateFormulaAnnotation:
case PDFExtOutDevDataSync::SetAutoAdvanceTime:
case PDFExtOutDevDataSync::SetPageTransition:
break;
@@ -679,6 +692,14 @@ void PDFExtOutDevData::CreateNote( const Rectangle& rRect, const PDFNote& rNote,
mpGlobalSyncData->mParaPDFNotes.push_back( rNote );
mpGlobalSyncData->mParaInts.push_back( nPageNr == -1 ? mnPage : nPageNr );
}
+void PDFExtOutDevData::CreateFormulaAnnotation( const Rectangle& rRect, const PDFNote& rNote, sal_Int32 nPageNr )
+{
+ mpGlobalSyncData->mActions.push_back( PDFExtOutDevDataSync::CreateFormulaAnnotation );
+ mpGlobalSyncData->mParaRects.push_back( rRect );
+ mpGlobalSyncData->mParaMapModes.push_back( mrOutDev.GetMapMode() );
+ mpGlobalSyncData->mParaFormulaNotes.push_back( rNote );
+ mpGlobalSyncData->mParaInts.push_back( nPageNr == -1 ? mnPage : nPageNr );
+}
void PDFExtOutDevData::SetPageTransition( PDFWriter::PageTransition eType, sal_uInt32 nMilliSec, sal_Int32 nPageNr )
{
mpGlobalSyncData->mActions.push_back( PDFExtOutDevDataSync::SetPageTransition );
diff --git a/vcl/source/gdi/pdfwriter.cxx b/vcl/source/gdi/pdfwriter.cxx
index 6a22e4a..fb9092d 100644
--- a/vcl/source/gdi/pdfwriter.cxx
+++ b/vcl/source/gdi/pdfwriter.cxx
@@ -387,6 +387,11 @@ void PDFWriter::CreateNote( const Rectangle& rRect, const PDFNote& rNote, sal_In
xImplementation->createNote( rRect, rNote, nPageNr );
}
+void PDFWriter::CreateFormulaAnnotation( const Rectangle& rRect, const PDFNote& rNote, sal_Int32 nPageNr )
+{
+ xImplementation->createFormulaAnnotation( rRect, rNote, nPageNr );
+}
+
sal_Int32 PDFWriter::BeginStructureElement( PDFWriter::StructElement eType, const OUString& rAlias )
{
return xImplementation->beginStructureElement( eType, rAlias );
diff --git a/vcl/source/gdi/pdfwriter_impl.cxx b/vcl/source/gdi/pdfwriter_impl.cxx
index 6051b9c..4c4568f 100644
--- a/vcl/source/gdi/pdfwriter_impl.cxx
+++ b/vcl/source/gdi/pdfwriter_impl.cxx
@@ -4709,6 +4709,64 @@ bool PDFWriterImpl::emitNoteAnnotations()
return true;
}
+bool PDFWriterImpl::emitFormulaAnnotations()
+{
+ int nFormulaNotes = m_aFormulaNotes.size();
+
+ for (int i = 0; i < nFormulaNotes; i++)
+ {
+ const PDFNoteEntry &rFormulaNote = m_aFormulaNotes[i];
+
+ OStringBuffer aLine( 1024 );
+ aLine.append( rFormulaNote.m_nObject );
+ aLine.append( " 0 obj\n" );
+
+ aLine.append( "<</Type/Annot" );
+ aLine.append( "/Rect[" );
+
+ appendFixedInt( rFormulaNote.m_aRect.Left(), aLine );
+ aLine.append( ' ' );
+ appendFixedInt( rFormulaNote.m_aRect.Top(), aLine );
+ aLine.append( ' ' );
+ appendFixedInt( rFormulaNote.m_aRect.Right(), aLine );
+ aLine.append( ' ' );
+ appendFixedInt( rFormulaNote.m_aRect.Bottom(), aLine );
+ aLine.append( "]" );
+
+ aLine.append( "/Subtype/Highlight" );
+ aLine.append( "/QuadPoints[" );
+
+ appendFixedInt( rFormulaNote.m_aRect.Left(), aLine );
+ aLine.append( ' ' );
+ appendFixedInt( rFormulaNote.m_aRect.Top(), aLine );
+ aLine.append( ' ' );
+ appendFixedInt( rFormulaNote.m_aRect.Right(), aLine );
+ aLine.append( ' ' );
+ appendFixedInt( rFormulaNote.m_aRect.Top(), aLine );
+ aLine.append( ' ' );
+ appendFixedInt( rFormulaNote.m_aRect.Left(), aLine );
+ aLine.append( ' ' );
+ appendFixedInt( rFormulaNote.m_aRect.Bottom(), aLine );
+ aLine.append( ' ' );
+ appendFixedInt( rFormulaNote.m_aRect.Right(), aLine );
+ aLine.append( ' ' );
+ appendFixedInt( rFormulaNote.m_aRect.Bottom(), aLine );
+ aLine.append( ' ' );
+ aLine.append( "]" );
+
+ aLine.append( "/F 4" );
+ aLine.append( "/C [1 1 0]");
+ aLine.append( "/Contents\n" );
+ appendLiteralStringEncrypt( rFormulaNote.m_aContents.Contents, rFormulaNote.m_nObject, aLine );
+ aLine.append( "\n" );
+
+ aLine.append( ">>\nendobj\n\n" );
+ CHECK_RETURN( writeBuffer( aLine.getStr(), aLine.getLength() ) );
+ }
+
+ return true;
+}
+
Font PDFWriterImpl::replaceFont( const vcl::Font& rControlFont, const vcl::Font& rAppSetFont )
{
bool bAdjustSize = false;
@@ -5622,6 +5680,7 @@ bool PDFWriterImpl::emitAnnotations()
CHECK_RETURN( emitLinkAnnotations() );
CHECK_RETURN( emitNoteAnnotations() );
+ CHECK_RETURN( emitFormulaAnnotations() );
CHECK_RETURN( emitWidgetAnnotations() );
return true;
@@ -12187,6 +12246,27 @@ void PDFWriterImpl::createNote( const Rectangle& rRect, const PDFNote& rNote, sa
m_aPages[ nPageNr ].m_aAnnotations.push_back( m_aNotes.back().m_nObject );
}
+void PDFWriterImpl::createFormulaAnnotation( const Rectangle& rRect, const PDFNote& rNote, sal_Int32 nPageNr )
+{
+ if( nPageNr < 0 )
+ nPageNr = m_nCurrentPage;
+
+ if( nPageNr < 0 || nPageNr >= (sal_Int32)m_aPages.size() )
+ return;
+
+ m_aFormulaNotes.push_back( PDFNoteEntry() );
+ m_aFormulaNotes.back().m_nObject = createObject();
+ m_aFormulaNotes.back().m_aContents = rNote;
+ m_aFormulaNotes.back().m_aRect = rRect;
+ // convert to default user space now, since the mapmode may change
+ m_aPages[nPageNr].convertRect( m_aFormulaNotes.back().m_aRect );
+
+ // insert note to page's annotation list
+ m_aPages[ nPageNr ].m_aAnnotations.push_back( m_aFormulaNotes.back().m_nObject );
+
+ return;
+}
+
sal_Int32 PDFWriterImpl::createLink( const Rectangle& rRect, sal_Int32 nPageNr )
{
if( nPageNr < 0 )
diff --git a/vcl/source/gdi/pdfwriter_impl.hxx b/vcl/source/gdi/pdfwriter_impl.hxx
index 306bb15..71af7df 100644
--- a/vcl/source/gdi/pdfwriter_impl.hxx
+++ b/vcl/source/gdi/pdfwriter_impl.hxx
@@ -621,6 +621,7 @@ private:
/* contains all notes set during PDF creation
*/
std::vector<PDFNoteEntry> m_aNotes;
+ std::vector<PDFNoteEntry> m_aFormulaNotes;
/* the root of the structure tree
*/
std::vector<PDFStructureElement> m_aStructure;
@@ -875,6 +876,8 @@ i12626
bool emitLinkAnnotations();
// write all notes
bool emitNoteAnnotations();
+ // write cell formulas as annotations
+ bool emitFormulaAnnotations();
// write the appearance streams of a widget
bool emitAppearances( PDFWidget& rWidget, OStringBuffer& rAnnotDict );
// clean up radio button "On" values
@@ -1219,6 +1222,7 @@ public:
// notes
void createNote( const Rectangle& rRect, const PDFNote& rNote, sal_Int32 nPageNr = -1 );
+ void createFormulaAnnotation( const Rectangle& rRect, const PDFNote& rNote, sal_Int32 nPageNr = -1 );
// structure elements
sal_Int32 beginStructureElement( PDFWriter::StructElement eType, const OUString& rAlias );
void endStructureElement();
commit 55703192a79f9507c265d043572711b7d9a05e08
Author: Katarina Behrens <Katarina.Behrens at cib.de>
Date: Wed Feb 10 14:42:18 2016 +0100
Branded images for msi installer
The sizes are 122 x 234, 374 x 44 installed units respectively, according to
http://msdn.microsoft.com/de-de/library/windows/desktop/aa369490%28v=vs.85%29.aspx
it is 163x312, 499x58 pixels at 96 dpi. I bumped dpi to 120 and it still looks pixelated,
but it's as good as it gets.
For better results, we need different graphics, with less fine details given the very limited
space
Change-Id: I4a7eafed16fd79f377d27afa8151cfab614b464b
diff --git a/instsetoo_native/inc_common/windows/msi_templates/Binary/Banner.bmp b/instsetoo_native/inc_common/windows/msi_templates/Binary/Banner.bmp
index e267d49..471eea4 100644
Binary files a/instsetoo_native/inc_common/windows/msi_templates/Binary/Banner.bmp and b/instsetoo_native/inc_common/windows/msi_templates/Binary/Banner.bmp differ
diff --git a/instsetoo_native/inc_common/windows/msi_templates/Binary/Image.bmp b/instsetoo_native/inc_common/windows/msi_templates/Binary/Image.bmp
index b824ddf..2703670 100644
Binary files a/instsetoo_native/inc_common/windows/msi_templates/Binary/Image.bmp and b/instsetoo_native/inc_common/windows/msi_templates/Binary/Image.bmp differ
commit 605259f3785bca95d1c6324ad2fafd4ed1fbbfef
Author: Katarina Behrens <Katarina.Behrens at cib.de>
Date: Tue Feb 9 11:09:30 2016 +0100
Branded application icons
sadly, this doesn't replace Windows taskbar icon, that must be living somewhere
else. It works on Linux though.
Change-Id: I028fc68d96f02113622c5e1ec3ed830ac797be0b
diff --git a/icon-themes/galaxy/res/main128.png b/icon-themes/galaxy/res/main128.png
index 21fc555..818b733 100644
Binary files a/icon-themes/galaxy/res/main128.png and b/icon-themes/galaxy/res/main128.png differ
diff --git a/icon-themes/galaxy/res/mainapp_16.png b/icon-themes/galaxy/res/mainapp_16.png
index 7f43996..13945ee 100644
Binary files a/icon-themes/galaxy/res/mainapp_16.png and b/icon-themes/galaxy/res/mainapp_16.png differ
diff --git a/icon-themes/galaxy/res/mainapp_16_8.png b/icon-themes/galaxy/res/mainapp_16_8.png
index 7f43996..13945ee 100644
Binary files a/icon-themes/galaxy/res/mainapp_16_8.png and b/icon-themes/galaxy/res/mainapp_16_8.png differ
diff --git a/icon-themes/galaxy/res/mainapp_32.png b/icon-themes/galaxy/res/mainapp_32.png
index af9d79a..c653935 100644
Binary files a/icon-themes/galaxy/res/mainapp_32.png and b/icon-themes/galaxy/res/mainapp_32.png differ
diff --git a/icon-themes/galaxy/res/mainapp_32_8.png b/icon-themes/galaxy/res/mainapp_32_8.png
index af9d79a..c653935 100644
Binary files a/icon-themes/galaxy/res/mainapp_32_8.png and b/icon-themes/galaxy/res/mainapp_32_8.png differ
diff --git a/icon-themes/galaxy/res/mainapp_48_8.png b/icon-themes/galaxy/res/mainapp_48_8.png
index 394fce0..562ea23 100644
Binary files a/icon-themes/galaxy/res/mainapp_48_8.png and b/icon-themes/galaxy/res/mainapp_48_8.png differ
commit 5a074e6e96935457bd40500ba4be88e25cbd1cc3
Author: Katarina Behrens <Katarina.Behrens at cib.de>
Date: Tue Feb 9 10:38:29 2016 +0100
Point to CIB helpdesk
it's pretty mean, b/c German translation (which I can't change) says the site
is in English, while CIB site is in German only and can't be switched to other
lang
Change-Id: Ifbbb9e9d2bbee40998c07d1c68b61cd20d77dbc3
diff --git a/sfx2/source/appl/appserv.cxx b/sfx2/source/appl/appserv.cxx
index e0cfeee..fc2974d 100644
--- a/sfx2/source/appl/appserv.cxx
+++ b/sfx2/source/appl/appserv.cxx
@@ -437,8 +437,7 @@ void SfxApplication::MiscExec_Impl( SfxRequest& rReq )
case SID_SEND_FEEDBACK:
{
OUString module = SfxHelp::GetCurrentModuleIdentifier();
- OUString sURL("http://hub.libreoffice.org/send-feedback/?LOversion=" + utl::ConfigManager::getAboutBoxProductVersion() +
- "&LOlocale=" + utl::ConfigManager::getLocale() + "&LOmodule=" + module.copy(module.lastIndexOf('.') + 1 ) );
+ OUString sURL("http://libreoffice.cib.de/support");
try
{
uno::Reference< css::system::XSystemShellExecute > xSystemShellExecute(
commit be72cfa9c1a8da1ea9399b4bca247704f33d8fdd
Author: Katarina Behrens <Katarina.Behrens at cib.de>
Date: Tue Feb 9 10:00:30 2016 +0100
Point to CIB website
this idiotic postprocess script hard-codes libreoffice.org for some reason, grr
Change-Id: Ide1f19d4da9a437e01118e8baf74c0d1a8ca2e10
diff --git a/instsetoo_native/util/openoffice.lst.in b/instsetoo_native/util/openoffice.lst.in
index 5f51117..801293c 100644
--- a/instsetoo_native/util/openoffice.lst.in
+++ b/instsetoo_native/util/openoffice.lst.in
@@ -68,7 +68,7 @@ LibreOffice
CHANGETARGETDIR 1
PATCHCODEFILE ooo_patchcodes.txt
STARTCENTER_ADDFEATURE_URL http://extensions.libreoffice.org/
- STARTCENTER_INFO_URL https://www.libreoffice.org/
+ STARTCENTER_INFO_URL http://libreoffice.cib.de/
STARTCENTER_TEMPLREP_URL http://templates.libreoffice.org/
DICT_REPO_URL http://extensions.libreoffice.org/dictionaries/
STARTCENTER_HIDE_EXTERNAL_LINKS 0
@@ -121,7 +121,7 @@ LibreOfficeDev
CODEFILENAME codes_ooodev.txt
LOCALUSERDIR $ORIGIN/..
STARTCENTER_ADDFEATURE_URL http://extensions.libreoffice.org/
- STARTCENTER_INFO_URL https://www.libreoffice.org/
+ STARTCENTER_INFO_URL http://libreoffice.cib.de/
STARTCENTER_TEMPLREP_URL http://templates.libreoffice.org/
DICT_REPO_URL http://extensions.libreoffice.org/dictionaries/
STARTCENTER_HIDE_EXTERNAL_LINKS 0
@@ -163,7 +163,7 @@ LibreOffice_SDK
CHANGETARGETDIR 1
DONTUSESTARTMENUFOLDER 1
STARTCENTER_ADDFEATURE_URL http://extensions.libreoffice.org/
- STARTCENTER_INFO_URL https://www.libreoffice.org/
+ STARTCENTER_INFO_URL http://libreoffice.cib.de/
STARTCENTER_TEMPLREP_URL http://templates.libreoffice.org/
DICT_REPO_URL http://extensions.libreoffice.org/dictionaries/
STARTCENTER_HIDE_EXTERNAL_LINKS 0
@@ -209,7 +209,7 @@ LibreOfficeDev_SDK
CHANGETARGETDIR 1
DONTUSESTARTMENUFOLDER 1
STARTCENTER_ADDFEATURE_URL http://extensions.libreoffice.org/
- STARTCENTER_INFO_URL https://www.libreoffice.org/
+ STARTCENTER_INFO_URL http://libreoffice.cib.de/
STARTCENTER_TEMPLREP_URL http://templates.libreoffice.org/
DICT_REPO_URL http://extensions.libreoffice.org/dictionaries/
STARTCENTER_HIDE_EXTERNAL_LINKS 0
diff --git a/postprocess/CustomTarget_registry.mk b/postprocess/CustomTarget_registry.mk
index 6a9e2d1..8675d52 100644
--- a/postprocess/CustomTarget_registry.mk
+++ b/postprocess/CustomTarget_registry.mk
@@ -543,7 +543,7 @@ postprocess_main_SED := \
-e 's,$${PRODUCTVERSION},$(PRODUCTVERSION),g' \
-e 's,$${PRODUCTEXTENSION},.$(LIBO_VERSION_MICRO).$(LIBO_VERSION_PATCH)$(LIBO_VERSION_SUFFIX),g' \
-e 's,$${STARTCENTER_ADDFEATURE_URL},http://extensions.libreoffice.org/,g' \
- -e 's,$${STARTCENTER_INFO_URL},https://www.libreoffice.org/,g' \
+ -e 's,$${STARTCENTER_INFO_URL},http://libreoffice.cib.de/,g' \
-e 's,$${STARTCENTER_HIDE_EXTERNAL_LINKS},0,g' \
-e 's,$${STARTCENTER_TEMPLREP_URL},http://templates.libreoffice.org/,g' \
-e 's,$${SYSTEM_LIBEXTTEXTCAT_DATA},$(SYSTEM_LIBEXTTEXTCAT_DATA),g' \
diff --git a/svtools/source/misc/langhelp.cxx b/svtools/source/misc/langhelp.cxx
index 16a3a1d..24b066a 100644
--- a/svtools/source/misc/langhelp.cxx
+++ b/svtools/source/misc/langhelp.cxx
@@ -16,6 +16,7 @@
void localizeWebserviceURI( OUString& rURI )
{
+ const OUString aPrefix = "?lang=";
OUString aLang = Application::GetSettings().GetUILanguageTag().getLanguage();
if ( aLang.equalsIgnoreAsciiCase("pt")
&& Application::GetSettings().GetUILanguageTag().getCountry().equalsIgnoreAsciiCase("br") )
@@ -30,6 +31,7 @@ void localizeWebserviceURI( OUString& rURI )
aLang = "zh-tw";
}
+ rURI += aPrefix;
rURI += aLang;
}
commit acb97e274b6a8e62d5f8d4bd636611bcbd17c27c
Author: Katarina Behrens <Katarina.Behrens at cib.de>
Date: Mon Sep 21 13:47:57 2015 +0200
CIB branding for start center
Change-Id: I9887fded72131c7888d6e1b1165a778c8da2952d
diff --git a/icon-themes/galaxy/sfx2/res/logo.png b/icon-themes/galaxy/sfx2/res/logo.png
index 5d7e59c..1f215d3 100644
Binary files a/icon-themes/galaxy/sfx2/res/logo.png and b/icon-themes/galaxy/sfx2/res/logo.png differ
diff --git a/icon-themes/galaxy/sfx2/res/startcenter-logo.png b/icon-themes/galaxy/sfx2/res/startcenter-logo.png
index 3c28442..ef903fb 100644
Binary files a/icon-themes/galaxy/sfx2/res/startcenter-logo.png and b/icon-themes/galaxy/sfx2/res/startcenter-logo.png differ
diff --git a/icon-themes/galaxy/sfx2/res/startcenter-logo.svg b/icon-themes/galaxy/sfx2/res/startcenter-logo.svg
new file mode 100644
index 0000000..e1c80e5
--- /dev/null
+++ b/icon-themes/galaxy/sfx2/res/startcenter-logo.svg
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ id="svg3360"
+ version="1.1"
+ inkscape:version="0.91 r13725"
+ width="368.00235"
+ height="116.34795"
+ viewBox="0 0 368.00235 116.34795"
+ sodipodi:docname="startcenter-logo.svg">
+ <metadata
+ id="metadata3366">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs3364">
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath3372">
+ <rect
+ style="fill:#ffd5d5"
+ id="rect3374"
+ width="368.00235"
+ height="116.34795"
+ x="2.077642"
+ y="105.41204" />
+ </clipPath>
+ </defs>
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1920"
+ inkscape:window-height="1173"
+ id="namedview3362"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:zoom="0.96262974"
+ inkscape:cx="182.96235"
+ inkscape:cy="110.88"
+ inkscape:window-x="1911"
+ inkscape:window-y="-9"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="svg3360" />
+ <image
+ width="370.07999"
+ height="221.75999"
+ preserveAspectRatio="none"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgIAAAE0CAYAAABejlvhAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
+AAATOQAAEzkBj8JWAQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAA2VSURB
+VHic7d17tJV1mcDx58ABEVkKjnhhLaTERhGJCW+V5n2p43U0Fa8BXijzlrryMs6k2aRLTYs0zBjN
+0WLQaTIgkTFRtPKaISZKyk1BFLnfDwcOzB/qck7vFhTOfvdxns/nz9+zOe/DX+e79tnvfuuGdu+1
+LgCAlNrUegEAoHaEAAAkJgQAIDEhAACJCQEASEwIAEBiQgAAEhMCAJCYEACAxIQAACQmBAAgMSEA
+AIkJAQBITAgAQGJCAAASEwIAkJgQAIDEhAAAJCYEACAxIQAAiQkBAEhMCABAYkIAABITAgCQmBAA
+gMSEAAAkJgQAIDEhAACJCQEASEwIAEBiQgAAEhMCAJCYEACAxIQAACQmBAAgMSEAAIkJAQBITAgA
+QGJCAAASEwIAkJgQAIDEhAAAJCYEACAxIQAAiQkBAEhMCABAYkIAABITAgCQmBAAgMSEAAAkJgQA
+IDEhAACJCQEASEwIAEBiQgAAEhMCAJCYEACAxIQAACQmBAAgMSEAAIkJAQBITAgAQGJCAAASEwIA
+kJgQAIDEhAAAJCYEACAxIQAAiQkBAEhMCABAYkIAABITAgCQmBAAgMSEAAAkJgQAIDEhAACJCQEA
+SEwIAEBiQgAAEhMCAJCYEACAxIQAACQmBAAgMSEAAIkJAQBITAgAQGJCAAASEwIAkJgQAIDEhAAA
+JCYEACAxIQAAiQkBAEhMCABAYkIAABITAgCQmBAAgMSEAAAkJgQAIDEhAACJCQEASEwIAEBiQgAA
+EhMCAJCYEACAxIQAACQmBAAgMSEAAIkJAQBITAgAQGJCAAASEwIAkJgQAIDEhAAAJCYEACAxIQAA
+iQkBAEhMCABAYkIAABITAgCQmBAAgMSEAAAkJgQAIDEhAACJCQEASEwIAEBiQgAAEhMCAJCYEACA
+xIQAACQmBAAgMSEAAIkJAQBITAgAQGJCAAASEwIAkJgQAIDEhAAAJCYEACAxIQAAiQkBAEhMCABA
+YkIAABITAgCQmBAAgMSEAAAkJgQAIDEhAACJCQEASEwIAEBiQgAAEhMCAJCYEACAxIQAACQmBAAg
+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
+i6MwXbQAAAAASUVORK5CYII=
+"
+ id="image3368"
+ x="0"
+ y="0"
+ clip-path="url(#clipPath3372)"
+ transform="translate(-2.077642,-105.41204)" />
+</svg>
diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
index d9e81e5..f6e85b5 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
@@ -3575,14 +3575,14 @@
<info>
<desc>Specifies the background color of the start center.</desc>
</info>
- <value>14540253</value>
+ <value>9903402</value>
</prop>
<prop oor:name="StartCenterTextColor" oor:type="xs:int" oor:nillable="false">
<!-- Default 3355443 = 0x333333 as specified in tdf#90452, comment 45 -->
<info>
<desc>Specifies the text color of the buttons in the start center.</desc>
</info>
- <value>3355443</value>
+ <value>15658734</value>
</prop>
<prop oor:name="StartCenterThumbnailsBackgroundColor" oor:type="xs:int" oor:nillable="false">
<!-- Default 6710886 = 0x666666 as specified in tdf#90452, comment 45 -->
commit a498e734f0954f401f430fd04c38e16ec7072489
Author: Caolán McNamara <caolanm at redhat.com>
Date: Fri Sep 23 13:11:54 2016 +0100
Resolves: tdf#99626 only the first queryTermination call in wizards works
cause the first call looks up the "queryTermination" method on the object
and replaces the object with that function, then calls on. Subsequent
calls then try to lookup "queryTermination" on "queryTermination".
Just pass queryTermination directly in the ctor (like all the other
wrappers do)
Change-Id: Ie042081c3c34e33b2f040d1ab1a33eeac4df9c3b
(cherry picked from commit 01889962cab8449e1d9682d22db0f6e1e28252fd)
Reviewed-on: https://gerrit.libreoffice.org/29230
Reviewed-by: Michael Stahl <mstahl at redhat.com>
Tested-by: Jenkins <ci at libreoffice.org>
diff --git a/wizards/com/sun/star/wizards/agenda/AgendaWizardDialogImpl.py b/wizards/com/sun/star/wizards/agenda/AgendaWizardDialogImpl.py
index ede7aaa..372dad0 100644
--- a/wizards/com/sun/star/wizards/agenda/AgendaWizardDialogImpl.py
+++ b/wizards/com/sun/star/wizards/agenda/AgendaWizardDialogImpl.py
@@ -70,7 +70,7 @@ class AgendaWizardDialogImpl(AgendaWizardDialog):
self.initializePaths()
# initialize the agenda template
- self.terminateListener = TerminateListenerProcAdapter(self)
+ self.terminateListener = TerminateListenerProcAdapter(self.queryTermination)
self.myAgendaDoc = AgendaDocument(
self.xMSF, self.agenda, self.resources,
self.templateConsts, self.terminateListener)
diff --git a/wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.py b/wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.py
index 31ac744..ef60a2e 100644
--- a/wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.py
+++ b/wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.py
@@ -65,7 +65,7 @@ class FaxWizardDialogImpl(FaxWizardDialog):
self.nMaxStep = 5
#instantiate The Document Frame for the Preview
- self.terminateListener = TerminateListenerProcAdapter(self)
+ self.terminateListener = TerminateListenerProcAdapter(self.queryTermination)
self.myFaxDoc = FaxDocument(xMSF, self.terminateListener)
#create the dialog:
diff --git a/wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.py b/wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.py
index dff5647..7c460f7 100644
--- a/wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.py
+++ b/wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.py
@@ -72,7 +72,7 @@ class LetterWizardDialogImpl(LetterWizardDialog):
self.nMaxStep = 6
#instantiate The Document Frame for the Preview
- self.terminateListener = TerminateListenerProcAdapter(self)
+ self.terminateListener = TerminateListenerProcAdapter(self.queryTermination)
self.myLetterDoc = LetterDocument(xMSF, self.terminateListener)
#create the dialog
diff --git a/wizards/com/sun/star/wizards/ui/event/CommonListener.py b/wizards/com/sun/star/wizards/ui/event/CommonListener.py
index ad15ac2..94cafac 100644
--- a/wizards/com/sun/star/wizards/ui/event/CommonListener.py
+++ b/wizards/com/sun/star/wizards/ui/event/CommonListener.py
@@ -65,8 +65,6 @@ class TerminateListenerProcAdapter( unohelper.Base, XTerminateListener ):
self.oProcToCall = oProcToCall
def queryTermination(self, TerminateEvent):
- self.oProcToCall = getattr(self.oProcToCall,"queryTermination")
-
if callable( self.oProcToCall ):
self.oProcToCall()
commit fa5830d02cec81921235357f4ed0372d104cf89e
Author: Caolán McNamara <caolanm at redhat.com>
Date: Thu Jul 7 16:42:58 2016 +0100
Resolves: tdf#99273 can't save specific docx
crashtesting: assert on export of tdf99571-1.docx to docx
(cherry picked from commit fb045517532aababc06fb4b1112def53b03d9144)
Change-Id: I2c8d82ac21451a2d2cc748dc28ac210c8e5ddf5f
Reviewed-on: https://gerrit.libreoffice.org/29016
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Michael Stahl <mstahl at redhat.com>
diff --git a/filter/source/msfilter/eschesdo.cxx b/filter/source/msfilter/eschesdo.cxx
index 4a54dc14..2ba1dde 100644
--- a/filter/source/msfilter/eschesdo.cxx
+++ b/filter/source/msfilter/eschesdo.cxx
@@ -1230,8 +1230,17 @@ sal_uInt32 ImplEESdrObject::ImplGetText()
{
Reference< XText > xXText( mXShape, UNO_QUERY );
mnTextSize = 0;
- if( xXText.is() )
- mnTextSize = xXText->getString().getLength();
+ if (xXText.is())
+ {
+ try
+ {
+ mnTextSize = xXText->getString().getLength();
+ }
+ catch (const uno::RuntimeException& e)
+ {
+ SAL_WARN("filter.ms", "ImplGetText exception: " << e.Message);
+ }
+ }
return mnTextSize;
}
commit dafcb32f09c3acea8e2fa12e1d39261b13c740db
Author: Caolán McNamara <caolanm at redhat.com>
Date: Thu Sep 22 21:11:56 2016 +0100
Resolves: tdf#101971 OleLoad under structured exception guards
sample pptx crashes down in the depths of (apparently pre-installed on
32bit Windows 10) Flash.ocx
Change-Id: I4e083d492e56e72df47b2c172d7f07f0e39b82ea
Reviewed-on: https://gerrit.libreoffice.org/29199
Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
Tested-by: Stephan Bergmann <sbergman at redhat.com>
(cherry picked from commit 373b44a2fcbe78e8a3ff14cd410826af151a6adf)
Reviewed-on: https://gerrit.libreoffice.org/29213
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Michael Stahl <mstahl at redhat.com>
diff --git a/embeddedobj/source/msole/olecomponent.cxx b/embeddedobj/source/msole/olecomponent.cxx
index 6a7b9e4..2f59f35 100644
--- a/embeddedobj/source/msole/olecomponent.cxx
+++ b/embeddedobj/source/msole/olecomponent.cxx
@@ -715,6 +715,19 @@ sal_Bool OleComponent::InitializeObject_Impl()
return sal_True;
}
+namespace
+{
+ HRESULT OleLoadSeh(LPSTORAGE pIStorage, LPVOID* ppObj)
+ {
+ HRESULT hr = E_FAIL;
+ __try {
+ hr = OleLoad(pIStorage, IID_IUnknown, NULL, ppObj);
+ } __except( EXCEPTION_EXECUTE_HANDLER ) {
+ return E_FAIL;
+ }
+ return hr;
+ }
+}
void OleComponent::LoadEmbeddedObject( const OUString& aTempURL )
{
@@ -730,7 +743,7 @@ void OleComponent::LoadEmbeddedObject( const OUString& aTempURL )
if ( FAILED( hr ) || !m_pNativeImpl->m_pIStorage )
throw io::IOException(); // TODO: transport error code?
- hr = OleLoad( m_pNativeImpl->m_pIStorage, IID_IUnknown, NULL, (void**)&m_pNativeImpl->m_pObj );
+ hr = OleLoadSeh(m_pNativeImpl->m_pIStorage, (void**)&m_pNativeImpl->m_pObj);
if ( FAILED( hr ) || !m_pNativeImpl->m_pObj )
{
throw uno::RuntimeException();
@@ -963,7 +976,7 @@ void OleComponent::InitEmbeddedCopyOfLink( OleComponent* pOleLinkComponent )
{
hr = pObjectStorage->CopyTo( 0, NULL, NULL, m_pNativeImpl->m_pIStorage );
if ( SUCCEEDED( hr ) )
- hr = OleLoad( m_pNativeImpl->m_pIStorage, IID_IUnknown, NULL, (void**)&m_pNativeImpl->m_pObj );
+ hr = OleLoadSeh(m_pNativeImpl->m_pIStorage, (void**)&m_pNativeImpl->m_pObj);
}
}
}
commit 56a3b56689a458a8ff3f310940af07dac347a0c5
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Sep 21 10:20:45 2016 +0100
Resolves: tdf#100795 SAL_MIN_INT32 32bit overflows on finding min limit
for control points, so halve it to the practical limit
Change-Id: I1285631bebebf86e257a2fdd804c0c81dcefac96
(cherry picked from commit 25e4708c1f49986f3f082beb2e940aa2d7fb4d81)
Reviewed-on: https://gerrit.libreoffice.org/29133
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Michael Stahl <mstahl at redhat.com>
diff --git a/cui/source/tabpages/transfrm.cxx b/cui/source/tabpages/transfrm.cxx
index feca458..923d205 100644
--- a/cui/source/tabpages/transfrm.cxx
+++ b/cui/source/tabpages/transfrm.cxx
@@ -647,14 +647,14 @@ void SvxSlantTabPage::Reset(const SfxItemSet* rAttrs)
m_aControlGroups[i]->Enable();
css::awt::Point aPosition;
- aPosition.X = SAL_MAX_INT32;
- aPosition.Y = SAL_MAX_INT32;
+ aPosition.X = SAL_MAX_INT32/2;
+ aPosition.Y = SAL_MAX_INT32/2;
aShape.SetHandleControllerPosition(i, aPosition);
Point aMaxPosition;
aShape.GetHandlePosition(i, aMaxPosition);
- aPosition.X = SAL_MIN_INT32;
- aPosition.Y = SAL_MIN_INT32;
+ aPosition.X = SAL_MIN_INT32/2;
+ aPosition.Y = SAL_MIN_INT32/2;
aShape.SetHandleControllerPosition(i, aPosition);
Point aMinPosition;
aShape.GetHandlePosition(i, aMinPosition);
commit 2ff4c68b63c4842ec85a21287317096b6ca8e66e
Author: Caolán McNamara <caolanm at redhat.com>
Date: Tue Sep 13 12:32:04 2016 +0100
disable generation of ole previews in ODF format until after load
so the user update links dialog can control their generation
SdrEmbedObjectLink becomes exposed to calc so it can
detect if the link dialog needs to be used to update
ole links.
Reviewed-on: https://gerrit.libreoffice.org/28879
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
(cherry picked from commit 74844277cc2194c9e43f5bd7a6f78a9603da32f3)
detangle gadzillion checks into something readable
no logic change intended
(cherry picked from commit fad9786b06d188ba6e354620f57176f3d94a6637)
+ partial merge of
commit c09b3e32372537be739182b02ae83a96386d1e1c
Author: Noel Grandin <noel at peralex.com>
Date: Tue Mar 8 13:13:59 2016 +0200
loplugin:constantparam in sw
for bool bUI is always true in UpdateLinks
Unmodified default SdrOle2Obj size is 101x101
svx/source/unodraw/unoshape.cxx
sets a css::awt::Size maSize to 100, 100
svx/source/unodraw/unopage.cxx
increases that by 1, 1
awt::Size aSize = xShape->getSize();
aSize.Width += 1;
aSize.Height += 1;
to call SdrObjFactory::MakeNewObject with 101, 101
so default size is 101x101 (getWidth() vs GetWidth() confusion ?)
Reviewed-on: https://gerrit.libreoffice.org/28895
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
(cherry picked from commit 7f0a219c9ad38ae33b51ff69d545f69659691c1e)
Change-Id: Id1dd7ea17342140eab9307d546528747e3a98090
b6af93afc1f80b7fc36239c96d5e0a71fcbcb789
4d4375dff64d7b8e236d1a24322e749e04ee530f
Reviewed-on: https://gerrit.libreoffice.org/28930
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Michael Stahl <mstahl at redhat.com>
Reviewed-by: Eike Rathke <erack at redhat.com>
Tested-by: Eike Rathke <erack at redhat.com>
diff --git a/embeddedobj/source/commonembedding/visobj.cxx b/embeddedobj/source/commonembedding/visobj.cxx
index fea7c3a..3ee8585 100644
--- a/embeddedobj/source/commonembedding/visobj.cxx
+++ b/embeddedobj/source/commonembedding/visobj.cxx
@@ -174,7 +174,11 @@ embed::VisualRepresentation SAL_CALL OCommonEmbeddedObject::getPreferredVisualRe
bool bBackToLoaded = false;
if ( m_nObjectState == embed::EmbedStates::LOADED )
{
- changeState( embed::EmbedStates::RUNNING );
+ awt::Size aOrigSize = getVisualAreaSize(nAspect);
+ changeState(embed::EmbedStates::RUNNING);
+ awt::Size aNewSize = getVisualAreaSize(nAspect);
+ if (aOrigSize.Width != aNewSize.Width || aOrigSize.Height != aNewSize.Height)
+ setVisualAreaSize(nAspect, aOrigSize);
// the links should be switched back to loaded state for now to avoid locking problems
bBackToLoaded = m_bIsLink;
diff --git a/include/svx/svdoole2.hxx b/include/svx/svdoole2.hxx
index 2d0b49d..239284b 100644
--- a/include/svx/svdoole2.hxx
+++ b/include/svx/svdoole2.hxx
@@ -22,6 +22,7 @@
#include <svx/svdorect.hxx>
#include <svx/svxdllapi.h>
+#include <sfx2/linkmgr.hxx>
#include <com/sun/star/uno/Reference.h>
@@ -176,6 +177,21 @@ public:
virtual SdrObject* DoConvertToPolyObj(bool bBezier, bool bAddText) const override;
};
+class SVX_DLLPUBLIC SdrEmbedObjectLink : public sfx2::SvBaseLink
+{
+ SdrOle2Obj* pObj;
+
+public:
+ explicit SdrEmbedObjectLink(SdrOle2Obj* pObj);
+ virtual ~SdrEmbedObjectLink();
+
+ virtual void Closed() override;
+ virtual ::sfx2::SvBaseLink::UpdateResult DataChanged(
+ const OUString& rMimeType, const css::uno::Any & rValue ) override;
+
+ bool Connect() { return GetRealObject() != nullptr; }
+};
+
#endif // INCLUDED_SVX_SVDOOLE2_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/inc/documentlinkmgr.hxx b/sc/inc/documentlinkmgr.hxx
index 3f9cc0c..a50175f 100644
--- a/sc/inc/documentlinkmgr.hxx
+++ b/sc/inc/documentlinkmgr.hxx
@@ -54,14 +54,17 @@ public:
bool idleCheckLinks();
bool hasDdeLinks() const;
+ bool hasDdeOrOleLinks() const;
- bool updateDdeLinks( vcl::Window* pWin );
+ bool updateDdeOrOleLinks(vcl::Window* pWin);
bool updateDdeLink( const OUString& rAppl, const OUString& rTopic, const OUString& rItem );
size_t getDdeLinkCount() const;
void disconnectDdeLinks();
+private:
+ bool hasDdeOrOleLinks(bool bDde, bool bOle) const;
};
}
diff --git a/sc/source/ui/docshell/docsh.cxx b/sc/source/ui/docshell/docsh.cxx
index 452a03a..dde5d3c 100644
--- a/sc/source/ui/docshell/docsh.cxx
+++ b/sc/source/ui/docshell/docsh.cxx
@@ -562,9 +562,12 @@ bool ScDocShell::Load( SfxMedium& rMedium )
GetUndoManager()->Clear();
- bool bRet = SfxObjectShell::Load( rMedium );
- if( bRet )
+ bool bRet = SfxObjectShell::Load(rMedium);
+ if (bRet)
{
+ comphelper::EmbeddedObjectContainer& rEmbeddedObjectContainer = getEmbeddedObjectContainer();
+ rEmbeddedObjectContainer.setUserAllowsLinkUpdate(false);
+
if (GetMedium())
{
const SfxUInt16Item* pUpdateDocItem = SfxItemSet::GetItem<SfxUInt16Item>(rMedium.GetItemSet(), SID_UPDATEDOCMODE, false);
diff --git a/sc/source/ui/docshell/docsh4.cxx b/sc/source/ui/docshell/docsh4.cxx
index 0a0a7c3..48bd2fc 100644
--- a/sc/source/ui/docshell/docsh4.cxx
+++ b/sc/source/ui/docshell/docsh4.cxx
@@ -29,6 +29,7 @@ using namespace ::com::sun::star;
#include "scitems.hxx"
#include <sfx2/fcontnr.hxx>
+#include <sfx2/linkmgr.hxx>
#include <sfx2/objface.hxx>
#include <sfx2/docfile.hxx>
#include <svtools/ehdl.hxx>
@@ -42,6 +43,7 @@ using namespace ::com::sun::star;
#include <svx/drawitem.hxx>
#include <svx/fmshell.hxx>
#include <svtools/xwindowitem.hxx>
+#include <svx/svdoole2.hxx>
#include <sfx2/passwd.hxx>
#include <sfx2/filedlghelper.hxx>
#include <sfx2/dispatch.hxx>
@@ -407,6 +409,9 @@ void ScDocShell::Execute( SfxRequest& rReq )
break;
case SID_UPDATETABLINKS:
{
+ comphelper::EmbeddedObjectContainer& rEmbeddedObjectContainer = getEmbeddedObjectContainer();
+ rEmbeddedObjectContainer.setUserAllowsLinkUpdate(true);
+
ScDocument& rDoc = GetDocument();
ScLkUpdMode nSet = rDoc.GetLinkMode();
@@ -450,9 +455,9 @@ void ScDocShell::Execute( SfxRequest& rReq )
ReloadTabLinks();
aDocument.UpdateExternalRefLinks(GetActiveDialogParent());
- bool bAny = aDocument.GetDocLinkManager().updateDdeLinks(GetActiveDialogParent());
+ bool bAnyDde = aDocument.GetDocLinkManager().updateDdeOrOleLinks(GetActiveDialogParent());
- if (bAny)
+ if (bAnyDde)
{
// Formeln berechnen und painten wie im TrackTimeHdl
aDocument.TrackFormulas();
@@ -468,7 +473,10 @@ void ScDocShell::Execute( SfxRequest& rReq )
rReq.Done();
}
else
+ {
+ rEmbeddedObjectContainer.setUserAllowsLinkUpdate(false);
rReq.Ignore();
+ }
}
break;
diff --git a/sc/source/ui/docshell/documentlinkmgr.cxx b/sc/source/ui/docshell/documentlinkmgr.cxx
index 9609781..069d39c 100644
--- a/sc/source/ui/docshell/documentlinkmgr.cxx
+++ b/sc/source/ui/docshell/documentlinkmgr.cxx
@@ -23,7 +23,7 @@
#include <sc.hrc>
#include <scresid.hxx>
-#include <sfx2/linkmgr.hxx>
+#include <svx/svdoole2.hxx>
#include <vcl/layout.hxx>
#include <boost/noncopyable.hpp>
@@ -113,6 +113,16 @@ bool DocumentLinkManager::idleCheckLinks()
bool DocumentLinkManager::hasDdeLinks() const
{
+ return hasDdeOrOleLinks(true, false);
+}
+
+bool DocumentLinkManager::hasDdeOrOleLinks() const
+{
+ return hasDdeOrOleLinks(true, true);
+}
+
+bool DocumentLinkManager::hasDdeOrOleLinks(bool bDde, bool bOle) const
+{
if (!mpImpl->mpLinkManager)
return false;
@@ -120,14 +130,16 @@ bool DocumentLinkManager::hasDdeLinks() const
for (size_t i = 0, n = rLinks.size(); i < n; ++i)
{
sfx2::SvBaseLink* pBase = rLinks[i].get();
- if (dynamic_cast<ScDdeLink*>(pBase))
+ if (bDde && dynamic_cast<ScDdeLink*>(pBase))
+ return true;
+ if (bOle && dynamic_cast<SdrEmbedObjectLink*>(pBase))
return true;
}
return false;
}
-bool DocumentLinkManager::updateDdeLinks( vcl::Window* pWin )
+bool DocumentLinkManager::updateDdeOrOleLinks( vcl::Window* pWin )
{
if (!mpImpl->mpLinkManager)
return false;
@@ -141,6 +153,14 @@ bool DocumentLinkManager::updateDdeLinks( vcl::Window* pWin )
for (size_t i = 0, n = rLinks.size(); i < n; ++i)
{
sfx2::SvBaseLink* pBase = rLinks[i].get();
+
+ SdrEmbedObjectLink* pOleLink = dynamic_cast<SdrEmbedObjectLink*>(pBase);
+ if (pOleLink)
+ {
+ pOleLink->Update();
+ continue;
+ }
+
ScDdeLink* pDdeLink = dynamic_cast<ScDdeLink*>(pBase);
if (!pDdeLink)
continue;
diff --git a/sc/source/ui/view/tabvwsh4.cxx b/sc/source/ui/view/tabvwsh4.cxx
index 5a6413e..cbb2f0e 100644
--- a/sc/source/ui/view/tabvwsh4.cxx
+++ b/sc/source/ui/view/tabvwsh4.cxx
@@ -1564,7 +1564,7 @@ void ScTabViewShell::Construct( TriState nForceDesignMode )
if (!bLink)
{
const sc::DocumentLinkManager& rMgr = rDoc.GetDocLinkManager();
- if (rMgr.hasDdeLinks() || rDoc.HasAreaLinks())
+ if (rMgr.hasDdeOrOleLinks() || rDoc.HasAreaLinks())
bLink = true;
}
if (bLink)
diff --git a/sd/source/core/drawdoc.cxx b/sd/source/core/drawdoc.cxx
index 6702e9d..751dbdb 100644
--- a/sd/source/core/drawdoc.cxx
+++ b/sd/source/core/drawdoc.cxx
@@ -696,6 +696,12 @@ void SdDrawDocument::UpdateAllLinks()
{
s_pDocLockedInsertingLinks = this; // lock inserting links. only links in this document should by resolved
+ if (mpDocSh)
+ {
+ comphelper::EmbeddedObjectContainer& rEmbeddedObjectContainer = mpDocSh->getEmbeddedObjectContainer();
+ rEmbeddedObjectContainer.setUserAllowsLinkUpdate(true);
+ }
+
pLinkManager->UpdateAllLinks(); // query box: update all links?
if (s_pDocLockedInsertingLinks == this)
diff --git a/sd/source/ui/docshell/docshel4.cxx b/sd/source/ui/docshell/docshel4.cxx
index e5b2830..7d2695b 100644
--- a/sd/source/ui/docshell/docshel4.cxx
+++ b/sd/source/ui/docshell/docshel4.cxx
@@ -287,8 +287,11 @@ bool DrawDocShell::Load( SfxMedium& rMedium )
}
bRet = SfxObjectShell::Load( rMedium );
- if( bRet )
+ if (bRet)
{
+ comphelper::EmbeddedObjectContainer& rEmbeddedObjectContainer = getEmbeddedObjectContainer();
+ rEmbeddedObjectContainer.setUserAllowsLinkUpdate(false);
+
bRet = SdXMLFilter( rMedium, *this, true, SDXMLMODE_Normal, SotStorage::GetVersion( rMedium.GetStorage() ) ).Import( nError );
}
diff --git a/svx/source/svdraw/svdoole2.cxx b/svx/source/svdraw/svdoole2.cxx
index e786dbf..d292456 100644
--- a/svx/source/svdraw/svdoole2.cxx
+++ b/svx/source/svdraw/svdoole2.cxx
@@ -58,7 +58,6 @@
#include <comphelper/classids.hxx>
#include <sot/formats.hxx>
-#include <sfx2/linkmgr.hxx>
#include <svtools/transfer.hxx>
#include <cppuhelper/implbase.hxx>
@@ -588,25 +587,6 @@ void SdrLightEmbeddedClient_Impl::setWindow(const uno::Reference< awt::XWindow >
m_xWindow = _xWindow;
}
-
-
-class SdrEmbedObjectLink : public sfx2::SvBaseLink
-{
- SdrOle2Obj* pObj;
-
-public:
- explicit SdrEmbedObjectLink(SdrOle2Obj* pObj);
- virtual ~SdrEmbedObjectLink();
-
- virtual void Closed() override;
- virtual ::sfx2::SvBaseLink::UpdateResult DataChanged(
- const OUString& rMimeType, const css::uno::Any & rValue ) override;
-
- bool Connect() { return GetRealObject() != nullptr; }
-};
-
-
-
SdrEmbedObjectLink::SdrEmbedObjectLink(SdrOle2Obj* pObject):
::sfx2::SvBaseLink( ::SfxLinkUpdateMode::ONCALL, SotClipboardFormatId::SVXB ),
pObj(pObject)
diff --git a/svx/source/unodraw/unoshap4.cxx b/svx/source/unodraw/unoshap4.cxx
index 03c85d4..ce748bf 100644
--- a/svx/source/unodraw/unoshap4.cxx
+++ b/svx/source/unodraw/unoshap4.cxx
@@ -420,7 +420,7 @@ bool SvxOle2Shape::createObject( const SvGlobalName &aClassName )
if( xObj.is() )
{
Rectangle aRect = pOle2Obj->GetLogicRect();
- if ( aRect.GetWidth() == 100 && aRect.GetHeight() == 100 )
+ if ( aRect.GetWidth() == 101 && aRect.GetHeight() == 101 )
{
// TODO/LATER: is it possible that this method is used to create an iconified object?
// default size
@@ -488,7 +488,7 @@ bool SvxOle2Shape::createLink( const OUString& aLinkURL )
if( xObj.is() )
{
Rectangle aRect = pOle2Obj->GetLogicRect();
- if ( aRect.GetWidth() == 100 && aRect.GetHeight() == 100 )
+ if ( aRect.GetWidth() == 101 && aRect.GetHeight() == 101 )
{
// default size
try
diff --git a/sw/inc/IDocumentLinksAdministration.hxx b/sw/inc/IDocumentLinksAdministration.hxx
index db7aebe..0c9edea 100644
--- a/sw/inc/IDocumentLinksAdministration.hxx
+++ b/sw/inc/IDocumentLinksAdministration.hxx
@@ -46,7 +46,7 @@ using rtl::OUString;
/** #i42634# Moved common code of SwReader::Read() and
SwDocShell::UpdateLinks() to new SwDoc::UpdateLinks():
*/
- virtual void UpdateLinks(bool bUI) = 0;
+ virtual void UpdateLinks() = 0;
/** SS fuers Linken von Dokumentteilen / ?? for linking of parts of documents.
*/
diff --git a/sw/source/core/doc/DocumentLinksAdministrationManager.cxx b/sw/source/core/doc/DocumentLinksAdministrationManager.cxx
index a249f2c..397edae 100644
--- a/sw/source/core/doc/DocumentLinksAdministrationManager.cxx
+++ b/sw/source/core/doc/DocumentLinksAdministrationManager.cxx
@@ -197,47 +197,58 @@ const sfx2::LinkManager& DocumentLinksAdministrationManager::GetLinkManager() co
// #i42634# Moved common code of SwReader::Read() and SwDocShell::UpdateLinks()
// to new SwDoc::UpdateLinks():
-void DocumentLinksAdministrationManager::UpdateLinks( bool bUI )
+void DocumentLinksAdministrationManager::UpdateLinks()
{
- SfxObjectCreateMode eMode;
- sal_uInt16 nLinkMode = m_rDoc.GetDocumentSettingManager().getLinkUpdateMode( true );
- if ( m_rDoc.GetDocShell()) {
- sal_uInt16 nUpdateDocMode = m_rDoc.GetDocShell()->GetUpdateDocMode();
- if( (nLinkMode != NEVER || document::UpdateDocMode::FULL_UPDATE == nUpdateDocMode) &&
- !GetLinkManager().GetLinks().empty() &&
- SfxObjectCreateMode::INTERNAL !=
- ( eMode = m_rDoc.GetDocShell()->GetCreateMode()) &&
- SfxObjectCreateMode::ORGANIZER != eMode &&
- SfxObjectCreateMode::PREVIEW != eMode &&
- !m_rDoc.GetDocShell()->IsPreview() )
+ if (!m_rDoc.GetDocShell())
+ return;
+ SfxObjectCreateMode eMode = m_rDoc.GetDocShell()->GetCreateMode();
+ if (eMode == SfxObjectCreateMode::INTERNAL)
+ return;
+ if (eMode == SfxObjectCreateMode::ORGANIZER)
+ return;
+ if (eMode == SfxObjectCreateMode::PREVIEW)
+ return;
+ if (m_rDoc.GetDocShell()->IsPreview())
+ return;
+ if (GetLinkManager().GetLinks().empty())
+ return;
+ sal_uInt16 nLinkMode = m_rDoc.GetDocumentSettingManager().getLinkUpdateMode(true);
+ sal_uInt16 nUpdateDocMode = m_rDoc.GetDocShell()->GetUpdateDocMode();
+ if (nLinkMode == NEVER && nUpdateDocMode != document::UpdateDocMode::FULL_UPDATE)
+ return;
+
+ bool bAskUpdate = nLinkMode == MANUAL;
+ bool bUpdate = true;
+ switch(nUpdateDocMode)
+ {
+ case document::UpdateDocMode::NO_UPDATE: bUpdate = false;break;
+ case document::UpdateDocMode::QUIET_UPDATE:bAskUpdate = false; break;
+ case document::UpdateDocMode::FULL_UPDATE: bAskUpdate = true; break;
+ }
+ if (nLinkMode == AUTOMATIC && !bAskUpdate)
+ {
+ SfxMedium * medium = m_rDoc.GetDocShell()->GetMedium();
+ if (!SvtSecurityOptions().isTrustedLocationUriForUpdatingLinks(
+ medium == nullptr ? OUString() : medium->GetName()))
{
- bool bAskUpdate = nLinkMode == MANUAL;
- bool bUpdate = true;
- switch(nUpdateDocMode)
- {
- case document::UpdateDocMode::NO_UPDATE: bUpdate = false;break;
- case document::UpdateDocMode::QUIET_UPDATE:bAskUpdate = false; break;
- case document::UpdateDocMode::FULL_UPDATE: bAskUpdate = true; break;
- }
- if (nLinkMode == AUTOMATIC && !bAskUpdate)
- {
- SfxMedium * medium = m_rDoc.GetDocShell()->GetMedium();
- if (!SvtSecurityOptions().isTrustedLocationUriForUpdatingLinks(
- medium == nullptr ? OUString() : medium->GetName()))
- {
- bAskUpdate = true;
- }
- }
- if( bUpdate && (bUI || !bAskUpdate) )
- {
- SfxMedium* pMedium = m_rDoc.GetDocShell()->GetMedium();
- SfxFrame* pFrame = pMedium ? pMedium->GetLoadTargetFrame() : nullptr;
- vcl::Window* pDlgParent = pFrame ? &pFrame->GetWindow() : nullptr;
-
- GetLinkManager().UpdateAllLinks( bAskUpdate, true, false, pDlgParent );
- }
+ bAskUpdate = true;
}
}
+ comphelper::EmbeddedObjectContainer& rEmbeddedObjectContainer = m_rDoc.GetDocShell()->getEmbeddedObjectContainer();
+ if (bUpdate)
+ {
+ rEmbeddedObjectContainer.setUserAllowsLinkUpdate(true);
+
+ SfxMedium* pMedium = m_rDoc.GetDocShell()->GetMedium();
+ SfxFrame* pFrame = pMedium ? pMedium->GetLoadTargetFrame() : nullptr;
+ vcl::Window* pDlgParent = pFrame ? &pFrame->GetWindow() : nullptr;
+
+ GetLinkManager().UpdateAllLinks( bAskUpdate, true, false, pDlgParent );
+ }
+ else
+ {
+ rEmbeddedObjectContainer.setUserAllowsLinkUpdate(false);
+ }
}
bool DocumentLinksAdministrationManager::GetData( const OUString& rItem, const OUString& rMimeType,
diff --git a/sw/source/core/inc/DocumentLinksAdministrationManager.hxx b/sw/source/core/inc/DocumentLinksAdministrationManager.hxx
index dcd3299..1fbd403 100644
--- a/sw/source/core/inc/DocumentLinksAdministrationManager.hxx
+++ b/sw/source/core/inc/DocumentLinksAdministrationManager.hxx
@@ -47,7 +47,7 @@ public:
const sfx2::LinkManager& GetLinkManager() const override;
- void UpdateLinks(bool bUI) override;
+ void UpdateLinks() override;
bool GetData(const OUString& rItem, const OUString& rMimeType, css::uno::Any& rValue) const override;
diff --git a/sw/source/filter/basflt/shellio.cxx b/sw/source/filter/basflt/shellio.cxx
index a2e6a5c..eb95100 100644
--- a/sw/source/filter/basflt/shellio.cxx
+++ b/sw/source/filter/basflt/shellio.cxx
@@ -364,7 +364,7 @@ sal_uLong SwReader::Read( const Reader& rOptions )
// #i42634# Moved common code of SwReader::Read() and
// SwDocShell::UpdateLinks() to new SwDoc::UpdateLinks():
// ATM still with Update
- pDoc->getIDocumentLinksAdministration().UpdateLinks( true );
+ pDoc->getIDocumentLinksAdministration().UpdateLinks();
// not insert: set the redline mode read from settings.xml
eOld = static_cast<RedlineMode_t>(
diff --git a/sw/source/uibase/app/docsh.cxx b/sw/source/uibase/app/docsh.cxx
index 72533e5..cb1d380 100644
--- a/sw/source/uibase/app/docsh.cxx
+++ b/sw/source/uibase/app/docsh.cxx
@@ -1206,7 +1206,7 @@ void SwDocShell::CalcLayoutForOLEObjects()
// read by the binary filter:
void SwDocShell::UpdateLinks()
{
- GetDoc()->getIDocumentLinksAdministration().UpdateLinks(true);
+ GetDoc()->getIDocumentLinksAdministration().UpdateLinks();
// #i50703# Update footnote numbers
SwTextFootnote::SetUniqueSeqRefNo( *GetDoc() );
SwNodeIndex aTmp( GetDoc()->GetNodes() );
diff --git a/sw/source/uibase/app/docshini.cxx b/sw/source/uibase/app/docshini.cxx
index 2844b23..7993f94 100644
--- a/sw/source/uibase/app/docshini.cxx
+++ b/sw/source/uibase/app/docshini.cxx
@@ -492,6 +492,9 @@ bool SwDocShell::Load( SfxMedium& rMedium )
bool bRet = false;
if( SfxObjectShell::Load( rMedium ))
{
+ comphelper::EmbeddedObjectContainer& rEmbeddedObjectContainer = getEmbeddedObjectContainer();
+ rEmbeddedObjectContainer.setUserAllowsLinkUpdate(false);
+
SAL_INFO( "sw.ui", "after SfxInPlaceObject::Load" );
if (m_pDoc) // for last version!!
RemoveLink(); // release the existing
commit 3bf31803959ccc54bb949630f936a768ef47a90b
Author: Winfried Donkers <winfrieddonkers at libreoffice.org>
Date: Fri Sep 9 13:18:42 2016 +0200
tdf#101541 function WORKDAY.INTL not working properly
When holidays are adjacent to weekend days, wrong results occurred.
Change-Id: I9ec86e00f1a62ea941ff70617a1b448601aff9cc
Reviewed-on: https://gerrit.libreoffice.org/28771
Reviewed-by: Eike Rathke <erack at redhat.com>
Tested-by: Eike Rathke <erack at redhat.com>
(cherry picked from commit 5e9d5eeb8a33fdcc500377d9eace40b5f5a7f750)
Reviewed-on: https://gerrit.libreoffice.org/28970
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/28973
diff --git a/sc/source/core/tool/interpr2.cxx b/sc/source/core/tool/interpr2.cxx
index bd255fc..d287718 100644
--- a/sc/source/core/tool/interpr2.cxx
+++ b/sc/source/core/tool/interpr2.cxx
@@ -513,14 +513,16 @@ void ScInterpreter::ScWorkday_MS()
size_t nRef = 0;
while ( nDays )
{
- while ( nRef < nMax && nSortArray.at( nRef ) < nDate )
- nRef++;
- if ( !( nRef < nMax && nSortArray.at( nRef ) == nDate ) || nRef >= nMax )
- nDays--;
-
do
+ {
++nDate;
+ }
while ( bWeekendMask[ GetDayOfWeek( nDate ) ] ); //jump over weekend day(s)
+
+ while ( nRef < nMax && nSortArray.at( nRef ) < nDate )
+ nRef++;
+ if ( !( nRef < nMax && nSortArray.at( nRef ) == nDate ) || nRef >= nMax )
+ nDays--;
}
}
else
@@ -528,14 +530,16 @@ void ScInterpreter::ScWorkday_MS()
sal_Int16 nRef = nMax - 1;
while ( nDays )
{
+ do
+ {
+ --nDate;
+ }
+ while ( bWeekendMask[ GetDayOfWeek( nDate ) ] ); //jump over weekend day(s)
+
while ( nRef >= 0 && nSortArray.at( nRef ) > nDate )
nRef--;
if ( !( nRef >= 0 && nSortArray.at( nRef ) == nDate ) || nRef < 0 )
nDays++;
-
- do
- --nDate;
- while ( bWeekendMask[ GetDayOfWeek( nDate ) ] ); //jump over weekend day(s)
}
}
PushDouble( ( double ) ( nDate - nNullDate ) );
commit 0aa73cd0ff10c9b680c38e59147db684ff1ab14c
Author: Caolán McNamara <caolanm at redhat.com>
Date: Mon Sep 12 10:11:37 2016 +0100
fftester: break as soon as an exception is required
Change-Id: Ia787c42f484c00242f1bcaca8ea7459890ec5745
Reviewed-on: https://gerrit.libreoffice.org/28830
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Michael Stahl <mstahl at redhat.com>
diff --git a/sw/qa/core/data/rtf/fail/table-2.rtf b/sw/qa/core/data/rtf/fail/table-2.rtf
new file mode 100644
index 0000000..35e859b
Binary files /dev/null and b/sw/qa/core/data/rtf/fail/table-2.rtf differ
diff --git a/sw/source/core/unocore/unotext.cxx b/sw/source/core/unocore/unotext.cxx
index 454dda6..6505f27 100644
--- a/sw/source/core/unocore/unotext.cxx
+++ b/sw/source/core/unocore/unotext.cxx
@@ -2242,7 +2242,7 @@ throw (lang::IllegalArgumentException, uno::RuntimeException, std::exception)
break;
}
- for (sal_Int32 nCell = 0; nCell < nCells; ++nCell)
+ for (sal_Int32 nCell = 0; !bExcept && nCell < nCells; ++nCell)
{
SwNodeRange *const pLastCell(
(nCell == 0)
commit 2e81f0770706758191ad871395fb36cfa5355cd4
Author: Yousuf Philips <philipz85 at hotmail.com>
Date: Sun Sep 11 01:49:46 2016 +0400
tdf#101566 Remove untranslatable labels from changes toolbar
Change-Id: I62cb3b8d0f57f7fd79cffce3b5aed5e384390e24
Reviewed-on: https://gerrit.libreoffice.org/28814
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Yousuf Philips <philipz85 at hotmail.com>
(cherry picked from commit f37d6837bf864a08f567c10c5f5bc0d4e4b5f9f7)
Reviewed-on: https://gerrit.libreoffice.org/28822
Reviewed-by: Maxim Monastirsky <momonasmon at gmail.com>
(cherry picked from commit 4b7707bb8bcf0965d2d81f9c82672cb11829737f)
Reviewed-on: https://gerrit.libreoffice.org/28863
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/sw/uiconfig/swriter/toolbar/changes.xml b/sw/uiconfig/swriter/toolbar/changes.xml
index 3ba4ad5..f90a85e 100644
--- a/sw/uiconfig/swriter/toolbar/changes.xml
+++ b/sw/uiconfig/swriter/toolbar/changes.xml
@@ -18,19 +18,19 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
-->
<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink">
- <toolbar:toolbaritem xlink:href=".uno:ShowTrackedChanges" toolbar:text="Show" toolbar:helpid="10624"/>
- <toolbar:toolbaritem xlink:href=".uno:TrackChanges" toolbar:text="Record" toolbar:helpid="10725"/>
+ <toolbar:toolbaritem xlink:href=".uno:ShowTrackedChanges" toolbar:helpid="10624"/>
+ <toolbar:toolbaritem xlink:href=".uno:TrackChanges" toolbar:helpid="10725"/>
<toolbar:toolbarseparator/>
- <toolbar:toolbaritem xlink:href=".uno:PreviousTrackedChange" toolbar:text="Previous"/>
- <toolbar:toolbaritem xlink:href=".uno:NextTrackedChange" toolbar:text="Next"/>
- <toolbar:toolbaritem xlink:href=".uno:AcceptTrackedChange" toolbar:text="Accept" toolbar:helpid="10625"/>
- <toolbar:toolbaritem xlink:href=".uno:RejectTrackedChange" toolbar:text="Reject" toolbar:helpid="10626"/>
- <toolbar:toolbaritem xlink:href=".uno:AcceptTrackedChanges" toolbar:text="List" toolbar:helpid="10622"/>
+ <toolbar:toolbaritem xlink:href=".uno:PreviousTrackedChange"/>
+ <toolbar:toolbaritem xlink:href=".uno:NextTrackedChange"/>
+ <toolbar:toolbaritem xlink:href=".uno:AcceptTrackedChange" toolbar:helpid="10625"/>
+ <toolbar:toolbaritem xlink:href=".uno:RejectTrackedChange" toolbar:helpid="10626"/>
+ <toolbar:toolbaritem xlink:href=".uno:AcceptTrackedChanges" toolbar:helpid="10622"/>
<toolbar:toolbarseparator/>
- <toolbar:toolbaritem xlink:href=".uno:InsertAnnotation" toolbar:text="Regular Comment" toolbar:helpid="10625"/>
- <toolbar:toolbaritem xlink:href=".uno:CommentChangeTracking" toolbar:text="Change Comment" toolbar:helpid="10625"/>
+ <toolbar:toolbaritem xlink:href=".uno:InsertAnnotation" toolbar:helpid="10625"/>
+ <toolbar:toolbaritem xlink:href=".uno:CommentChangeTracking" toolbar:helpid="10625"/>
<toolbar:toolbarseparator/>
- <toolbar:toolbaritem xlink:href=".uno:ProtectTraceChangeMode" toolbar:text="Protect" toolbar:helpid="10625"/>
- <toolbar:toolbaritem xlink:href=".uno:CompareDocuments" toolbar:text="Compare"/>
- <toolbar:toolbaritem xlink:href=".uno:MergeDocuments" toolbar:text="Merge" toolbar:visible="false"/>
+ <toolbar:toolbaritem xlink:href=".uno:ProtectTraceChangeMode" toolbar:helpid="10625"/>
+ <toolbar:toolbaritem xlink:href=".uno:CompareDocuments"/>
+ <toolbar:toolbaritem xlink:href=".uno:MergeDocuments"/>
</toolbar:toolbar>
commit f09fd93be5d3c73d94bf67818f067a70b1594c35
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Mon Sep 12 16:08:38 2016 +0200
tdf#91966: In SDK, set CPPU_ENV=mscx for 64-bit Windows
Change-Id: Ib93b2db40f43f98d8369cb91ca35692cc92f023b
(cherry picked from commit 3aaa820446f1ad3d3b0ddc557238b6fb3496dd54)
Reviewed-on: https://gerrit.libreoffice.org/28873
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/odk/settings/settings.mk b/odk/settings/settings.mk
index b5bee39..5dd54f6 100644
--- a/odk/settings/settings.mk
+++ b/odk/settings/settings.mk
@@ -113,8 +113,14 @@ SDK_JAVA_INCLUDES = -I"$(OO_SDK_JAVA_HOME)/include" -I"$(OO_SDK_JAVA_HOME)/inclu
# define for used compiler necessary for UNO
# -DCPPU_ENV=msci -- windows msvc 4.x - 7.x
-CC_DEFINES_JNI=-DWIN32 -DWNT -D_DLL -DCPPU_ENV=msci
-CC_DEFINES=-DWIN32 -DWNT -D_DLL -DCPPU_ENV=msci
+ifeq "$(PROCTYPE)" "x86_64"
+CPPU_ENV=mscx
+else
+CPPU_ENV=msci
+endif
+
+CC_DEFINES_JNI=-DWIN32 -DWNT -D_DLL -DCPPU_ENV=$(CPPU_ENV)
+CC_DEFINES=-DWIN32 -DWNT -D_DLL -DCPPU_ENV=$(CPPU_ENV)
CC_OUTPUT_SWITCH=-Fo
LIBO_SDK_LDFLAGS_STDLIBS = $(LIBO_SDK_DETAIL_LDFLAGS_MSVCRT) kernel32.lib
commit d7c00a1e54f72427aeadded00a3c5be03c1c997b
Author: Caolán McNamara <caolanm at redhat.com>
Date: Mon Sep 12 09:34:21 2016 +0100
fftester: no table manager
Change-Id: Icb3c640e04416f9120d37558646a570daeddf0a4
Reviewed-on: https://gerrit.libreoffice.org/28827
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
diff --git a/writerfilter/qa/cppunittests/rtftok/data/fail/tablemanager-7.rtf b/writerfilter/qa/cppunittests/rtftok/data/fail/tablemanager-7.rtf
new file mode 100644
index 0000000..df41b1f
Binary files /dev/null and b/writerfilter/qa/cppunittests/rtftok/data/fail/tablemanager-7.rtf differ
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index ca9980c..31bb9c3 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -831,7 +831,7 @@ void DomainMapper_Impl::CheckUnregisteredFrameConversion( )
TextAppendContext& rAppendContext = m_aTextAppendStack.top();
// n#779642: ignore fly frame inside table as it could lead to messy situations
if( rAppendContext.pLastParagraphProperties.get() && rAppendContext.pLastParagraphProperties->IsFrameMode()
- && !getTableManager().isInTable() )
+ && hasTableManager() && !getTableManager().isInTable() )
{
try
{
commit 951c8ee5a5fdf1d57570dd4c1134a88ce7c22e22
Author: Caolán McNamara <caolanm at redhat.com>
Date: Sat Sep 10 13:46:47 2016 +0100
fftester: no table manager
Change-Id: I033454670d1ee662bc80bc07578690155d97ce28
Reviewed-on: https://gerrit.libreoffice.org/28807
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
diff --git a/writerfilter/qa/cppunittests/rtftok/data/fail/tablemanager-6.rtf b/writerfilter/qa/cppunittests/rtftok/data/fail/tablemanager-6.rtf
new file mode 100644
index 0000000..67a0ea1
Binary files /dev/null and b/writerfilter/qa/cppunittests/rtftok/data/fail/tablemanager-6.rtf differ
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index e27e17e..ca9980c 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -1221,7 +1221,7 @@ void DomainMapper_Impl::appendTextPortion( const OUString& rString, PropertyMapP
if( pPropertyMap == m_pTopContext && !deferredCharacterProperties.empty() && (GetTopContextType() == CONTEXT_CHARACTER) )
processDeferredCharacterProperties();
uno::Reference< text::XTextAppend > xTextAppend = m_aTextAppendStack.top().xTextAppend;
- if(xTextAppend.is() && ! getTableManager( ).isIgnore())
+ if (xTextAppend.is() && hasTableManager() && !getTableManager().isIgnore())
{
try
{
commit 4ed7ca7bfd5aab9846a02d3397771c0724344993
Author: Caolán McNamara <caolanm at redhat.com>
Date: Sat Sep 10 11:47:16 2016 +0100
fftester: use of deleted RTFParserState
but we only use the RTFParserState to use its m_pDocumentImpl and
the m_pDocumentImpl is never changed for the RTFParserState lifetime,
so take the m_pDocumentImpl at ctor time instead and use that
directly later
Reviewed-on: https://gerrit.libreoffice.org/28802
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
(cherry picked from commit 44d4d9d4e998de9b4dc939af4fa40e51e6300951)
Change-Id: I15152e3f6d9008553b4a384a5e5da21373904cc9
Reviewed-on: https://gerrit.libreoffice.org/28804
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
diff --git a/writerfilter/qa/cppunittests/rtftok/data/pass/parser-state-1.rtf b/writerfilter/qa/cppunittests/rtftok/data/pass/parser-state-1.rtf
new file mode 100644
index 0000000..3fe4b28
Binary files /dev/null and b/writerfilter/qa/cppunittests/rtftok/data/pass/parser-state-1.rtf differ
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index 48a3707..a48577f 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -6515,7 +6515,7 @@ RTFDrawingObject::RTFDrawingObject()
}
RTFFrame::RTFFrame(RTFParserState* pParserState)
- : m_pParserState(pParserState),
+ : m_pDocumentImpl(pParserState->m_pDocumentImpl),
nX(0),
nY(0),
nW(0),
@@ -6533,10 +6533,10 @@ RTFFrame::RTFFrame(RTFParserState* pParserState)
void RTFFrame::setSprm(Id nId, Id nValue)
{
- if (m_pParserState->m_pDocumentImpl->getFirstRun() && !m_pParserState->m_pDocumentImpl->isStyleSheetImport())
+ if (m_pDocumentImpl->getFirstRun() && !m_pDocumentImpl->isStyleSheetImport())
{
- m_pParserState->m_pDocumentImpl->checkFirstRun();
- m_pParserState->m_pDocumentImpl->setNeedPar(false);
+ m_pDocumentImpl->checkFirstRun();
+ m_pDocumentImpl->setNeedPar(false);
}
switch (nId)
{
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.hxx b/writerfilter/source/rtftok/rtfdocumentimpl.hxx
index 500b7bb..2ec7f05 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.hxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.hxx
@@ -182,12 +182,13 @@ public:
};
class RTFParserState;
+class RTFDocumentImpl;
/// Stores the properties of a frame
class RTFFrame
{
private:
- RTFParserState* m_pParserState;
+ RTFDocumentImpl* m_pDocumentImpl;
sal_Int32 nX, nY, nW, nH;
sal_Int32 nHoriPadding, nVertPadding;
sal_Int32 nHoriAlign, nHoriAnchor, nVertAlign, nVertAnchor;
commit 4112594d60961d2d1a6b0f90422ce1b0924bf07d
Author: Caolán McNamara <caolanm at redhat.com>
Date: Tue Sep 6 20:19:04 2016 +0100
rtf: don't skip backwards on skipping bin specified bytes
otherwise we could end up re-parsing the block endlessly
Change-Id: Ia90a9e5b513951c91e1917483f9e030dbee98ffb
Reviewed-on: https://gerrit.libreoffice.org/28710
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
diff --git a/writerfilter/source/rtftok/rtftokenizer.cxx b/writerfilter/source/rtftok/rtftokenizer.cxx
index cb78085..1afbc10 100644
--- a/writerfilter/source/rtftok/rtftokenizer.cxx
+++ b/writerfilter/source/rtftok/rtftokenizer.cxx
@@ -285,7 +285,7 @@ RTFError RTFTokenizer::dispatchKeyword(OString& rKeyword, bool bParam, int nPara
{
// skip binary data explicitely, to not trip over rtf markup
// control characters
- if (rKeyword.equals("bin"))
+ if (rKeyword.equals("bin") && nParam > 0)
Strm().SeekRel(nParam);
return RTFError::OK;
}
commit 10da1cf5b1e2446470b4892f0e49132217baf33d
Author: Caolán McNamara <caolanm at redhat.com>
Date: Tue Sep 6 20:31:06 2016 +0100
rtf: throw early on a bad nestrow token
Reviewed-on: https://gerrit.libreoffice.org/28708
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
(cherry picked from commit 5e9982668224345f901631d664985e823530e05a)
Change-Id: I9de8d09bce18fd1e8a145617794594a99a5f996e
Reviewed-on: https://gerrit.libreoffice.org/28713
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index 1910baf..48a3707 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -2287,12 +2287,12 @@ RTFError RTFDocumentImpl::dispatchSymbol(RTFKeyword nKeyword)
pBuffer->pRowProperties,
m_nNestedCells, m_nNestedCurrentCellX);
- assert(m_aStates.top().pCurrentBuffer == &m_aTableBufferStack.back());
- if (m_aTableBufferStack.size() == 1)
+ if (m_aTableBufferStack.size() == 1 || !m_aStates.top().pCurrentBuffer)
{
throw io::WrongFormatException(
"mismatch between \\itap and number of \\nestrow", nullptr);
}
+ assert(m_aStates.top().pCurrentBuffer == &m_aTableBufferStack.back());
// note: there may be several states pointing to table buffer!
for (size_t i = 0; i < m_aStates.size(); ++i)
{
commit f5bbdd05582a0a6fa9a3db399f97df18373215ad
Author: Caolán McNamara <caolanm at redhat.com>
Date: Tue Sep 6 15:57:30 2016 +0100
fftester: missing ValueLast
Reviewed-on: https://gerrit.libreoffice.org/28693
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
(cherry picked from commit 30af3971d826d55426f51a7beb14c24ac3880250)
Change-Id: I8e881871b1ae4dea757263d04796779e62e168dc
Reviewed-on: https://gerrit.libreoffice.org/28712
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
diff --git a/writerfilter/qa/cppunittests/rtftok/data/pass/valuelist-1.rtf b/writerfilter/qa/cppunittests/rtftok/data/pass/valuelist-1.rtf
new file mode 100644
index 0000000..847e165
Binary files /dev/null and b/writerfilter/qa/cppunittests/rtftok/data/pass/valuelist-1.rtf differ
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index 8b2efd6..1910baf 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -2328,7 +2328,8 @@ RTFError RTFDocumentImpl::dispatchSymbol(RTFKeyword nKeyword)
if ((m_nCellxMax - m_nTopLevelCurrentCellX) >= MINLAY)
{
auto pXValueLast = m_aStates.top().aTableRowSprms.find(NS_ooxml::LN_CT_TblGridBase_gridCol, false);
- auto pXValue = std::make_shared<RTFValue>(pXValueLast->getInt() + m_nCellxMax - m_nTopLevelCurrentCellX);
+ const int nXValueLast = pXValueLast ? pXValueLast->getInt() : 0;
+ auto pXValue = std::make_shared<RTFValue>(nXValueLast + m_nCellxMax - m_nTopLevelCurrentCellX);
m_aStates.top().aTableRowSprms.eraseLast(NS_ooxml::LN_CT_TblGridBase_gridCol);
m_aStates.top().aTableRowSprms.set(NS_ooxml::LN_CT_TblGridBase_gridCol, pXValue, RTFOverwrite::NO_APPEND);
m_nTopLevelCurrentCellX = m_nCellxMax;
commit 02b6a8ae5a0ad4ebb0c929ebf079e01eb76762f8
Author: rpmbuild <rpmbuild at fedoraproject.org>
Date: Mon Aug 15 15:17:11 2016 +0100
Resolves: tdf#91533 (rhbz#1364335) Tooltips are truncated
Change-Id: Id9ec91ed9652f491e4e2a0556eeed27bf6517002
(cherry picked from commit e527edf06f8befb45b76ee8ebabe62e6dc885e45)
Reviewed-on: https://gerrit.libreoffice.org/28220
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
diff --git a/vcl/inc/helpwin.hxx b/vcl/inc/helpwin.hxx
index cf35423..db7c10e 100644
--- a/vcl/inc/helpwin.hxx
+++ b/vcl/inc/helpwin.hxx
@@ -49,6 +49,7 @@ private:
virtual void Paint(vcl::RenderContext& rRenderContext, const Rectangle&) override;
virtual void RequestHelp( const HelpEvent& rHEvt ) override;
virtual void ApplySettings(vcl::RenderContext& rRenderContext) override;
+ virtual void StateChanged(StateChangedType nType) override;
virtual OUString GetText() const override;
void ImplShow();
diff --git a/vcl/source/app/help.cxx b/vcl/source/app/help.cxx
index 19570ce..cd89ea5 100644
--- a/vcl/source/app/help.cxx
+++ b/vcl/source/app/help.cxx
@@ -260,6 +260,17 @@ HelpTextWindow::HelpTextWindow( vcl::Window* pParent, const OUString& rText, sal
maHideTimer.SetTimeout( rHelpSettings.GetTipTimeout() );
}
+void HelpTextWindow::StateChanged(StateChangedType nType)
+{
+ FloatingWindow::StateChanged(nType);
+ if (nType == StateChangedType::InitShow)
+ {
+ ApplySettings(*this);
+ SetHelpText(maHelpText);
+ Invalidate();
+ }
+}
+
void HelpTextWindow::ApplySettings(vcl::RenderContext& rRenderContext)
{
const StyleSettings& rStyleSettings = rRenderContext.GetSettings().GetStyleSettings();
commit 0c0c421f1936417d72d6268aaeee86d119ae8841
Author: Michael Stahl <mstahl at redhat.com>
Date: Thu Sep 1 23:06:00 2016 +0200
editeng: don't let wild-card auto-correct leave current word
If a paragraph has e.g. multiple -> in it then auto-correct of the first
one will create via the .*->.* rule a new auto-correct entry that has as
long-word the word that contains the first -> until the last -> and
everything in between. This will be somewhat irritating when it is
eventually applied. Avoid it by limiting the wild-card loop to the
current word, which is apparently the intent anyway.
(regression from a07425892205ff8951027ea20459b97370d01de6)
Change-Id: I294bae863c44eb460627b61b4383133131fe4b3a
Reviewed-on: https://gerrit.libreoffice.org/28608
Reviewed-by: László Németh <nemeth at numbertext.org>
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Michael Stahl <mstahl at redhat.com>
(cherry picked from commit 9670f0d17ffed1ff07cb1deddcabc26c756e4bc1)
Reviewed-on: https://gerrit.libreoffice.org/28634
Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx
index 7c459f4..51bb16c 100644
--- a/editeng/source/misc/svxacorr.cxx
+++ b/editeng/source/misc/svxacorr.cxx
@@ -2833,6 +2833,11 @@ const SvxAutocorrWord* SvxAutocorrWordList::WordMatches(const SvxAutocorrWord *p
nSttWdPos = rTxt.indexOf( sTmp, nFndPos);
if (nSttWdPos != -1)
{
+ sal_Int32 nTmp(nFndPos);
+ while (nTmp < nSttWdPos && !IsWordDelim(rTxt[nTmp]))
+ nTmp++;
+ if (nTmp < nSttWdPos)
+ break; // word delimiter found
buf.append(rTxt.copy(nFndPos, nSttWdPos - nFndPos)).append(pFnd->GetLong());
nFndPos = nSttWdPos + sTmp.getLength();
}
commit 0ac170beb986997d57fd14c7dcdfff8f46820699
Author: Caolán McNamara <caolanm at redhat.com>
Date: Tue Sep 6 14:49:31 2016 +0100
if we throw in sw on HoriOrientation::NONE then don't pass it in from rtf
Change-Id: Ie01cca9b7cc432fc1fe14bb600af5083d6ca6a0d
Reviewed-on: https://gerrit.libreoffice.org/28690
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
diff --git a/sw/source/core/unocore/unosett.cxx b/sw/source/core/unocore/unosett.cxx
index b3a5571..da269dc 100644
--- a/sw/source/core/unocore/unosett.cxx
+++ b/sw/source/core/unocore/unosett.cxx
@@ -1678,7 +1678,7 @@ void SwXNumberingRules::SetPropertiesToNumFormat(
{
case 0: //"Adjust"
{
- sal_Int16 nValue = 0;
+ sal_Int16 nValue = text::HoriOrientation::NONE;
pProp->Value >>= nValue;
if(nValue > 0 &&
nValue <= text::HoriOrientation::LEFT &&
diff --git a/writerfilter/source/dmapper/NumberingManager.cxx b/writerfilter/source/dmapper/NumberingManager.cxx
index c927575..6648513 100644
--- a/writerfilter/source/dmapper/NumberingManager.cxx
+++ b/writerfilter/source/dmapper/NumberingManager.cxx
@@ -989,7 +989,7 @@ void ListsManager::lcl_sprm( Sprm& rSprm )
break;
case NS_ooxml::LN_CT_Lvl_lvlJc:
{
- sal_Int16 nValue = 0;
+ sal_Int16 nValue = text::HoriOrientation::NONE;
switch (nIntValue)
{
case NS_ooxml::LN_Value_ST_Jc_left:
@@ -1004,9 +1004,12 @@ void ListsManager::lcl_sprm( Sprm& rSprm )
nValue = text::HoriOrientation::RIGHT;
break;
}
- m_pCurrentDefinition->GetCurrentLevel( )->Insert(
- PROP_ADJUST, uno::makeAny( nValue ) );
- writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps();
+ if (nValue != text::HoriOrientation::NONE)
+ {
+ m_pCurrentDefinition->GetCurrentLevel( )->Insert(
+ PROP_ADJUST, uno::makeAny( nValue ) );
+ writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps();
+ }
}
break;
case NS_ooxml::LN_CT_Lvl_pPr:
commit 3c51f207747150933c6725fa22af1682cf066d8c
Author: Caolán McNamara <caolanm at redhat.com>
Date: Mon Aug 15 21:13:01 2016 +0100
Resolves: tdf#96451 do magic to enable embedded chart sidebar only for chart
objects, and do the normal thing for other objects, e.g. math
Change-Id: Ifb786a841b843b0317713769cb214a44dceaf546
(cherry picked from commit c5977a89c28b285dfface71ca71e07bb0463ed19)
Reviewed-on: https://gerrit.libreoffice.org/28153
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
diff --git a/embeddedobj/source/general/docholder.cxx b/embeddedobj/source/general/docholder.cxx
index e89695e..c9e931e 100644
--- a/embeddedobj/source/general/docholder.cxx
+++ b/embeddedobj/source/general/docholder.cxx
@@ -709,10 +709,17 @@ bool DocumentHolder::ShowUI( const uno::Reference< css::frame::XLayoutManager >&
// this must be done after merging menus as we won't get the container menu otherwise
xContainerLM->setDockingAreaAcceptor( uno::Reference < ui::XDockingAreaAcceptor >() );
+ bool bIsChart = false;
+ uno::Reference< lang::XServiceInfo> xServiceInfo(m_xComponent, uno::UNO_QUERY);
+ if (xServiceInfo.is() && xServiceInfo->supportsService("com.sun.star.chart2.ChartDocument"))
+ bIsChart = true;
// prevent further changes at this LM
// TODO: moggi: why is this necessary?
- // xContainerLM->setVisible( sal_False );
- // xContainerLM->lock();
+ if (!bIsChart)
+ {
+ xContainerLM->setVisible( false );
+ xContainerLM->lock();
+ }
bUnlock = true;
// by unlocking the LM each layout change will now resize the containers window; pending layouts will be processed now
commit 99d2232e4fb701273d26457817a590f39bbace96
Author: Yousuf Philips <philipz85 at hotmail.com>
Date: Sun Sep 4 04:59:11 2016 +0400
Make character dialog's hyperlink tab accessible
Change-Id: I6b2351b5a46562236dc93c6de3daa185e2a72fb2
Reviewed-on: https://gerrit.libreoffice.org/28653
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
(cherry picked from commit 62fdfdded30e3e7507590a07791cc78e6b2b1d80)
Reviewed-on: https://gerrit.libreoffice.org/28704
diff --git a/sw/uiconfig/swriter/ui/charurlpage.ui b/sw/uiconfig/swriter/ui/charurlpage.ui
index ba39e55..c69e10c 100644
--- a/sw/uiconfig/swriter/ui/charurlpage.ui
+++ b/sw/uiconfig/swriter/ui/charurlpage.ui
@@ -33,6 +33,8 @@
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">URL:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">urled</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -45,6 +47,8 @@
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Name:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">nameed</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -57,6 +61,8 @@
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Text:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">texted</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -69,6 +75,8 @@
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Target frame:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">targetfrmlb</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -214,6 +222,8 @@
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Visited links:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">visitedlb</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -226,6 +236,8 @@
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Unvisited links:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">unvisitedlb</property>
</object>
<packing>
<property name="left_attach">0</property>
commit 27125fe629135e726bb4dd07f2a1b2d74e57548a
Author: Yousuf Philips <philipz85 at hotmail.com>
Date: Sun Sep 4 08:34:52 2016 +0400
a11y: fix missing labels in sw paragraph dialog textflow tab
Change-Id: I3173cf240131788013345aa864156286affa476d
Reviewed-on: https://gerrit.libreoffice.org/28657
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
(cherry picked from commit 9ea5483d9bd44b136c89e45ef96bbf3df0a7cdef)
Reviewed-on: https://gerrit.libreoffice.org/28705
diff --git a/cui/uiconfig/ui/textflowpage.ui b/cui/uiconfig/ui/textflowpage.ui
index c11f30d..0674dbc 100644
--- a/cui/uiconfig/ui/textflowpage.ui
+++ b/cui/uiconfig/ui/textflowpage.ui
@@ -116,6 +116,7 @@
<property name="halign">start</property>
<property name="label" translatable="yes">C_haracters at line end</property>
<property name="use_underline">True</property>
+ <property name="mnemonic_widget">spinLineEnd</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -129,6 +130,7 @@
<property name="halign">start</property>
<property name="label" translatable="yes">Cha_racters at line begin</property>
<property name="use_underline">True</property>
+ <property name="mnemonic_widget">spinLineBegin</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -142,6 +144,7 @@
<property name="halign">start</property>
<property name="label" translatable="yes">_Maximum number of consecutive hyphens</property>
<property name="use_underline">True</property>
+ <property name="mnemonic_widget">spinMaxNum</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -209,7 +212,7 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
- <property name="margin_left">25</property>
+ <property name="margin_left">22</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="inconsistent">True</property>
commit ea8be52737f74edb89eb459bcef6d2d697ea48e4
Author: Caolán McNamara <caolanm at redhat.com>
Date: Fri Sep 2 21:12:43 2016 +0100
fftester: apparent wrong property tested for existence
Change-Id: I5d208bb2a85d7aa4eea9b1c950eeb6f35493f759
(cherry picked from commit a42f4aaba352a4d33ce77898e7b7b7bc0c10f1f8)
Reviewed-on: https://gerrit.libreoffice.org/28631
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Michael Stahl <mstahl at redhat.com>
diff --git a/writerfilter/qa/cppunittests/rtftok/data/fail/propheight-1.rtf b/writerfilter/qa/cppunittests/rtftok/data/fail/propheight-1.rtf
new file mode 100644
index 0000000..130ff3f
Binary files /dev/null and b/writerfilter/qa/cppunittests/rtftok/data/fail/propheight-1.rtf differ
diff --git a/writerfilter/source/dmapper/PropertyMap.cxx b/writerfilter/source/dmapper/PropertyMap.cxx
index 08c7f56..8544fc9 100644
--- a/writerfilter/source/dmapper/PropertyMap.cxx
+++ b/writerfilter/source/dmapper/PropertyMap.cxx
@@ -1251,7 +1251,7 @@ void SectionPropertyMap::CloseSectionGroup( DomainMapper_Impl& rDM_Impl )
if( pEntry.get( ) )
{
... etc. - the rest is truncated
More information about the Libreoffice-commits
mailing list