summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorVitaliy Anderson <vanderson@smartru.com>2017-01-19 02:09:04 -0800
committerNoel Grandin <noel.grandin@collabora.co.uk>2017-01-27 07:35:47 +0000
commit91ccb4dbf7cbe7e684c7a8183863e597d7205e57 (patch)
tree6e6a942e91e2c12fe30a9a7222324493ba9a75e3 /sw
parent78f5923e7cec0f6a0b3dbcbe29bad1980593454c (diff)
Compatibility options refactoring. Part 1
It relate to reduce the nubmer of copy-paste the same code and simplify adding compability options. Also using enum class instead enum can eliminate to occurrence an error relate to access to out of range an array. Change-Id: I07b862aac5f88da4a98e2273cb14daa09e70eacb Reviewed-on: https://gerrit.libreoffice.org/33543 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sw')
-rw-r--r--sw/source/core/doc/DocumentSettingManager.cxx24
-rw-r--r--sw/source/ui/config/optcomp.cxx338
2 files changed, 127 insertions, 235 deletions
diff --git a/sw/source/core/doc/DocumentSettingManager.cxx b/sw/source/core/doc/DocumentSettingManager.cxx
index 22a258189580..ec0eb827e701 100644
--- a/sw/source/core/doc/DocumentSettingManager.cxx
+++ b/sw/source/core/doc/DocumentSettingManager.cxx
@@ -98,18 +98,18 @@ sw::DocumentSettingManager::DocumentSettingManager(SwDoc &rDoc)
if (!utl::ConfigManager::IsAvoidConfig())
{
const SvtCompatibilityOptions aOptions;
- mbParaSpaceMax = aOptions.IsAddSpacing();
- mbParaSpaceMaxAtPages = aOptions.IsAddSpacingAtPages();
- mbTabCompat = !aOptions.IsUseOurTabStops();
- mbUseVirtualDevice = !aOptions.IsUsePrtDevice();
- mbAddExternalLeading = !aOptions.IsNoExtLeading();
- mbOldLineSpacing = aOptions.IsUseLineSpacing();
- mbAddParaSpacingToTableCells = aOptions.IsAddTableSpacing();
- mbUseFormerObjectPos = aOptions.IsUseObjectPositioning();
- mbUseFormerTextWrapping = aOptions.IsUseOurTextWrapping();
- mbConsiderWrapOnObjPos = aOptions.IsConsiderWrappingStyle();
- mbDoNotJustifyLinesWithManualBreak = !aOptions.IsExpandWordSpace();
- mbMsWordCompTrailingBlanks = aOptions.IsMsWordCompTrailingBlanks();
+ mbParaSpaceMax = aOptions.GetDefault( SvtCompatibilityEntry::Index::AddSpacing );
+ mbParaSpaceMaxAtPages = aOptions.GetDefault( SvtCompatibilityEntry::Index::AddSpacingAtPages );
+ mbTabCompat = !aOptions.GetDefault( SvtCompatibilityEntry::Index::UseOurTabStops );
+ mbUseVirtualDevice = !aOptions.GetDefault( SvtCompatibilityEntry::Index::UsePrtMetrics );
+ mbAddExternalLeading = !aOptions.GetDefault( SvtCompatibilityEntry::Index::NoExtLeading );
+ mbOldLineSpacing = aOptions.GetDefault( SvtCompatibilityEntry::Index::UseLineSpacing );
+ mbAddParaSpacingToTableCells = aOptions.GetDefault( SvtCompatibilityEntry::Index::AddTableSpacing );
+ mbUseFormerObjectPos = aOptions.GetDefault( SvtCompatibilityEntry::Index::UseObjectPositioning );
+ mbUseFormerTextWrapping = aOptions.GetDefault( SvtCompatibilityEntry::Index::UseOurTextWrapping );
+ mbConsiderWrapOnObjPos = aOptions.GetDefault( SvtCompatibilityEntry::Index::ConsiderWrappingStyle );
+ mbDoNotJustifyLinesWithManualBreak = !aOptions.GetDefault( SvtCompatibilityEntry::Index::ExpandWordSpace );
+ mbMsWordCompTrailingBlanks = aOptions.GetDefault( SvtCompatibilityEntry::Index::MsWordTrailingBlanks );
}
else
{
diff --git a/sw/source/ui/config/optcomp.cxx b/sw/source/ui/config/optcomp.cxx
index 69e54a3bbcf7..59d71431ba47 100644
--- a/sw/source/ui/config/optcomp.cxx
+++ b/sw/source/ui/config/optcomp.cxx
@@ -41,60 +41,15 @@ using namespace ::com::sun::star::document;
using namespace ::com::sun::star::uno;
using namespace ::std;
-struct CompatibilityItem
-{
- OUString m_sName;
- OUString m_sModule;
- bool m_bUsePrtMetrics;
- bool m_bAddSpacing;
- bool m_bAddSpacingAtPages;
- bool m_bUseOurTabStops;
- bool m_bNoExtLeading;
- bool m_bUseLineSpacing;
- bool m_bAddTableSpacing;
- bool m_bUseObjPos;
- bool m_bUseOurTextWrapping;
- bool m_bConsiderWrappingStyle;
- bool m_bExpandWordSpace;
- bool m_bProtectForm;
- bool m_bMsWordCompTrailingBlanks;
- bool m_bIsDefault;
-
- CompatibilityItem( const OUString& _rName, const OUString& _rModule,
- bool _bUsePrtMetrics, bool _bAddSpacing, bool _bAddSpacingAtPages,
- bool _bUseOurTabStops, bool _bNoExtLeading, bool _bUseLineSpacing,
- bool _bAddTableSpacing, bool _bUseObjPos, bool _bUseOurTextWrapping,
- bool _bConsiderWrappingStyle, bool _bExpandWordSpace, bool _bProtectForm,
- bool _bMsWordCompTrailingBlanks, bool _bIsDefault ) :
-
- m_sName ( _rName ),
- m_sModule ( _rModule ),
- m_bUsePrtMetrics ( _bUsePrtMetrics ),
- m_bAddSpacing ( _bAddSpacing ),
- m_bAddSpacingAtPages ( _bAddSpacingAtPages ),
- m_bUseOurTabStops ( _bUseOurTabStops ),
- m_bNoExtLeading ( _bNoExtLeading ),
- m_bUseLineSpacing ( _bUseLineSpacing ),
- m_bAddTableSpacing ( _bAddTableSpacing ),
- m_bUseObjPos ( _bUseObjPos ),
- m_bUseOurTextWrapping ( _bUseOurTextWrapping ),
- m_bConsiderWrappingStyle( _bConsiderWrappingStyle ),
- m_bExpandWordSpace ( _bExpandWordSpace ),
- m_bProtectForm ( _bProtectForm),
- m_bMsWordCompTrailingBlanks( _bMsWordCompTrailingBlanks),
- m_bIsDefault ( _bIsDefault ) {}
-};
-
struct SwCompatibilityOptPage_Impl
{
- typedef vector< CompatibilityItem > SwCompatibilityItemList;
+ typedef vector< SvtCompatibilityEntry > SwCompatibilityItemList;
- SwCompatibilityItemList m_aList;
+ SwCompatibilityItemList m_aList;
};
SwCompatibilityOptPage::SwCompatibilityOptPage(vcl::Window* pParent, const SfxItemSet& rSet)
- : SfxTabPage(pParent, "OptCompatPage",
- "modules/swriter/ui/optcompatpage.ui", &rSet)
+ : SfxTabPage(pParent, "OptCompatPage", "modules/swriter/ui/optcompatpage.ui", &rSet)
, m_pWrtShell(nullptr)
, m_pImpl(new SwCompatibilityOptPage_Impl)
, m_nSavedOptions(0)
@@ -104,15 +59,18 @@ SwCompatibilityOptPage::SwCompatibilityOptPage(vcl::Window* pParent, const SfxIt
get(m_pOptionsLB, "options");
get(m_pDefaultPB, "default");
- for (sal_Int32 nId = COPT_USE_PRINTERDEVICE; nId <= COPT_MS_WORD_COMP_TRAILING_BLANKS; ++nId)
+ for ( int i = (static_cast<int>(SvtCompatibilityEntry::Index::Module) + 1); i < static_cast<int>(SvtCompatibilityEntry::Index::INVALID); ++i )
{
- const OUString sEntry = m_pFormattingLB->GetEntry(nId);
+ int nCoptIdx = i - 2; /* Do not consider "Name" & "Module" indexes */
+
+ const OUString sEntry = m_pFormattingLB->GetEntry( nCoptIdx );
SvTreeListEntry* pEntry = m_pOptionsLB->SvTreeListBox::InsertEntry( sEntry );
if ( pEntry )
{
m_pOptionsLB->SetCheckButtonState( pEntry, SvButtonState::Unchecked );
}
}
+
m_sUserEntry = m_pFormattingLB->GetEntry(m_pFormattingLB->GetEntryCount()-1);
m_pFormattingLB->Clear();
@@ -227,21 +185,10 @@ void SwCompatibilityOptPage::InitControls( const SfxItemSet& rSet )
// loading file formats
Sequence< Sequence< PropertyValue > > aList = m_aConfigItem.GetList();
- OUString sName;
- OUString sModule;
- bool bUsePrtMetrics = false;
- bool bAddSpacing = false;
- bool bAddSpacingAtPages = false;
- bool bUseOurTabStops = false;
- bool bNoExtLeading = false;
- bool bUseLineSpacing = false;
- bool bAddTableSpacing = false;
- bool bUseObjPos = false;
- bool bUseOurTextWrapping = false;
- bool bConsiderWrappingStyle = false;
- bool bExpandWordSpace = false;
- bool bProtectForm = false;
- bool bMsWordCompTrailingBlanks = false;
+
+ SvtCompatibilityEntry aEntry;
+ aEntry.setValue<bool>( SvtCompatibilityEntry::Index::ExpandWordSpace, false );
+
const sal_Int32 nCount = aList.getLength();
for ( sal_Int32 i = 0; i < nCount; ++i )
{
@@ -250,73 +197,51 @@ void SwCompatibilityOptPage::InitControls( const SfxItemSet& rSet )
for ( sal_Int32 j = 0; j < nEntries; j++ )
{
PropertyValue aValue = rEntry[j];
- if ( aValue.Name == COMPATIBILITY_PROPERTYNAME_NAME )
- aValue.Value >>= sName;
- else if ( aValue.Name == COMPATIBILITY_PROPERTYNAME_MODULE )
- aValue.Value >>= sModule;
- else if ( aValue.Name == COMPATIBILITY_PROPERTYNAME_USEPRTMETRICS )
- aValue.Value >>= bUsePrtMetrics;
- else if ( aValue.Name == COMPATIBILITY_PROPERTYNAME_ADDSPACING )
- aValue.Value >>= bAddSpacing;
- else if ( aValue.Name == COMPATIBILITY_PROPERTYNAME_ADDSPACINGATPAGES )
- aValue.Value >>= bAddSpacingAtPages;
- else if ( aValue.Name == COMPATIBILITY_PROPERTYNAME_USEOURTABSTOPS )
- aValue.Value >>= bUseOurTabStops;
- else if ( aValue.Name == COMPATIBILITY_PROPERTYNAME_NOEXTLEADING )
- aValue.Value >>= bNoExtLeading;
- else if ( aValue.Name == COMPATIBILITY_PROPERTYNAME_USELINESPACING )
- aValue.Value >>= bUseLineSpacing;
- else if ( aValue.Name == COMPATIBILITY_PROPERTYNAME_ADDTABLESPACING )
- aValue.Value >>= bAddTableSpacing;
- else if ( aValue.Name == COMPATIBILITY_PROPERTYNAME_USEOBJECTPOSITIONING )
- aValue.Value >>= bUseObjPos;
- else if ( aValue.Name == COMPATIBILITY_PROPERTYNAME_USEOURTEXTWRAPPING )
- aValue.Value >>= bUseOurTextWrapping;
- else if ( aValue.Name == COMPATIBILITY_PROPERTYNAME_CONSIDERWRAPPINGSTYLE )
- aValue.Value >>= bConsiderWrappingStyle;
- else if ( aValue.Name == COMPATIBILITY_PROPERTYNAME_EXPANDWORDSPACE )
- aValue.Value >>= bExpandWordSpace;
- else if ( aValue.Name == COMPATIBILITY_PROPERTYNAME_PROTECTFORM )
- aValue.Value >>= bProtectForm;
- else if ( aValue.Name == COMPATIBILITY_PROPERTYNAME_MSWORDTRAILINGBLANKS )
- aValue.Value >>= bMsWordCompTrailingBlanks;
+ aEntry.setValue( SvtCompatibilityEntry::getIndex(aValue.Name), aValue.Value );
}
- const bool bIsUserEntry = sName == "_user";
- const bool bIsDefaultEntry = sName == COMPATIBILITY_DEFAULT_NAME;
+ const OUString sEntryName = aEntry.getValue<OUString>( SvtCompatibilityEntry::Index::Name );
+
+ const bool bIsUserEntry = ( sEntryName == SvtCompatibilityEntry::getUserEntryName() );
+ const bool bIsDefaultEntry = ( sEntryName == SvtCompatibilityEntry::getDefaultEntryName() );
+
+ aEntry.setDefaultEntry( bIsDefaultEntry );
- CompatibilityItem aItem(
- sName, sModule, bUsePrtMetrics, bAddSpacing,
- bAddSpacingAtPages, bUseOurTabStops, bNoExtLeading,
- bUseLineSpacing, bAddTableSpacing, bUseObjPos,
- bUseOurTextWrapping, bConsiderWrappingStyle, bExpandWordSpace,
- bProtectForm, bMsWordCompTrailingBlanks, bIsDefaultEntry );
- m_pImpl->m_aList.push_back( aItem );
+ m_pImpl->m_aList.push_back( aEntry );
- if ( aItem.m_bIsDefault )
+ if ( aEntry.isDefaultEntry() )
continue;
OUString sNewEntry;
if ( bIsUserEntry )
sNewEntry = m_sUserEntry;
- else if ( pObjShell && !sName.isEmpty() )
+
+ else if ( pObjShell && !sEntryName.isEmpty() )
{
SfxFilterContainer* pFacCont = pObjShell->GetFactory().GetFilterContainer();
- std::shared_ptr<const SfxFilter> pFilter = pFacCont->GetFilter4FilterName( sName );
+ std::shared_ptr<const SfxFilter> pFilter = pFacCont->GetFilter4FilterName( sEntryName );
if ( pFilter )
sNewEntry = pFilter->GetUIName();
}
if ( sNewEntry.isEmpty() )
- sNewEntry = sName;
+ sNewEntry = sEntryName;
const sal_Int32 nPos = m_pFormattingLB->InsertEntry( sNewEntry );
sal_uLong nOptions = convertBools2Ulong_Impl(
- bUsePrtMetrics, bAddSpacing, bAddSpacingAtPages,
- bUseOurTabStops, bNoExtLeading, bUseLineSpacing,
- bAddTableSpacing, bUseObjPos, bUseOurTextWrapping,
- bConsiderWrappingStyle, bExpandWordSpace, bProtectForm,
- bMsWordCompTrailingBlanks );
+ aEntry.getValue<bool>( SvtCompatibilityEntry::Index::UsePrtMetrics ),
+ aEntry.getValue<bool>( SvtCompatibilityEntry::Index::AddSpacing ),
+ aEntry.getValue<bool>( SvtCompatibilityEntry::Index::AddSpacingAtPages ),
+ aEntry.getValue<bool>( SvtCompatibilityEntry::Index::UseOurTabStops ),
+ aEntry.getValue<bool>( SvtCompatibilityEntry::Index::NoExtLeading ),
+ aEntry.getValue<bool>( SvtCompatibilityEntry::Index::UseLineSpacing ),
+ aEntry.getValue<bool>( SvtCompatibilityEntry::Index::AddTableSpacing ),
+ aEntry.getValue<bool>( SvtCompatibilityEntry::Index::UseObjectPositioning ),
+ aEntry.getValue<bool>( SvtCompatibilityEntry::Index::UseOurTextWrapping ),
+ aEntry.getValue<bool>( SvtCompatibilityEntry::Index::ConsiderWrappingStyle ),
+ aEntry.getValue<bool>( SvtCompatibilityEntry::Index::ExpandWordSpace ),
+ aEntry.getValue<bool>( SvtCompatibilityEntry::Index::ProtectForm ),
+ aEntry.getValue<bool>( SvtCompatibilityEntry::Index::MsWordTrailingBlanks ) );
m_pFormattingLB->SetEntryData( nPos, reinterpret_cast<void*>((sal_IntPtr)nOptions) );
}
@@ -336,36 +261,18 @@ IMPL_LINK_NOARG(SwCompatibilityOptPage, UseAsDefaultHdl, Button*, void)
"modules/swriter/ui/querydefaultcompatdialog.ui");
if (aQuery->Execute() == RET_YES)
{
- for ( vector< CompatibilityItem >::iterator pItem = m_pImpl->m_aList.begin();
+ for ( vector< SvtCompatibilityEntry >::iterator pItem = m_pImpl->m_aList.begin();
pItem != m_pImpl->m_aList.end(); ++pItem )
{
- if ( pItem->m_bIsDefault )
+ if ( pItem->isDefaultEntry() )
{
const sal_Int32 nCount = m_pOptionsLB->GetEntryCount();
for ( sal_Int32 i = 0; i < nCount; ++i )
{
bool bChecked = m_pOptionsLB->IsChecked(static_cast< sal_uLong >( i ));
- CompatibilityOptions eOption = static_cast< CompatibilityOptions >(i);
- switch ( eOption )
- {
- case COPT_USE_PRINTERDEVICE : pItem->m_bUsePrtMetrics = bChecked; break;
- case COPT_ADD_SPACING : pItem->m_bAddSpacing = bChecked; break;
- case COPT_ADD_SPACING_AT_PAGES : pItem->m_bAddSpacingAtPages = bChecked; break;
- case COPT_USE_OUR_TABSTOPS : pItem->m_bUseOurTabStops = bChecked; break;
- case COPT_NO_EXTLEADING : pItem->m_bNoExtLeading = bChecked; break;
- case COPT_USE_LINESPACING : pItem->m_bUseLineSpacing = bChecked; break;
- case COPT_ADD_TABLESPACING : pItem->m_bAddTableSpacing = bChecked; break;
- case COPT_USE_OBJECTPOSITIONING: pItem->m_bUseObjPos = bChecked; break;
- case COPT_USE_OUR_TEXTWRAPPING: pItem->m_bUseOurTextWrapping = bChecked; break;
- case COPT_CONSIDER_WRAPPINGSTYLE: pItem->m_bConsiderWrappingStyle = bChecked; break;
- case COPT_EXPAND_WORDSPACE: pItem->m_bExpandWordSpace = bChecked; break;
- case COPT_PROTECT_FORM: pItem->m_bProtectForm = bChecked; break;
- case COPT_MS_WORD_COMP_TRAILING_BLANKS: pItem->m_bMsWordCompTrailingBlanks = bChecked; break;
- default:
- {
- OSL_FAIL("SwCompatibilityOptPage::UseAsDefaultHdl(): wrong option" );
- }
- }
+
+ int nCoptIdx = i + 2; /* Consider "Name" & "Module" indexes */
+ pItem->setValue<bool>( SvtCompatibilityEntry::Index(nCoptIdx), bChecked );
}
break;
}
@@ -394,19 +301,19 @@ sal_uLong SwCompatibilityOptPage::GetDocumentOptions() const
{
const IDocumentSettingAccess& rIDocumentSettingAccess = m_pWrtShell->getIDocumentSettingAccess();
nRet = convertBools2Ulong_Impl(
- !rIDocumentSettingAccess.get(DocumentSettingId::USE_VIRTUAL_DEVICE),
- rIDocumentSettingAccess.get(DocumentSettingId::PARA_SPACE_MAX),
- rIDocumentSettingAccess.get(DocumentSettingId::PARA_SPACE_MAX_AT_PAGES),
- !rIDocumentSettingAccess.get(DocumentSettingId::TAB_COMPAT),
- !rIDocumentSettingAccess.get(DocumentSettingId::ADD_EXT_LEADING),
- rIDocumentSettingAccess.get(DocumentSettingId::OLD_LINE_SPACING),
- rIDocumentSettingAccess.get(DocumentSettingId::ADD_PARA_SPACING_TO_TABLE_CELLS),
- rIDocumentSettingAccess.get(DocumentSettingId::USE_FORMER_OBJECT_POS),
- rIDocumentSettingAccess.get(DocumentSettingId::USE_FORMER_TEXT_WRAPPING),
- rIDocumentSettingAccess.get(DocumentSettingId::CONSIDER_WRAP_ON_OBJECT_POSITION),
- !rIDocumentSettingAccess.get(DocumentSettingId::DO_NOT_JUSTIFY_LINES_WITH_MANUAL_BREAK),
- rIDocumentSettingAccess.get(DocumentSettingId::PROTECT_FORM),
- rIDocumentSettingAccess.get(DocumentSettingId::MS_WORD_COMP_TRAILING_BLANKS));
+ !rIDocumentSettingAccess.get( DocumentSettingId::USE_VIRTUAL_DEVICE ),
+ rIDocumentSettingAccess.get( DocumentSettingId::PARA_SPACE_MAX ),
+ rIDocumentSettingAccess.get( DocumentSettingId::PARA_SPACE_MAX_AT_PAGES ),
+ !rIDocumentSettingAccess.get( DocumentSettingId::TAB_COMPAT ),
+ !rIDocumentSettingAccess.get( DocumentSettingId::ADD_EXT_LEADING ),
+ rIDocumentSettingAccess.get( DocumentSettingId::OLD_LINE_SPACING ),
+ rIDocumentSettingAccess.get( DocumentSettingId::ADD_PARA_SPACING_TO_TABLE_CELLS ),
+ rIDocumentSettingAccess.get( DocumentSettingId::USE_FORMER_OBJECT_POS ),
+ rIDocumentSettingAccess.get( DocumentSettingId::USE_FORMER_TEXT_WRAPPING ),
+ rIDocumentSettingAccess.get( DocumentSettingId::CONSIDER_WRAP_ON_OBJECT_POSITION ),
+ !rIDocumentSettingAccess.get( DocumentSettingId::DO_NOT_JUSTIFY_LINES_WITH_MANUAL_BREAK ),
+ rIDocumentSettingAccess.get( DocumentSettingId::PROTECT_FORM ),
+ rIDocumentSettingAccess.get( DocumentSettingId::MS_WORD_COMP_TRAILING_BLANKS ) );
}
return nRet;
}
@@ -414,16 +321,9 @@ sal_uLong SwCompatibilityOptPage::GetDocumentOptions() const
void SwCompatibilityOptPage::WriteOptions()
{
m_aConfigItem.Clear();
- for ( vector< CompatibilityItem >::const_iterator pItem = m_pImpl->m_aList.begin();
+ for ( vector< SvtCompatibilityEntry >::const_iterator pItem = m_pImpl->m_aList.begin();
pItem != m_pImpl->m_aList.end(); ++pItem )
- m_aConfigItem.AppendItem(
- pItem->m_sName, pItem->m_sModule, pItem->m_bUsePrtMetrics, pItem->m_bAddSpacing,
- pItem->m_bAddSpacingAtPages, pItem->m_bUseOurTabStops,
- pItem->m_bNoExtLeading, pItem->m_bUseLineSpacing,
- pItem->m_bAddTableSpacing, pItem->m_bUseObjPos,
- pItem->m_bUseOurTextWrapping, pItem->m_bConsiderWrappingStyle,
- pItem->m_bExpandWordSpace, pItem->m_bProtectForm,
- pItem->m_bMsWordCompTrailingBlanks );
+ m_aConfigItem.AppendItem(*pItem);
}
VclPtr<SfxTabPage> SwCompatibilityOptPage::Create( vcl::Window* pParent, const SfxItemSet* rAttrSet )
@@ -440,83 +340,75 @@ bool SwCompatibilityOptPage::FillItemSet( SfxItemSet* )
const sal_uLong nCount = m_pOptionsLB->GetEntryCount();
OSL_ENSURE( nCount <= 32, "SwCompatibilityOptPage::Reset(): entry overflow" );
- bool bSetParaSpaceMax = false;
-
for ( sal_uLong i = 0; i < nCount; ++i )
{
- CompatibilityOptions nOption = static_cast< CompatibilityOptions >(i);
bool bChecked = m_pOptionsLB->IsChecked(i);
bool bSavedChecked = ( ( nSavedOptions & 0x00000001 ) == 0x00000001 );
if ( bChecked != bSavedChecked )
{
- if ( COPT_USE_PRINTERDEVICE == nOption )
- {
- m_pWrtShell->SetUseVirDev( !bChecked );
- bModified = true;
- }
- else if ( ( COPT_ADD_SPACING == nOption || COPT_ADD_SPACING_AT_PAGES == nOption ) && !bSetParaSpaceMax )
- bSetParaSpaceMax = true;
- else if ( COPT_USE_OUR_TABSTOPS == nOption )
- {
- m_pWrtShell->SetTabCompat( !bChecked );
- bModified = true;
- }
- else if ( COPT_NO_EXTLEADING == nOption )
- {
- m_pWrtShell->SetAddExtLeading( !bChecked );
- bModified = true;
- }
- else if ( COPT_USE_LINESPACING == nOption )
- {
- m_pWrtShell->SetUseFormerLineSpacing( bChecked );
- bModified = true;
- }
- else if ( COPT_ADD_TABLESPACING == nOption )
- {
- m_pWrtShell->SetAddParaSpacingToTableCells( bChecked );
- bModified = true;
- }
- else if ( COPT_USE_OBJECTPOSITIONING == nOption )
- {
- m_pWrtShell->SetUseFormerObjectPositioning( bChecked );
- bModified = true;
- }
- else if ( COPT_USE_OUR_TEXTWRAPPING == nOption )
+ int nCoptIdx = i + 2; /* Consider "Name" & "Module" indexes */
+ switch ( SvtCompatibilityEntry::Index(nCoptIdx) )
{
- m_pWrtShell->SetUseFormerTextWrapping( bChecked );
- bModified = true;
- }
- else if ( COPT_CONSIDER_WRAPPINGSTYLE == nOption )
- {
- m_pWrtShell->SetConsiderWrapOnObjPos( bChecked );
- bModified = true;
- }
- else if ( COPT_EXPAND_WORDSPACE == nOption )
- {
- m_pWrtShell->SetDoNotJustifyLinesWithManualBreak( !bChecked );
- bModified = true;
- }
- else if ( COPT_PROTECT_FORM == nOption )
- {
- m_pWrtShell->SetProtectForm( bChecked );
- bModified = true;
- }
- else if ( COPT_MS_WORD_COMP_TRAILING_BLANKS == nOption )
- {
- m_pWrtShell->SetMsWordCompTrailingBlanks( bChecked );
- bModified = true;
+ case SvtCompatibilityEntry::Index::UsePrtMetrics:
+ m_pWrtShell->SetUseVirDev( !bChecked );
+ break;
+
+ case SvtCompatibilityEntry::Index::AddSpacing:
+ m_pWrtShell->SetParaSpaceMax( bChecked );
+ break;
+
+ case SvtCompatibilityEntry::Index::AddSpacingAtPages:
+ m_pWrtShell->SetParaSpaceMaxAtPages( bChecked );
+ break;
+
+ case SvtCompatibilityEntry::Index::UseOurTabStops:
+ m_pWrtShell->SetTabCompat( !bChecked );
+ break;
+
+ case SvtCompatibilityEntry::Index::NoExtLeading:
+ m_pWrtShell->SetAddExtLeading( !bChecked );
+ break;
+
+ case SvtCompatibilityEntry::Index::UseLineSpacing:
+ m_pWrtShell->SetUseFormerLineSpacing( bChecked );
+ break;
+
+ case SvtCompatibilityEntry::Index::AddTableSpacing:
+ m_pWrtShell->SetAddParaSpacingToTableCells( bChecked );
+ break;
+
+ case SvtCompatibilityEntry::Index::UseObjectPositioning:
+ m_pWrtShell->SetUseFormerObjectPositioning( bChecked );
+ break;
+
+ case SvtCompatibilityEntry::Index::UseOurTextWrapping:
+ m_pWrtShell->SetUseFormerTextWrapping( bChecked );
+ break;
+
+ case SvtCompatibilityEntry::Index::ConsiderWrappingStyle:
+ m_pWrtShell->SetConsiderWrapOnObjPos( bChecked );
+ break;
+
+ case SvtCompatibilityEntry::Index::ExpandWordSpace:
+ m_pWrtShell->SetDoNotJustifyLinesWithManualBreak( !bChecked );
+ break;
+
+ case SvtCompatibilityEntry::Index::ProtectForm:
+ m_pWrtShell->SetProtectForm( bChecked );
+ break;
+
+ case SvtCompatibilityEntry::Index::MsWordTrailingBlanks:
+ m_pWrtShell->SetMsWordCompTrailingBlanks( bChecked );
+ break;
+
+ default:
+ break;
}
+ bModified = true;
}
nSavedOptions = nSavedOptions >> 1;
}
-
- if ( bSetParaSpaceMax )
- {
- m_pWrtShell->SetParaSpaceMax( m_pOptionsLB->IsChecked( (sal_uLong)COPT_ADD_SPACING ) );
- m_pWrtShell->SetParaSpaceMaxAtPages( m_pOptionsLB->IsChecked( (sal_uLong)COPT_ADD_SPACING_AT_PAGES ) );
- bModified = true;
- }
}
if ( bModified )