diff options
-rw-r--r-- | include/sfx2/new.hxx | 23 | ||||
-rw-r--r-- | sfx2/source/doc/new.cxx | 33 | ||||
-rw-r--r-- | sw/source/uibase/app/docsh2.cxx | 24 |
3 files changed, 44 insertions, 36 deletions
diff --git a/include/sfx2/new.hxx b/include/sfx2/new.hxx index aa53d4ce4ae7..48b6dab5cc38 100644 --- a/include/sfx2/new.hxx +++ b/include/sfx2/new.hxx @@ -27,6 +27,7 @@ #include <vcl/edit.hxx> #include <vcl/fixed.hxx> #include <sfx2/basedlgs.hxx> +#include <o3tl/typed_flags_set.hxx> @@ -38,11 +39,19 @@ class SfxObjectShell; #define SFXWB_PREVIEW 0x0003 #define SFXWB_LOAD_TEMPLATE 0x0004 -#define SFX_LOAD_TEXT_STYLES 0x0001 -#define SFX_LOAD_FRAME_STYLES 0x0002 -#define SFX_LOAD_PAGE_STYLES 0x0004 -#define SFX_LOAD_NUM_STYLES 0x0008 -#define SFX_MERGE_STYLES 0x0010 +enum class SfxTemplateFlags +{ + NONE = 0x00, + LOAD_TEXT_STYLES = 0x01, + LOAD_FRAME_STYLES = 0x02, + LOAD_PAGE_STYLES = 0x04, + LOAD_NUM_STYLES = 0x08, + MERGE_STYLES = 0x10, +}; +namespace o3tl +{ + template<> struct typed_flags<SfxTemplateFlags> : is_typed_flags<SfxTemplateFlags, 0x1f> {}; +} #define RET_TEMPLATE_LOAD 100 @@ -65,8 +74,8 @@ public: OUString GetTemplateFileName() const; // load template methods - sal_uInt16 GetTemplateFlags()const; - void SetTemplateFlags(sal_uInt16 nSet); + SfxTemplateFlags GetTemplateFlags() const; + void SetTemplateFlags(SfxTemplateFlags nSet); }; #endif diff --git a/sfx2/source/doc/new.cxx b/sfx2/source/doc/new.cxx index 8a718b99338f..e62676bca661 100644 --- a/sfx2/source/doc/new.cxx +++ b/sfx2/source/doc/new.cxx @@ -165,8 +165,8 @@ public: bool IsTemplate() const; OUString GetTemplateFileName() const; - sal_uInt16 GetTemplateFlags()const; - void SetTemplateFlags(sal_uInt16 nSet); + SfxTemplateFlags GetTemplateFlags() const; + void SetTemplateFlags(SfxTemplateFlags nSet); }; IMPL_LINK_NOARG(SfxNewFileDialog_Impl, Update) @@ -340,27 +340,27 @@ OUString SfxNewFileDialog_Impl::GetTemplateFileName() const GetSelectedTemplatePos()-1); } -sal_uInt16 SfxNewFileDialog_Impl::GetTemplateFlags()const +SfxTemplateFlags SfxNewFileDialog_Impl::GetTemplateFlags()const { - sal_uInt16 nRet = m_pTextStyleCB->IsChecked() ? SFX_LOAD_TEXT_STYLES : 0; + SfxTemplateFlags nRet = m_pTextStyleCB->IsChecked() ? SfxTemplateFlags::LOAD_TEXT_STYLES : SfxTemplateFlags::NONE; if(m_pFrameStyleCB->IsChecked()) - nRet |= SFX_LOAD_FRAME_STYLES; + nRet |= SfxTemplateFlags::LOAD_FRAME_STYLES; if(m_pPageStyleCB->IsChecked()) - nRet |= SFX_LOAD_PAGE_STYLES; + nRet |= SfxTemplateFlags::LOAD_PAGE_STYLES; if(m_pNumStyleCB->IsChecked()) - nRet |= SFX_LOAD_NUM_STYLES; + nRet |= SfxTemplateFlags::LOAD_NUM_STYLES; if(m_pMergeStyleCB->IsChecked()) - nRet |= SFX_MERGE_STYLES; + nRet |= SfxTemplateFlags::MERGE_STYLES; return nRet; } -void SfxNewFileDialog_Impl::SetTemplateFlags(sal_uInt16 nSet) +void SfxNewFileDialog_Impl::SetTemplateFlags(SfxTemplateFlags nSet) { - m_pTextStyleCB->Check( 0 != (nSet&SFX_LOAD_TEXT_STYLES )); - m_pFrameStyleCB->Check( 0 != (nSet&SFX_LOAD_FRAME_STYLES)); - m_pPageStyleCB->Check( 0 != (nSet&SFX_LOAD_PAGE_STYLES )); - m_pNumStyleCB->Check( 0 != (nSet&SFX_LOAD_NUM_STYLES )); - m_pMergeStyleCB->Check( 0 != (nSet&SFX_MERGE_STYLES )); + m_pTextStyleCB->Check( bool(nSet & SfxTemplateFlags::LOAD_TEXT_STYLES )); + m_pFrameStyleCB->Check( bool(nSet & SfxTemplateFlags::LOAD_FRAME_STYLES)); + m_pPageStyleCB->Check( bool(nSet & SfxTemplateFlags::LOAD_PAGE_STYLES )); + m_pNumStyleCB->Check( bool(nSet & SfxTemplateFlags::LOAD_NUM_STYLES )); + m_pMergeStyleCB->Check( bool(nSet & SfxTemplateFlags::MERGE_STYLES )); } @@ -467,13 +467,12 @@ OUString SfxNewFileDialog::GetTemplateFileName() const return pImpl->GetTemplateFileName(); } -sal_uInt16 SfxNewFileDialog::GetTemplateFlags()const +SfxTemplateFlags SfxNewFileDialog::GetTemplateFlags()const { return pImpl->GetTemplateFlags(); - } -void SfxNewFileDialog::SetTemplateFlags(sal_uInt16 nSet) +void SfxNewFileDialog::SetTemplateFlags(SfxTemplateFlags nSet) { pImpl->SetTemplateFlags(nSet); } diff --git a/sw/source/uibase/app/docsh2.cxx b/sw/source/uibase/app/docsh2.cxx index f3056be8a357..f9fba49adc50 100644 --- a/sw/source/uibase/app/docsh2.cxx +++ b/sw/source/uibase/app/docsh2.cxx @@ -475,15 +475,15 @@ void SwDocShell::Execute(SfxRequest& rReq) static bool bMerge = false; sal_uInt16 nRet = USHRT_MAX; - sal_uInt16 nFlags = bFrame ? SFX_LOAD_FRAME_STYLES : 0; + SfxTemplateFlags nFlags = bFrame ? SfxTemplateFlags::LOAD_FRAME_STYLES : SfxTemplateFlags::NONE; if(bPage) - nFlags|= SFX_LOAD_PAGE_STYLES; + nFlags |= SfxTemplateFlags::LOAD_PAGE_STYLES; if(bNum) - nFlags|= SFX_LOAD_NUM_STYLES; - if(!nFlags || bText) - nFlags|= SFX_LOAD_TEXT_STYLES; + nFlags |= SfxTemplateFlags::LOAD_NUM_STYLES; + if(nFlags == SfxTemplateFlags::NONE || bText) + nFlags |= SfxTemplateFlags::LOAD_TEXT_STYLES; if(bMerge) - nFlags|= SFX_MERGE_STYLES; + nFlags |= SfxTemplateFlags::MERGE_STYLES; if ( pArgs ) { @@ -493,7 +493,7 @@ void SwDocShell::Execute(SfxRequest& rReq) aFileName = pTemplateItem->GetValue(); SFX_REQUEST_ARG( rReq, pFlagsItem, SfxInt32Item, SID_TEMPLATE_LOAD, false ); if ( pFlagsItem ) - nFlags = (sal_uInt16) pFlagsItem->GetValue(); + nFlags = static_cast<SfxTemplateFlags>((sal_uInt16) pFlagsItem->GetValue()); } } @@ -570,12 +570,12 @@ void SwDocShell::Execute(SfxRequest& rReq) if( !aFileName.isEmpty() ) { SwgReaderOption aOpt; - aOpt.SetTxtFmts( bText = (0 != (nFlags&SFX_LOAD_TEXT_STYLES) )); - aOpt.SetFrmFmts( bFrame = (0 != (nFlags&SFX_LOAD_FRAME_STYLES))); - aOpt.SetPageDescs( bPage = (0 != (nFlags&SFX_LOAD_PAGE_STYLES ))); - aOpt.SetNumRules( bNum = (0 != (nFlags&SFX_LOAD_NUM_STYLES ))); + aOpt.SetTxtFmts( bText = bool(nFlags & SfxTemplateFlags::LOAD_TEXT_STYLES )); + aOpt.SetFrmFmts( bFrame = bool(nFlags & SfxTemplateFlags::LOAD_FRAME_STYLES)); + aOpt.SetPageDescs( bPage = bool(nFlags & SfxTemplateFlags::LOAD_PAGE_STYLES )); + aOpt.SetNumRules( bNum = bool(nFlags & SfxTemplateFlags::LOAD_NUM_STYLES )); //different meaning between SFX_MERGE_STYLES and aOpt.SetMerge! - bMerge = 0 != (nFlags&SFX_MERGE_STYLES); + bMerge = bool(nFlags & SfxTemplateFlags::MERGE_STYLES); aOpt.SetMerge( !bMerge ); SetError( LoadStylesFromFile( aFileName, aOpt, false ), OUString( OSL_LOG_PREFIX )); |