summaryrefslogtreecommitdiff
path: root/cui/source/tabpages/autocdlg.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'cui/source/tabpages/autocdlg.cxx')
-rw-r--r--cui/source/tabpages/autocdlg.cxx203
1 files changed, 147 insertions, 56 deletions
diff --git a/cui/source/tabpages/autocdlg.cxx b/cui/source/tabpages/autocdlg.cxx
index 764a5e0b163e..0ee3c38c1e1d 100644
--- a/cui/source/tabpages/autocdlg.cxx
+++ b/cui/source/tabpages/autocdlg.cxx
@@ -2,13 +2,10 @@
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
- * Copyright 2008 by Sun Microsystems, Inc.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
- * $RCSfile: autocdlg.cxx,v $
- * $Revision: 1.25 $
- *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -61,10 +58,10 @@
#include "autocdlg.hxx"
#include "autocdlg.hrc"
#include "helpid.hrc"
-#include <svx/acorrcfg.hxx>
-#include <svx/svxacorr.hxx>
+#include <editeng/acorrcfg.hxx>
+#include <editeng/svxacorr.hxx>
#include "cuicharmap.hxx"
-#include <svx/unolingu.hxx>
+#include <editeng/unolingu.hxx>
#include <dialmgr.hxx>
#include <svx/svxids.hrc> // SID_OPEN_SMARTTAGSOPTIONS
@@ -227,9 +224,7 @@ OfaAutocorrOptionsPage::OfaAutocorrOptionsPage( Window* pParent,
sBoldUnderline (CUI_RES(ST_BOLD_UNDER )),
sURL (CUI_RES(ST_DETECT_URL )),
sNoDblSpaces (CUI_RES(STR_NO_DBL_SPACES )),
- sHalf (CUI_RES(ST_FRACTION )),
- sDash (CUI_RES(ST_DASH )),
- sFirst (CUI_RES(ST_ORDINAL ))
+ sDash (CUI_RES(ST_DASH ))
{
FreeResource();
@@ -271,10 +266,8 @@ BOOL OfaAutocorrOptionsPage::FillItemSet( SfxItemSet& )
pAutoCorrect->SetAutoCorrFlag(CptlSttSntnc, aCheckLB.IsChecked(nPos++));
pAutoCorrect->SetAutoCorrFlag(ChgWeightUnderl, aCheckLB.IsChecked(nPos++));
pAutoCorrect->SetAutoCorrFlag(SetINetAttr, aCheckLB.IsChecked(nPos++));
- pAutoCorrect->SetAutoCorrFlag(ChgOrdinalNumber, aCheckLB.IsChecked(nPos++));
- pAutoCorrect->SetAutoCorrFlag(ChgFractionSymbol, aCheckLB.IsChecked(nPos++));
pAutoCorrect->SetAutoCorrFlag(ChgToEnEmDash, aCheckLB.IsChecked(nPos++));
- pAutoCorrect->SetAutoCorrFlag(IngnoreDoubleSpace, aCheckLB.IsChecked(nPos++));
+ pAutoCorrect->SetAutoCorrFlag(IgnoreDoubleSpace, aCheckLB.IsChecked(nPos++));
BOOL bReturn = nFlags != pAutoCorrect->GetFlags();
if(bReturn )
@@ -312,8 +305,6 @@ void OfaAutocorrOptionsPage::Reset( const SfxItemSet& )
aCheckLB.InsertEntry(sStartCap);
aCheckLB.InsertEntry(sBoldUnderline);
aCheckLB.InsertEntry(sURL);
- aCheckLB.InsertEntry(sFirst);
- aCheckLB.InsertEntry(sHalf);
aCheckLB.InsertEntry(sDash);
aCheckLB.InsertEntry(sNoDblSpaces);
@@ -323,10 +314,8 @@ void OfaAutocorrOptionsPage::Reset( const SfxItemSet& )
aCheckLB.CheckEntryPos( nPos++, 0 != (nFlags & CptlSttSntnc) );
aCheckLB.CheckEntryPos( nPos++, 0 != (nFlags & ChgWeightUnderl) );
aCheckLB.CheckEntryPos( nPos++, 0 != (nFlags & SetINetAttr) );
- aCheckLB.CheckEntryPos( nPos++, 0 != (nFlags & ChgOrdinalNumber) );
- aCheckLB.CheckEntryPos( nPos++, 0 != (nFlags & ChgFractionSymbol) );
aCheckLB.CheckEntryPos( nPos++, 0 != (nFlags & ChgToEnEmDash) );
- aCheckLB.CheckEntryPos( nPos++, 0 != (nFlags & IngnoreDoubleSpace) );
+ aCheckLB.CheckEntryPos( nPos++, 0 != (nFlags & IgnoreDoubleSpace) );
aCheckLB.SetUpdateMode(TRUE);
}
@@ -453,8 +442,6 @@ enum OfaAutoFmtOptions
BEGIN_UPPER,
BOLD_UNDERLINE,
DETECT_URL,
- REPLACE_1ST,
- REPLACE_HALF,
REPLACE_DASHES,
DEL_SPACES_AT_STT_END,
DEL_SPACES_BETWEEN_LINES,
@@ -466,7 +453,6 @@ enum OfaAutoFmtOptions
DEL_EMPTY_NODE,
REPLACE_USER_COLL,
REPLACE_BULLETS,
- REPLACE_QUOTATION,
MERGE_SINGLE_LINE_PARA
};
@@ -483,15 +469,12 @@ OfaSwAutoFmtOptionsPage::OfaSwAutoFmtOptionsPage( Window* pParent,
sUseReplaceTbl (CUI_RES( ST_USE_REPLACE )),
sCptlSttWord (CUI_RES( ST_CPTL_STT_WORD)),
sCptlSttSent (CUI_RES( ST_CPTL_STT_SENT)),
- sTypo (CUI_RES( ST_TYPO )),
sUserStyle (CUI_RES( ST_USER_STYLE )),
sBullet (CUI_RES( ST_BULLET )),
sBoldUnder (CUI_RES( ST_BOLD_UNDER )),
sNoDblSpaces (CUI_RES( STR_NO_DBL_SPACES)),
- sFraction (CUI_RES( ST_FRACTION )),
sDetectURL (CUI_RES( ST_DETECT_URL )),
sDash (CUI_RES( ST_DASH )),
- sOrdinal (CUI_RES( ST_ORDINAL )),
sRightMargin (CUI_RES( ST_RIGHT_MARGIN )),
sNum (CUI_RES( STR_NUM )),
sBorder (CUI_RES( STR_BORDER )),
@@ -508,11 +491,6 @@ OfaSwAutoFmtOptionsPage::OfaSwAutoFmtOptionsPage( Window* pParent,
//typ. Anfuehrungszeichen einsetzen
SvtSysLocale aSysLcl;
- const LocaleDataWrapper& rLcl = aSysLcl.GetLocaleData();
- sTypo.SearchAndReplace( String::CreateFromAscii("%1"),
- rLcl.getDoubleQuotationMarkStart());
- sTypo.SearchAndReplace( String::CreateFromAscii("%2"),
- rLcl.getDoubleQuotationMarkEnd());
aCheckLB.SetHelpId(HID_OFAPAGE_AUTOFORMAT_CLB);
aCheckLB.SetWindowBits(WB_HSCROLL| WB_VSCROLL);
@@ -625,7 +603,7 @@ BOOL OfaSwAutoFmtOptionsPage::FillItemSet( SfxItemSet& )
pAutoCorrect->SetAutoCorrFlag(ChgWeightUnderl,
aCheckLB.IsChecked(BOLD_UNDERLINE, CBCOL_SECOND));
- pAutoCorrect->SetAutoCorrFlag(IngnoreDoubleSpace,
+ pAutoCorrect->SetAutoCorrFlag(IgnoreDoubleSpace,
aCheckLB.IsChecked(IGNORE_DBLSPACE, CBCOL_SECOND));
bCheck = aCheckLB.IsChecked(DETECT_URL, CBCOL_FIRST);
@@ -634,20 +612,10 @@ BOOL OfaSwAutoFmtOptionsPage::FillItemSet( SfxItemSet& )
pAutoCorrect->SetAutoCorrFlag(SetINetAttr,
aCheckLB.IsChecked(DETECT_URL, CBCOL_SECOND));
- bCheck = aCheckLB.IsChecked(REPLACE_1ST, CBCOL_FIRST);
- bModified |= pOpt->bChgOrdinalNumber != bCheck;
- pOpt->bChgOrdinalNumber = bCheck;
- pAutoCorrect->SetAutoCorrFlag(ChgOrdinalNumber,
- aCheckLB.IsChecked(REPLACE_1ST, CBCOL_SECOND));
-
bCheck = aCheckLB.IsChecked(DEL_EMPTY_NODE, CBCOL_FIRST);
bModified |= pOpt->bDelEmptyNode != bCheck;
pOpt->bDelEmptyNode = bCheck;
- bCheck = aCheckLB.IsChecked(REPLACE_QUOTATION, CBCOL_FIRST);
- bModified |= pOpt->bReplaceQuote != bCheck;
- pOpt->bReplaceQuote = bCheck;
-
bCheck = aCheckLB.IsChecked(REPLACE_USER_COLL, CBCOL_FIRST);
bModified |= pOpt->bChgUserColl != bCheck;
pOpt->bChgUserColl = bCheck;
@@ -687,12 +655,6 @@ BOOL OfaSwAutoFmtOptionsPage::FillItemSet( SfxItemSet& )
bModified |= pOpt->bReplaceStyles != bCheck;
pOpt->bReplaceStyles = bCheck;
- bCheck = aCheckLB.IsChecked(REPLACE_HALF, CBCOL_FIRST);
- bModified |= pOpt->bChgFracionSymbol != bCheck;
- pOpt->bChgFracionSymbol = bCheck;
- pAutoCorrect->SetAutoCorrFlag(ChgFractionSymbol,
- aCheckLB.IsChecked(REPLACE_HALF, CBCOL_SECOND));
-
bCheck = aCheckLB.IsChecked(REPLACE_DASHES, CBCOL_FIRST);
bModified |= pOpt->bChgToEnEmDash != bCheck;
pOpt->bChgToEnEmDash = bCheck;
@@ -752,8 +714,6 @@ void OfaSwAutoFmtOptionsPage::Reset( const SfxItemSet& )
aCheckLB.GetModel()->Insert(CreateEntry(sCptlSttSent, CBCOL_BOTH ));
aCheckLB.GetModel()->Insert(CreateEntry(sBoldUnder, CBCOL_BOTH ));
aCheckLB.GetModel()->Insert(CreateEntry(sDetectURL, CBCOL_BOTH ));
- aCheckLB.GetModel()->Insert(CreateEntry(sOrdinal, CBCOL_BOTH ));
- aCheckLB.GetModel()->Insert(CreateEntry(sFraction, CBCOL_BOTH ));
aCheckLB.GetModel()->Insert(CreateEntry(sDash, CBCOL_BOTH ));
aCheckLB.GetModel()->Insert(CreateEntry(sDelSpaceAtSttEnd, CBCOL_BOTH ));
aCheckLB.GetModel()->Insert(CreateEntry(sDelSpaceBetweenLines, CBCOL_BOTH ));
@@ -766,7 +726,6 @@ void OfaSwAutoFmtOptionsPage::Reset( const SfxItemSet& )
aCheckLB.GetModel()->Insert(CreateEntry(sDeleteEmptyPara, CBCOL_FIRST ));
aCheckLB.GetModel()->Insert(CreateEntry(sUserStyle, CBCOL_FIRST ));
aCheckLB.GetModel()->Insert(CreateEntry(sBullet, CBCOL_FIRST ));
- aCheckLB.GetModel()->Insert(CreateEntry(sTypo, CBCOL_FIRST ));
aCheckLB.GetModel()->Insert(CreateEntry(sRightMargin, CBCOL_FIRST ));
aCheckLB.CheckEntryPos( USE_REPLACE_TABLE, CBCOL_FIRST, pOpt->bAutoCorrect );
@@ -777,13 +736,9 @@ void OfaSwAutoFmtOptionsPage::Reset( const SfxItemSet& )
aCheckLB.CheckEntryPos( BEGIN_UPPER, CBCOL_SECOND, 0 != (nFlags & CptlSttSntnc) );
aCheckLB.CheckEntryPos( BOLD_UNDERLINE, CBCOL_FIRST, pOpt->bChgWeightUnderl );
aCheckLB.CheckEntryPos( BOLD_UNDERLINE, CBCOL_SECOND, 0 != (nFlags & ChgWeightUnderl) );
- aCheckLB.CheckEntryPos( IGNORE_DBLSPACE, CBCOL_SECOND, 0 != (nFlags & IngnoreDoubleSpace) );
+ aCheckLB.CheckEntryPos( IGNORE_DBLSPACE, CBCOL_SECOND, 0 != (nFlags & IgnoreDoubleSpace) );
aCheckLB.CheckEntryPos( DETECT_URL, CBCOL_FIRST, pOpt->bSetINetAttr );
aCheckLB.CheckEntryPos( DETECT_URL, CBCOL_SECOND, 0 != (nFlags & SetINetAttr) );
- aCheckLB.CheckEntryPos( REPLACE_1ST, CBCOL_FIRST, pOpt->bChgOrdinalNumber );
- aCheckLB.CheckEntryPos( REPLACE_1ST, CBCOL_SECOND, 0 != (nFlags & ChgOrdinalNumber) );
- aCheckLB.CheckEntryPos( REPLACE_HALF, CBCOL_FIRST, pOpt->bChgFracionSymbol );
- aCheckLB.CheckEntryPos( REPLACE_HALF, CBCOL_SECOND, 0 != (nFlags & ChgFractionSymbol) );
aCheckLB.CheckEntryPos( REPLACE_DASHES, CBCOL_FIRST, pOpt->bChgToEnEmDash );
aCheckLB.CheckEntryPos( REPLACE_DASHES, CBCOL_SECOND, 0 != (nFlags & ChgToEnEmDash) );
aCheckLB.CheckEntryPos( DEL_SPACES_AT_STT_END, CBCOL_FIRST, pOpt->bAFmtDelSpacesAtSttEnd );
@@ -791,7 +746,6 @@ void OfaSwAutoFmtOptionsPage::Reset( const SfxItemSet& )
aCheckLB.CheckEntryPos( DEL_SPACES_BETWEEN_LINES, CBCOL_FIRST, pOpt->bAFmtDelSpacesBetweenLines );
aCheckLB.CheckEntryPos( DEL_SPACES_BETWEEN_LINES, CBCOL_SECOND, pOpt->bAFmtByInpDelSpacesBetweenLines );
aCheckLB.CheckEntryPos( DEL_EMPTY_NODE, CBCOL_FIRST, pOpt->bDelEmptyNode );
- aCheckLB.CheckEntryPos( REPLACE_QUOTATION, CBCOL_FIRST, pOpt->bReplaceQuote );
aCheckLB.CheckEntryPos( REPLACE_USER_COLL, CBCOL_FIRST, pOpt->bChgUserColl );
aCheckLB.CheckEntryPos( REPLACE_BULLETS, CBCOL_FIRST, pOpt->bChgEnumNum );
@@ -2035,8 +1989,50 @@ void AutoCorrEdit::KeyInput( const KeyEvent& rKEvt )
--------------------------------------------------*/
+enum OfaQuoteOptions
+{
+ ADD_NONBRK_SPACE,
+ REPLACE_1ST
+};
+
+SvLBoxEntry* OfaQuoteTabPage::CreateEntry(String& rTxt, USHORT nCol)
+{
+ SvLBoxEntry* pEntry = new SvLBoxEntry;
+
+ if ( !pCheckButtonData )
+ {
+ pCheckButtonData = new SvLBoxButtonData( &aSwCheckLB );
+ aSwCheckLB.SetCheckButtonData( pCheckButtonData );
+ }
+
+ pEntry->AddItem( new SvLBoxContextBmp( pEntry, 0, Image(), Image(), 0)); // Sonst Puff!
+
+ String sEmpty;
+ if (nCol == CBCOL_SECOND)
+ pEntry->AddItem( new SvLBoxString( pEntry, 0, sEmpty) ); // Leerspalte
+ else
+ pEntry->AddItem( new SvLBoxButton( pEntry, SvLBoxButtonKind_enabledCheckbox, 0, pCheckButtonData ) );
+
+ if (nCol == CBCOL_FIRST)
+ pEntry->AddItem( new SvLBoxString( pEntry, 0, sEmpty) ); // Leerspalte
+ else
+ pEntry->AddItem( new SvLBoxButton( pEntry, SvLBoxButtonKind_enabledCheckbox, 0, pCheckButtonData ) );
+
+ pEntry->AddItem( new OfaImpBrwString( pEntry, 0, rTxt ) );
+
+ return pEntry;
+}
+
OfaQuoteTabPage::OfaQuoteTabPage( Window* pParent, const SfxItemSet& rSet ) :
SfxTabPage(pParent, CUI_RES( RID_OFAPAGE_AUTOCORR_QUOTE ), rSet),
+ aCheckLB (this, CUI_RES(CLB_SETTINGS )),
+ aSwCheckLB (this, CUI_RES(CLB_SETTINGS )),
+ sHeader1 (CUI_RES( STR_HEADER1 )),
+ sHeader2 (CUI_RES( STR_HEADER2 )),
+ sNonBrkSpace (CUI_RES( ST_NON_BREAK_SPACE )),
+ sOrdinal (CUI_RES( ST_ORDINAL )),
+ pCheckButtonData ( NULL ),
+
aSingleFL (this, CUI_RES(FL_SINGLE )),
aSingleTypoCB (this, CUI_RES(CB_SGL_TYPO )),
aSglStartQuoteFT (this, CUI_RES(FT_SGL_STARTQUOTE )),
@@ -2064,6 +2060,38 @@ OfaQuoteTabPage::OfaQuoteTabPage( Window* pParent, const SfxItemSet& rSet ) :
{
FreeResource();
+ BOOL bShowSWOptions = FALSE;
+
+ aCheckLB.SetHelpId( HID_OFAPAGE_QUOTE_CLB );
+ aSwCheckLB.SetHelpId( HID_OFAPAGE_QUOTE_SW_CLB );
+
+ SFX_ITEMSET_ARG( &rSet, pItem, SfxBoolItem, SID_AUTO_CORRECT_DLG, FALSE );
+ if ( pItem && pItem->GetValue() )
+ bShowSWOptions = TRUE;
+
+ if ( bShowSWOptions )
+ {
+ static long aStaticTabs[]=
+ {
+ 3, 0, 20, 40
+ };
+
+ aSwCheckLB.SetWindowBits(WB_HSCROLL| WB_VSCROLL);
+
+ aSwCheckLB.SvxSimpleTable::SetTabs(aStaticTabs);
+ String sHeader( sHeader1 );
+ sHeader += '\t';
+ sHeader += sHeader2;
+ sHeader += '\t';
+ aSwCheckLB.InsertHeaderEntry( sHeader, HEADERBAR_APPEND,
+ HIB_CENTER | HIB_VCENTER | HIB_FIXEDPOS | HIB_FIXED);
+ aCheckLB.Hide( TRUE );
+ }
+ else
+ {
+ aSwCheckLB.HideTable( );
+ }
+
aStartQuotePB.SetClickHdl(LINK(this, OfaQuoteTabPage, QuoteHdl));
aEndQuotePB.SetClickHdl(LINK(this, OfaQuoteTabPage, QuoteHdl));
aSglStartQuotePB.SetClickHdl(LINK(this, OfaQuoteTabPage, QuoteHdl));
@@ -2077,6 +2105,7 @@ OfaQuoteTabPage::OfaQuoteTabPage( Window* pParent, const SfxItemSet& rSet ) :
--------------------------------------------------*/
OfaQuoteTabPage::~OfaQuoteTabPage()
{
+ delete( pCheckButtonData );
}
/*-----------------03.07.97 13:17-------------------
@@ -2094,6 +2123,32 @@ BOOL OfaQuoteTabPage::FillItemSet( SfxItemSet& )
SvxAutoCorrect* pAutoCorrect = SvxAutoCorrCfg::Get()->GetAutoCorrect();
long nFlags = pAutoCorrect->GetFlags();
+
+ if ( aCheckLB.IsVisible( ) )
+ {
+ USHORT nPos = 0;
+ pAutoCorrect->SetAutoCorrFlag(AddNonBrkSpace, aCheckLB.IsChecked(nPos++));
+ pAutoCorrect->SetAutoCorrFlag(ChgOrdinalNumber, aCheckLB.IsChecked(nPos++));
+ }
+
+ BOOL bModified = FALSE;
+ if ( aSwCheckLB.IsVisible( ) )
+ {
+ SvxSwAutoFmtFlags *pOpt = &pAutoCorrect->GetSwFlags();
+
+ BOOL bCheck = aSwCheckLB.IsChecked(ADD_NONBRK_SPACE, CBCOL_FIRST);
+ bModified |= pOpt->bAddNonBrkSpace != bCheck;
+ pOpt->bAddNonBrkSpace = bCheck;
+ pAutoCorrect->SetAutoCorrFlag(AddNonBrkSpace,
+ aSwCheckLB.IsChecked(ADD_NONBRK_SPACE, CBCOL_SECOND));
+
+ bCheck = aSwCheckLB.IsChecked(REPLACE_1ST, CBCOL_FIRST);
+ bModified |= pOpt->bChgOrdinalNumber != bCheck;
+ pOpt->bChgOrdinalNumber = bCheck;
+ pAutoCorrect->SetAutoCorrFlag(ChgOrdinalNumber,
+ aSwCheckLB.IsChecked(REPLACE_1ST, CBCOL_SECOND));
+ }
+
pAutoCorrect->SetAutoCorrFlag(ChgQuotes, aTypoCB.IsChecked());
pAutoCorrect->SetAutoCorrFlag(ChgSglQuotes, aSingleTypoCB.IsChecked());
BOOL bReturn = nFlags != pAutoCorrect->GetFlags();
@@ -2122,7 +2177,7 @@ BOOL OfaQuoteTabPage::FillItemSet( SfxItemSet& )
pAutoCorrect->SetEndSingleQuote(cUCS2);
}
- if(bReturn )
+ if( bModified || bReturn )
{
SvxAutoCorrCfg* pCfg = SvxAutoCorrCfg::Get();
pCfg->SetModified();
@@ -2145,6 +2200,42 @@ void OfaQuoteTabPage::Reset( const SfxItemSet& )
SvxAutoCorrect* pAutoCorrect = SvxAutoCorrCfg::Get()->GetAutoCorrect();
const long nFlags = pAutoCorrect->GetFlags();
+ // Initialize the Sw options
+ if ( aSwCheckLB.IsVisible( ) )
+ {
+ SvxSwAutoFmtFlags *pOpt = &pAutoCorrect->GetSwFlags();
+
+ aSwCheckLB.SetUpdateMode( FALSE );
+ aSwCheckLB.Clear();
+
+ aSwCheckLB.GetModel()->Insert(CreateEntry(sNonBrkSpace, CBCOL_BOTH ));
+ aSwCheckLB.GetModel()->Insert(CreateEntry(sOrdinal, CBCOL_BOTH ));
+
+ aSwCheckLB.CheckEntryPos( ADD_NONBRK_SPACE, CBCOL_FIRST, pOpt->bAddNonBrkSpace );
+ aSwCheckLB.CheckEntryPos( ADD_NONBRK_SPACE, CBCOL_SECOND, 0 != (nFlags & AddNonBrkSpace) );
+ aSwCheckLB.CheckEntryPos( REPLACE_1ST, CBCOL_FIRST, pOpt->bChgOrdinalNumber );
+ aSwCheckLB.CheckEntryPos( REPLACE_1ST, CBCOL_SECOND, 0 != (nFlags & ChgOrdinalNumber) );
+
+ aSwCheckLB.SetUpdateMode( TRUE );
+ }
+
+ // Initialize the non Sw options
+ if ( aCheckLB.IsVisible( ) )
+ {
+ aCheckLB.SetUpdateMode( FALSE );
+ aCheckLB.Clear( );
+
+ aCheckLB.InsertEntry( sNonBrkSpace );
+ aCheckLB.InsertEntry( sOrdinal );
+
+ USHORT nPos = 0;
+ aCheckLB.CheckEntryPos( nPos++, 0 != (nFlags & AddNonBrkSpace) );
+ aCheckLB.CheckEntryPos( nPos++, 0 != (nFlags & ChgOrdinalNumber) );
+
+ aCheckLB.SetUpdateMode( TRUE );
+ }
+
+ // Initialize the quote stuffs
aTypoCB .Check(0 != (nFlags & ChgQuotes));
aSingleTypoCB .Check(0 != (nFlags & ChgSglQuotes));
aTypoCB .SaveValue();