Kaydet (Commit) 7cc85bfd authored tarafından SalimHabchi's avatar SalimHabchi Kaydeden (comit) Katarina Behrens

tdf#118453 Reactivate navitagor submenu drag mode and display

I add a function to get the data from the submenu

Change-Id: If8aedc72abfc7ca967377f0e588167f9f62fe137
Reviewed-on: https://gerrit.libreoffice.org/57269
Tested-by: Jenkins
Reviewed-by: 's avatarKatarina Behrens <Katarina.Behrens@cib.de>
üst 110a25fd
......@@ -263,7 +263,7 @@ public:
MenuItemType GetItemType( sal_uInt16 nPos ) const;
sal_uInt16 GetCurItemId() const { return nSelectedId;}
OString GetCurItemIdent() const;
OString GetItemIdentFromSubMenu(sal_uInt16 nItemId) const;
void SetItemBits( sal_uInt16 nItemId, MenuItemBits nBits );
MenuItemBits GetItemBits( sal_uInt16 nItemId ) const;
......
......@@ -668,7 +668,7 @@ void ScContentTree::Command( const CommandEvent& rCEvt )
aPop->SetPopupMenu( 2, aDocMenu.get() );
sal_uInt16 nSelected = aPop->Execute(this, rCEvt.GetMousePosPixel());
OString sIdent = aPop->GetItemIdent(nSelected);
OString sIdent = aPop->GetItemIdentFromSubMenu(nSelected);
if (sIdent.startsWith("document"))
{
......
......@@ -702,6 +702,12 @@ OString Menu::GetItemIdent(sal_uInt16 nId) const
return pData ? pData->sIdent : OString();
}
OString Menu::GetItemIdentFromSubMenu(sal_uInt16 nId) const
{
const MenuItemData* pData = pItemList->GetDataFromSubMenu(nId);
return pData ? pData->sIdent : OString();
}
void Menu::SetItemBits( sal_uInt16 nItemId, MenuItemBits nBits )
{
MenuItemData* pData = pItemList->GetData( nItemId );
......
......@@ -140,6 +140,17 @@ MenuItemData* MenuItemList::GetData( sal_uInt16 nSVId, size_t& rPos ) const
return nullptr;
}
MenuItemData* MenuItemList::GetDataFromSubMenu(sal_uInt16 nSVId) const
{
for ( size_t i = 0, n = maItemList.size(); i < n; ++i )
{
if ( maItemList[i]->pSubMenu
&& maItemList[i]->pSubMenu->GetCurItemId() != 0 ) // if something is selected
return maItemList[i].get()->pSubMenu->GetItemList()->GetDataFromPos(nSVId - 1);
}
return nullptr;
}
MenuItemData* MenuItemList::SearchItem(
sal_Unicode cSelectChar,
KeyCode aKeyCode,
......
......@@ -116,6 +116,7 @@ public:
void Clear();
MenuItemData* GetData( sal_uInt16 nSVId, size_t& rPos ) const;
MenuItemData* GetDataFromSubMenu( sal_uInt16 nSVId ) const;
MenuItemData* GetData( sal_uInt16 nSVId ) const
{
size_t nTemp;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment