diff --git a/vcl/source/gdi/FileDefinitionWidgetDraw.cxx b/vcl/source/gdi/FileDefinitionWidgetDraw.cxx index d0743208f6fc..b88ac38b5f64 100644 --- a/vcl/source/gdi/FileDefinitionWidgetDraw.cxx +++ b/vcl/source/gdi/FileDefinitionWidgetDraw.cxx @@ -69,7 +69,9 @@ bool FileDefinitionWidgetDraw::isNativeControlSupported(ControlType eType, Contr case ControlType::MultilineEditbox: return true; case ControlType::Listbox: - return false; + if (ePart == ControlPart::HasBackgroundTexture) + return false; + return true; case ControlType::Spinbox: if (ePart == ControlPart::AllButtons) return false; @@ -290,7 +292,10 @@ bool FileDefinitionWidgetDraw::drawNativeControl(ControlType eType, ControlPart } break; case ControlType::Listbox: - break; + { + bOK = resolveDefinition(eType, ePart, eState, rValue, nX, nY, nWidth, nHeight); + } + break; case ControlType::Spinbox: { if (rValue.getType() == ControlType::SpinButtons) diff --git a/vcl/source/gdi/WidgetDefinitionReader.cxx b/vcl/source/gdi/WidgetDefinitionReader.cxx index 351d0fcdc9ef..84740bced4a2 100644 --- a/vcl/source/gdi/WidgetDefinitionReader.cxx +++ b/vcl/source/gdi/WidgetDefinitionReader.cxx @@ -135,11 +135,12 @@ bool getControlTypeForXmlString(OString const& rString, ControlType& reType) static std::unordered_map aPartMap = { { "pushbutton", ControlType::Pushbutton }, { "radiobutton", ControlType::Radiobutton }, { "checkbox", ControlType::Checkbox }, { "combobox", ControlType::Combobox }, - { "editbox", ControlType::Editbox }, { "scrollbar", ControlType::Scrollbar }, - { "spinbox", ControlType::Spinbox }, { "slider", ControlType::Slider }, - { "fixedline", ControlType::Fixedline }, { "progress", ControlType::Progress }, - { "tabitem", ControlType::TabItem }, { "tabheader", ControlType::TabHeader }, - { "tabpane", ControlType::TabPane }, { "tabbody", ControlType::TabBody } }; + { "editbox", ControlType::Editbox }, { "listbox", ControlType::Listbox }, + { "scrollbar", ControlType::Scrollbar }, { "spinbox", ControlType::Spinbox }, + { "slider", ControlType::Slider }, { "fixedline", ControlType::Fixedline }, + { "progress", ControlType::Progress }, { "tabitem", ControlType::TabItem }, + { "tabheader", ControlType::TabHeader }, { "tabpane", ControlType::TabPane }, + { "tabbody", ControlType::TabBody } }; auto const& rIterator = aPartMap.find(rString); if (rIterator != aPartMap.end()) diff --git a/vcl/uiconfig/theme_definitions/definition.xml b/vcl/uiconfig/theme_definitions/definition.xml index 308bec61f614..c9cdfd63605c 100644 --- a/vcl/uiconfig/theme_definitions/definition.xml +++ b/vcl/uiconfig/theme_definitions/definition.xml @@ -140,6 +140,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +