summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2012-12-20 09:18:29 +0000
committerCaolán McNamara <caolanm@redhat.com>2012-12-20 16:52:56 +0000
commit3c70c8e449253b4219c12ee4ef50384030a474ef (patch)
tree7cfa9a7f25b8fc8d3f878f335f358e0cea9ba3b9 /vcl
parent049afdad58b7b07698b6002659f075aa555688f3 (diff)
implement small-size variant stock image buttons
Change-Id: I82d5a957b5c38b8aa19e28ceb8d6850c0bf7526e
Diffstat (limited to 'vcl')
-rw-r--r--vcl/inc/vcl/builder.hxx9
-rw-r--r--vcl/inc/vcl/button.hxx4
-rw-r--r--vcl/source/control/button.cxx8
-rw-r--r--vcl/source/control/morebtn.cxx4
-rw-r--r--vcl/source/window/builder.cxx29
-rw-r--r--vcl/source/window/printdlg.cxx6
-rw-r--r--vcl/uiconfig/ui/printdialog.ui58
7 files changed, 54 insertions, 64 deletions
diff --git a/vcl/inc/vcl/builder.hxx b/vcl/inc/vcl/builder.hxx
index 3273f17b2d80..ebda42791e52 100644
--- a/vcl/inc/vcl/builder.hxx
+++ b/vcl/inc/vcl/builder.hxx
@@ -119,7 +119,14 @@ private:
typedef std::map<OString, OString> WidgetTranslations;
typedef std::map<OString, WidgetTranslations> Translations;
- typedef std::map<OString, OString> StockMap;
+ struct stockinfo
+ {
+ OString m_sStock;
+ int m_nSize;
+ stockinfo() : m_nSize(4) {}
+ };
+
+ typedef std::map<OString, stockinfo> StockMap;
struct ParserState
{
diff --git a/vcl/inc/vcl/button.hxx b/vcl/inc/vcl/button.hxx
index af5d1826e589..478ec9a3243a 100644
--- a/vcl/inc/vcl/button.hxx
+++ b/vcl/inc/vcl/button.hxx
@@ -56,7 +56,6 @@ public:
SAL_DLLPRIVATE void ImplSetFocusRect( const Rectangle &rFocusRect );
SAL_DLLPRIVATE const Rectangle& ImplGetFocusRect() const;
SAL_DLLPRIVATE void ImplSetSymbolAlign( SymbolAlign eAlign );
- SAL_DLLPRIVATE void ImplSetSmallSymbol( sal_Bool bSmall = sal_True );
/// The x-coordinate of the vertical separator line, use in MenuButton subclass only.
SAL_DLLPRIVATE long ImplGetSeparatorX() const;
SAL_DLLPRIVATE void ImplSetSeparatorX( long nX );
@@ -85,7 +84,8 @@ public:
void EnableTextDisplay( sal_Bool bEnable );
void SetFocusRect( const Rectangle& rFocusRect );
- bool IsSmallSymbol () const;
+ bool IsSmallSymbol() const;
+ void SetSmallSymbol(bool bSmall = true);
};
// --------------------
diff --git a/vcl/source/control/button.cxx b/vcl/source/control/button.cxx
index 85c7b3fcee92..82d037892201 100644
--- a/vcl/source/control/button.cxx
+++ b/vcl/source/control/button.cxx
@@ -65,8 +65,8 @@ class ImplCommonButtonData
public:
Rectangle maFocusRect;
long mnSeparatorX;
- sal_uInt16 mnButtonState;
- sal_Bool mbSmallSymbol;
+ sal_uInt16 mnButtonState;
+ bool mbSmallSymbol;
Image maImage;
ImageAlign meImageAlign;
@@ -79,7 +79,7 @@ public:
// -----------------------------------------------------------------------
ImplCommonButtonData::ImplCommonButtonData() : maFocusRect(), mnSeparatorX(0), mnButtonState(0),
-mbSmallSymbol(sal_False), maImage(), meImageAlign(IMAGEALIGN_TOP), meSymbolAlign(SYMBOLALIGN_LEFT)
+mbSmallSymbol(false), maImage(), meImageAlign(IMAGEALIGN_TOP), meSymbolAlign(SYMBOLALIGN_LEFT)
{
}
@@ -580,7 +580,7 @@ void Button::ImplSetSymbolAlign( SymbolAlign eAlign )
}
// -----------------------------------------------------------------------
-void Button::ImplSetSmallSymbol( sal_Bool bSmall )
+void Button::SetSmallSymbol(bool bSmall)
{
mpButtonData->mbSmallSymbol = bSmall;
}
diff --git a/vcl/source/control/morebtn.cxx b/vcl/source/control/morebtn.cxx
index edf124a4eb44..6109045f3426 100644
--- a/vcl/source/control/morebtn.cxx
+++ b/vcl/source/control/morebtn.cxx
@@ -53,8 +53,8 @@ void MoreButton::ImplInit( Window* pParent, WinBits nStyle )
ShowState();
- SetSymbolAlign( SYMBOLALIGN_RIGHT );
- ImplSetSmallSymbol( sal_True );
+ SetSymbolAlign(SYMBOLALIGN_RIGHT);
+ SetSmallSymbol(true);
if ( ! ( nStyle & ( WB_RIGHT | WB_LEFT ) ) )
{
diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx
index beb0449f9c45..52d57a1c2069 100644
--- a/vcl/source/window/builder.cxx
+++ b/vcl/source/window/builder.cxx
@@ -228,19 +228,30 @@ VclBuilder::VclBuilder(Window *pParent, OUString sUIDir, OUString sUIFile, OStri
continue;
aImagesToBeRemoved.insert(aI->m_sValue);
- VclBuilder::stringmap::iterator aFind = m_pParserState->m_aStockMap.find(aI->m_sValue);
+ VclBuilder::StockMap::iterator aFind = m_pParserState->m_aStockMap.find(aI->m_sValue);
if (aFind == m_pParserState->m_aStockMap.end())
pTarget->SetModeImage(pImage->GetImage());
else
{
- const OString &rImage = aFind->second;
- SymbolType eType = mapStockToSymbol(rImage);
+ const stockinfo &rImageInfo = aFind->second;
+ SymbolType eType = mapStockToSymbol(rImageInfo.m_sStock);
SAL_WARN_IF(eType == SYMBOL_NOSYMBOL, "vcl", "missing stock image element for button");
if (eType == SYMBOL_NOSYMBOL)
continue;
pTarget->SetSymbol(eType);
if (eType == SYMBOL_IMAGE)
- pTarget->SetModeImage(Bitmap(VclResId(mapStockToImageResource(rImage))));
+ pTarget->SetModeImage(Bitmap(VclResId(mapStockToImageResource(rImageInfo.m_sStock))));
+ switch (rImageInfo.m_nSize)
+ {
+ case 1:
+ pTarget->SetSmallSymbol();
+ break;
+ case 4:
+ break;
+ default:
+ SAL_WARN("vcl.layout", "unsupported image size " << rImageInfo.m_nSize);
+ break;
+ }
}
}
@@ -672,8 +683,16 @@ bool VclBuilder::extractStock(const OString &id, stringmap &rMap)
VclBuilder::stringmap::iterator aFind = rMap.find(OString("stock"));
if (aFind != rMap.end())
{
- m_pParserState->m_aStockMap[id] = aFind->second;
+ stockinfo aInfo;
+ aInfo.m_sStock = aFind->second;
rMap.erase(aFind);
+ aFind = rMap.find(OString("icon-size"));
+ if (aFind != rMap.end())
+ {
+ aInfo.m_nSize = aFind->second.toInt32();
+ rMap.erase(aFind);
+ }
+ m_pParserState->m_aStockMap[id] = aInfo;
return true;
}
return false;
diff --git a/vcl/source/window/printdlg.cxx b/vcl/source/window/printdlg.cxx
index 0e63800f9d58..7005257ab35e 100644
--- a/vcl/source/window/printdlg.cxx
+++ b/vcl/source/window/printdlg.cxx
@@ -591,12 +591,6 @@ PrintDialog::PrintDialog( Window* i_pParent, const boost::shared_ptr<PrinterCont
mpForwardBtn->SetStyle( mpForwardBtn->GetStyle() | WB_BEVELBUTTON );
mpBackwardBtn->SetStyle( mpBackwardBtn->GetStyle() | WB_BEVELBUTTON );
- // set symbols on forward and backward button
- mpBackwardBtn->SetSymbol( SYMBOL_PREV );
- mpForwardBtn->SetSymbol( SYMBOL_NEXT );
- mpBackwardBtn->ImplSetSmallSymbol( sal_True );
- mpForwardBtn->ImplSetSmallSymbol( sal_True );
-
maPageStr = mpNumPagesText->GetText();
// init reverse print
diff --git a/vcl/uiconfig/ui/printdialog.ui b/vcl/uiconfig/ui/printdialog.ui
index a0204b52d640..4cdc1c27308d 100644
--- a/vcl/uiconfig/ui/printdialog.ui
+++ b/vcl/uiconfig/ui/printdialog.ui
@@ -36,12 +36,10 @@
<child>
<object class="GtkButton" id="ok">
<property name="label">gtk-ok</property>
- <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="has_default">True</property>
<property name="receives_default">True</property>
- <property name="use_action_appearance">False</property>
<property name="use_stock">True</property>
</object>
<packing>
@@ -53,11 +51,9 @@
<child>
<object class="GtkButton" id="cancel">
<property name="label">gtk-cancel</property>
- <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
- <property name="use_action_appearance">False</property>
<property name="use_stock">True</property>
</object>
<packing>
@@ -69,11 +65,9 @@
<child>
<object class="GtkButton" id="help">
<property name="label">gtk-help</property>
- <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
- <property name="use_action_appearance">False</property>
<property name="use_stock">True</property>
</object>
<packing>
@@ -146,13 +140,10 @@
</child>
<child>
<object class="GtkButton" id="forward">
- <property name="label">gtk-media-next</property>
- <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
- <property name="use_action_appearance">False</property>
- <property name="use_stock">True</property>
+ <property name="image">image2</property>
</object>
<packing>
<property name="expand">False</property>
@@ -163,13 +154,10 @@
</child>
<child>
<object class="GtkButton" id="backward">
- <property name="label">gtk-media-previous</property>
- <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
- <property name="use_action_appearance">False</property>
- <property name="use_stock">True</property>
+ <property name="image">image1</property>
</object>
<packing>
<property name="expand">False</property>
@@ -334,13 +322,11 @@
<child>
<object class="GtkButton" id="setup">
<property name="label" translatable="yes">Properties...</property>
- <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="halign">end</property>
<property name="valign">start</property>
- <property name="use_action_appearance">False</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -461,13 +447,11 @@
<child>
<object class="GtkCheckButton" id="collate">
<property name="label" translatable="yes">Collate</property>
- <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="margin_right">7</property>
- <property name="use_action_appearance">False</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
</object>
@@ -521,11 +505,9 @@
<child>
<object class="GtkRadioButton" id="printallsheets">
<property name="label" translatable="yes">All sheets</property>
- <property name="use_action_appearance">False</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="no_show_all">True</property>
- <property name="use_action_appearance">False</property>
<property name="xalign">0</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
@@ -540,11 +522,9 @@
<child>
<object class="GtkRadioButton" id="printselectedsheets">
<property name="label" translatable="yes">Selected sheets</property>
- <property name="use_action_appearance">False</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="no_show_all">True</property>
- <property name="use_action_appearance">False</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
<property name="group">printselectedcells</property>
@@ -558,11 +538,9 @@
<child>
<object class="GtkRadioButton" id="printselectedcells">
<property name="label" translatable="yes">Selected cells</property>
- <property name="use_action_appearance">False</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="no_show_all">True</property>
- <property name="use_action_appearance">False</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
<property name="group">printallsheets</property>
@@ -602,11 +580,9 @@
<child>
<object class="GtkRadioButton" id="printallpages">
<property name="label" translatable="yes">All pages</property>
- <property name="use_action_appearance">False</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="no_show_all">True</property>
- <property name="use_action_appearance">False</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
<property name="group">printpages</property>
@@ -624,11 +600,9 @@
<child>
<object class="GtkRadioButton" id="printpages">
<property name="label" translatable="yes">Pages</property>
- <property name="use_action_appearance">False</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="no_show_all">True</property>
- <property name="use_action_appearance">False</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
<property name="group">printselection</property>
@@ -662,11 +636,9 @@
<child>
<object class="GtkRadioButton" id="printselection">
<property name="label" translatable="yes">Selection</property>
- <property name="use_action_appearance">False</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="no_show_all">True</property>
- <property name="use_action_appearance">False</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
<property name="group">printallpages</property>
@@ -680,11 +652,9 @@
<child>
<object class="GtkCheckButton" id="reverseorder">
<property name="label" translatable="yes">Print in reverse page order</property>
- <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
- <property name="use_action_appearance">False</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
</object>
@@ -993,11 +963,9 @@
<child>
<object class="GtkRadioButton" id="pagespersheetbtn">
<property name="label" translatable="yes">Pages per sheet</property>
- <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
- <property name="use_action_appearance">False</property>
<property name="xalign">0</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
@@ -1030,11 +998,9 @@
<child>
<object class="GtkRadioButton" id="brochure">
<property name="label" translatable="yes">Brochure</property>
- <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
- <property name="use_action_appearance">False</property>
<property name="xalign">0</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
@@ -1237,13 +1203,11 @@
<child>
<object class="GtkCheckButton" id="bordercb">
<property name="label" translatable="yes">Draw a border around each page</property>
- <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="halign">start</property>
<property name="margin_left">12</property>
- <property name="use_action_appearance">False</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
</object>
@@ -1408,11 +1372,9 @@
<child>
<object class="GtkCheckButton" id="printtofile">
<property name="label" translatable="yes">Print to file</property>
- <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
- <property name="use_action_appearance">False</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
</object>
@@ -1426,11 +1388,9 @@
<child>
<object class="GtkCheckButton" id="singleprintjob">
<property name="label" translatable="yes">Create single print jobs for collated output</property>
- <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
- <property name="use_action_appearance">False</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
</object>
@@ -1444,10 +1404,8 @@
<child>
<object class="GtkCheckButton" id="printpaperfromsetup">
<property name="label" translatable="yes">Use only paper tray from printer preferences</property>
- <property name="use_action_appearance">False</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
- <property name="use_action_appearance">False</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
</object>
@@ -1510,6 +1468,18 @@
<action-widget response="0">help</action-widget>
</action-widgets>
</object>
+ <object class="GtkImage" id="image1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="stock">gtk-media-previous</property>
+ <property name="icon-size">1</property>
+ </object>
+ <object class="GtkImage" id="image2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="stock">gtk-media-next</property>
+ <property name="icon-size">1</property>
+ </object>
<object class="GtkListStore" id="liststore1">
<columns>
<!-- column-name gchararray1 -->