[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.4' - filter/source
Marco Cecchetti (via logerrit)
logerrit at kemper.freedesktop.org
Mon Jan 18 14:59:02 UTC 2021
filter/source/svg/presentation_engine.js | 26 ++++++++++++++++++--------
1 file changed, 18 insertions(+), 8 deletions(-)
New commits:
commit df9b4e139fecea3a23b0d0742d8a166ff61a863d
Author: Marco Cecchetti <marco.cecchetti at collabora.com>
AuthorDate: Tue Jan 12 15:29:44 2021 +0100
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Mon Jan 18 15:58:28 2021 +0100
filter: svg: when date/time field is edited directly in mp, is not shown
If a date/time or footer text field in the master page is editede
directly instead of being filled through the header/footer dialog, is
not displayed by the js engine.
Change-Id: I4a8aa3a6b5e9931ea0b997d611ce54e8481dbbcb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109175
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
Reviewed-by: Andras Timar <andras.timar at collabora.com>
diff --git a/filter/source/svg/presentation_engine.js b/filter/source/svg/presentation_engine.js
index ce68bc6484fe..848f2dd84226 100644
--- a/filter/source/svg/presentation_engine.js
+++ b/filter/source/svg/presentation_engine.js
@@ -5570,9 +5570,9 @@ PlaceholderShape.prototype.init = function()
}
}
}
- this.element = aTextFieldElement;
this.textElement = aPlaceholderElement;
}
+ this.element = aTextFieldElement;
}
};
@@ -5783,9 +5783,10 @@ MasterPageView.prototype.initTextFieldHandler =
function( sClassName, aPlaceholderShapeSet, aTextFieldContentProviderSet,
aDefsElement, aTextFieldHandlerSet, sMasterSlideId )
{
+ var sRefId = null;
var aTextFieldHandler = null;
- if( aPlaceholderShapeSet[sClassName] &&
- aPlaceholderShapeSet[sClassName].isValid()
+ var aPlaceholderShape = aPlaceholderShapeSet[sClassName];
+ if( aPlaceholderShape && aPlaceholderShape.isValid()
&& aTextFieldContentProviderSet[sClassName] )
{
var sTextFieldContentProviderId = aTextFieldContentProviderSet[sClassName].sId;
@@ -5794,7 +5795,7 @@ MasterPageView.prototype.initTextFieldHandler =
if ( !aTextFieldHandlerSet[ sMasterSlideId ][ sTextFieldContentProviderId ] )
{
aTextFieldHandlerSet[ sMasterSlideId ][ sTextFieldContentProviderId ] =
- new TextFieldHandler( aPlaceholderShapeSet[sClassName],
+ new TextFieldHandler( aPlaceholderShape,
aTextFieldContentProviderSet[sClassName] );
aTextFieldHandler = aTextFieldHandlerSet[ sMasterSlideId ][ sTextFieldContentProviderId ];
aTextFieldHandler.update();
@@ -5804,13 +5805,22 @@ MasterPageView.prototype.initTextFieldHandler =
{
aTextFieldHandler = aTextFieldHandlerSet[ sMasterSlideId ][ sTextFieldContentProviderId ];
}
+ sRefId = aTextFieldHandler.sId;
+ }
+ else if( aPlaceholderShape && aPlaceholderShape.element && aPlaceholderShape.element.firstElementChild
+ && !aPlaceholderShape.textElement && !aTextFieldContentProviderSet[sClassName] )
+ {
+ sRefId = aPlaceholderShape.element.firstElementChild.getAttribute('id');
+ }
+ if( sRefId )
+ {
// We create a <use> element referring to the cloned text field and
// append it to the field group element.
- var aTextFieldElement = document.createElementNS( NSS['svg'], 'use' );
- aTextFieldElement.setAttribute( 'class', sClassName );
- setNSAttribute( 'xlink', aTextFieldElement,
- 'href', '#' + aTextFieldHandler.sId );
+ var aTextFieldElement = document.createElementNS(NSS['svg'], 'use');
+ aTextFieldElement.setAttribute('class', sClassName);
+ setNSAttribute('xlink', aTextFieldElement,
+ 'href', '#' + sRefId);
// node linking
this.aBackgroundObjectsElement.appendChild( aTextFieldElement );
}
More information about the Libreoffice-commits
mailing list