summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2016-11-25 12:02:14 +0200
committerAshod Nakashian <ashod.nakashian@collabora.co.uk>2017-12-06 20:41:20 -0500
commit128db011c04b8ee08c0a189fd47694a7f515742b (patch)
tree124c92e83fee32bb6576338f39b04c43bab0a7e8 /sw
parent03bfafb36107d18c0cccf53efdd550c0b7a81b8f (diff)
convert ENABLE flags to o3tl::typed_flags
Change-Id: I47cb052c7437e127c237beee0f2d95948b7c3ad1 (cherry picked from commit b19e71231322a6790759135f3aaab6499d6293dd)
Diffstat (limited to 'sw')
-rw-r--r--sw/source/uibase/inc/conttree.hxx19
-rw-r--r--sw/source/uibase/utlui/glbltree.cxx62
2 files changed, 44 insertions, 37 deletions
diff --git a/sw/source/uibase/inc/conttree.hxx b/sw/source/uibase/inc/conttree.hxx
index 98aedef598c4..86068a1d60f7 100644
--- a/sw/source/uibase/inc/conttree.hxx
+++ b/sw/source/uibase/inc/conttree.hxx
@@ -28,6 +28,7 @@
#include <memory>
#include <o3tl/enumarray.hxx>
+#include <o3tl/typed_flags_set.hxx>
class SwWrtShell;
class SwContentType;
@@ -50,6 +51,22 @@ enum class EditEntryMode
RENAME = 5,
};
+// Flags for PopupMenu-enable/disable
+enum class MenuEnableFlags {
+ NONE = 0x0000,
+ InsertIdx = 0x0001,
+ InsertFile = 0x0002,
+ InsertText = 0x0004,
+ Edit = 0x0008,
+ Delete = 0x0010,
+ Update = 0x0020,
+ UpdateSel = 0x0040,
+ EditLink = 0x0080
+};
+namespace o3tl {
+ template<> struct typed_flags<MenuEnableFlags> : is_typed_flags<MenuEnableFlags, 0x00ff> {};
+}
+
/** TreeListBox for content indicator */
class SwContentTree
: public SvTreeListBox
@@ -318,7 +335,7 @@ protected:
void OpenDoc(const SwGlblDocContent*);
void GotoContent(const SwGlblDocContent*);
- sal_uInt16 GetEnableFlags() const;
+ MenuEnableFlags GetEnableFlags() const;
static void SetShowShell(const SfxObjectShell*pSet) {pShowShell = pSet;}
DECL_STATIC_LINK(SwGlobalTree, ShowFrameHdl, void*, void);
diff --git a/sw/source/uibase/utlui/glbltree.cxx b/sw/source/uibase/utlui/glbltree.cxx
index 267711b580d5..038cf7d765f0 100644
--- a/sw/source/uibase/utlui/glbltree.cxx
+++ b/sw/source/uibase/utlui/glbltree.cxx
@@ -81,16 +81,6 @@ using namespace ::com::sun::star::uno;
#define GLOBAL_UPDATE_TIMEOUT 2000
-// Flags for PopupMenu-enable/disable
-#define ENABLE_INSERT_IDX 0x0001
-#define ENABLE_INSERT_FILE 0x0002
-#define ENABLE_INSERT_TEXT 0x0004
-#define ENABLE_EDIT 0x0008
-#define ENABLE_DELETE 0x0010
-#define ENABLE_UPDATE 0x0020
-#define ENABLE_UPDATE_SEL 0x0040
-#define ENABLE_EDIT_LINK 0x0080
-
// TabPos: push to left
#define GLBL_TABPOS_SUB 5
@@ -338,7 +328,7 @@ VclPtr<PopupMenu> SwGlobalTree::CreateContextMenu()
if(pActiveShell &&
!pActiveShell->GetView().GetDocShell()->IsReadOnly())
{
- const sal_uInt16 nEnableFlags = GetEnableFlags();
+ const MenuEnableFlags nEnableFlags = GetEnableFlags();
pPop = VclPtr<PopupMenu>::Create();
VclPtrInstance<PopupMenu> pSubPop1;
VclPtrInstance<PopupMenu> pSubPop2;
@@ -348,7 +338,7 @@ VclPtr<PopupMenu> SwGlobalTree::CreateContextMenu()
pSubPop2->InsertItem( i, aContextStrings[STR_UPDATE_SEL - STR_GLOBAL_CONTEXT_FIRST - CTX_UPDATE_SEL+ i] );
pSubPop2->SetHelpId(i, aHelpForMenu[i]);
}
- pSubPop2->EnableItem(CTX_UPDATE_SEL, 0 != (nEnableFlags & ENABLE_UPDATE_SEL));
+ pSubPop2->EnableItem(CTX_UPDATE_SEL, bool(nEnableFlags & MenuEnableFlags::UpdateSel));
pSubPop1->InsertItem(CTX_INSERT_ANY_INDEX, aContextStrings[STR_INDEX - STR_GLOBAL_CONTEXT_FIRST]);
pSubPop1->SetHelpId(CTX_INSERT_ANY_INDEX, aHelpForMenu[CTX_INSERT_ANY_INDEX]);
@@ -363,7 +353,7 @@ VclPtr<PopupMenu> SwGlobalTree::CreateContextMenu()
pPop->SetHelpId(CTX_UPDATE, aHelpForMenu[CTX_UPDATE]);
pPop->InsertItem(CTX_EDIT, aContextStrings[STR_EDIT_CONTENT - STR_GLOBAL_CONTEXT_FIRST]);
pPop->SetHelpId(CTX_EDIT, aHelpForMenu[CTX_EDIT]);
- if(nEnableFlags&ENABLE_EDIT_LINK)
+ if(nEnableFlags&MenuEnableFlags::EditLink)
{
pPop->InsertItem(CTX_EDIT_LINK, aContextStrings[STR_EDIT_LINK - STR_GLOBAL_CONTEXT_FIRST]);
pPop->SetHelpId(CTX_EDIT_LINK, aHelpForMenu[CTX_EDIT_LINK]);
@@ -375,15 +365,15 @@ VclPtr<PopupMenu> SwGlobalTree::CreateContextMenu()
pPop->SetHelpId(CTX_DELETE, aHelpForMenu[CTX_DELETE]);
//disabling if applicable
- pSubPop1->EnableItem(CTX_INSERT_ANY_INDEX, 0 != (nEnableFlags & ENABLE_INSERT_IDX ));
- pSubPop1->EnableItem(CTX_INSERT_TEXT, 0 != (nEnableFlags & ENABLE_INSERT_TEXT));
- pSubPop1->EnableItem(CTX_INSERT_FILE, 0 != (nEnableFlags & ENABLE_INSERT_FILE));
- pSubPop1->EnableItem(CTX_INSERT_NEW_FILE, 0 != (nEnableFlags & ENABLE_INSERT_FILE));
+ pSubPop1->EnableItem(CTX_INSERT_ANY_INDEX, bool(nEnableFlags & MenuEnableFlags::InsertIdx ));
+ pSubPop1->EnableItem(CTX_INSERT_TEXT, bool(nEnableFlags & MenuEnableFlags::InsertText));
+ pSubPop1->EnableItem(CTX_INSERT_FILE, bool(nEnableFlags & MenuEnableFlags::InsertFile));
+ pSubPop1->EnableItem(CTX_INSERT_NEW_FILE, bool(nEnableFlags & MenuEnableFlags::InsertFile));
- pPop->EnableItem(CTX_UPDATE, 0 != (nEnableFlags & ENABLE_UPDATE));
- pPop->EnableItem(CTX_INSERT, 0 != (nEnableFlags & ENABLE_INSERT_IDX));
- pPop->EnableItem(CTX_EDIT, 0 != (nEnableFlags & ENABLE_EDIT));
- pPop->EnableItem(CTX_DELETE, 0 != (nEnableFlags & ENABLE_DELETE));
+ pPop->EnableItem(CTX_UPDATE, bool(nEnableFlags & MenuEnableFlags::Update));
+ pPop->EnableItem(CTX_INSERT, bool(nEnableFlags & MenuEnableFlags::InsertIdx));
+ pPop->EnableItem(CTX_EDIT, bool(nEnableFlags & MenuEnableFlags::Edit));
+ pPop->EnableItem(CTX_DELETE, bool(nEnableFlags & MenuEnableFlags::Delete));
pPop->SetPopupMenu( CTX_INSERT, pSubPop1 );
pPop->SetPopupMenu( CTX_UPDATE, pSubPop2 );
@@ -393,7 +383,7 @@ VclPtr<PopupMenu> SwGlobalTree::CreateContextMenu()
void SwGlobalTree::TbxMenuHdl(sal_uInt16 nTbxId, ToolBox* pBox)
{
- const sal_uInt16 nEnableFlags = GetEnableFlags();
+ const MenuEnableFlags nEnableFlags = GetEnableFlags();
const OUString sCommand(pBox->GetItemCommand(nTbxId));
if (sCommand == "insert")
{
@@ -403,10 +393,10 @@ void SwGlobalTree::TbxMenuHdl(sal_uInt16 nTbxId, ToolBox* pBox)
pMenu->InsertItem( i, aContextStrings[STR_INDEX - STR_GLOBAL_CONTEXT_FIRST - CTX_INSERT_ANY_INDEX + i] );
pMenu->SetHelpId(i, aHelpForMenu[i] );
}
- pMenu->EnableItem(CTX_INSERT_ANY_INDEX, 0 != (nEnableFlags & ENABLE_INSERT_IDX ));
- pMenu->EnableItem(CTX_INSERT_TEXT, 0 != (nEnableFlags & ENABLE_INSERT_TEXT));
- pMenu->EnableItem(CTX_INSERT_FILE, 0 != (nEnableFlags & ENABLE_INSERT_FILE));
- pMenu->EnableItem(CTX_INSERT_NEW_FILE, 0 != (nEnableFlags & ENABLE_INSERT_FILE));
+ pMenu->EnableItem(CTX_INSERT_ANY_INDEX, bool(nEnableFlags & MenuEnableFlags::InsertIdx ));
+ pMenu->EnableItem(CTX_INSERT_TEXT, bool(nEnableFlags & MenuEnableFlags::InsertText));
+ pMenu->EnableItem(CTX_INSERT_FILE, bool(nEnableFlags & MenuEnableFlags::InsertFile));
+ pMenu->EnableItem(CTX_INSERT_NEW_FILE, bool(nEnableFlags & MenuEnableFlags::InsertFile));
pMenu->SetSelectHdl(LINK(this, SwGlobalTree, PopupHdl));
pMenu->Execute(pBox, pBox->GetItemRect(nTbxId));
pMenu.disposeAndClear();
@@ -421,7 +411,7 @@ void SwGlobalTree::TbxMenuHdl(sal_uInt16 nTbxId, ToolBox* pBox)
pMenu->InsertItem( i, aContextStrings[STR_UPDATE_SEL - STR_GLOBAL_CONTEXT_FIRST - CTX_UPDATE_SEL+ i] );
pMenu->SetHelpId(i, aHelpForMenu[i] );
}
- pMenu->EnableItem(CTX_UPDATE_SEL, 0 != (nEnableFlags & ENABLE_UPDATE_SEL));
+ pMenu->EnableItem(CTX_UPDATE_SEL, bool(nEnableFlags & MenuEnableFlags::UpdateSel));
pMenu->SetSelectHdl(LINK(this, SwGlobalTree, PopupHdl));
pMenu->Execute(pBox, pBox->GetItemRect(nTbxId));
pMenu.disposeAndClear();
@@ -430,33 +420,33 @@ void SwGlobalTree::TbxMenuHdl(sal_uInt16 nTbxId, ToolBox* pBox)
}
}
-sal_uInt16 SwGlobalTree::GetEnableFlags() const
+MenuEnableFlags SwGlobalTree::GetEnableFlags() const
{
SvTreeListEntry* pEntry = FirstSelected();
sal_uLong nSelCount = GetSelectionCount();
sal_uLong nEntryCount = GetEntryCount();
SvTreeListEntry* pPrevEntry = pEntry ? Prev(pEntry) : nullptr;
- sal_uInt16 nRet = 0;
+ MenuEnableFlags nRet = MenuEnableFlags::NONE;
if(nSelCount == 1 || !nEntryCount)
- nRet |= ENABLE_INSERT_IDX|ENABLE_INSERT_FILE;
+ nRet |= MenuEnableFlags::InsertIdx|MenuEnableFlags::InsertFile;
if(nSelCount == 1)
{
- nRet |= ENABLE_EDIT;
+ nRet |= MenuEnableFlags::Edit;
if (pEntry && static_cast<SwGlblDocContent*>(pEntry->GetUserData())->GetType() != GLBLDOC_UNKNOWN &&
(!pPrevEntry || static_cast<SwGlblDocContent*>(pPrevEntry->GetUserData())->GetType() != GLBLDOC_UNKNOWN))
- nRet |= ENABLE_INSERT_TEXT;
+ nRet |= MenuEnableFlags::InsertText;
if (pEntry && GLBLDOC_SECTION == static_cast<SwGlblDocContent*>(pEntry->GetUserData())->GetType())
- nRet |= ENABLE_EDIT_LINK;
+ nRet |= MenuEnableFlags::EditLink;
}
else if(!nEntryCount)
{
- nRet |= ENABLE_INSERT_TEXT;
+ nRet |= MenuEnableFlags::InsertText;
}
if(nEntryCount)
- nRet |= ENABLE_UPDATE|ENABLE_DELETE;
+ nRet |= MenuEnableFlags::Update|MenuEnableFlags::Delete;
if(nSelCount)
- nRet |= ENABLE_UPDATE_SEL;
+ nRet |= MenuEnableFlags::UpdateSel;
return nRet;
}