Kaydet (Commit) c2b8f129 authored tarafından Caolán McNamara's avatar Caolán McNamara

allow arbitrary icons from our icon-themes as button images

Change-Id: Ibe02b485e265ac6274b0aab51676efb0e1d280ae
üst ffc75b57
...@@ -503,16 +503,16 @@ ...@@ -503,16 +503,16 @@
<object class="GtkImage" id="image1"> <object class="GtkImage" id="image1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can_focus">False</property>
<property name="stock">gtk-delete</property> <property name="pixbuf">svx/res/nu02.png</property>
</object> </object>
<object class="GtkImage" id="image2"> <object class="GtkImage" id="image2">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can_focus">False</property>
<property name="stock">gtk-apply</property> <property name="pixbuf">svx/res/nu01.png</property>
</object> </object>
<object class="GtkImage" id="image3"> <object class="GtkImage" id="image3">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can_focus">False</property>
<property name="stock">gtk-edit</property> <property name="pixbuf">svx/res/nu03.png</property>
</object> </object>
</interface> </interface>
...@@ -204,17 +204,22 @@ VclBuilder::VclBuilder(Window *pParent, OUString sUIDir, OUString sUIFile, OStri ...@@ -204,17 +204,22 @@ VclBuilder::VclBuilder(Window *pParent, OUString sUIDir, OUString sUIFile, OStri
{ {
PushButton *pTarget = get<PushButton>(aI->m_sID); PushButton *pTarget = get<PushButton>(aI->m_sID);
FixedImage *pImage = get<FixedImage>(aI->m_sValue); FixedImage *pImage = get<FixedImage>(aI->m_sValue);
aImagesToBeRemoved.insert(aI->m_sValue); SAL_WARN_IF(!pTarget || !pImage,
const OString &rImage = m_pParserState->m_aStockMap[aI->m_sValue];
SymbolType eType = mapStockToSymbol(rImage);
SAL_WARN_IF(!pTarget || !pImage || eType == SYMBOL_NOSYMBOL,
"vcl", "missing elements of button/image/stock"); "vcl", "missing elements of button/image/stock");
if (!pTarget || eType == SYMBOL_NOSYMBOL) if (!pTarget || !pImage)
continue; continue;
aImagesToBeRemoved.insert(aI->m_sValue);
//to-do, situation where image isn't a stock image VclBuilder::stringmap::iterator aFind = m_pParserState->m_aStockMap.find(aI->m_sValue);
if (pTarget && eType != SYMBOL_NOSYMBOL) if (aFind == m_pParserState->m_aStockMap.end())
pTarget->SetModeImage(pImage->GetImage());
else
{ {
const OString &rImage = aFind->second;
SymbolType eType = mapStockToSymbol(rImage);
SAL_WARN_IF(eType == SYMBOL_NOSYMBOL, "vcl", "missing stock image element for button");
if (eType == SYMBOL_NOSYMBOL)
continue;
pTarget->SetSymbol(eType); pTarget->SetSymbol(eType);
if (eType == SYMBOL_IMAGE) if (eType == SYMBOL_IMAGE)
pTarget->SetModeImage(Bitmap(VclResId(mapStockToImageResource(rImage)))); pTarget->SetModeImage(Bitmap(VclResId(mapStockToImageResource(rImage))));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment