sfx2/source/notebookbar/SfxNotebookBar.cxx    |   18 ++++++++++++++++--
 vcl/source/window/NotebookBarAddonsMerger.cxx |   21 ++++++++++++++++++---
 2 files changed, 34 insertions(+), 5 deletions(-)

New commits:
commit 22f2ecbcabf3928d5486690ca6465b7b37bc8a10
Author:     Sumit Chauhan <sumitc...@gmail.com>
AuthorDate: Sat Jul 20 02:43:15 2019 +0530
Commit:     Szymon Kłos <szymon.k...@collabora.com>
CommitDate: Mon Jul 22 06:36:27 2019 +0200

    Patch fixes the image rendering issue of extension in NotebookBar
    
    Change-Id: I7645766af1a6acfd7117fce3fcb29da038d9d92f
    Reviewed-on: https://gerrit.libreoffice.org/75986
    Tested-by: Jenkins
    Reviewed-by: Szymon Kłos <szymon.k...@collabora.com>

diff --git a/sfx2/source/notebookbar/SfxNotebookBar.cxx 
b/sfx2/source/notebookbar/SfxNotebookBar.cxx
index 3b56156b7c2c..73ca5614935e 100644
--- a/sfx2/source/notebookbar/SfxNotebookBar.cxx
+++ b/sfx2/source/notebookbar/SfxNotebookBar.cxx
@@ -39,6 +39,8 @@ using namespace css::ui;
 using namespace css;
 
 #define MENUBAR_STR "private:resource/menubar/menubar"
+
+static const char MERGE_NOTEBOOKBAR_URL[] = "URL";
 static const char MERGE_NOTEBOOKBAR_IMAGEID[] = "ImageIdentifier";
 
 bool SfxNotebookBar::m_bLock = false;
@@ -59,14 +61,26 @@ static void NotebookbarAddonValues(
         {
             css::uno::Sequence<css::beans::PropertyValue> pExtensionVal = 
aExtension[nSecIdx];
             Image aImage;
-
+            bool isBigImage = true;
             for (int nRes = 0; nRes < pExtensionVal.getLength(); nRes++)
             {
                 OUString sImage;
                 if (pExtensionVal[nRes].Name == MERGE_NOTEBOOKBAR_IMAGEID)
                 {
                     pExtensionVal[nRes].Value >>= sImage;
-                    aImage = 
framework::AddonsOptions().GetImageFromURL(sImage, false);
+                    aImage = 
framework::AddonsOptions().GetImageFromURL(sImage, isBigImage);
+                }
+            }
+            if(!aImage)
+            {
+                for (int nRes = 0; nRes < pExtensionVal.getLength(); nRes++)
+                {
+                    OUString sImage;
+                    if (pExtensionVal[nRes].Name == MERGE_NOTEBOOKBAR_URL)
+                    {
+                        pExtensionVal[nRes].Value >>= sImage;
+                        aImage = 
framework::AddonsOptions().GetImageFromURL(sImage, isBigImage);
+                    }
                 }
             }
             aImageValues.push_back(aImage);
diff --git a/vcl/source/window/NotebookBarAddonsMerger.cxx 
b/vcl/source/window/NotebookBarAddonsMerger.cxx
index 9bab4a4ea425..d65aba9624f8 100644
--- a/vcl/source/window/NotebookBarAddonsMerger.cxx
+++ b/vcl/source/window/NotebookBarAddonsMerger.cxx
@@ -21,6 +21,9 @@
 #include <vcl/commandinfoprovider.hxx>
 #include <vcl/toolbox.hxx>
 
+static const char STYLE_TEXT[] = "Text";
+static const char STYLE_ICON[] = "Icon";
+
 static const char MERGE_NOTEBOOKBAR_URL[] = "URL";
 static const char MERGE_NOTEBOOKBAR_TITLE[] = "Title";
 static const char MERGE_NOTEBOOKBAR_IMAGEID[] = "ImageIdentifier";
@@ -77,21 +80,33 @@ void NotebookBarAddonsMerger::MergeNotebookBarAddons(
             if (pToolbox)
             {
                 Size aSize(0, 0);
+                Image sImage;
                 pToolbox->InsertItem(aAddonNotebookBarItem.sCommandURL, 
m_xFrame,
                                      ToolBoxItemBits::NONE, aSize);
                 nItemId = 
pToolbox->GetItemId(aAddonNotebookBarItem.sCommandURL);
                 pToolbox->SetItemCommand(nItemId, 
aAddonNotebookBarItem.sCommandURL);
                 pToolbox->SetQuickHelpText(nItemId, 
aAddonNotebookBarItem.sLabel);
-                pToolbox->SetItemText(nItemId, aAddonNotebookBarItem.sLabel);
+
                 if (nIter < aImageVec.size())
                 {
-                    Image sImage = aImageVec[nIter];
+                    sImage = aImageVec[nIter];
                     if (!sImage)
+                    {
                         sImage = vcl::CommandInfoProvider::GetImageForCommand(
                             aAddonNotebookBarItem.sImageIdentifier, m_xFrame);
+                    }
+                    nIter++;
+                }
+
+                if (aAddonNotebookBarItem.sStyle == STYLE_TEXT)
+                    pToolbox->SetItemText(nItemId, 
aAddonNotebookBarItem.sLabel);
+                else if (aAddonNotebookBarItem.sStyle == STYLE_ICON)
+                    pToolbox->SetItemImage(nItemId, sImage);
+                else
+                {
+                    pToolbox->SetItemText(nItemId, 
aAddonNotebookBarItem.sLabel);
                     pToolbox->SetItemImage(nItemId, sImage);
                 }
-                nIter++;
             }
             pToolbox->InsertSeparator();
         }
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to