diff options
-rw-r--r-- | sd/source/ui/func/futext.cxx | 15 | ||||
-rw-r--r-- | sd/source/ui/table/tablefunction.cxx | 5 |
2 files changed, 20 insertions, 0 deletions
diff --git a/sd/source/ui/func/futext.cxx b/sd/source/ui/func/futext.cxx index 321e1ee2b419..4286ff690b6d 100644 --- a/sd/source/ui/func/futext.cxx +++ b/sd/source/ui/func/futext.cxx @@ -638,9 +638,24 @@ sal_Bool FuText::MouseButtonUp(const MouseEvent& rMEvt) mpViewShell->GetViewFrame()->GetBindings().Invalidate( SidArray ); Point aPnt( mpWindow->PixelToLogic( rMEvt.GetPosPixel() ) ); + sal_Bool bOldReadOnly = sal_False; + if ( mpView && mpDocSh->IsReadOnly() ) + { + if ( mpView && mpView->GetTextEditOutlinerView() ) + { + bOldReadOnly = mpView->GetTextEditOutlinerView()->IsReadOnly(); + mpView->GetTextEditOutlinerView()->SetReadOnly(sal_True); + } + } if( (mpView && mpView->MouseButtonUp(rMEvt, mpWindow)) || rMEvt.GetClicks() == 2 ) + { + if ( mpView && mpView->GetTextEditOutlinerView() ) + mpView->GetTextEditOutlinerView()->SetReadOnly(bOldReadOnly); return (sal_True); // Event von der SdrView ausgewertet + } + if ( mpView && mpView->GetTextEditOutlinerView() ) + mpView->GetTextEditOutlinerView()->SetReadOnly(bOldReadOnly); sal_Bool bEmptyTextObj = sal_False; diff --git a/sd/source/ui/table/tablefunction.cxx b/sd/source/ui/table/tablefunction.cxx index 33c971d9ce2d..9a8758929b02 100644 --- a/sd/source/ui/table/tablefunction.cxx +++ b/sd/source/ui/table/tablefunction.cxx @@ -184,6 +184,7 @@ void DrawViewShell::FuTable(SfxRequest& rReq) } } + GetParentWindow()->GrabFocus(); if( pPickObj ) mpView->ReplaceObjectAtView(pPickObj, *pPV, pObj, sal_True ); else @@ -191,6 +192,10 @@ void DrawViewShell::FuTable(SfxRequest& rReq) Invalidate(SID_DRAWTBX_INSERT); rReq.Ignore(); + SfxViewShell* pViewShell = GetViewShell(); + OSL_ASSERT (pViewShell!=NULL); + SfxBindings& rBindings = pViewShell->GetViewFrame()->GetBindings(); + rBindings.Invalidate( SID_INSERT_TABLE, sal_True, sal_False ); break; } case SID_TABLEDESIGN: |