summaryrefslogtreecommitdiff
path: root/vcl/source/window/builder.cxx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2013-08-21 12:29:43 +0100
committerCaolán McNamara <caolanm@redhat.com>2013-08-21 13:15:47 +0100
commit86450f9fce5039cc700d23fe70b1a1a810276020 (patch)
treeb519f7d17d207f61d28c3a35f67d0916c471d102 /vcl/source/window/builder.cxx
parentab398dbece88c1f93124f23b2a99ba8b992bce42 (diff)
allow toolbox icons to be set directly from .ui
Change-Id: I8902fb837cfbd99b14a80527300470002571af36
Diffstat (limited to 'vcl/source/window/builder.cxx')
-rw-r--r--vcl/source/window/builder.cxx20
1 files changed, 18 insertions, 2 deletions
diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx
index 8641ed2fbcd9..21d45b6431cf 100644
--- a/vcl/source/window/builder.cxx
+++ b/vcl/source/window/builder.cxx
@@ -585,6 +585,18 @@ namespace
return bInconsistent;
}
+ OString extractIconName(VclBuilder::stringmap &rMap)
+ {
+ OString sIconName;
+ VclBuilder::stringmap::iterator aFind = rMap.find(OString("icon-name"));
+ if (aFind != rMap.end())
+ {
+ sIconName = aFind->second;
+ rMap.erase(aFind);
+ }
+ return sIconName;
+ }
+
OUString getStockText(const OString &rType)
{
if (rType == "gtk-ok")
@@ -1452,9 +1464,13 @@ Window *VclBuilder::makeObject(Window *pParent, const OString &name, const OStri
pToolBox->SetHelpId(nItemId, m_sHelpRoot + id);
}
- OUString sTooltip(OStringToOUString(extractTooltipText(rMap), RTL_TEXTENCODING_UTF8));
+ OString sTooltip(extractTooltipText(rMap));
if (!sTooltip.isEmpty())
- pToolBox->SetQuickHelpText(nItemId, sTooltip);
+ pToolBox->SetQuickHelpText(nItemId, OStringToOUString(sTooltip, RTL_TEXTENCODING_UTF8));
+
+ OString sIconName(extractIconName(rMap));
+ if (!sIconName.isEmpty())
+ pToolBox->SetItemImage(nItemId, FixedImage::loadThemeImage(sIconName));
return NULL; // no widget to be created
}