From c8228110cb0005a3b3a76cd1526d68d6ad97ae9b Mon Sep 17 00:00:00 2001 From: Bálint Dózsa Date: Thu, 17 Mar 2011 15:53:50 +0100 Subject: FIX BUG 32559 - draw --- sd/source/ui/inc/DrawViewShell.hxx | 3 +++ sd/source/ui/view/drviewsa.cxx | 1 + sd/source/ui/view/drviewse.cxx | 29 +++++++++++++++++++++++++++++ 3 files changed, 33 insertions(+) (limited to 'sd/source') diff --git a/sd/source/ui/inc/DrawViewShell.hxx b/sd/source/ui/inc/DrawViewShell.hxx index e3c42fb8e828..63df6e195922 100644 --- a/sd/source/ui/inc/DrawViewShell.hxx +++ b/sd/source/ui/inc/DrawViewShell.hxx @@ -72,6 +72,8 @@ class DrawViewShell : public ViewShell, public SfxListener { + sal_uInt32 nF3ShiftCounter; + public: static const int SLOTARRAY_COUNT = 24; @@ -218,6 +220,7 @@ public: void FuTemporary(SfxRequest& rReq); void FuPermanent(SfxRequest& rReq); void FuSupport(SfxRequest& rReq); + void FuSupportRotate(SfxRequest& rReq); void FuTable(SfxRequest& rReq); void AttrExec (SfxRequest& rReq); diff --git a/sd/source/ui/view/drviewsa.cxx b/sd/source/ui/view/drviewsa.cxx index 954b2104f24f..57a13d4c30b5 100644 --- a/sd/source/ui/view/drviewsa.cxx +++ b/sd/source/ui/view/drviewsa.cxx @@ -141,6 +141,7 @@ DrawViewShell::DrawViewShell( SfxViewFrame* pFrame, ViewShellBase& rViewShellBas : ViewShell (pFrame, pParentWindow, rViewShellBase) , maTabControl(this, pParentWindow) , mbIsInSwitchPage(false) +, nF3ShiftCounter(0) { if (pFrameViewArgument != NULL) mpFrameView = pFrameViewArgument; diff --git a/sd/source/ui/view/drviewse.cxx b/sd/source/ui/view/drviewse.cxx index b26c3452675b..beeb4fbc9665 100644 --- a/sd/source/ui/view/drviewse.cxx +++ b/sd/source/ui/view/drviewse.cxx @@ -1485,6 +1485,35 @@ void DrawViewShell::FuSupport(SfxRequest& rReq) } } +void DrawViewShell::FuSupportRotate(SfxRequest &rReq) +{ + using namespace ::com::sun::star::i18n; + { + sal_uInt32 nMode = 0; + OutlinerView* pOLV = GetView()->GetTextEditOutlinerView(); + + if( rReq.GetSlot() == SID_TRANSLITERATE_ROTATE_CASE ) { + switch ( nF3ShiftCounter ) { + case 0: + nMode = TransliterationModulesExtra::TITLE_CASE; + break; + case 1: + nMode = TransliterationModules_LOWERCASE_UPPERCASE; + break; + case 2: + nMode = TransliterationModules_UPPERCASE_LOWERCASE; + nF3ShiftCounter = -1; + break; + } + + if ( nMode ) + pOLV->TransliterateText( nMode ); + + nF3ShiftCounter++; + } + } +} + /************************************************************************* |* |* URL-Feld einfuegen -- cgit