summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sfx2/source/notebookbar/SfxNotebookBar.cxx18
-rw-r--r--vcl/source/window/NotebookBarAddonsMerger.cxx21
2 files changed, 34 insertions, 5 deletions
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();
}