From 3b67ad5f11714d6bea83ec8511f7723dbd999c56 Mon Sep 17 00:00:00 2001 From: Tomaž Vajngerl Date: Mon, 20 May 2019 21:41:03 +0900 Subject: widgettheme: support multiple spinbox orientations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This adds the ability to define the spinbox orientation that has decrease and increase buttons on the right side and can be changed by adding "orientation="edit-decrease-increase" to the Spinbox "Entire" part in the widget definition. Change-Id: I3601a987a4abb8d998e9cd2d8973d794d3d66f9b Reviewed-on: https://gerrit.libreoffice.org/72662 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl --- vcl/source/gdi/FileDefinitionWidgetDraw.cxx | 8 +++++--- vcl/source/gdi/WidgetDefinitionReader.cxx | 6 ++++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/vcl/source/gdi/FileDefinitionWidgetDraw.cxx b/vcl/source/gdi/FileDefinitionWidgetDraw.cxx index e5dc455fd9cc..393fab87c7b0 100644 --- a/vcl/source/gdi/FileDefinitionWidgetDraw.cxx +++ b/vcl/source/gdi/FileDefinitionWidgetDraw.cxx @@ -690,9 +690,11 @@ bool FileDefinitionWidgetDraw::getNativeControlRegion( return false; Size aButtonSizeDown(pButtonDownPart->mnWidth, pButtonDownPart->mnHeight); - OString sOrientation = "decrease-edit-increase"; + auto const& pEntirePart + = m_pWidgetDefinition->getDefinition(eType, ControlPart::Entire); + OString sOrientation = pEntirePart->msOrientation; - if (sOrientation == "decrease-edit-increase") + if (sOrientation.isEmpty() || sOrientation == "decrease-edit-increase") { if (ePart == ControlPart::ButtonUp) { @@ -728,7 +730,7 @@ bool FileDefinitionWidgetDraw::getNativeControlRegion( return true; } } - else + else if (sOrientation == "edit-decrease-increase") { if (ePart == ControlPart::ButtonUp) { diff --git a/vcl/source/gdi/WidgetDefinitionReader.cxx b/vcl/source/gdi/WidgetDefinitionReader.cxx index f825addd0042..dd6bf75abe32 100644 --- a/vcl/source/gdi/WidgetDefinitionReader.cxx +++ b/vcl/source/gdi/WidgetDefinitionReader.cxx @@ -308,6 +308,12 @@ void WidgetDefinitionReader::readDefinition(tools::XmlWalker& rWalker, pPart->mnMarginWidth = nMarginWidth; } + OString sOrientation = rWalker.attribute("orientation"); + if (!sOrientation.isEmpty()) + { + pPart->msOrientation = sOrientation; + } + rWidgetDefinition.maDefinitions.emplace(ControlTypeAndPart(eType, ePart), pPart); readPart(rWalker, pPart); } -- cgit