diff options
-rwxr-xr-x | sd/sdi/_drvwsh.sdi | 5 | ||||
-rw-r--r-- | sd/source/ui/inc/DrawViewShell.hxx | 3 | ||||
-rw-r--r-- | sd/source/ui/view/drviewsa.cxx | 1 | ||||
-rw-r--r-- | sd/source/ui/view/drviewse.cxx | 29 |
4 files changed, 38 insertions, 0 deletions
diff --git a/sd/sdi/_drvwsh.sdi b/sd/sdi/_drvwsh.sdi index 041dca8b105d..cd3648b84c06 100755 --- a/sd/sdi/_drvwsh.sdi +++ b/sd/sdi/_drvwsh.sdi @@ -2154,6 +2154,11 @@ interface DrawView ExecMethod = FuSupport ; StateMethod = GetCtrlState ; ] + SID_TRANSLITERATE_ROTATE_CASE // ole : no, status : ? + [ + ExecMethod = FuSupportRotate ; + StateMethod = GetCtrlState ; + ] SID_TRANSLITERATE_LOWER // ole : no, status : ? [ ExecMethod = FuSupport ; 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 |