[Libreoffice-commits] .: sw/sdi sw/source
Caolán McNamara
caolan at kemper.freedesktop.org
Wed Mar 30 07:57:57 PDT 2011
sw/sdi/annotsh.sdi | 7 ++
sw/sdi/drwtxtsh.sdi | 6 ++
sw/source/ui/inc/annotsh.hxx | 3 +
sw/source/ui/inc/drwtxtsh.hxx | 3 +
sw/source/ui/inc/textsh.hxx | 3 -
sw/source/ui/shells/annotsh.cxx | 93 +++++++++++++++++++++---------------
sw/source/ui/shells/drwtxtsh.cxx | 98 +++++++++++++++++++++++---------------
sw/source/ui/shells/textsh.cxx | 100 ++++++++++++++-------------------------
8 files changed, 174 insertions(+), 139 deletions(-)
New commits:
commit c5659cb9ce671c6264018e05bdee8b170c9a7bf7
Author: Caolán McNamara <caolanm at redhat.com>
Date: Tue Mar 29 21:07:59 2011 +0100
centralize caserotate and add to other shells
diff --git a/sw/sdi/annotsh.sdi b/sw/sdi/annotsh.sdi
index 629a371..b0697bb 100644
--- a/sw/sdi/annotsh.sdi
+++ b/sw/sdi/annotsh.sdi
@@ -198,6 +198,13 @@ interface Annotation : _Annotation
StateMethod = NoState ;
DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
]
+
+ SID_TRANSLITERATE_ROTATE_CASE
+ [
+ ExecMethod = ExecRotateTransliteration;
+ StateMethod = NoState ;
+ DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
+ ]
SID_TRANSLITERATE_UPPER
[
diff --git a/sw/sdi/drwtxtsh.sdi b/sw/sdi/drwtxtsh.sdi
index 149344c..6bf9721 100644
--- a/sw/sdi/drwtxtsh.sdi
+++ b/sw/sdi/drwtxtsh.sdi
@@ -496,6 +496,12 @@ interface TextDrawText
StateMethod = NoState ;
DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
]
+ SID_TRANSLITERATE_ROTATE_CASE
+ [
+ ExecMethod = ExecRotateTransliteration;
+ StateMethod = NoState ;
+ DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
+ ]
SID_TRANSLITERATE_UPPER
[
ExecMethod = ExecTransliteration;
diff --git a/sw/source/ui/inc/annotsh.hxx b/sw/source/ui/inc/annotsh.hxx
index 9ad2a59..b8bd66d 100644
--- a/sw/source/ui/inc/annotsh.hxx
+++ b/sw/source/ui/inc/annotsh.hxx
@@ -31,11 +31,13 @@
#include <sfx2/shell.hxx>
#include "shellid.hxx"
#include "swmodule.hxx"
+#include <unotools/caserotate.hxx>
class SwView;
class SwAnnotationShell: public SfxShell
{
SwView& rView;
+ RotateTransliteration m_aRotateCase;
public:
SFX_DECL_INTERFACE(SW_ANNOTATIONSHELL)
@@ -60,6 +62,7 @@ public:
void StateClpbrd(SfxItemSet &rSet);
void ExecTransliteration(SfxRequest &);
+ void ExecRotateTransliteration(SfxRequest &);
void ExecUndo(SfxRequest &rReq);
void StateUndo(SfxItemSet &rSet);
diff --git a/sw/source/ui/inc/drwtxtsh.hxx b/sw/source/ui/inc/drwtxtsh.hxx
index 8340144..9119479 100644
--- a/sw/source/ui/inc/drwtxtsh.hxx
+++ b/sw/source/ui/inc/drwtxtsh.hxx
@@ -30,6 +30,7 @@
#include <sfx2/shell.hxx>
#include "shellid.hxx"
+#include <unotools/caserotate.hxx>
class SdrView;
class SwView;
@@ -39,6 +40,7 @@ class SfxModule;
class SwDrawTextShell: public SfxShell
{
SwView &rView;
+ RotateTransliteration m_aRotateCase;
SdrView *pSdrView;
@@ -79,6 +81,7 @@ public:
void StateClpbrd(SfxItemSet &rSet);
void StateInsert(SfxItemSet &rSet);
void ExecTransliteration(SfxRequest &);
+ void ExecRotateTransliteration(SfxRequest &);
void Init();
void StateStatusline(SfxItemSet &rSet);
diff --git a/sw/source/ui/inc/textsh.hxx b/sw/source/ui/inc/textsh.hxx
index 86edca3..8108749 100644
--- a/sw/source/ui/inc/textsh.hxx
+++ b/sw/source/ui/inc/textsh.hxx
@@ -30,6 +30,7 @@
#define _SWTEXTSH_HXX
#include <basesh.hxx>
+#include <unotools/caserotate.hxx>
class AbstractSvxPostItDialog;
class SwFldMgr;
@@ -38,7 +39,7 @@ class SvxHyperlinkItem;
class SwTextShell: public SwBaseShell
{
SwFldMgr* pPostItFldMgr;
- sal_uInt32 nF3ShiftCounter;
+ RotateTransliteration m_aRotateCase;
void InsertSymbol( SfxRequest& );
void InsertHyperlink(const SvxHyperlinkItem& rHlnkItem);
diff --git a/sw/source/ui/shells/annotsh.cxx b/sw/source/ui/shells/annotsh.cxx
index 16f04b3..a4e1ba7 100644
--- a/sw/source/ui/shells/annotsh.cxx
+++ b/sw/source/ui/shells/annotsh.cxx
@@ -1292,53 +1292,70 @@ void SwAnnotationShell::GetLinguState(SfxItemSet &rSet)
void SwAnnotationShell::ExecTransliteration(SfxRequest &rReq)
{
SwPostItMgr* pPostItMgr = rView.GetPostItMgr();
- if ( !pPostItMgr || !pPostItMgr->HasActiveSidebarWin() )
+ if (!pPostItMgr || !pPostItMgr->HasActiveSidebarWin())
return;
OutlinerView* pOLV = pPostItMgr->GetActiveSidebarWin()->GetOutlinerView();
+ if (!pOLV)
+ return;
+
using namespace ::com::sun::star::i18n;
+
+ sal_uInt32 nMode = 0;
+
+ switch( rReq.GetSlot() )
{
- sal_uInt32 nMode = 0;
+ case SID_TRANSLITERATE_SENTENCE_CASE:
+ nMode = TransliterationModulesExtra::SENTENCE_CASE;
+ break;
+ case SID_TRANSLITERATE_TITLE_CASE:
+ nMode = TransliterationModulesExtra::TITLE_CASE;
+ break;
+ case SID_TRANSLITERATE_TOGGLE_CASE:
+ nMode = TransliterationModulesExtra::TOGGLE_CASE;
+ break;
+ case SID_TRANSLITERATE_UPPER:
+ nMode = TransliterationModules_LOWERCASE_UPPERCASE;
+ break;
+ case SID_TRANSLITERATE_LOWER:
+ nMode = TransliterationModules_UPPERCASE_LOWERCASE;
+ break;
+ case SID_TRANSLITERATE_HALFWIDTH:
+ nMode = TransliterationModules_FULLWIDTH_HALFWIDTH;
+ break;
+ case SID_TRANSLITERATE_FULLWIDTH:
+ nMode = TransliterationModules_HALFWIDTH_FULLWIDTH;
+ break;
+ case SID_TRANSLITERATE_HIRAGANA:
+ nMode = TransliterationModules_KATAKANA_HIRAGANA;
+ break;
+ case SID_TRANSLITERATE_KATAGANA:
+ nMode = TransliterationModules_HIRAGANA_KATAKANA;
+ break;
- switch( rReq.GetSlot() )
- {
- case SID_TRANSLITERATE_SENTENCE_CASE:
- nMode = TransliterationModulesExtra::SENTENCE_CASE;
- break;
- case SID_TRANSLITERATE_TITLE_CASE:
- nMode = TransliterationModulesExtra::TITLE_CASE;
- break;
- case SID_TRANSLITERATE_TOGGLE_CASE:
- nMode = TransliterationModulesExtra::TOGGLE_CASE;
- break;
- case SID_TRANSLITERATE_UPPER:
- nMode = TransliterationModules_LOWERCASE_UPPERCASE;
- break;
- case SID_TRANSLITERATE_LOWER:
- nMode = TransliterationModules_UPPERCASE_LOWERCASE;
- break;
- case SID_TRANSLITERATE_HALFWIDTH:
- nMode = TransliterationModules_FULLWIDTH_HALFWIDTH;
- break;
- case SID_TRANSLITERATE_FULLWIDTH:
- nMode = TransliterationModules_HALFWIDTH_FULLWIDTH;
- break;
- case SID_TRANSLITERATE_HIRAGANA:
- nMode = TransliterationModules_KATAKANA_HIRAGANA;
- break;
- case SID_TRANSLITERATE_KATAGANA:
- nMode = TransliterationModules_HIRAGANA_KATAKANA;
- break;
+ default:
+ OSL_ENSURE(!this, "wrong dispatcher");
+ }
- default:
- OSL_ENSURE(!this, "wrong dispatcher");
- }
+ if( nMode )
+ pOLV->TransliterateText( nMode );
+}
- if( nMode )
- {
- pOLV->TransliterateText( nMode );
- }
+void SwAnnotationShell::ExecRotateTransliteration( SfxRequest & rReq )
+{
+ if( rReq.GetSlot() == SID_TRANSLITERATE_ROTATE_CASE )
+ {
+ SwPostItMgr* pPostItMgr = rView.GetPostItMgr();
+ if (!pPostItMgr || !pPostItMgr->HasActiveSidebarWin())
+ return;
+
+ OutlinerView* pOLV = pPostItMgr->GetActiveSidebarWin()->GetOutlinerView();
+
+ if (!pOLV)
+ return;
+
+ pOLV->TransliterateText(m_aRotateCase.getNextMode());
}
}
diff --git a/sw/source/ui/shells/drwtxtsh.cxx b/sw/source/ui/shells/drwtxtsh.cxx
index 6fce73b..830c67b 100644
--- a/sw/source/ui/shells/drwtxtsh.cxx
+++ b/sw/source/ui/shells/drwtxtsh.cxx
@@ -628,54 +628,76 @@ void SwDrawTextShell::StateUndo(SfxItemSet &rSet)
void SwDrawTextShell::ExecTransliteration( SfxRequest & rReq )
{
+ if (!pSdrView)
+ return;
+
using namespace i18n;
+
+ sal_uInt32 nMode = 0;
+
+ switch( rReq.GetSlot() )
{
- sal_uInt32 nMode = 0;
+ case SID_TRANSLITERATE_SENTENCE_CASE:
+ nMode = TransliterationModulesExtra::SENTENCE_CASE;
+ break;
+ case SID_TRANSLITERATE_TITLE_CASE:
+ nMode = TransliterationModulesExtra::TITLE_CASE;
+ break;
+ case SID_TRANSLITERATE_TOGGLE_CASE:
+ nMode = TransliterationModulesExtra::TOGGLE_CASE;
+ break;
+ case SID_TRANSLITERATE_UPPER:
+ nMode = TransliterationModules_LOWERCASE_UPPERCASE;
+ break;
+ case SID_TRANSLITERATE_LOWER:
+ nMode = TransliterationModules_UPPERCASE_LOWERCASE;
+ break;
- switch( rReq.GetSlot() )
- {
- case SID_TRANSLITERATE_SENTENCE_CASE:
- nMode = TransliterationModulesExtra::SENTENCE_CASE;
- break;
- case SID_TRANSLITERATE_TITLE_CASE:
- nMode = TransliterationModulesExtra::TITLE_CASE;
- break;
- case SID_TRANSLITERATE_TOGGLE_CASE:
- nMode = TransliterationModulesExtra::TOGGLE_CASE;
- break;
- case SID_TRANSLITERATE_UPPER:
- nMode = TransliterationModules_LOWERCASE_UPPERCASE;
- break;
- case SID_TRANSLITERATE_LOWER:
- nMode = TransliterationModules_UPPERCASE_LOWERCASE;
- break;
+ case SID_TRANSLITERATE_HALFWIDTH:
+ nMode = TransliterationModules_FULLWIDTH_HALFWIDTH;
+ break;
+ case SID_TRANSLITERATE_FULLWIDTH:
+ nMode = TransliterationModules_HALFWIDTH_FULLWIDTH;
+ break;
- case SID_TRANSLITERATE_HALFWIDTH:
- nMode = TransliterationModules_FULLWIDTH_HALFWIDTH;
- break;
- case SID_TRANSLITERATE_FULLWIDTH:
- nMode = TransliterationModules_HALFWIDTH_FULLWIDTH;
- break;
+ case SID_TRANSLITERATE_HIRAGANA:
+ nMode = TransliterationModules_KATAKANA_HIRAGANA;
+ break;
+ case SID_TRANSLITERATE_KATAGANA:
+ nMode = TransliterationModules_HIRAGANA_KATAKANA;
+ break;
- case SID_TRANSLITERATE_HIRAGANA:
- nMode = TransliterationModules_KATAKANA_HIRAGANA;
- break;
- case SID_TRANSLITERATE_KATAGANA:
- nMode = TransliterationModules_HIRAGANA_KATAKANA;
- break;
+ default:
+ OSL_ENSURE(!this, "wrong dispatcher");
+ }
- default:
- OSL_ENSURE(!this, "wrong dispatcher");
- }
+ if( nMode )
+ {
+ OutlinerView* pOLV = pSdrView->GetTextEditOutlinerView();
- if( nMode )
- {
- OutlinerView* pOLV = pSdrView->GetTextEditOutlinerView();
- pOLV->TransliterateText( nMode );
- }
+ if (!pOLV)
+ return;
+
+ pOLV->TransliterateText( nMode );
}
}
+void SwDrawTextShell::ExecRotateTransliteration( SfxRequest & rReq )
+{
+ if( rReq.GetSlot() == SID_TRANSLITERATE_ROTATE_CASE )
+ {
+ if (!pSdrView)
+ return;
+
+ OutlinerView* pOLV = pSdrView->GetTextEditOutlinerView();
+
+ if (!pOLV)
+ return;
+
+ pOLV->TransliterateText( m_aRotateCase.getNextMode() );
+ }
+}
+
/*--------------------------------------------------------------------
Beschreibung: Sonderzeichen einfuegen (siehe SDraw: FUBULLET.CXX)
--------------------------------------------------------------------*/
diff --git a/sw/source/ui/shells/textsh.cxx b/sw/source/ui/shells/textsh.cxx
index 6321749..de64856 100644
--- a/sw/source/ui/shells/textsh.cxx
+++ b/sw/source/ui/shells/textsh.cxx
@@ -954,80 +954,56 @@ void SwTextShell::ExecDelete(SfxRequest &rReq)
void SwTextShell::ExecTransliteration( SfxRequest & rReq )
{
using namespace ::com::sun::star::i18n;
- {
- sal_uInt32 nMode = 0;
+ sal_uInt32 nMode = 0;
- switch( rReq.GetSlot() )
- {
- case SID_TRANSLITERATE_SENTENCE_CASE:
- nMode = TransliterationModulesExtra::SENTENCE_CASE;
- break;
- case SID_TRANSLITERATE_TITLE_CASE:
- nMode = TransliterationModulesExtra::TITLE_CASE;
- break;
- case SID_TRANSLITERATE_TOGGLE_CASE:
- nMode = TransliterationModulesExtra::TOGGLE_CASE;
- break;
- case SID_TRANSLITERATE_UPPER:
- nMode = TransliterationModules_LOWERCASE_UPPERCASE;
- break;
- case SID_TRANSLITERATE_LOWER:
- nMode = TransliterationModules_UPPERCASE_LOWERCASE;
- break;
-
- case SID_TRANSLITERATE_HALFWIDTH:
- nMode = TransliterationModules_FULLWIDTH_HALFWIDTH;
- break;
- case SID_TRANSLITERATE_FULLWIDTH:
- nMode = TransliterationModules_HALFWIDTH_FULLWIDTH;
- break;
+ switch( rReq.GetSlot() )
+ {
+ case SID_TRANSLITERATE_SENTENCE_CASE:
+ nMode = TransliterationModulesExtra::SENTENCE_CASE;
+ break;
+ case SID_TRANSLITERATE_TITLE_CASE:
+ nMode = TransliterationModulesExtra::TITLE_CASE;
+ break;
+ case SID_TRANSLITERATE_TOGGLE_CASE:
+ nMode = TransliterationModulesExtra::TOGGLE_CASE;
+ break;
+ case SID_TRANSLITERATE_UPPER:
+ nMode = TransliterationModules_LOWERCASE_UPPERCASE;
+ break;
+ case SID_TRANSLITERATE_LOWER:
+ nMode = TransliterationModules_UPPERCASE_LOWERCASE;
+ break;
- case SID_TRANSLITERATE_HIRAGANA:
- nMode = TransliterationModules_KATAKANA_HIRAGANA;
- break;
- case SID_TRANSLITERATE_KATAGANA:
- nMode = TransliterationModules_HIRAGANA_KATAKANA;
- break;
+ case SID_TRANSLITERATE_HALFWIDTH:
+ nMode = TransliterationModules_FULLWIDTH_HALFWIDTH;
+ break;
+ case SID_TRANSLITERATE_FULLWIDTH:
+ nMode = TransliterationModules_HALFWIDTH_FULLWIDTH;
+ break;
- default:
- OSL_ENSURE(!this, "wrong dispatcher");
- }
+ case SID_TRANSLITERATE_HIRAGANA:
+ nMode = TransliterationModules_KATAKANA_HIRAGANA;
+ break;
+ case SID_TRANSLITERATE_KATAGANA:
+ nMode = TransliterationModules_HIRAGANA_KATAKANA;
+ break;
- if( nMode )
- GetShell().TransliterateText( nMode );
+ default:
+ OSL_ENSURE(!this, "wrong dispatcher");
}
+
+ if( nMode )
+ GetShell().TransliterateText( nMode );
}
void SwTextShell::ExecRotateTransliteration( SfxRequest & rReq )
{
- using namespace ::com::sun::star::i18n;
- {
- sal_uInt32 nMode = 0;
-
- 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 )
- GetShell().TransliterateText( nMode );
-
- nF3ShiftCounter++;
- }
- }
+ if( rReq.GetSlot() == SID_TRANSLITERATE_ROTATE_CASE )
+ GetShell().TransliterateText( m_aRotateCase.getNextMode() );
}
SwTextShell::SwTextShell(SwView &_rView) :
- SwBaseShell(_rView), pPostItFldMgr( 0 ), nF3ShiftCounter(0)
+ SwBaseShell(_rView), pPostItFldMgr( 0 )
{
SetName(String::CreateFromAscii("Text"));
SetHelpId(SW_TEXTSHELL);
More information about the Libreoffice-commits
mailing list