diff options
author | Caolán McNamara <caolanm@redhat.com> | 2013-08-21 12:29:43 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2013-08-21 13:15:47 +0100 |
commit | 86450f9fce5039cc700d23fe70b1a1a810276020 (patch) | |
tree | b519f7d17d207f61d28c3a35f67d0916c471d102 /vcl/source/window/builder.cxx | |
parent | ab398dbece88c1f93124f23b2a99ba8b992bce42 (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.cxx | 20 |
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 } |