summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
Diffstat (limited to 'svx')
-rw-r--r--svx/source/svdraw/svdedxv.cxx14
1 files changed, 14 insertions, 0 deletions
diff --git a/svx/source/svdraw/svdedxv.cxx b/svx/source/svdraw/svdedxv.cxx
index 9dbf0ab17aaa..0b477cac39cf 100644
--- a/svx/source/svdraw/svdedxv.cxx
+++ b/svx/source/svdraw/svdedxv.cxx
@@ -1312,6 +1312,15 @@ bool SdrObjEditView::KeyInput(const KeyEvent& rKEvt, vcl::Window* pWin)
{
if(pTextEditOutlinerView)
{
+ /* Start special handling of keys within a chain */
+ // We possibly move to another box before any handling
+ bool bHandled = false;
+ TextChainCursorManager *pCursorManager =
+ ImpHandleMotionThroughBoxesKeyInput(rKEvt, pWin, &bHandled);
+ if (bHandled)
+ return true;
+ /* End special handling of keys within a chain */
+
if (pTextEditOutlinerView->PostKeyEvent(rKEvt, pWin))
{
if( mpModel )
@@ -1320,6 +1329,11 @@ bool SdrObjEditView::KeyInput(const KeyEvent& rKEvt, vcl::Window* pWin)
mpModel->SetChanged();
}
+ /* Start chaining processing */
+ ImpChainingEventHdl();
+ ImpMoveCursorAfterChainingEvent(pCursorManager);
+ /* End chaining processing */
+
if (pWin!=NULL && pWin!=pTextEditWin) SetTextEditWin(pWin);
#ifdef DBG_UTIL
if (mpItemBrowser!=nullptr) mpItemBrowser->SetDirty();