Index: i18npool/source/transliteration/makefile.mk
===================================================================
--- i18npool/source/transliteration/makefile.mk (revision 268546)
+++ i18npool/source/transliteration/makefile.mk (working copy)
@@ -78,7 +78,8 @@
$(SLO)$/numtochar.obj \
$(SLO)$/numtotext_cjk.obj \
$(SLO)$/chartonum.obj \
- $(SLO)$/texttonum.obj
+ $(SLO)$/texttonum.obj \
+ $(SLO)$/sentenceCase.obj
# --- Targets ------------------------------------------------------
Index: i18npool/source/registerservices/registerservices.cxx
===================================================================
--- i18npool/source/registerservices/registerservices.cxx (revision 268546)
+++ i18npool/source/registerservices/registerservices.cxx (working copy)
@@ -173,6 +173,7 @@
IMPL_CREATEINSTANCE( Transliteration_u2l )
IMPL_CREATEINSTANCE( Transliteration_l2u )
+IMPL_CREATEINSTANCE( sentencecase )
IMPL_CREATEINSTANCE( Transliteration_caseignore )
IMPL_CREATEINSTANCE( hiraganaToKatakana )
IMPL_CREATEINSTANCE( katakanaToHiragana )
@@ -423,6 +424,9 @@
TRLT_IMPLNAME_PREFIX "LOWERCASE_UPPERCASE",
&Transliteration_l2u_CreateInstance },
{ TRLT_SERVICELNAME_L10N,
+ TRLT_IMPLNAME_PREFIX "SENTENCE_CASE",
+ &sentencecase_CreateInstance },
+ { TRLT_SERVICELNAME_L10N,
TRLT_IMPLNAME_PREFIX "IGNORE_CASE",
&Transliteration_caseignore_CreateInstance },
{ TRLT_SERVICELNAME_L10N,
Index: i18npool/source/localedata/data/en_US.xml
===================================================================
--- i18npool/source/localedata/data/en_US.xml (revision 268546)
+++ i18npool/source/localedata/data/en_US.xml (working copy)
@@ -477,6 +477,7 @@
+
Index: i18npool/inc/transliteration_OneToOne.hxx
===================================================================
--- i18npool/inc/transliteration_OneToOne.hxx (revision 268546)
+++ i18npool/inc/transliteration_OneToOne.hxx (working copy)
@@ -83,7 +83,9 @@
throw(com::sun::star::uno::RuntimeException, \
com::sun::star::i18n::MultipleCharsOutputException); \
};
-
+#if defined( TRANSLITERATION_sentencecase ) || defined( TRANSLITERATION_ALL )
+TRANSLITERATION_ONETOONE( sentencecase )
+#endif
#if defined( TRANSLITERATION_fullwidthToHalfwidth ) || defined( TRANSLITERATION_ALL )
TRANSLITERATION_ONETOONE( fullwidthToHalfwidth )
#endif
Index: i18npool/inc/servicename.hxx
===================================================================
--- i18npool/inc/servicename.hxx (revision 268546)
+++ i18npool/inc/servicename.hxx (working copy)
@@ -74,6 +74,7 @@
#define TRLT_SERVICELNAME_PREFIX TRLT_SERVICELNAME "."
#define TRLT_SERVICELNAME_U2L TRLT_SERVICELNAME_PREFIX "u2l"
#define TRLT_SERVICELNAME_L2U TRLT_SERVICELNAME_PREFIX "l2u"
+#define TRLT_SERVICELNAME_SENTENCECASE TRLT_SERVICELNAME_PREFIX "sentencecase"
#define TRLT_SERVICELNAME_CASEIGNORE TRLT_SERVICELNAME_PREFIX "caseignore"
#define TRLT_SERVICELNAME_L10N TRLT_SERVICELNAME_PREFIX "l10n"
Index: starmath/sdi/svxitems.sdi
===================================================================
--- starmath/sdi/svxitems.sdi (revision 268546)
+++ starmath/sdi/svxitems.sdi (working copy)
@@ -48,6 +48,7 @@
SVX_CASEMAP_VERSALIEN,
SVX_CASEMAP_GEMEINE,
SVX_CASEMAP_TITEL,
+ SVX_CASEMAP_SENTENCE,
SVX_CASEMAP_KAPITAELCHEN,
SVX_CASEMAP_END
};
Index: sw/sdi/_textsh.sdi
===================================================================
--- sw/sdi/_textsh.sdi (revision 268546)
+++ sw/sdi/_textsh.sdi (working copy)
@@ -1495,6 +1495,12 @@
StateMethod = NoState ;
DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
]
+ SID_TRANSLITERATE_SENTENCE_CASE
+ [
+ ExecMethod = ExecTransliteration;
+ StateMethod = NoState ;
+ DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
+ ]
SID_TRANSLITERATE_HALFWIDTH
[
ExecMethod = ExecTransliteration;
Index: sw/source/core/edit/editsh.cxx
===================================================================
--- sw/source/core/edit/editsh.cxx (revision 268546)
+++ sw/source/core/edit/editsh.cxx (working copy)
@@ -1179,6 +1179,31 @@
EndAllAction();
}
+void SwEditShell::TransliterateText( const String& moduleName )
+{
+ utl::TransliterationWrapper aTrans(::comphelper::getProcessServiceFactory(), 0 );
+ aTrans.loadModuleByImplName( moduleName, LANGUAGE_SYSTEM );
+ StartAllAction();
+ SET_CURR_SHELL( this );
+
+ SwPaM* pCrsr = GetCrsr();
+ if( pCrsr->GetNext() != pCrsr )
+ {
+ GetDoc()->StartUndo(UNDO_EMPTY, NULL);
+ FOREACHPAM_START( this )
+
+ if( PCURCRSR->HasMark() )
+ GetDoc()->TransliterateText( *PCURCRSR, aTrans );
+
+ FOREACHPAM_END()
+ GetDoc()->EndUndo(UNDO_EMPTY, NULL);
+ }
+ else
+ GetDoc()->TransliterateText( *pCrsr, aTrans );
+
+ EndAllAction();
+}
+
void SwEditShell::CountWords( SwDocStat& rStat ) const
{
FOREACHPAM_START( this )
Index: sw/source/ui/shells/textsh.cxx
===================================================================
--- sw/source/ui/shells/textsh.cxx (revision 268546)
+++ sw/source/ui/shells/textsh.cxx (working copy)
@@ -1052,7 +1052,9 @@
case SID_TRANSLITERATE_LOWER:
nMode = TransliterationModules_UPPERCASE_LOWERCASE;
break;
-
+ case SID_TRANSLITERATE_SENTENCE_CASE:
+ GetShell().TransliterateText( String::CreateFromAscii("SENTENCE_CASE") );
+ break;
case SID_TRANSLITERATE_HALFWIDTH:
nMode = TransliterationModules_FULLWIDTH_HALFWIDTH;
break;
Index: sw/source/ui/config/modcfg.cxx
===================================================================
--- sw/source/ui/config/modcfg.cxx (revision 268546)
+++ sw/source/ui/config/modcfg.cxx (working copy)
@@ -328,6 +328,7 @@
case SVX_CASEMAP_GEMEINE : nRet = 6;break;
case SVX_CASEMAP_KAPITAELCHEN: nRet = 7;break;
case SVX_CASEMAP_TITEL : nRet = 8;break;
+ case SVX_CASEMAP_SENTENCE : nRet = 10;break;
}
}
break;
@@ -386,6 +387,7 @@
case 6: rAttr.nItemId = SID_ATTR_CHAR_CASEMAP; rAttr.nAttr = SVX_CASEMAP_GEMEINE ; break;
case 7: rAttr.nItemId = SID_ATTR_CHAR_CASEMAP; rAttr.nAttr = SVX_CASEMAP_KAPITAELCHEN ; break;
case 8: rAttr.nItemId = SID_ATTR_CHAR_CASEMAP; rAttr.nAttr = SVX_CASEMAP_TITEL ; break;
+ case 10:rAttr.nItemId = SID_ATTR_CHAR_CASEMAP; rAttr.nAttr = SVX_CASEMAP_SENTENCE ; break;
case 9: rAttr.nItemId = SID_ATTR_BRUSH; break;
}
}
Index: sw/source/ui/config/optpage.cxx
===================================================================
--- sw/source/ui/config/optpage.cxx (revision 268546)
+++ sw/source/ui/config/optpage.cxx (working copy)
@@ -1700,6 +1700,7 @@
{ SID_ATTR_CHAR_CASEMAP, SVX_CASEMAP_GEMEINE },
{ SID_ATTR_CHAR_CASEMAP, SVX_CASEMAP_KAPITAELCHEN },
{ SID_ATTR_CHAR_CASEMAP, SVX_CASEMAP_TITEL },
+ { SID_ATTR_CHAR_CASEMAP, SVX_CASEMAP_SENTENCE },
{ SID_ATTR_BRUSH, 0 }
};
Index: sw/uiconfig/swriter/menubar/menubar.xml
===================================================================
--- sw/uiconfig/swriter/menubar/menubar.xml (revision 268546)
+++ sw/uiconfig/swriter/menubar/menubar.xml (working copy)
@@ -221,6 +221,7 @@
+
Index: sw/inc/editsh.hxx
===================================================================
--- sw/inc/editsh.hxx (revision 268546)
+++ sw/inc/editsh.hxx (working copy)
@@ -201,6 +201,7 @@
// change text to Upper/Lower/Hiragana/Katagana/...
void TransliterateText( sal_uInt32 nType );
+ void TransliterateText( const String& moduleName );
// count words in current selection
void CountWords( SwDocStat& rStat ) const;
Index: offapi/com/sun/star/style/CaseMap.idl
===================================================================
--- offapi/com/sun/star/style/CaseMap.idl (revision 268546)
+++ offapi/com/sun/star/style/CaseMap.idl (working copy)
@@ -78,6 +78,9 @@
*/
const short SMALLCAPS = 4;
+ /** The first character of each first word of each sentence is put in upper case.
+ */
+ const short SENTENCE = 5;
};
//=============================================================================
Index: configmgr/qa/unit/data/org/openoffice/UI/GenericCommands.xcu
===================================================================
--- configmgr/qa/unit/data/org/openoffice/UI/GenericCommands.xcu (revision 268546)
+++ configmgr/qa/unit/data/org/openoffice/UI/GenericCommands.xcu (working copy)
@@ -2097,6 +2097,11 @@
~Lowercase
+
+
+ ~Sentence Case
+
+
H~alf-width
Index: binfilter/bf_svx/source/items/svx_textitem.cxx
===================================================================
--- binfilter/bf_svx/source/items/svx_textitem.cxx (revision 268546)
+++ binfilter/bf_svx/source/items/svx_textitem.cxx (working copy)
@@ -1607,6 +1607,7 @@
/*N*/ case SVX_CASEMAP_VERSALIEN : nRet = style::CaseMap::UPPERCASE; break;
/*?*/ case SVX_CASEMAP_GEMEINE : nRet = style::CaseMap::LOWERCASE; break;
/*N*/ case SVX_CASEMAP_TITEL : nRet = style::CaseMap::TITLE ; break;
+/*N*/ case SVX_CASEMAP_SENTENCE : nRet = style::CaseMap::SENTENCE ; break;
/*N*/ case SVX_CASEMAP_KAPITAELCHEN: nRet = style::CaseMap::SMALLCAPS; break;
/*N*/ }
/*N*/ rVal <<= (sal_Int16)(nRet);
@@ -1627,6 +1628,7 @@
/*N*/ case style::CaseMap::UPPERCASE: nVal = SVX_CASEMAP_VERSALIEN ; break;
/*?*/ case style::CaseMap::LOWERCASE: nVal = SVX_CASEMAP_GEMEINE ; break;
/*N*/ case style::CaseMap::TITLE : nVal = SVX_CASEMAP_TITEL ; break;
+/*N*/ case style::CaseMap::SENTENCE : nVal = SVX_CASEMAP_SENTENCE ; break;
/*N*/ case style::CaseMap::SMALLCAPS: nVal = SVX_CASEMAP_KAPITAELCHEN; break;
/*N*/ }
/*N*/ SetValue(nVal);
Index: binfilter/bf_svx/source/items/svx_svxfont.cxx
===================================================================
--- binfilter/bf_svx/source/items/svx_svxfont.cxx (revision 268546)
+++ binfilter/bf_svx/source/items/svx_svxfont.cxx (working copy)
@@ -153,6 +153,35 @@
/*?*/ }
/*?*/ break;
/*?*/ }
+/*?*/ case SVX_CASEMAP_SENTENCE:
+/*?*/ {
+/*?*/ // SENTENCE CASE
+/*?*/ BOOL bPoint = TRUE;
+/*?*/
+/*?*/ for( USHORT i = 0; i < aTxt.Len(); ++i )
+/*?*/ {
+/*?*/ sal_Unicode c = aTxt.GetChar(i);
+/*?*/ if( sal_Unicode('.') == c || sal_Unicode('!') == c || sal_Unicode('?') == c )
+/*?*/ bPoint = TRUE;
+/*?*/ else if( sal_Unicode(' ') == c || sal_Unicode('\t') == c )
+/*?*/ ;
+/*?*/ else
+/*?*/ {
+/*?*/ String aTemp( c );
+/*?*/ if( bPoint )
+/*?*/ {
+/*?*/ aCharClass.toUpper( aTemp );
+/*?*/ bPoint = FALSE;
+/*?*/ }
+/*?*/ else
+/*?*/ {
+/*?*/ aCharClass.toLower( aTemp );
+/*?*/ }
+/*?*/ aTxt.Replace( i, 1, aTemp );
+/*?*/ }
+/*?*/ }
+/*?*/ break;
+/*?*/ }
/*?*/ default:
/*?*/ {
/*?*/ DBG_ASSERT(!this, "SvxFont::CaseMapTxt: unknown casemap");
Index: binfilter/bf_sw/source/ui/config/sw_modcfg.cxx
===================================================================
--- binfilter/bf_sw/source/ui/config/sw_modcfg.cxx (revision 268546)
+++ binfilter/bf_sw/source/ui/config/sw_modcfg.cxx (working copy)
@@ -280,6 +280,7 @@
/*?*/ case 6: rAttr.nItemId = SID_ATTR_CHAR_CASEMAP; rAttr.nAttr = SVX_CASEMAP_GEMEINE ; break;
/*?*/ case 7: rAttr.nItemId = SID_ATTR_CHAR_CASEMAP; rAttr.nAttr = SVX_CASEMAP_KAPITAELCHEN ; break;
/*?*/ case 8: rAttr.nItemId = SID_ATTR_CHAR_CASEMAP; rAttr.nAttr = SVX_CASEMAP_TITEL ; break;
+/*?*/ case 10:rAttr.nItemId = SID_ATTR_CHAR_CASEMAP; rAttr.nAttr = SVX_CASEMAP_SENTENCE ; break;
/*?*/ case 9: rAttr.nItemId = SID_ATTR_BRUSH; break;
/*N*/ }
/*N*/ }
Index: binfilter/inc/bf_svx/svxids.hrc
===================================================================
--- binfilter/inc/bf_svx/svxids.hrc (revision 268546)
+++ binfilter/inc/bf_svx/svxids.hrc (working copy)
@@ -56,7 +56,7 @@
//#endif
// Slot-Id's
-#define SID_SVX_FIRSTFREE 960
+#define SID_SVX_FIRSTFREE 961
#define SID_SVX_END (SID_LIB_START + 1199)
// Function-Id's
@@ -314,6 +314,7 @@
// Slot-IDs for transliteration: --------------------------------------------
#define SID_TRANSLITERATE_UPPER (SID_SVX_START + 912)
#define SID_TRANSLITERATE_LOWER (SID_SVX_START + 913)
+#define SID_TRANSLITERATE_SENTENCE_CASE (SID_SVX_START + 960)
#define SID_TRANSLITERATE_HALFWIDTH (SID_SVX_START + 914)
#define SID_TRANSLITERATE_FULLWIDTH (SID_SVX_START + 915)
#define SID_TRANSLITERATE_HIRAGANA (SID_SVX_START + 916)
Index: binfilter/inc/bf_svx/globlmn.hrc
===================================================================
--- binfilter/inc/bf_svx/globlmn.hrc (revision 268546)
+++ binfilter/inc/bf_svx/globlmn.hrc (working copy)
@@ -5387,6 +5387,38 @@
};\
MenuItem\
{\
+ Identifier = SID_TRANSLITERATE_SENTENCE_CASE; \
+ Command = ".uno:ChangeCaseToSentenceCase" ; \
+ HelpID = SID_TRANSLITERATE_SENTENCE_CASE; \
+ Text [ de ] = "~Kleinbuchstaben" ; \
+ Text [ en-US ] = "~Sentence Case";\
+ Text[ pt ] = "Mi~núsculas";\
+ Text[ ru ] = "~Строчные буквы";\
+ Text[ el ] = "Πεζά";\
+ Text[ nl ] = "~Kleine letters";\
+ Text[ fr ] = "Mi~nuscules";\
+ Text[ es ] = "~Minúsculas";\
+ Text[ fi ] = "~Pienet kirjaimet";\
+ Text[ ca ] = "M~inúscules";\
+ Text[ it ] = "Minuscole";\
+ Text[ cs ] = "Malá písmena";\
+ Text[ sk ] = "~Malé písmo";\
+ Text[ da ] = "~Små bogstaver";\
+ Text[ sv ] = "Små bo~kstäver";\
+ Text[ pl ] = "~Małe litery";\
+ Text[ pt-BR ] = "~Minúsculas";\
+ Text[ th ] = "ตัวพิมพ์เ~ล็ก";\
+ Text[ ja ] = "小文字(~L)";\
+ Text[ ko ] = "소문자(~L)";\
+ Text[ zh-CN ] = "小写字母(~L)";\
+ Text[ zh-TW ] = "小寫字母(~L)";\
+ Text[ tr ] = "~Küçük Harf";\
+ Text[ hi-IN ] = "~लोवरकेस";\
+ Text[ ar ] = "أحرف صغيرة";\
+ Text[ he ] = "אותיות קטנות";\
+ };\
+ MenuItem\
+ {\
Identifier = SID_TRANSLITERATE_HALFWIDTH; \
Command = ".uno:ChangeCaseToHalfWidth" ; \
HelpID = SID_TRANSLITERATE_HALFWIDTH; \
Index: binfilter/inc/bf_svx/svxenum.hxx
===================================================================
--- binfilter/inc/bf_svx/svxenum.hxx (revision 268546)
+++ binfilter/inc/bf_svx/svxenum.hxx (working copy)
@@ -40,6 +40,7 @@
SVX_CASEMAP_GEMEINE,
SVX_CASEMAP_TITEL,
SVX_CASEMAP_KAPITAELCHEN,
+ SVX_CASEMAP_SENTENCE,
SVX_CASEMAP_END
};
Index: unotools/source/i18n/transliterationwrapper.cxx
===================================================================
--- unotools/source/i18n/transliterationwrapper.cxx (revision 268546)
+++ unotools/source/i18n/transliterationwrapper.cxx (working copy)
@@ -51,7 +51,7 @@
TransliterationWrapper::TransliterationWrapper(
const Reference< XMultiServiceFactory > & xSF,
sal_uInt32 nTyp )
- : xSMgr( xSF ), nType( nTyp ), nLanguage( 0 ), bFirstCall( sal_True )
+ : xSMgr( xSF ), nType( nTyp ), nLanguage( 0 ), bModuleLoadedByName( sal_False ), bFirstCall( sal_True )
{
if( xSMgr.is() )
{
@@ -107,7 +107,8 @@
{
try
{
- loadModuleIfNeeded( nLang );
+ if ( !bModuleLoadedByName )
+ loadModuleIfNeeded( nLang );
if ( pOffset )
sRet = xTrans->transliterate( rStr, nStart, nLen, *pOffset );
@@ -187,8 +188,10 @@
try
{
if ( xTrans.is() )
- xTrans->loadModule( (TransliterationModules)nType, aLocale );
- }
+ {
+ xTrans->loadModule( (TransliterationModules)nType, aLocale );
+ }
+ }
catch ( Exception& e )
{
#ifndef PRODUCT
@@ -213,9 +216,11 @@
// Reset LanguageType, so the next call to loadModuleIfNeeded() forces
// new settings.
nLanguage = LANGUAGE_DONTKNOW;
- if ( xTrans.is() )
+ if ( xTrans.is() ) {
xTrans->loadModuleByImplName( rModuleName, aLocale );
- }
+ bModuleLoadedByName = sal_True;
+ }
+ }
catch ( Exception& e )
{
#ifndef PRODUCT
Index: unotools/inc/unotools/transliterationwrapper.hxx
===================================================================
--- unotools/inc/unotools/transliterationwrapper.hxx (revision 268546)
+++ unotools/inc/unotools/transliterationwrapper.hxx (working copy)
@@ -53,6 +53,7 @@
::com::sun::star::lang::Locale aLocale;
sal_uInt32 nType;
sal_uInt16 nLanguage;
+ sal_Bool bModuleLoadedByName;
mutable sal_Bool bFirstCall;
// not implemented, prevent usage
Index: officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
===================================================================
--- officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu (revision 268546)
+++ officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu (working copy)
@@ -2122,6 +2122,14 @@
1
+
+
+ ~Sentence case
+
+
+ 1
+
+
H~alf-width
Index: svx/sdi/svxitems.sdi
===================================================================
--- svx/sdi/svxitems.sdi (revision 268546)
+++ svx/sdi/svxitems.sdi (working copy)
@@ -170,6 +170,7 @@
SVX_CASEMAP_VERSALIEN,
SVX_CASEMAP_GEMEINE,
SVX_CASEMAP_TITEL,
+ SVX_CASEMAP_SENTENCE,
SVX_CASEMAP_KAPITAELCHEN,
SVX_CASEMAP_END
};
Index: svx/sdi/svx.sdi
===================================================================
--- svx/sdi/svx.sdi (revision 268546)
+++ svx/sdi/svx.sdi (working copy)
@@ -1483,6 +1483,31 @@
]
//--------------------------------------------------------------------------
+SfxVoidItem ChangeCaseToSentenceCase SID_TRANSLITERATE_SENTENCE_CASE
+()
+[
+ /* flags: */
+ AutoUpdate = TRUE,
+ Cachable = Cachable,
+ FastCall = TRUE,
+ HasCoreId = FALSE,
+ HasDialog = FALSE,
+ ReadOnlyDoc = FALSE,
+ Toggle = FALSE,
+ Container = FALSE,
+ RecordAbsolute = FALSE,
+ RecordPerSet;
+ Asynchron;
+
+ /* config: */
+ AccelConfig = TRUE,
+ MenuConfig = TRUE,
+ StatusBarConfig = FALSE,
+ ToolBoxConfig = TRUE,
+ GroupId = GID_FORMAT;
+]
+
+//--------------------------------------------------------------------------
SfxVoidItem ChangeCaseToUpper SID_TRANSLITERATE_UPPER
()
[
Index: svx/source/items/svxfont.cxx
===================================================================
--- svx/source/items/svxfont.cxx (revision 268546)
+++ svx/source/items/svxfont.cxx (working copy)
@@ -176,15 +176,47 @@
bBlank = TRUE;
else
{
+ String aTemp( aTxt.GetChar( i ) );
if( bBlank )
+ {
+ aCharClass.toUpper( aTemp );
+ bBlank = FALSE;
+
+ }
+ else
{
- String aTemp( aTxt.GetChar( i ) );
+ aCharClass.toLower( aTemp );
+ }
+ aTxt.Replace( i, 1, aTemp );
+
+ }
+ }
+ break;
+ }
+ case SVX_CASEMAP_SENTENCE:
+ {
+ // SENTENCE CASE
+ BOOL bPoint = TRUE;
+
+ for( USHORT i = 0; i < aTxt.Len(); ++i )
+ {
+ sal_Unicode c = aTxt.GetChar(i);
+ if( sal_Unicode('.') == c || sal_Unicode('!') == c || sal_Unicode('?') == c )
+ bPoint = TRUE;
+ else if( sal_Unicode(' ') == c || sal_Unicode('\t') == c )
+ ;
+ else
+ {
+ if( bPoint )
+ {
+ String aTemp( c );
aCharClass.toUpper( aTemp );
aTxt.Replace( i, 1, aTemp );
}
- bBlank = FALSE;
+ bPoint = FALSE;
}
}
+
break;
}
default:
Index: svx/source/items/textitem.cxx
===================================================================
--- svx/source/items/textitem.cxx (revision 268546)
+++ svx/source/items/textitem.cxx (working copy)
@@ -2378,6 +2378,7 @@
case SVX_CASEMAP_VERSALIEN : nRet = style::CaseMap::UPPERCASE; break;
case SVX_CASEMAP_GEMEINE : nRet = style::CaseMap::LOWERCASE; break;
case SVX_CASEMAP_TITEL : nRet = style::CaseMap::TITLE ; break;
+ case SVX_CASEMAP_SENTENCE : nRet = style::CaseMap::SENTENCE ; break;
case SVX_CASEMAP_KAPITAELCHEN: nRet = style::CaseMap::SMALLCAPS; break;
}
rVal <<= (sal_Int16)(nRet);
@@ -2398,6 +2399,7 @@
case style::CaseMap::UPPERCASE: nVal = SVX_CASEMAP_VERSALIEN ; break;
case style::CaseMap::LOWERCASE: nVal = SVX_CASEMAP_GEMEINE ; break;
case style::CaseMap::TITLE : nVal = SVX_CASEMAP_TITEL ; break;
+ case style::CaseMap::SENTENCE : nVal = SVX_CASEMAP_SENTENCE ; break;
case style::CaseMap::SMALLCAPS: nVal = SVX_CASEMAP_KAPITAELCHEN; break;
}
SetValue(nVal);
Index: svx/source/dialog/chardlg.src
===================================================================
--- svx/source/dialog/chardlg.src (revision 268546)
+++ svx/source/dialog/chardlg.src (working copy)
@@ -402,6 +402,7 @@
< "Lowercase" ; Default ; > ;
< "Title" ; Default ; > ;
< "Small capitals" ; Default ; > ;
+ < "Sentence" ; Default ; > ;
};
};
FixedText FT_RELIEF
Index: svx/inc/globlmn_tmpl.hrc
===================================================================
--- svx/inc/globlmn_tmpl.hrc (revision 268546)
+++ svx/inc/globlmn_tmpl.hrc (working copy)
@@ -1355,6 +1355,13 @@
};\
MenuItem\
{\
+ Identifier = SID_TRANSLITERATE_SENTENCE_CASE; \
+ Command = ".uno:ChangeCaseToSentenceCase" ; \
+ HelpID = SID_TRANSLITERATE_SENTENCE_CASE; \
+ Text [ en-US ] = "~Sentence case";\
+ };\
+ MenuItem\
+ {\
Identifier = SID_TRANSLITERATE_HALFWIDTH; \
Command = ".uno:ChangeCaseToHalfWidth" ; \
HelpID = SID_TRANSLITERATE_HALFWIDTH; \
Index: svx/inc/svx/svxids.hrc
===================================================================
--- svx/inc/svx/svxids.hrc (revision 268546)
+++ svx/inc/svx/svxids.hrc (working copy)
@@ -1348,8 +1348,10 @@
#define SID_RECHECK_DOCUMENT (SID_SVX_START+1091)
#define SID_ATTR_PARA_OUTLINE_LEVEL (SID_SVX_START+1092)
+#define SID_TRANSLITERATE_SENTENCE_CASE ( SID_SVX_START + 1093 )
+
// IMPORTANT NOTE: adjust SID_SVX_FIRSTFREE, when adding new slot id
-#define SID_SVX_FIRSTFREE SID_ATTR_PARA_OUTLINE_LEVEL + 1
+#define SID_SVX_FIRSTFREE SID_TRANSLITERATE_SENTENCE_CASE + 1
// --------------------------------------------------------------------------
// Overflow check for slot IDs
Index: svx/inc/svx/svxenum.hxx
===================================================================
--- svx/inc/svx/svxenum.hxx (revision 268546)
+++ svx/inc/svx/svxenum.hxx (working copy)
@@ -39,6 +39,7 @@
SVX_CASEMAP_GEMEINE,
SVX_CASEMAP_TITEL,
SVX_CASEMAP_KAPITAELCHEN,
+ SVX_CASEMAP_SENTENCE,
SVX_CASEMAP_END
};