summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2011-03-29 21:07:59 +0100
committerCaolán McNamara <caolanm@redhat.com>2011-03-30 15:57:14 +0100
commit69bb4422b7e17b1aedc07ec99084b193f97f6374 (patch)
tree7ad8050f9f1f1a2481c1145ab15a20a4bce776a5
parentb0687b60b683723b713789e2e746a908a012e63f (diff)
centralize caserotate and add to other shells
-rw-r--r--sw/sdi/annotsh.sdi7
-rw-r--r--sw/sdi/drwtxtsh.sdi6
-rw-r--r--sw/source/ui/inc/annotsh.hxx3
-rw-r--r--sw/source/ui/inc/drwtxtsh.hxx3
-rw-r--r--sw/source/ui/inc/textsh.hxx3
-rw-r--r--sw/source/ui/shells/annotsh.cxx93
-rw-r--r--sw/source/ui/shells/drwtxtsh.cxx98
-rw-r--r--sw/source/ui/shells/textsh.cxx100
8 files changed, 174 insertions, 139 deletions
diff --git a/sw/sdi/annotsh.sdi b/sw/sdi/annotsh.sdi
index 349e17b9d985..a2417079bb0b 100644
--- a/sw/sdi/annotsh.sdi
+++ b/sw/sdi/annotsh.sdi
@@ -199,6 +199,13 @@ interface Annotation : _Annotation
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/sdi/drwtxtsh.sdi b/sw/sdi/drwtxtsh.sdi
index d98d368a9460..27263af8f87c 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 12de8a18618b..b70b23d6f8ed 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 493a8ede30de..46efceaf2bef 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 e0fd62e5a9df..31a545ae65d6 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 fa80e015f081..1753f9b2dd9a 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 6efdd202ed6e..5f15c4acf151 100644
--- a/sw/source/ui/shells/drwtxtsh.cxx
+++ b/sw/source/ui/shells/drwtxtsh.cxx
@@ -628,51 +628,73 @@ 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() );
}
}
diff --git a/sw/source/ui/shells/textsh.cxx b/sw/source/ui/shells/textsh.cxx
index d17fd52b8e28..8fab36e5e8ce 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);