diff options
author | Armin Le Grand (allotropia) <armin.le.grand.extern@allotropia.de> | 2024-02-29 16:08:29 +0100 |
---|---|---|
committer | Thorsten Behrens <thorsten.behrens@allotropia.de> | 2024-04-30 15:10:41 +0200 |
commit | 0596f683b73f0c0709ad401714bfd3bf38c7234d (patch) | |
tree | 304562b2b07aca91d1adbdbfdd67885c9d701056 /sd | |
parent | 04693cbcc26e409bf67791323b9b09220e54052c (diff) |
IASS: Update edited Text in other Views
This was not working for multiple Windows for
a document, and also not supported for SlideShow
until now.
If you edit a Text on a Slide (Object, PresObj,
...) that text is not yet set at the Model until
the TextEdit ends. In that situation those changes
are now propagated to other views visualizing that
object. This is done with slight slowdown to not
do it all the time while typing, (currently 350ms,
grepped from other places in the office).
It will be shown in a running open SlideShow (and
evtl. trigger an effect at the Object as Preview).
This will allow to get a good preview for how it
looks in the SlideShow.
This is also done for further EditViews opened
for that Document. This was not done before. It
is fine-tuned to do this only for the Views besides
the EditView with the running TextEdit to not
cause slowdowns in that active view - the TextEdit
is already running on the Overlay to have no
problems with speed, this needs to be preserved.
I had to fix a multi-view error in the a11y stack
that implied that only one view exists and thus
has to have an Outliner - that is wrong for
multiple views, only one will have one.
Change-Id: I781d32a8fcb8732ee8fcfbae72c02d1f99b6cd06
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164160
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
Diffstat (limited to 'sd')
-rw-r--r-- | sd/source/ui/view/sdview.cxx | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sd/source/ui/view/sdview.cxx b/sd/source/ui/view/sdview.cxx index dd4ddaab1fcf..6e1ef12b10f0 100644 --- a/sd/source/ui/view/sdview.cxx +++ b/sd/source/ui/view/sdview.cxx @@ -24,6 +24,7 @@ #include <com/sun/star/linguistic2/XSpellChecker1.hpp> #include <View.hxx> +#include <slideshow.hxx> #include <avmedia/mediawindow.hxx> #include <editeng/outlobj.hxx> #include <editeng/unolingu.hxx> @@ -698,6 +699,11 @@ bool View::SdrBeginTextEdit( pOutl->SetDefaultLanguage( Application::GetSettings().GetLanguageTag().getLanguageType() ); } + // check if we have IASS active and propagate that info to the view with the active TextEdit + rtl::Reference< SlideShow > xSlideshow(SlideShow::GetSlideShow(mpViewSh->GetViewShellBase())); + const bool bIASS(xSlideshow.is() && xSlideshow->isRunning() && xSlideshow->IsInteractiveSlideshow()); + setInteractiveSlideShow(bIASS); + bool bReturn = FmFormView::SdrBeginTextEdit( pObj, pPV, pWin, bIsNewObj, pOutl, pGivenOutlinerView, bDontDeleteOutliner, |