diff options
-rw-r--r-- | sd/source/ui/inc/DrawViewShell.hxx | 1 | ||||
-rw-r--r-- | sd/source/ui/view/drviewse.cxx | 38 |
2 files changed, 24 insertions, 15 deletions
diff --git a/sd/source/ui/inc/DrawViewShell.hxx b/sd/source/ui/inc/DrawViewShell.hxx index 42fbabe36d6a..411090716875 100644 --- a/sd/source/ui/inc/DrawViewShell.hxx +++ b/sd/source/ui/inc/DrawViewShell.hxx @@ -221,6 +221,7 @@ public: void FuTemporary(SfxRequest& rReq); void FuPermanent(SfxRequest& rReq); void FuSupport(SfxRequest& rReq); + void FuDeleteSelectedObjects(); void FuSupportRotate(SfxRequest& rReq); void FuTable(SfxRequest& rReq); diff --git a/sd/source/ui/view/drviewse.cxx b/sd/source/ui/view/drviewse.cxx index 99fd3547f5e0..f9b0be31cd56 100644 --- a/sd/source/ui/view/drviewse.cxx +++ b/sd/source/ui/view/drviewse.cxx @@ -624,6 +624,28 @@ void DrawViewShell::FuPermanent(SfxRequest& rReq) } } +void DrawViewShell::FuDeleteSelectedObjects() +{ + if ( mpDrawView->IsPresObjSelected(false, true, false, true) ) + { + ::sd::Window* pWindow = GetActiveWindow(); + InfoBox(pWindow, SD_RESSTR(STR_ACTION_NOTPOSSIBLE) ).Execute(); + } + else + { + ::vcl::KeyCode aKCode(KEY_DELETE); + KeyEvent aKEvt( 0, aKCode); + + bool bConsumed = mpDrawView && mpDrawView->getSmartTags().KeyInput( aKEvt ); + + if( !bConsumed && HasCurrentFunction() ) + bConsumed = GetCurrentFunction()->KeyInput(aKEvt); + + if( !bConsumed && mpDrawView ) + mpDrawView->DeleteMarked(); + } +} + void DrawViewShell::FuSupport(SfxRequest& rReq) { if( rReq.GetSlot() == SID_STYLE_FAMILY && rReq.GetArgs()) @@ -871,23 +893,9 @@ void DrawViewShell::FuSupport(SfxRequest& rReq) pOLV->PostKeyEvent(aKEvt); } } - else if ( mpDrawView->IsPresObjSelected(false, true, false, true) ) - { - ::sd::Window* pWindow = GetActiveWindow(); - InfoBox(pWindow, SD_RESSTR(STR_ACTION_NOTPOSSIBLE) ).Execute(); - } else { - ::vcl::KeyCode aKCode(KEY_DELETE); - KeyEvent aKEvt( 0, aKCode); - - bool bConsumed = mpDrawView && mpDrawView->getSmartTags().KeyInput( aKEvt ); - - if( !bConsumed && HasCurrentFunction() ) - bConsumed = GetCurrentFunction()->KeyInput(aKEvt); - - if( !bConsumed && mpDrawView ) - mpDrawView->DeleteMarked(); + FuDeleteSelectedObjects(); } rReq.Ignore (); } |