sd/source/ui/app/sdmod.cxx | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)
New commits: commit b37b4565164a74972c0e5cfa7e04441a58d48737 Author: Xisco Fauli <xiscofa...@libreoffice.org> AuthorDate: Fri Sep 6 12:16:37 2024 +0200 Commit: Christian Lohmaier <lohmaier+libreoff...@googlemail.com> CommitDate: Fri Sep 6 20:30:26 2024 +0200 tdf#162467: fix measurement units in impress/draw Regression from commit 055e7d866680390dca6e18864ca4297cc0ebda84 Author: Gabor Kelemen <gabor.kelemen.ext...@allotropia.de> Date: Tue Apr 23 20:04:43 2024 +0200 Use less SdOptionsLayout->GetMetric/SetMetric in favor of officecfg This code was removed for no apparent reason. Reintroduce it and adapt it Change-Id: Iea23ba824cdc20e59edbc316fefc7325c73926a2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172948 Tested-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com> Reviewed-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com> Reviewed-by: Thorsten Behrens <thorsten.behr...@allotropia.de> Reviewed-by: Adolfo Jayme Barrientos <fit...@ubuntu.com> diff --git a/sd/source/ui/app/sdmod.cxx b/sd/source/ui/app/sdmod.cxx index bb4d30f9e1df..df2fd5c50eee 100644 --- a/sd/source/ui/app/sdmod.cxx +++ b/sd/source/ui/app/sdmod.cxx @@ -42,6 +42,10 @@ #include <DrawDocShell.hxx> #include <drawdoc.hxx> #include <errhdl.hrc> +#include <unotools/syslocale.hxx> + +#include <officecfg/Office/Draw.hxx> +#include <officecfg/Office/Impress.hxx> #define ShellClass_SdModule #include <sdslots.hxx> @@ -141,6 +145,20 @@ SdOptions* SdModule::GetSdOptions(DocumentType eDocType) pOptions = pImpressOptions; } + if( pOptions ) + { + SvtSysLocale aSysLocale; + if (eDocType == DocumentType::Impress) + if (aSysLocale.GetLocaleData().getMeasurementSystemEnum() == MeasurementSystem::Metric) + PutItem( SfxUInt16Item( SID_ATTR_METRIC, officecfg::Office::Impress::Layout::Other::MeasureUnit::Metric::get() ) ); + else + PutItem( SfxUInt16Item( SID_ATTR_METRIC, officecfg::Office::Impress::Layout::Other::MeasureUnit::NonMetric::get() ) ); + else + if (aSysLocale.GetLocaleData().getMeasurementSystemEnum() == MeasurementSystem::Metric) + PutItem( SfxUInt16Item( SID_ATTR_METRIC, officecfg::Office::Draw::Layout::Other::MeasureUnit::Metric::get() ) ); + else + PutItem( SfxUInt16Item( SID_ATTR_METRIC, officecfg::Office::Draw::Layout::Other::MeasureUnit::NonMetric::get() ) ); + } return pOptions; }