accessibility/source/standard/vclxaccessibletoolbox.cxx |   12 +++++++++---
 framework/source/uielement/generictoolbarcontroller.cxx |    8 +++-----
 framework/source/uielement/subtoolbarcontroller.cxx     |    7 +------
 svtools/source/uno/generictoolboxcontroller.cxx         |    9 +++------
 svtools/source/uno/toolboxcontroller.cxx                |    2 --
 5 files changed, 16 insertions(+), 22 deletions(-)

New commits:
commit 7c4c9947b8e52ce67af1ab131ed583a41f0ddbfa
Author: Maxim Monastirsky <momonas...@gmail.com>
Date:   Thu Apr 27 03:19:48 2017 +0300

    tdf#107458 No active item for the overflow subtoolbar
    
    Item id 0 has two meanings inside ToolBox. Methods like
    GetCurItemId and GetDownItemId use it as "no item".
    But that's also the id of a separator item, so calling
    GetItemPos(0) will find a separator, if the ToolBox has
    one.
    
    Change-Id: I4f2c1fac1759fe0a3ae09d317909707084e16180

diff --git a/accessibility/source/standard/vclxaccessibletoolbox.cxx 
b/accessibility/source/standard/vclxaccessibletoolbox.cxx
index aa4cad63acb8..b8dd8e2436f4 100644
--- a/accessibility/source/standard/vclxaccessibletoolbox.cxx
+++ b/accessibility/source/standard/vclxaccessibletoolbox.cxx
@@ -421,8 +421,8 @@ void VCLXAccessibleToolBox::UpdateCustomPopupItemp_Impl( 
vcl::Window* pWindow, b
     {
         const sal_uInt16 nDownItem = pToolBox->GetDownItemId();
         if ( !nDownItem )
-            // Items with ItemId == 0 are not allowed in ToolBox, which means 
that currently no item is in down state.
-            // Moreover, running GetItemPos with 0 could find a separator item 
if there is any.
+            // No item is currently in down state.
+            // Moreover, calling GetItemPos with 0 will find a separator if 
there is any.
             return;
 
         Reference< XAccessible > xChild( pWindow->GetAccessible() );
@@ -461,7 +461,13 @@ void VCLXAccessibleToolBox::HandleSubToolBarEvent( const 
VclWindowEvent& rVclWin
         && pToolBox == pChildWindow->GetParent()
         && pChildWindow->GetType() == WindowType::TOOLBOX )
     {
-        ToolBox::ImplToolItems::size_type nIndex = pToolBox->GetItemPos( 
pToolBox->GetCurItemId() );
+        const sal_uInt16 nCurItemId( pToolBox->GetCurItemId() );
+        if ( !nCurItemId )
+            // No item is currently active (might happen when opening the 
overflow popup).
+            // Moreover, calling GetItemPos with 0 will find a separator if 
there is any.
+            return;
+
+        ToolBox::ImplToolItems::size_type nIndex = pToolBox->GetItemPos( 
nCurItemId );
         Reference< XAccessible > xItem = getAccessibleChild( nIndex );
             //TODO: ToolBox::ImplToolItems::size_type -> sal_Int32!
         if ( xItem.is() )
commit 17026b70731d9285d4d0d053057b0779877d8feb
Author: Maxim Monastirsky <momonas...@gmail.com>
Date:   Wed Apr 26 13:43:47 2017 +0300

    Use ToolBox::GetImageSize
    
    Change-Id: Iaad0ca0e3957e54f11dfa1687b33b08239451bfb

diff --git a/framework/source/uielement/subtoolbarcontroller.cxx 
b/framework/source/uielement/subtoolbarcontroller.cxx
index 266ebbab247c..c5b08f190c80 100644
--- a/framework/source/uielement/subtoolbarcontroller.cxx
+++ b/framework/source/uielement/subtoolbarcontroller.cxx
@@ -284,12 +284,7 @@ void SubToolBarController::updateImage()
         sal_uInt16 nId = 0;
         if ( getToolboxId( nId, &pToolBox ) )
         {
-            vcl::ImageType eImageType = vcl::ImageType::Size16;
-            if (pToolBox->GetToolboxButtonSize() == ToolBoxButtonSize::Large)
-                eImageType = vcl::ImageType::Size26;
-            else if (pToolBox->GetToolboxButtonSize() == 
ToolBoxButtonSize::Size32)
-                eImageType = vcl::ImageType::Size32;
-
+            vcl::ImageType eImageType = pToolBox->GetImageSize();
             Image aImage = 
vcl::CommandInfoProvider::GetImageForCommand(m_aLastCommand, 
getFrameInterface(), eImageType);
             if ( !!aImage )
                 pToolBox->SetItemImage( nId, aImage );
commit 32680923221e1eec9020c2a21b51125f735e4a32
Author: Maxim Monastirsky <momonas...@gmail.com>
Date:   Wed Apr 26 03:09:41 2017 +0300

    Fix the copy-paste
    
    Use m_xUrlTransformer, and drop the now unneeded m_xContext.is()
    check.
    
    Here is the history of this:
    
    - commit ef8f9cfb262a7 (CWS docking1) introduced this code in
      ToolboxController::execute.
    
    - commit a2bbbc5130b80 (CWS docking3) copy-pasted this into
      GenericToolbarController::execute.
    
    - commit 0fc90c8a064f7 (CWS insight02) changed the original
      code, but not the copy-pasted one.
    
    - commit d7afd8e128177 (CWS toolbars2) That CWS didn't have
      the above change yet, and copy-pasted the old code to yet
      another place (GenericToolboxController::execute).
    
    Change-Id: I7f4e8dfb52b96ea5285ea7b2bb3083847dd84932

diff --git a/framework/source/uielement/generictoolbarcontroller.cxx 
b/framework/source/uielement/generictoolbarcontroller.cxx
index 2cb2541c6c89..12f6d4f3558a 100644
--- a/framework/source/uielement/generictoolbarcontroller.cxx
+++ b/framework/source/uielement/generictoolbarcontroller.cxx
@@ -123,7 +123,6 @@ void SAL_CALL GenericToolbarController::dispose()
 void SAL_CALL GenericToolbarController::execute( sal_Int16 KeyModifier )
 {
     Reference< XDispatch >       xDispatch;
-    Reference< XURLTransformer > xURLTransformer;
     OUString                     aCommandURL;
 
     {
@@ -136,8 +135,6 @@ void SAL_CALL GenericToolbarController::execute( sal_Int16 
KeyModifier )
              m_xFrame.is() &&
              !m_aCommandURL.isEmpty() )
         {
-            xURLTransformer = URLTransformer::create(m_xContext);
-
             aCommandURL = m_aCommandURL;
             URLToDispatchMap::iterator pIter = m_aListenerMap.find( 
m_aCommandURL );
             if ( pIter != m_aListenerMap.end() )
@@ -145,7 +142,7 @@ void SAL_CALL GenericToolbarController::execute( sal_Int16 
KeyModifier )
         }
     }
 
-    if ( xDispatch.is() && xURLTransformer.is() )
+    if ( xDispatch.is() )
     {
         css::util::URL aTargetURL;
         Sequence<PropertyValue>   aArgs( 1 );
@@ -155,7 +152,8 @@ void SAL_CALL GenericToolbarController::execute( sal_Int16 
KeyModifier )
         aArgs[0].Value <<= KeyModifier;
 
         aTargetURL.Complete = aCommandURL;
-        xURLTransformer->parseStrict( aTargetURL );
+        if ( m_xUrlTransformer.is() )
+            m_xUrlTransformer->parseStrict( aTargetURL );
 
         // Execute dispatch asynchronously
         ExecuteInfo* pExecuteInfo = new ExecuteInfo;
diff --git a/svtools/source/uno/generictoolboxcontroller.cxx 
b/svtools/source/uno/generictoolboxcontroller.cxx
index dd03972489b1..0ab20dc6a20e 100644
--- a/svtools/source/uno/generictoolboxcontroller.cxx
+++ b/svtools/source/uno/generictoolboxcontroller.cxx
@@ -81,7 +81,6 @@ void SAL_CALL GenericToolboxController::dispose()
 void SAL_CALL GenericToolboxController::execute( sal_Int16 /*KeyModifier*/ )
 {
     Reference< XDispatch >       xDispatch;
-    Reference< XURLTransformer > xURLTransformer;
     OUString                     aCommandURL;
 
     {
@@ -92,11 +91,8 @@ void SAL_CALL GenericToolboxController::execute( sal_Int16 
/*KeyModifier*/ )
 
         if ( m_bInitialized &&
              m_xFrame.is() &&
-             m_xContext.is() &&
              !m_aCommandURL.isEmpty() )
         {
-            xURLTransformer = URLTransformer::create( m_xContext );
-
             aCommandURL = m_aCommandURL;
             URLToDispatchMap::iterator pIter = m_aListenerMap.find( 
m_aCommandURL );
             if ( pIter != m_aListenerMap.end() )
@@ -104,13 +100,14 @@ void SAL_CALL GenericToolboxController::execute( 
sal_Int16 /*KeyModifier*/ )
         }
     }
 
-    if ( xDispatch.is() && xURLTransformer.is() )
+    if ( xDispatch.is() )
     {
         css::util::URL aTargetURL;
         Sequence<PropertyValue>   aArgs;
 
         aTargetURL.Complete = aCommandURL;
-        xURLTransformer->parseStrict( aTargetURL );
+        if ( m_xUrlTransformer.is() )
+            m_xUrlTransformer->parseStrict( aTargetURL );
 
         // Execute dispatch asynchronously
         ExecuteInfo* pExecuteInfo = new ExecuteInfo;
diff --git a/svtools/source/uno/toolboxcontroller.cxx 
b/svtools/source/uno/toolboxcontroller.cxx
index 32ce1a781764..4d802f1d7763 100644
--- a/svtools/source/uno/toolboxcontroller.cxx
+++ b/svtools/source/uno/toolboxcontroller.cxx
@@ -324,10 +324,8 @@ void SAL_CALL ToolboxController::execute( sal_Int16 
KeyModifier )
 
         if ( m_bInitialized &&
              m_xFrame.is() &&
-             m_xContext.is() &&
              !m_aCommandURL.isEmpty() )
         {
-
             aCommandURL = m_aCommandURL;
             URLToDispatchMap::iterator pIter = m_aListenerMap.find( 
m_aCommandURL );
             if ( pIter != m_aListenerMap.end() )
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to