From a61c4ae9cef23a53ea88f957e090bd5ee9b28ca6 Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Wed, 22 Mar 2017 14:36:53 +0200 Subject: convert SC_CELL_SHIFT_DISABLE to o3tl::typed_flags enum Change-Id: Iae4358828edc6bad26ef5c769a8ff42fe63ade7b Reviewed-on: https://gerrit.libreoffice.org/35556 Tested-by: Jenkins Reviewed-by: Noel Grandin --- sc/inc/scabstdlg.hxx | 3 ++- sc/source/ui/attrdlg/scdlgfact.cxx | 2 +- sc/source/ui/attrdlg/scdlgfact.hxx | 2 +- sc/source/ui/inc/inscodlg.hxx | 2 +- sc/source/ui/inc/scui_def.hxx | 10 ++++++++-- sc/source/ui/miscdlgs/inscodlg.cxx | 6 +++--- sc/source/ui/view/cellsh1.cxx | 12 ++++++------ 7 files changed, 22 insertions(+), 15 deletions(-) diff --git a/sc/inc/scabstdlg.hxx b/sc/inc/scabstdlg.hxx index 3370b5d58e70..aaffffb57122 100644 --- a/sc/inc/scabstdlg.hxx +++ b/sc/inc/scabstdlg.hxx @@ -49,6 +49,7 @@ class ScTabViewShell; class ScConditionalFormat; class ScConditionalFormatList; enum class CreateNameFlags; +enum class CellShiftDisabledFlags; namespace com { namespace sun { namespace star { namespace sheet { struct DataPilotFieldReference; @@ -195,7 +196,7 @@ public: virtual void SetOtherDoc( bool bSet ) = 0; virtual bool IsTranspose() const = 0; virtual void SetChangeTrack( bool bSet ) = 0; - virtual void SetCellShiftDisabled( int nDisable ) = 0; + virtual void SetCellShiftDisabled( CellShiftDisabledFlags nDisable ) = 0; virtual InsCellCmd GetMoveMode() = 0; }; diff --git a/sc/source/ui/attrdlg/scdlgfact.cxx b/sc/source/ui/attrdlg/scdlgfact.cxx index 872f9a4aeed6..25da277cffc8 100644 --- a/sc/source/ui/attrdlg/scdlgfact.cxx +++ b/sc/source/ui/attrdlg/scdlgfact.cxx @@ -335,7 +335,7 @@ void AbstractScInsertContentsDlg_Impl::SetChangeTrack( bool bSet ) pDlg->SetChangeTrack( bSet ); } -void AbstractScInsertContentsDlg_Impl::SetCellShiftDisabled( int nDisable ) +void AbstractScInsertContentsDlg_Impl::SetCellShiftDisabled( CellShiftDisabledFlags nDisable ) { pDlg->SetCellShiftDisabled( nDisable ); } diff --git a/sc/source/ui/attrdlg/scdlgfact.hxx b/sc/source/ui/attrdlg/scdlgfact.hxx index f7db969cbdca..c6e33120e670 100644 --- a/sc/source/ui/attrdlg/scdlgfact.hxx +++ b/sc/source/ui/attrdlg/scdlgfact.hxx @@ -233,7 +233,7 @@ class AbstractScInsertContentsDlg_Impl : public AbstractScInsertContentsDlg virtual void SetOtherDoc( bool bSet ) override; virtual bool IsTranspose() const override; virtual void SetChangeTrack( bool bSet ) override; - virtual void SetCellShiftDisabled( int nDisable ) override; + virtual void SetCellShiftDisabled( CellShiftDisabledFlags nDisable ) override; virtual InsCellCmd GetMoveMode() override; }; diff --git a/sc/source/ui/inc/inscodlg.hxx b/sc/source/ui/inc/inscodlg.hxx index 0e6378c9c828..ca46964b8dad 100644 --- a/sc/source/ui/inc/inscodlg.hxx +++ b/sc/source/ui/inc/inscodlg.hxx @@ -46,7 +46,7 @@ public: void SetOtherDoc( bool bSet ); void SetFillMode( bool bSet ); void SetChangeTrack( bool bSet ); - void SetCellShiftDisabled( int nDisable ); + void SetCellShiftDisabled( CellShiftDisabledFlags nDisable ); private: VclPtr mpBtnInsAll; diff --git a/sc/source/ui/inc/scui_def.hxx b/sc/source/ui/inc/scui_def.hxx index d2507a81eaac..c2bc095b8162 100644 --- a/sc/source/ui/inc/scui_def.hxx +++ b/sc/source/ui/inc/scui_def.hxx @@ -39,8 +39,14 @@ namespace o3tl { template<> struct typed_flags : is_typed_flags {}; } -#define SC_CELL_SHIFT_DISABLE_DOWN 0x01 //from inscodlg.hxx -#define SC_CELL_SHIFT_DISABLE_RIGHT 0x02 //from inscodlg.hxx +enum class CellShiftDisabledFlags { + NONE = 0x00, + Down = 0x01, //from inscodlg.hxx + Right = 0x02 //from inscodlg.hxx +}; +namespace o3tl { + template<> struct typed_flags : is_typed_flags {}; +} enum class CreateNameFlags { NONE = 0, diff --git a/sc/source/ui/miscdlgs/inscodlg.cxx b/sc/source/ui/miscdlgs/inscodlg.cxx index 5a29e9c7a528..190d108e9e63 100644 --- a/sc/source/ui/miscdlgs/inscodlg.cxx +++ b/sc/source/ui/miscdlgs/inscodlg.cxx @@ -287,10 +287,10 @@ void ScInsertContentsDlg::SetChangeTrack( bool bSet ) } } -void ScInsertContentsDlg::SetCellShiftDisabled( int nDisable ) +void ScInsertContentsDlg::SetCellShiftDisabled( CellShiftDisabledFlags nDisable ) { - bool bDown = ((nDisable & SC_CELL_SHIFT_DISABLE_DOWN) != 0); - bool bRight = ((nDisable & SC_CELL_SHIFT_DISABLE_RIGHT) != 0); + bool bDown(nDisable & CellShiftDisabledFlags::Down); + bool bRight(nDisable & CellShiftDisabledFlags::Right); if ( bDown != bMoveDownDisabled || bRight != bMoveRightDisabled ) { bMoveDownDisabled = bDown; diff --git a/sc/source/ui/view/cellsh1.cxx b/sc/source/ui/view/cellsh1.cxx index b718994db6ae..fd31875848fe 100644 --- a/sc/source/ui/view/cellsh1.cxx +++ b/sc/source/ui/view/cellsh1.cxx @@ -1435,28 +1435,28 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq ) ScRange aDest( nStartX, nStartY, nStartTab, nStartX + nRangeSizeX, nStartY + nRangeSizeY, nStartTab ); if ( pOwnClip->GetDocument()->IsCutMode() && aSource.Intersects( aDest ) ) - pDlg->SetCellShiftDisabled( SC_CELL_SHIFT_DISABLE_DOWN | SC_CELL_SHIFT_DISABLE_RIGHT ); + pDlg->SetCellShiftDisabled( CellShiftDisabledFlags::Down | CellShiftDisabledFlags::Right ); else { //no conflict with intersecting ranges, //check if paste plus shift will fit on sheet //and disable shift-option if no fit - int nDisableShiftX = 0; - int nDisableShiftY = 0; + CellShiftDisabledFlags nDisableShiftX = CellShiftDisabledFlags::NONE; + CellShiftDisabledFlags nDisableShiftY = CellShiftDisabledFlags::NONE; //check if horizontal shift will fit if ( !pData->GetDocument()->IsBlockEmpty( nStartTab, MAXCOL - nRangeSizeX, nStartY, MAXCOL, nStartY + nRangeSizeY ) ) - nDisableShiftX = SC_CELL_SHIFT_DISABLE_RIGHT; + nDisableShiftX = CellShiftDisabledFlags::Right; //check if vertical shift will fit if ( !pData->GetDocument()->IsBlockEmpty( nStartTab, nStartX, MAXROW - nRangeSizeY, nStartX + nRangeSizeX, MAXROW ) ) - nDisableShiftY = SC_CELL_SHIFT_DISABLE_DOWN; + nDisableShiftY = CellShiftDisabledFlags::Down; - if ( nDisableShiftX || nDisableShiftY ) + if ( nDisableShiftX != CellShiftDisabledFlags::NONE || nDisableShiftY != CellShiftDisabledFlags::NONE) pDlg->SetCellShiftDisabled( nDisableShiftX | nDisableShiftY ); } } -- cgit