officecfg/registry/schema/org/openoffice/Office/Common.xcs | 18 ++---- sw/inc/editsh.hxx | 2 sw/qa/uibase/wrtsh/wrtsh.cxx | 37 ------------- sw/source/core/doc/number.cxx | 6 +- sw/source/uibase/wrtsh/wrtsh1.cxx | 22 ++++--- 5 files changed, 23 insertions(+), 62 deletions(-)
New commits: commit b0510011e9857f418c02b838d9fdb5769a912c70 Author: Aron Budea <[email protected]> AuthorDate: Thu Jan 22 14:30:04 2026 +1030 Commit: Mike Kaganski <[email protected]> CommitDate: Tue Jan 27 08:12:25 2026 +0100 Related: tdf#169441 sw: Make old list bullet config load properly The load mechanism wasn't working correctly, and wouldn't load configured items, let's fix that for now. 25.8 only, code will be rewritten in later versions. Change-Id: I142608eafb6275c69457067f249d7b5c52570c6a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197786 Reviewed-by: Mike Kaganski <[email protected]> Tested-by: Jenkins diff --git a/sw/source/core/doc/number.cxx b/sw/source/core/doc/number.cxx index 61ae291a536a..492849aeddc9 100644 --- a/sw/source/core/doc/number.cxx +++ b/sw/source/core/doc/number.cxx @@ -1447,9 +1447,9 @@ namespace numfunc case 11: case 12: { - sal_Unicode cChar = sal_Unicode(); - pValues[nProp] >>= cChar; - mnLevelChars[nProp-3] = cChar; + sal_Int16 nChar = 0; + pValues[nProp] >>= nChar; + mnLevelChars[nProp - 3] = static_cast<sal_Unicode>(nChar); } break; } commit e3cfd5ead80eae2fa9f831079ee82a1e3b850012 Author: Aron Budea <[email protected]> AuthorDate: Thu Jan 22 12:54:08 2026 +1030 Commit: Mike Kaganski <[email protected]> CommitDate: Tue Jan 27 08:12:19 2026 +0100 tdf#169441 Revert "Use configured bullet symbol when clicking ...bullets button" Only in 25.8, return to old behavior. This reverts commit 626357f53c934e7f57dc80c3c83ad080767961f3. Change-Id: I24d12f12b4595adb428ce20b0ea3e748a23023bb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197785 Tested-by: Jenkins Reviewed-by: Mike Kaganski <[email protected]> diff --git a/sw/source/uibase/wrtsh/wrtsh1.cxx b/sw/source/uibase/wrtsh/wrtsh1.cxx index 61a003a46c50..de52c9a97044 100644 --- a/sw/source/uibase/wrtsh/wrtsh1.cxx +++ b/sw/source/uibase/wrtsh/wrtsh1.cxx @@ -1664,6 +1664,11 @@ void SwWrtShell::NumOrBulletOn(bool bNum) // Append the character template at the numbering. SwCharFormat* pChrFormat; SwDocShell* pDocSh = GetView().GetDocShell(); + // #i63395# + // Only apply user defined default bullet font + const vcl::Font* pFnt = numfunc::IsDefBulletFontUserDefined() + ? &numfunc::GetDefBulletFont() + : nullptr; if (bNum) { @@ -1690,14 +1695,13 @@ void SwWrtShell::NumOrBulletOn(bool bNum) if (! bNum) { - uno::Sequence<OUString> aBulletSymbols( - officecfg::Office::Common::BulletsNumbering::DefaultBullets::get()); - uno::Sequence<OUString> aBulletSymbolsFonts( - officecfg::Office::Common::BulletsNumbering::DefaultBulletsFonts::get()); - aFormat.SetBulletChar(aBulletSymbols[0].toChar()); - vcl::Font aFont; - aFont.SetFamilyName(aBulletSymbolsFonts[0]); - aFormat.SetBulletFont(&aFont); + // #i63395# + // Only apply user defined default bullet font + if ( pFnt ) + { + aFormat.SetBulletFont( pFnt ); + } + aFormat.SetBulletChar( numfunc::GetBulletChar(nLvl) ); aFormat.SetNumberingType(SVX_NUM_CHAR_SPECIAL); // #i93908# clear suffix for bullet lists aFormat.SetListFormat(u""_ustr, u""_ustr, nLvl); commit f9a643c8a650a07fa207b06f28e1514d2251ee1a Author: Aron Budea <[email protected]> AuthorDate: Thu Jan 22 12:51:16 2026 +1030 Commit: Mike Kaganski <[email protected]> CommitDate: Tue Jan 27 08:12:12 2026 +0100 Revert "tdf#166229 sw: make bullet style change again... ...with list indentation level" Only in 25.8 to address tdf#169441. This reverts commit d32dd7675b36952dd38e6c9b7d280ff2c4008404. Prerequisite to revert 626357f53c934e7f57dc80c3c83ad080767961f3. Change-Id: I0e4aabf08a2ca4fcb63ff137a1a7937c0a3118f3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197784 Reviewed-by: Mike Kaganski <[email protected]> Tested-by: Jenkins diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs index 869790296884..809353ae60a5 100644 --- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs +++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs @@ -3382,15 +3382,13 @@ </info> <value> <it>•</it> - <it>◦</it> - <it>▪</it> - <it>•</it> - <it>◦</it> - <it>▪</it> - <it>•</it> - <it>◦</it> - <it>▪</it> - <it>•</it> + <it>●</it> + <it>○</it> + <it>□</it> + <it>►</it> + <it>→</it> + <it>-</it> + <it>–</it> </value> </prop> <prop oor:name="DefaultBulletsFonts" oor:type="oor:string-list" oor:nillable="false"> @@ -3406,8 +3404,6 @@ <it>OpenSymbol</it> <it>OpenSymbol</it> <it>OpenSymbol</it> - <it>OpenSymbol</it> - <it>OpenSymbol</it> </value> </prop> </group> diff --git a/sw/inc/editsh.hxx b/sw/inc/editsh.hxx index 656c9e6b3a42..490da17b4567 100644 --- a/sw/inc/editsh.hxx +++ b/sw/inc/editsh.hxx @@ -532,7 +532,7 @@ public: /// Delete, split enumeration list. void DelNumRules(); - SW_DLLPUBLIC void NumUpDown( bool bDown = true ); + void NumUpDown( bool bDown = true ); SW_DLLPUBLIC bool MoveParagraph( SwNodeOffset nOffset = SwNodeOffset(1)); bool MoveNumParas( bool bUpperLower, bool bUpperLeft ); diff --git a/sw/qa/uibase/wrtsh/wrtsh.cxx b/sw/qa/uibase/wrtsh/wrtsh.cxx index 5684c3670704..3eddb6c5fa68 100644 --- a/sw/qa/uibase/wrtsh/wrtsh.cxx +++ b/sw/qa/uibase/wrtsh/wrtsh.cxx @@ -516,43 +516,6 @@ CPPUNIT_TEST_FIXTURE(Test, testSplitFlysAnchorJoin) CPPUNIT_ASSERT_EQUAL(u"second para"_ustr, pCursor->GetPointNode().GetTextNode()->GetText()); } -CPPUNIT_TEST_FIXTURE(Test, testBulletCharChangeOnIndent) -{ - // Given an empty document: - createSwDoc(); - - // When adding 2 bullets, A is level 1, B is level 2: - SwWrtShell* pWrtShell = getSwDocShell()->GetWrtShell(); - pWrtShell->BulletOn(); - pWrtShell->Insert(u"A"_ustr); - pWrtShell->SplitNode(); - // Increase indent: downgrade to level 2. - pWrtShell->NumUpDown(/*bDown=*/true); - pWrtShell->Insert(u"B"_ustr); - - // Then make sure the bullet characters are different: - pWrtShell->Up(/*bSelect=*/false); - SwCursor* pCursor = pWrtShell->GetCursor(); - sal_UCS4 nBullet1 = 0; - { - SwTextNode* pTextNode = pCursor->GetPointNode().GetTextNode(); - SwNumRule* pNumRule = pTextNode->GetNumRule(); - const SwNumFormat& rNumFormat = pNumRule->Get(pTextNode->GetActualListLevel()); - nBullet1 = rNumFormat.GetBulletChar(); - } - pWrtShell->Down(/*bSelect=*/false); - sal_UCS4 nBullet2 = 0; - { - SwTextNode* pTextNode = pCursor->GetPointNode().GetTextNode(); - SwNumRule* pNumRule = pTextNode->GetNumRule(); - const SwNumFormat& rNumFormat = pNumRule->Get(pTextNode->GetActualListLevel()); - nBullet2 = rNumFormat.GetBulletChar(); - } - // Without the accompanying fix in place, this test would have failed, while nBullet1 should be - // • and nBullet2 should be ◦. - CPPUNIT_ASSERT(nBullet1 != nBullet2); -} - CPPUNIT_TEST_FIXTURE(Test, testRemoveIndent) { // Given a document with an empty, bulleted paragraph at the document end: diff --git a/sw/source/uibase/wrtsh/wrtsh1.cxx b/sw/source/uibase/wrtsh/wrtsh1.cxx index 7d739ad2d846..61a003a46c50 100644 --- a/sw/source/uibase/wrtsh/wrtsh1.cxx +++ b/sw/source/uibase/wrtsh/wrtsh1.cxx @@ -1694,11 +1694,9 @@ void SwWrtShell::NumOrBulletOn(bool bNum) officecfg::Office::Common::BulletsNumbering::DefaultBullets::get()); uno::Sequence<OUString> aBulletSymbolsFonts( officecfg::Office::Common::BulletsNumbering::DefaultBulletsFonts::get()); - sal_Int32 nBulletSymbolIndex = nLvl < aBulletSymbols.getLength() ? nLvl : 0; - aFormat.SetBulletChar(aBulletSymbols[nBulletSymbolIndex].toChar()); + aFormat.SetBulletChar(aBulletSymbols[0].toChar()); vcl::Font aFont; - sal_Int32 nBulletSymbolsFontIndex = nLvl < aBulletSymbolsFonts.getLength() ? nLvl : 0; - aFont.SetFamilyName(aBulletSymbolsFonts[nBulletSymbolsFontIndex]); + aFont.SetFamilyName(aBulletSymbolsFonts[0]); aFormat.SetBulletFont(&aFont); aFormat.SetNumberingType(SVX_NUM_CHAR_SPECIAL); // #i93908# clear suffix for bullet lists
