Hi,

I fixed this bug:
https://bugs.freedesktop.org/show_bug.cgi?id=32559<https://bugs.freedesktop.org/show_bug.cgi?id=32552>
Please review the patch.
My code is under the LGPLv3+/MPL dual license.

Regards,
Balint Dozsa
From bd219cc7c0be9183a19e1c98f9b26207f6236398 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?B=C3=A1lint=20D=C3=B3zsa?= <dozsabal...@gmail.com>
Date: Tue, 8 Mar 2011 07:15:23 +0100
Subject: [PATCH] FIX BUG 32559

---
 sw/source/ui/docvw/edtwin.cxx |   31 +++++++++++++++++++++++++++++++
 1 files changed, 31 insertions(+), 0 deletions(-)

diff --git a/sw/source/ui/docvw/edtwin.cxx b/sw/source/ui/docvw/edtwin.cxx
index 97614ab..7c52bed 100644
--- a/sw/source/ui/docvw/edtwin.cxx
+++ b/sw/source/ui/docvw/edtwin.cxx
@@ -139,8 +139,12 @@
 
 #include "../../core/inc/rootfrm.hxx"
 
+#include <com/sun/star/i18n/TransliterationModules.hpp>
+#include <com/sun/star/i18n/TransliterationModulesExtra.hpp>
+
 using namespace sw::mark;
 using namespace ::com::sun::star;
+using namespace ::com::sun::star::i18n;
 
 /*--------------------------------------------------------------------
     Description:   Globals
@@ -177,6 +181,8 @@ extern BOOL     bExecuteDrag;
 
 SfxShell* lcl_GetShellFromDispatcher( SwView& rView, TypeId nType );
 
+sal_uInt32 f3ShiftCounter = 0;
+
 DBG_NAME(edithdl)
 
 class SwAnchorMarker
@@ -1472,6 +1478,8 @@ void SwEditWin::KeyInput(const KeyEvent &rKEvt)
     if (nKS_NUMINDENTINC_Count > 0)
         nKS_NUMINDENTINC_Count--;
 
+    sal_uInt32 nMode;
+
     while( KS_Ende != eKeyState )
     {
         SW_KeyState eFlyState = KS_KeyToView;
@@ -1764,6 +1772,29 @@ KEYINPUT_CHECKTABLE_INSDEL:
                         eKeyState = KS_SpecialInsert;
                     break;
 
+                case KEY_F3 | KEY_SHIFT:     //SHIFT+F3
+                    nMode = 0;
+
+                    switch ( f3ShiftCounter ) {
+                        case 0:
+                            nMode = TransliterationModulesExtra::TITLE_CASE;
+                            break;
+                        case 1:
+                            nMode = TransliterationModules_LOWERCASE_UPPERCASE;
+                            break;
+                        case 2:
+                            nMode = TransliterationModules_UPPERCASE_LOWERCASE;
+                            f3ShiftCounter = -1;
+                            break;
+                    }
+
+                    if ( nMode )
+                        rSh.TransliterateText(nMode);
+
+                    f3ShiftCounter++;
+
+                    break;
+
                 case KEY_BACKSPACE:
                 case KEY_BACKSPACE | KEY_SHIFT:
                     if( !rSh.HasReadonlySel() )
-- 
1.7.1

_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to