diff options
author | Bálint Dózsa <dozsabalint@gmail.com> | 2011-03-17 15:53:50 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2011-03-21 12:10:28 +0000 |
commit | 7a9bf535350a965e8d2d34de5fd1821872b6dfe4 (patch) | |
tree | 839b4927fb2bb2d2235f2642442dbe0e41cfa443 | |
parent | c426bea940636f3d1ab9711af5f4d1aeda1ab38b (diff) |
FIX BUG 32559 - draw
-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 6f17ad505..a307b4528 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 90fc0e1d6..52e74560f 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 86e9a61c6..f651396ea 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 c4f66ddb0..534aa4f49 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 |