diff options
author | Caolán McNamara <caolanm@redhat.com> | 2012-12-20 09:18:29 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2012-12-20 16:52:56 +0000 |
commit | 3c70c8e449253b4219c12ee4ef50384030a474ef (patch) | |
tree | 7cfa9a7f25b8fc8d3f878f335f358e0cea9ba3b9 /vcl | |
parent | 049afdad58b7b07698b6002659f075aa555688f3 (diff) |
implement small-size variant stock image buttons
Change-Id: I82d5a957b5c38b8aa19e28ceb8d6850c0bf7526e
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/inc/vcl/builder.hxx | 9 | ||||
-rw-r--r-- | vcl/inc/vcl/button.hxx | 4 | ||||
-rw-r--r-- | vcl/source/control/button.cxx | 8 | ||||
-rw-r--r-- | vcl/source/control/morebtn.cxx | 4 | ||||
-rw-r--r-- | vcl/source/window/builder.cxx | 29 | ||||
-rw-r--r-- | vcl/source/window/printdlg.cxx | 6 | ||||
-rw-r--r-- | vcl/uiconfig/ui/printdialog.ui | 58 |
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 --> |