summaryrefslogtreecommitdiff
path: root/cui
diff options
context:
space:
mode:
authorJustin Luth <justin.luth@collabora.com>2023-01-02 15:09:03 -0500
committerJustin Luth <jluth@mail.com>2023-01-06 03:08:29 +0000
commit710017981194c33ac1ba1acc439f92b87869f532 (patch)
tree4d7b21b0fb61d5080b229ac33c6ac4b6eed2ce34 /cui
parent585f65738270ba8ab2fdc4c49063c3b5663fe768 (diff)
tdf#56258: allow i18npool to define SvxAdjust for outline
Deciding whether the numbering should be Left, Right, or Center is a rather important setting. Specifically for Roman numerals (which grow very wide as they increment to 7 and 8) the numbering styles set these to right aligned. This really helps for keeping the text nicely aligned. The numbering styles are built-in LO defaults, but locale files can define numbering and outline choices. This patch add the setting for "adjust" on the outline levels. For en_US, it makes sense to right-align roman numeral levels. [The only other highly likely candidate for this that I could find was old Hungarian (SZEKELY_ROVAS), but it doesn't seem to be used in any locale definitions.] I only changed en_US for now, but of course many other locales are also using NumType="3" and NumType="4". This only applies to the toolbar/sidebar SVX code path. The Bullets and Numbering dialog does not currently modify any spacing, so I didn't apply the adjustment either. It also doesn't make sense to do this on single numbering changes (aka ContinuousNumberingLevels or LC_NumberingLevel) because we don't know or control the first line indent there either. But at least for toolbar Outlines, we do change every level, and so can set a (somewhat) appropriate spacing. [Setting SvxAdjust without adjusting the spacing is pointless. Don't make any changes at all if the spacing ends up causing problems.] The Numbering IVX/ivx styles set the firstLineIndent to -174, so I did the same here. This is the scariest part of this change. AFAICS SvxAdjust::Left is a non-locale aDefNumStyle default, so hardcoding that for undefined LC_OutlineNumberingLevel shouldn't be too scary. Change-Id: I52deefe88aa55c55c9531b651411f64accb86f7f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144978 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com>
Diffstat (limited to 'cui')
-rw-r--r--cui/source/tabpages/numpages.cxx6
1 files changed, 5 insertions, 1 deletions
diff --git a/cui/source/tabpages/numpages.cxx b/cui/source/tabpages/numpages.cxx
index 6e27c26fdf99..0ced9e4536dd 100644
--- a/cui/source/tabpages/numpages.cxx
+++ b/cui/source/tabpages/numpages.cxx
@@ -17,7 +17,6 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include <com/sun/star/text/HoriOrientation.hpp>
#include <com/sun/star/text/VertOrientation.hpp>
#include <numpages.hxx>
@@ -691,6 +690,11 @@ IMPL_LINK_NOARG(SvxNumPickTabPage, NumSelectHdl_Impl, ValueSet*, void)
aFmt.SetIncludeUpperLevels(sal::static_int_cast< sal_uInt8 >(0 != nUpperLevelOrChar ? pActNum->GetLevelCount() : 1));
aFmt.SetCharFormatName(sNumCharFmtName);
aFmt.SetBulletRelSize(100);
+
+ // Completely ignore the Left/Right value provided by the locale outline definition,
+ // because this function doesn't actually modify the indents at all,
+ // and right-adjusted numbering definitely needs a different FirstLineIndent.
+
// #i93908#
aFmt.SetListFormat(pLevelSettings->sPrefix, pLevelSettings->sSuffix, i);
}