sd/inc/pageformatpanel.hrc | 38 +++++++++++++++++-------------- sd/source/ui/sidebar/SlideBackground.cxx | 15 ++++++++++-- 2 files changed, 35 insertions(+), 18 deletions(-)
New commits: commit b26f29a976838247175576f17fb4a3087e1bb922 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Tue Dec 10 17:10:24 2019 +0000 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Wed Dec 11 11:27:32 2019 +0100 Related: tdf#129267 format numbers with the UI locale Change-Id: I70d8cc48869073596c101eec6a6d3a79db044a78 Reviewed-on: https://gerrit.libreoffice.org/84883 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> diff --git a/sd/inc/pageformatpanel.hrc b/sd/inc/pageformatpanel.hrc index 732f39e19c53..6d45a7957e87 100644 --- a/sd/inc/pageformatpanel.hrc +++ b/sd/inc/pageformatpanel.hrc @@ -16,27 +16,33 @@ namespace sd { // To translators: this is a listbox labelled by "Margins:", inch units -const char* RID_PAGEFORMATPANEL_MARGINS_INCH[] = +const std::pair<const char*, int> RID_PAGEFORMATPANEL_MARGINS_INCH[] = { - NC_("RID_PAGEFORMATPANEL_MARGINS_INCH", "None"), - NC_("RID_PAGEFORMATPANEL_MARGINS_INCH", "Narrow"), - NC_("RID_PAGEFORMATPANEL_MARGINS_INCH", "Moderate"), - NC_("RID_PAGEFORMATPANEL_MARGINS_INCH", "Normal (0.75″)"), - NC_("RID_PAGEFORMATPANEL_MARGINS_INCH", "Normal (1″)"), - NC_("RID_PAGEFORMATPANEL_MARGINS_INCH", "Normal (1.25″)"), - NC_("RID_PAGEFORMATPANEL_MARGINS_INCH", "Wide"), + { NC_("RID_PAGEFORMATPANEL_MARGINS_INCH", "None"), 0 }, + { NC_("RID_PAGEFORMATPANEL_MARGINS_INCH", "Narrow"), 0 }, + { NC_("RID_PAGEFORMATPANEL_MARGINS_INCH", "Moderate"), 0 }, + // Normal (0.75") + { NC_("RID_PAGEFORMATPANEL_MARGINS_INCH", "Normal (%1)"), 75 }, + // Normal (1") + { NC_("RID_PAGEFORMATPANEL_MARGINS_INCH", "Normal (%1)"), 100 }, + // Normal (1.25") + { NC_("RID_PAGEFORMATPANEL_MARGINS_INCH", "Normal (%1)"), 125 }, + { NC_("RID_PAGEFORMATPANEL_MARGINS_INCH", "Wide"), 0 } }; // To translators: this is a listbox labelled by "Margins:", cm units -const char* RID_PAGEFORMATPANEL_MARGINS_CM[] = +const std::pair<const char*, int> RID_PAGEFORMATPANEL_MARGINS_CM[] = { - NC_("RID_PAGEFORMATPANEL_MARGINS_CM", "None"), - NC_("RID_PAGEFORMATPANEL_MARGINS_CM", "Narrow"), - NC_("RID_PAGEFORMATPANEL_MARGINS_CM", "Moderate"), - NC_("RID_PAGEFORMATPANEL_MARGINS_CM", "Normal (1.9 cm)"), - NC_("RID_PAGEFORMATPANEL_MARGINS_CM", "Normal (2.54 cm)"), - NC_("RID_PAGEFORMATPANEL_MARGINS_CM", "Normal (3.18 cm)"), - NC_("RID_PAGEFORMATPANEL_MARGINS_CM", "Wide"), + { NC_("RID_PAGEFORMATPANEL_MARGINS_CM", "None"), 0 }, + { NC_("RID_PAGEFORMATPANEL_MARGINS_CM", "Narrow"), 0 }, + { NC_("RID_PAGEFORMATPANEL_MARGINS_CM", "Moderate"), 0 }, + // Normal (1.9 cm) + { NC_("RID_PAGEFORMATPANEL_MARGINS_CM", "Normal (%1)"), 190 }, + // Normal (2.54 cm) + { NC_("RID_PAGEFORMATPANEL_MARGINS_CM", "Normal (%1)"), 254 }, + // Normal (3.18 cm) + { NC_("RID_PAGEFORMATPANEL_MARGINS_CM", "Normal (%1)"), 318 }, + { NC_("RID_PAGEFORMATPANEL_MARGINS_CM", "Wide"), 0 } }; } diff --git a/sd/source/ui/sidebar/SlideBackground.cxx b/sd/source/ui/sidebar/SlideBackground.cxx index c28242b57a61..7a43a4c63161 100644 --- a/sd/source/ui/sidebar/SlideBackground.cxx +++ b/sd/source/ui/sidebar/SlideBackground.cxx @@ -52,6 +52,7 @@ #include <sfx2/dispatch.hxx> #include <sfx2/sidebar/Panel.hxx> #include <EventMultiplexer.hxx> +#include <unotools/localedatawrapper.hxx> #include <vcl/EnumContext.hxx> #include <editeng/sizeitem.hxx> @@ -190,15 +191,25 @@ void SlideBackground::SetMarginsFieldUnit() auto nSelected = mpMarginSelectBox->GetSelectedEntryPos(); mpMarginSelectBox->Clear(); + const LocaleDataWrapper& rLocaleData = Application::GetSettings().GetLocaleDataWrapper(); + if (IsInch(meFUnit)) { + OUString sSuffix = weld::MetricSpinButton::MetricToString(FieldUnit::INCH); for (size_t i = 0; i < SAL_N_ELEMENTS(RID_PAGEFORMATPANEL_MARGINS_INCH); ++i) - mpMarginSelectBox->InsertEntry(SdResId(RID_PAGEFORMATPANEL_MARGINS_INCH[i])); + { + OUString sMeasurement = rLocaleData.getNum(RID_PAGEFORMATPANEL_MARGINS_INCH[i].second, 2, true, false) + sSuffix; + mpMarginSelectBox->InsertEntry(SdResId(RID_PAGEFORMATPANEL_MARGINS_INCH[i].first).replaceFirst("%1", sMeasurement)); + } } else { + OUString sSuffix = " " + weld::MetricSpinButton::MetricToString(FieldUnit::CM); for (size_t i = 0; i < SAL_N_ELEMENTS(RID_PAGEFORMATPANEL_MARGINS_CM); ++i) - mpMarginSelectBox->InsertEntry(SdResId(RID_PAGEFORMATPANEL_MARGINS_CM[i])); + { + OUString sMeasurement = rLocaleData.getNum(RID_PAGEFORMATPANEL_MARGINS_CM[i].second, 2, true, false) + sSuffix; + mpMarginSelectBox->InsertEntry(SdResId(RID_PAGEFORMATPANEL_MARGINS_CM[i].first).replaceFirst("%1", sMeasurement)); + } } mpMarginSelectBox->SelectEntryPos(nSelected); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits