From ce4c486456673e475cb0ae932bc706a7130d21f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Toma=C5=BE=20Vajngerl?= Date: Thu, 7 Mar 2019 14:10:24 +0100 Subject: [PATCH] widget theme - update combobox/listbox, draw from svg MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Ie5e28883d70ad61340c58bcacd8c2ffb2ced1536 Reviewed-on: https://gerrit.libreoffice.org/68865 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl --- vcl/Package_theme_definitions.mk | 4 ++ vcl/source/gdi/FileDefinitionWidgetDraw.cxx | 34 ++++++++++++ .../theme_definitions/combobox-disabled.svgx | 4 ++ vcl/uiconfig/theme_definitions/combobox.svgx | 4 ++ .../common-rect-disabled.svgx | 3 ++ .../theme_definitions/common-rect.svgx | 3 ++ vcl/uiconfig/theme_definitions/definition.xml | 54 ++++++++++--------- 7 files changed, 80 insertions(+), 26 deletions(-) create mode 100644 vcl/uiconfig/theme_definitions/combobox-disabled.svgx create mode 100644 vcl/uiconfig/theme_definitions/combobox.svgx create mode 100644 vcl/uiconfig/theme_definitions/common-rect-disabled.svgx create mode 100644 vcl/uiconfig/theme_definitions/common-rect.svgx diff --git a/vcl/Package_theme_definitions.mk b/vcl/Package_theme_definitions.mk index b51f60555165..9c75aa34ba7b 100644 --- a/vcl/Package_theme_definitions.mk +++ b/vcl/Package_theme_definitions.mk @@ -32,6 +32,8 @@ $(eval $(call gb_Package_add_files,vcl_theme_definitions,$(LIBO_SHARE_FOLDER)/th spinbox-right-rollover.svgx \ spinbox-right-disabled.svgx \ spinbox-entire.svgx \ + common-rect.svgx \ + common-rect-disabled.svgx \ pushbutton-default.svgx \ pushbutton-rollover.svgx \ tabitem-first.svgx \ @@ -42,6 +44,8 @@ $(eval $(call gb_Package_add_files,vcl_theme_definitions,$(LIBO_SHARE_FOLDER)/th tabitem-last-selected.svgx \ scrollbar-horizontal.svgx \ scrollbar-vertical.svgx \ + combobox.svgx \ + combobox-disabled.svgx \ )) # vim: set noet sw=4 ts=4: diff --git a/vcl/source/gdi/FileDefinitionWidgetDraw.cxx b/vcl/source/gdi/FileDefinitionWidgetDraw.cxx index 0067fed75954..54aa111431d9 100644 --- a/vcl/source/gdi/FileDefinitionWidgetDraw.cxx +++ b/vcl/source/gdi/FileDefinitionWidgetDraw.cxx @@ -723,6 +723,40 @@ bool FileDefinitionWidgetDraw::getNativeControlRegion( } } break; + case ControlType::Combobox: + case ControlType::Listbox: + { + auto const& pPart = m_aWidgetDefinition.getDefinition(eType, ControlPart::ButtonDown); + Size aComboButtonSize(pPart->mnWidth, pPart->mnHeight); + + if (ePart == ControlPart::ButtonDown) + { + Point aPoint(aLocation.X() + rBoundingControlRegion.GetWidth() + - aComboButtonSize.Width(), + aLocation.Y()); + rNativeContentRegion = tools::Rectangle(aPoint, aComboButtonSize); + rNativeBoundingRegion = rNativeContentRegion; + return true; + } + else if (ePart == ControlPart::SubEdit) + { + Size aSize(rBoundingControlRegion.GetWidth() - aComboButtonSize.Width(), + aComboButtonSize.Height()); + rNativeContentRegion = tools::Rectangle(aLocation, aSize); + rNativeContentRegion.expand(1); + rNativeBoundingRegion = rNativeContentRegion; + return true; + } + else if (ePart == ControlPart::Entire) + { + Size aSize(rBoundingControlRegion.GetWidth(), aComboButtonSize.Height()); + rNativeContentRegion = tools::Rectangle(aLocation, aSize); + rNativeBoundingRegion = rNativeContentRegion; + rNativeBoundingRegion.expand(1); + return true; + } + } + break; default: break; diff --git a/vcl/uiconfig/theme_definitions/combobox-disabled.svgx b/vcl/uiconfig/theme_definitions/combobox-disabled.svgx new file mode 100644 index 000000000000..ccb892d77f90 --- /dev/null +++ b/vcl/uiconfig/theme_definitions/combobox-disabled.svgx @@ -0,0 +1,4 @@ + + + + diff --git a/vcl/uiconfig/theme_definitions/combobox.svgx b/vcl/uiconfig/theme_definitions/combobox.svgx new file mode 100644 index 000000000000..b4a1627f3882 --- /dev/null +++ b/vcl/uiconfig/theme_definitions/combobox.svgx @@ -0,0 +1,4 @@ + + + + diff --git a/vcl/uiconfig/theme_definitions/common-rect-disabled.svgx b/vcl/uiconfig/theme_definitions/common-rect-disabled.svgx new file mode 100644 index 000000000000..e4c1f63599d7 --- /dev/null +++ b/vcl/uiconfig/theme_definitions/common-rect-disabled.svgx @@ -0,0 +1,3 @@ + + + diff --git a/vcl/uiconfig/theme_definitions/common-rect.svgx b/vcl/uiconfig/theme_definitions/common-rect.svgx new file mode 100644 index 000000000000..24a3b12c2d58 --- /dev/null +++ b/vcl/uiconfig/theme_definitions/common-rect.svgx @@ -0,0 +1,3 @@ + + + diff --git a/vcl/uiconfig/theme_definitions/definition.xml b/vcl/uiconfig/theme_definitions/definition.xml index 99df7524b8d2..8c9b1af285d9 100644 --- a/vcl/uiconfig/theme_definitions/definition.xml +++ b/vcl/uiconfig/theme_definitions/definition.xml @@ -124,24 +124,24 @@ - - + + + + + - - - - + + + + - - - - - + + @@ -157,8 +157,11 @@ - - + + + + + @@ -166,21 +169,20 @@ + + + + + + + + + + + + - - - - - - - - - - - - -