diff options
author | Justin Luth <justin_luth@sil.org> | 2016-05-31 22:11:21 +0300 |
---|---|---|
committer | Thorsten Behrens <Thorsten.Behrens@CIB.de> | 2016-06-01 09:12:17 +0000 |
commit | c36b560c8d7acf5259d2a8f97317f303667140a3 (patch) | |
tree | 9e0f3d9888f57bafb4cc2bfa86cab37b7f99c865 | |
parent | 68ccab350ca5b907f185c729e94a14df15fedc23 (diff) |
tdf#66469 impress: update outline text before saving
When custom annimations are present, any changes to the
Outline text were not updated unless EndTextEdit was called.
Ending Text Editing would cancel the cursor location, so
simply sync the changes and then save.
Change-Id: Iaf3b29e64d08c9d2fb6c18d7b0e3b3cc89c16d7f
Reviewed-on: https://gerrit.libreoffice.org/25739
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
-rw-r--r-- | sd/source/ui/docshell/docshel4.cxx | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/sd/source/ui/docshell/docshel4.cxx b/sd/source/ui/docshell/docshel4.cxx index 3f74cc3cbfc2..5743e4e39dee 100644 --- a/sd/source/ui/docshell/docshel4.cxx +++ b/sd/source/ui/docshell/docshel4.cxx @@ -62,6 +62,7 @@ #include "ViewShell.hxx" #include "sdmod.hxx" #include "View.hxx" +#include "CustomAnimationEffect.hxx" #include "sdpage.hxx" #include "sdresid.hxx" #include "DrawViewShell.hxx" @@ -547,6 +548,23 @@ bool DrawDocShell::SaveAs( SfxMedium& rMedium ) } mpDoc->StopWorkStartupDelay(); + //With custom animation, if Outliner is modified, update text before saving + if( mpViewShell ) + { + SdPage* pPage = mpViewShell->getCurrentPage(); + if( pPage && pPage->getMainSequence()->getCount() ) + { + SdrObject* pObj = mpViewShell->GetView()->GetTextEditObject(); + SdrOutliner* pOutl = mpViewShell->GetView()->GetTextEditOutliner(); + if( pObj && pOutl && pOutl->IsModified() ) + { + OutlinerParaObject* pNewText = pOutl->CreateParaObject( 0, pOutl->GetParagraphCount() ); + pObj->SetOutlinerParaObject( pNewText ); + pOutl->ClearModifyFlag(); + } + } + } + //TODO/LATER: why this?! if( GetCreateMode() == SfxObjectCreateMode::STANDARD ) SfxObjectShell::SetVisArea( Rectangle() ); |