[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-5.0' - 2 commits - sfx2/source

Pranav Kant pranavk at collabora.com
Mon May 16 11:48:38 UTC 2016


 sfx2/source/control/dispatch.cxx |   99 ---------------------------------------
 sfx2/source/menu/mnumgr.cxx      |    2 
 2 files changed, 2 insertions(+), 99 deletions(-)

New commits:
commit 96744275f4ead236e666a2c39037300c4924f771
Author: Pranav Kant <pranavk at collabora.com>
Date:   Mon May 16 17:14:55 2016 +0530

    lok context menu: Include uno commands for submenus too
    
    Change-Id: I4ba49ba94a3270a5d53754320e5fbd49e3f5c848

diff --git a/sfx2/source/menu/mnumgr.cxx b/sfx2/source/menu/mnumgr.cxx
index ebd4e98..715f9a6 100644
--- a/sfx2/source/menu/mnumgr.cxx
+++ b/sfx2/source/menu/mnumgr.cxx
@@ -392,6 +392,8 @@ namespace {
                         continue;
 
                     aItemTree.put("type", "menu");
+                    if (!aCommandURL.isEmpty())
+                        aItemTree.put("command", aCommandURL.toUtf8().getStr());
                     aItemTree.push_back(std::make_pair("menu", aSubmenu));
                 }
                 else
commit 19e246ce0e5a333b00c405db33b035bafa0e10cc
Author: Pranav Kant <pranavk at collabora.com>
Date:   Mon May 16 17:13:40 2016 +0530

    Revert "lok context menu: Include uno commands for submenus too"
    
    By mistake resolved conflicts incorrectly. Correct version
    comming up.
    
    This reverts commit d57994a20b012c67db47d488409ee14fb11b9751.

diff --git a/sfx2/source/control/dispatch.cxx b/sfx2/source/control/dispatch.cxx
index e578d2d..0b9555a 100644
--- a/sfx2/source/control/dispatch.cxx
+++ b/sfx2/source/control/dispatch.cxx
@@ -26,8 +26,6 @@
 #include <stdarg.h>
 #include <stdlib.h>
 
-#include <boost/property_tree/json_parser.hpp>
-
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/frame/XDispatchRecorderSupplier.hpp>
 #include <com/sun/star/frame/XLayoutManager.hpp>
@@ -142,103 +140,6 @@ struct SfxDispatcher_Impl
     std::deque< std::deque<SfxToDo_Impl> > aToDoCopyStack;
 };
 
-namespace {
-
-    boost::property_tree::ptree fillPopupMenu(Menu* pMenu)
-    {
-        // Activate this menu first
-        pMenu->HandleMenuActivateEvent(pMenu);
-        pMenu->HandleMenuDeActivateEvent(pMenu);
-
-        boost::property_tree::ptree aTree;
-        // If last item inserted is some valid text
-        bool bIsLastItemText = false;
-        sal_uInt16 nCount = pMenu->GetItemCount();
-        for (sal_uInt16 nPos = 0; nPos < nCount; nPos++)
-        {
-            boost::property_tree::ptree aItemTree;
-            const MenuItemType aItemType = pMenu->GetItemType(nPos);
-
-            if (aItemType == MenuItemType::DONTKNOW)
-                continue;
-
-            if (aItemType == MenuItemType::SEPARATOR)
-            {
-                if (bIsLastItemText)
-                    aItemTree.put("type", "separator");
-                bIsLastItemText = false;
-            }
-            else
-            {
-                const sal_uInt16 nItemId = pMenu->GetItemId(nPos);
-                OUString aCommandURL = pMenu->GetItemCommand(nItemId);
-
-                if (aCommandURL.isEmpty())
-                {
-                    const SfxSlot *pSlot = SFX_SLOTPOOL().GetSlot(nItemId);
-                    if (pSlot)
-                        aCommandURL = pSlot->GetCommandString();
-                }
-
-                const OUString aItemText = pMenu->GetItemText(nItemId);
-                Menu* pPopupSubmenu = pMenu->GetPopupMenu(nItemId);
-
-                if (!aItemText.isEmpty())
-                    aItemTree.put("text", aItemText.toUtf8().getStr());
-
-                if (pPopupSubmenu)
-                {
-                    boost::property_tree::ptree aSubmenu = fillPopupMenu(pPopupSubmenu);
-                    if (aSubmenu.empty())
-                        continue;
-
-                    aItemTree.put("type", "menu");
-                    if (!aCommandURL.isEmpty())
-                        aItemTree.put("command", aCommandURL.toUtf8().getStr());
-                    aItemTree.push_back(std::make_pair("menu", aSubmenu));
-                }
-                else
-                {
-                    // no point in exposing choices that don't have the .uno:
-                    // command
-                    if (aCommandURL.isEmpty())
-                        continue;
-
-                    aItemTree.put("type", "command");
-                    aItemTree.put("command", aCommandURL.toUtf8().getStr());
-                }
-
-                aItemTree.put("enabled", pMenu->IsItemEnabled(nItemId));
-
-                MenuItemBits aItemBits = pMenu->GetItemBits(nItemId);
-                bool bHasChecks = true;
-                if (aItemBits & MenuItemBits::CHECKABLE)
-                    aItemTree.put("checktype", "checkmark");
-                else if (aItemBits & MenuItemBits::RADIOCHECK)
-                    aItemTree.put("checktype", "radio");
-                else if (aItemBits & MenuItemBits::AUTOCHECK)
-                    aItemTree.put("checktype", "auto");
-                else
-                    bHasChecks = false;
-
-                if (bHasChecks)
-                    aItemTree.put("checked", pMenu->IsItemChecked(nItemId));
-            }
-
-            if (!aItemTree.empty())
-            {
-                aTree.push_back(std::make_pair("", aItemTree));
-                if (aItemType != MenuItemType::SEPARATOR)
-                    bIsLastItemText = true;
-            }
-        }
-
-        return aTree;
-    }
-
-} // end anonymous namespace
-
-
 /** This method checks if the stack of the SfxDispatchers is flushed, or if
     push- or pop- commands are pending.
 */


More information about the Libreoffice-commits mailing list