diff options
author | Tamás Zolnai <tamas.zolnai@collabora.com> | 2018-11-16 17:06:02 +0100 |
---|---|---|
committer | Tamás Zolnai <tamas.zolnai@collabora.com> | 2018-11-16 18:22:04 +0100 |
commit | cb1d625aee558c9aa3c0bf3ea44b65f37dca48a8 (patch) | |
tree | c711b9932b44cb1132311df696f138d8aa601e1a /editeng | |
parent | c4c1636b5132261e64492de38f252b19b77e69b8 (diff) |
Revert "tdf#115639: Align right/center with trailing spaces the same"
.. as MS PowerPoint"
This reverts commit 1da3a3cb74a415a76fa547ef0c8f61780e260e7f.
It was a bad solution for the problem.
Change-Id: I6f6fecb7c74a884fbfb04c6e7204eb8bf347a272
Reviewed-on: https://gerrit.libreoffice.org/63473
Tested-by: Jenkins
Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
Diffstat (limited to 'editeng')
-rw-r--r-- | editeng/qa/unit/core-test.cxx | 144 | ||||
-rw-r--r-- | editeng/source/editeng/editeng.cxx | 5 | ||||
-rw-r--r-- | editeng/source/editeng/impedit.hxx | 9 | ||||
-rw-r--r-- | editeng/source/editeng/impedit2.cxx | 10 | ||||
-rw-r--r-- | editeng/source/editeng/impedit3.cxx | 12 | ||||
-rw-r--r-- | editeng/source/outliner/outliner.cxx | 5 |
6 files changed, 7 insertions, 178 deletions
diff --git a/editeng/qa/unit/core-test.cxx b/editeng/qa/unit/core-test.cxx index ad56407d4dca..6d600b462f39 100644 --- a/editeng/qa/unit/core-test.cxx +++ b/editeng/qa/unit/core-test.cxx @@ -33,7 +33,6 @@ #include <svl/srchitem.hxx> #include <editeng/fontitem.hxx> #include <editeng/fhgtitem.hxx> -#include <editeng/adjustitem.hxx> #include <com/sun/star/text/textfield/Type.hpp> @@ -100,9 +99,6 @@ public: void testTransliterate(); - /// Test HoriAlignIgnoreTrailingWhitespace compatibility flag - void testHoriAlignIgnoreTrailingWhitespace(); - DECL_STATIC_LINK( Test, CalcFieldValueHdl, EditFieldInfo*, void ); CPPUNIT_TEST_SUITE(Test); @@ -125,7 +121,6 @@ public: CPPUNIT_TEST(testSectionAttributes); CPPUNIT_TEST(testLargeParaCopyPaste); CPPUNIT_TEST(testTransliterate); - CPPUNIT_TEST(testHoriAlignIgnoreTrailingWhitespace); CPPUNIT_TEST_SUITE_END(); private: @@ -1843,145 +1838,6 @@ void Test::testTransliterate() CPPUNIT_ASSERT_EQUAL(OUString("One (Two) Three"), aEditEngine.GetText()); } -void Test::testHoriAlignIgnoreTrailingWhitespace() -{ - // Create EditEngine's instance - EditEngine aEditEngine(mpItemPool); - - // Get EditDoc for current EditEngine's instance - EditDoc &rDoc = aEditEngine.GetEditDoc(); - - // Initially no text should be there - CPPUNIT_ASSERT_EQUAL(sal_uLong(0), rDoc.GetTextLen()); - CPPUNIT_ASSERT_EQUAL(OUString(), rDoc.GetParaAsString(sal_Int32(0))); - - // Set initial text - OUString aText = "Some text "; - sal_Int32 aTextLen = aText.getLength(); - aEditEngine.SetText(aText); - - // Assert changes - text insertion - CPPUNIT_ASSERT_EQUAL(static_cast<sal_uLong>(aTextLen), rDoc.GetTextLen()); - CPPUNIT_ASSERT_EQUAL(aText, rDoc.GetParaAsString(static_cast<sal_Int32>(0))); - - // First test case: center alignment with compatibility option enabled - { - aEditEngine.SetHoriAlignIgnoreTrailingWhitespace(true); - std::unique_ptr<SfxItemSet> pSet(new SfxItemSet(aEditEngine.GetEmptyItemSet())); - pSet->Put(SvxAdjustItem( SvxAdjust::Center, EE_PARA_JUST )); - CPPUNIT_ASSERT_EQUAL(static_cast<sal_uInt16>(1), pSet->Count()); - - // Select all paragraphs and apply changes - ESelection aSelection(0, 0, 0, aTextLen); - aEditEngine.QuickSetAttribs(*pSet, aSelection); - - // Use a one line paragraph - aEditEngine.SetPaperSize(Size(10000, 6000)); - CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(1), aEditEngine.GetLineCount(0)); - - // Check horizontal position - ParaPortion* pParaPortion = aEditEngine.GetParaPortions()[0]; - EditLine* pLine = &pParaPortion->GetLines()[0]; - CPPUNIT_ASSERT_DOUBLES_EQUAL(static_cast<long>(4527), pLine->GetStartPosX(), 100); - } - - // Second test case: center alignment with compatibility option disabled - { - aEditEngine.SetHoriAlignIgnoreTrailingWhitespace(false); - std::unique_ptr<SfxItemSet> pSet(new SfxItemSet(aEditEngine.GetEmptyItemSet())); - pSet->Put(SvxAdjustItem( SvxAdjust::Center, EE_PARA_JUST )); - CPPUNIT_ASSERT_EQUAL(static_cast<sal_uInt16>(1), pSet->Count()); - - // Select all paragraphs and apply changes - ESelection aSelection(0, 0, 0, aTextLen); - aEditEngine.QuickSetAttribs(*pSet, aSelection); - - // Use a one line paragraph - aEditEngine.SetPaperSize(Size(10000, 6000)); - CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(1), aEditEngine.GetLineCount(0)); - - // Check horizontal position - ParaPortion* pParaPortion = aEditEngine.GetParaPortions()[0]; - EditLine* pLine = &pParaPortion->GetLines()[0]; - CPPUNIT_ASSERT_DOUBLES_EQUAL(static_cast<long>(4407), pLine->GetStartPosX(), 100); - } - - // Third test case: right alignment with compatibility option enabled - { - aEditEngine.SetHoriAlignIgnoreTrailingWhitespace(true); - std::unique_ptr<SfxItemSet> pSet(new SfxItemSet(aEditEngine.GetEmptyItemSet())); - pSet->Put(SvxAdjustItem( SvxAdjust::Right, EE_PARA_JUST )); - CPPUNIT_ASSERT_EQUAL(static_cast<sal_uInt16>(1), pSet->Count()); - - // Select all paragraphs and apply changes - ESelection aSelection(0, 0, 0, aTextLen); - aEditEngine.QuickSetAttribs(*pSet, aSelection); - - // Use a one line paragraph - aEditEngine.SetPaperSize(Size(10000, 6000)); - CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(1), aEditEngine.GetLineCount(0)); - - // Check horizontal position - ParaPortion* pParaPortion = aEditEngine.GetParaPortions()[0]; - EditLine* pLine = &pParaPortion->GetLines()[0]; - CPPUNIT_ASSERT_DOUBLES_EQUAL(static_cast<long>(9054), pLine->GetStartPosX(), 100); - } - - // Fourth test case: right alignment with compatibility option disabled - { - aEditEngine.SetHoriAlignIgnoreTrailingWhitespace(false); - std::unique_ptr<SfxItemSet> pSet(new SfxItemSet(aEditEngine.GetEmptyItemSet())); - pSet->Put(SvxAdjustItem( SvxAdjust::Right, EE_PARA_JUST )); - CPPUNIT_ASSERT_EQUAL(static_cast<sal_uInt16>(1), pSet->Count()); - - // Select all paragraphs and apply changes - ESelection aSelection(0, 0, 0, aTextLen); - aEditEngine.QuickSetAttribs(*pSet, aSelection); - - // Use a one line paragraph - aEditEngine.SetPaperSize(Size(10000, 6000)); - CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(1), aEditEngine.GetLineCount(0)); - - // Check horizontal position - ParaPortion* pParaPortion = aEditEngine.GetParaPortions()[0]; - EditLine* pLine = &pParaPortion->GetLines()[0]; - CPPUNIT_ASSERT_DOUBLES_EQUAL(static_cast<long>(8815), pLine->GetStartPosX(), 100); - } - - // Test multiple paragraph case - { - // Set initial text - aText = "Some text \nMore Text "; - aTextLen = aText.getLength(); - aEditEngine.SetText(aText); - - // Assert changes - text insertion - CPPUNIT_ASSERT_EQUAL(static_cast<sal_uLong>(aTextLen - 1), rDoc.GetTextLen()); - CPPUNIT_ASSERT_EQUAL(OUString("Some text "), rDoc.GetParaAsString(static_cast<sal_Int32>(0))); - CPPUNIT_ASSERT_EQUAL(OUString("More Text "), rDoc.GetParaAsString(static_cast<sal_Int32>(1))); - - aEditEngine.SetHoriAlignIgnoreTrailingWhitespace(true); - std::unique_ptr<SfxItemSet> pSet(new SfxItemSet(aEditEngine.GetEmptyItemSet())); - pSet->Put(SvxAdjustItem( SvxAdjust::Center, EE_PARA_JUST )); - CPPUNIT_ASSERT_EQUAL(static_cast<sal_uInt16>(1), pSet->Count()); - - // Select all paragraphs and apply changes - ESelection aSelection(0, 0, 0, aTextLen); - aEditEngine.QuickSetAttribs(*pSet, aSelection); - - // Get one line paragraphs - aEditEngine.SetPaperSize(Size(10000, 6000)); - CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(1), aEditEngine.GetLineCount(0)); - CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(1), aEditEngine.GetLineCount(1)); - - // Check horizontal position - ParaPortion* pParaPortion = aEditEngine.GetParaPortions()[0]; - CPPUNIT_ASSERT_DOUBLES_EQUAL(static_cast<long>(4527), pParaPortion->GetLines()[0].GetStartPosX(), 100); - pParaPortion = aEditEngine.GetParaPortions()[1]; - CPPUNIT_ASSERT_DOUBLES_EQUAL(static_cast<long>(8815), pParaPortion->GetLines()[0].GetStartPosX(), 100); - } -} - CPPUNIT_TEST_SUITE_REGISTRATION(Test); } diff --git a/editeng/source/editeng/editeng.cxx b/editeng/source/editeng/editeng.cxx index 4d69891b289d..b8667061e42a 100644 --- a/editeng/source/editeng/editeng.cxx +++ b/editeng/source/editeng/editeng.cxx @@ -2815,11 +2815,6 @@ bool EditEngine::IsPageOverflow() { return pImpEditEngine->IsPageOverflow(); } -void EditEngine::SetHoriAlignIgnoreTrailingWhitespace(bool bEnabled) -{ - pImpEditEngine->SetHoriAlignIgnoreTrailingWhitespace(bEnabled); -} - EFieldInfo::EFieldInfo() { } diff --git a/editeng/source/editeng/impedit.hxx b/editeng/source/editeng/impedit.hxx index 4a5daed2c2bf..d5e7fdd75e7b 100644 --- a/editeng/source/editeng/impedit.hxx +++ b/editeng/source/editeng/impedit.hxx @@ -533,7 +533,6 @@ private: bool bFirstWordCapitalization:1; // specifies if auto-correction should capitalize the first word or not bool mbLastTryMerge:1; bool mbReplaceLeadingSingleQuotationMark:1; - bool mbHoriAlignIgnoreTrailingWhitespace:1; bool mbNbspRunNext; // can't be a bitfield as it is passed as bool& @@ -824,9 +823,9 @@ public: sal_uInt32 CalcTextHeight( sal_uInt32* pHeightNTP ); sal_uInt32 GetTextHeight() const; sal_uInt32 GetTextHeightNTP() const; - sal_uInt32 CalcTextWidth( bool bIgnoreExtraSpace ); + sal_uInt32 CalcTextWidth( bool bIgnoreExtraSpace); sal_uInt32 CalcParaWidth( sal_Int32 nParagraph, bool bIgnoreExtraSpace ); - sal_uInt32 CalcLineWidth( ParaPortion* pPortion, EditLine* pLine, bool bIgnoreExtraSpace, bool bIgnoreTrailingWhiteSpaces = false ); + sal_uInt32 CalcLineWidth( ParaPortion* pPortion, EditLine* pLine, bool bIgnoreExtraSpace); sal_Int32 GetLineCount( sal_Int32 nParagraph ) const; sal_Int32 GetLineLen( sal_Int32 nParagraph, sal_Int32 nLine ) const; void GetLineBoundaries( /*out*/sal_Int32& rStart, /*out*/sal_Int32& rEnd, sal_Int32 nParagraph, sal_Int32 nLine ) const; @@ -1053,10 +1052,6 @@ public: bool IsNbspRunNext() const { return mbNbspRunNext; } void Dispose(); - - // tdf#115639 compatibility flag - void SetHoriAlignIgnoreTrailingWhitespace(bool bEnabled) { mbHoriAlignIgnoreTrailingWhitespace = bEnabled; } - bool IsHoriAlignIgnoreTrailingWhitespace() const { return mbHoriAlignIgnoreTrailingWhitespace; } }; inline EPaM ImpEditEngine::CreateEPaM( const EditPaM& rPaM ) diff --git a/editeng/source/editeng/impedit2.cxx b/editeng/source/editeng/impedit2.cxx index 2ddf104fdb46..6f3a8557e95c 100644 --- a/editeng/source/editeng/impedit2.cxx +++ b/editeng/source/editeng/impedit2.cxx @@ -104,7 +104,6 @@ ImpEditEngine::ImpEditEngine( EditEngine* pEE, SfxItemPool* pItemPool ) : bFirstWordCapitalization(true), mbLastTryMerge(false), mbReplaceLeadingSingleQuotationMark(true), - mbHoriAlignIgnoreTrailingWhitespace(false), mbNbspRunNext(false) { pEditEngine = pEE; @@ -3166,7 +3165,7 @@ sal_uInt32 ImpEditEngine::CalcParaWidth( sal_Int32 nPara, bool bIgnoreExtraSpace return static_cast<sal_uInt32>(nMaxWidth); } -sal_uInt32 ImpEditEngine::CalcLineWidth( ParaPortion* pPortion, EditLine* pLine, bool bIgnoreExtraSpace, bool bIgnoreTrailingWhiteSpaces ) +sal_uInt32 ImpEditEngine::CalcLineWidth( ParaPortion* pPortion, EditLine* pLine, bool bIgnoreExtraSpace ) { sal_Int32 nPara = GetEditDoc().GetPos( pPortion->GetNode() ); @@ -3195,7 +3194,7 @@ sal_uInt32 ImpEditEngine::CalcLineWidth( ParaPortion* pPortion, EditLine* pLine, break; case PortionKind::TEXT: { - if ( (( eJustification != SvxAdjust::Block ) || ( !bIgnoreExtraSpace )) && !bIgnoreTrailingWhiteSpaces ) + if ( ( eJustification != SvxAdjust::Block ) || ( !bIgnoreExtraSpace ) ) { nWidth += rTextPortion.GetSize().Width(); } @@ -3205,10 +3204,7 @@ sal_uInt32 ImpEditEngine::CalcLineWidth( ParaPortion* pPortion, EditLine* pLine, SeekCursor( pPortion->GetNode(), nPos+1, aTmpFont ); aTmpFont.SetPhysFont( GetRefDevice() ); ImplInitDigitMode(GetRefDevice(), aTmpFont.GetLanguage()); - if (bIgnoreTrailingWhiteSpaces) - nWidth += aTmpFont.QuickGetTextSize( GetRefDevice(), pPortion->GetNode()->GetString().trim(), nPos, rTextPortion.GetLen() ).Width(); - else - nWidth += aTmpFont.QuickGetTextSize( GetRefDevice(), pPortion->GetNode()->GetString(), nPos, rTextPortion.GetLen() ).Width(); + nWidth += aTmpFont.QuickGetTextSize( GetRefDevice(), pPortion->GetNode()->GetString(), nPos, rTextPortion.GetLen() ).Width(); } } break; diff --git a/editeng/source/editeng/impedit3.cxx b/editeng/source/editeng/impedit3.cxx index d339261a5542..a2496b69733f 100644 --- a/editeng/source/editeng/impedit3.cxx +++ b/editeng/source/editeng/impedit3.cxx @@ -1487,11 +1487,7 @@ bool ImpEditEngine::CreateLines( sal_Int32 nPara, sal_uInt32 nStartPosY ) { case SvxAdjust::Center: { - long n; - if(IsHoriAlignIgnoreTrailingWhitespace()) - n = ( nMaxLineWidth - CalcLineWidth( pParaPortion, pLine, false, true ) ) / 2; - else - n = ( nMaxLineWidth - aTextSize.Width() ) / 2; + long n = ( nMaxLineWidth - aTextSize.Width() ) / 2; n += nStartX; // Indentation is kept. pLine->SetStartPosX( n ); } @@ -1500,11 +1496,7 @@ bool ImpEditEngine::CreateLines( sal_Int32 nPara, sal_uInt32 nStartPosY ) { // For automatically wrapped lines, which has a blank at the end // the blank must not be displayed! - long n; - if(IsHoriAlignIgnoreTrailingWhitespace()) - n = nMaxLineWidth - CalcLineWidth( pParaPortion, pLine, false, true ); - else - n = nMaxLineWidth - aTextSize.Width(); + long n = nMaxLineWidth - aTextSize.Width(); n += nStartX; // Indentation is kept. pLine->SetStartPosX( n ); } diff --git a/editeng/source/outliner/outliner.cxx b/editeng/source/outliner/outliner.cxx index 51e0a5f96383..60d0c10b1395 100644 --- a/editeng/source/outliner/outliner.cxx +++ b/editeng/source/outliner/outliner.cxx @@ -366,11 +366,6 @@ sal_Int32 Outliner::GetBulletsNumberingStatus() const : 2; } -void Outliner::SetHoriAlignIgnoreTrailingWhitespace(bool bEnabled) -{ - pEditEngine->SetHoriAlignIgnoreTrailingWhitespace( bEnabled ); -} - std::unique_ptr<OutlinerParaObject> Outliner::CreateParaObject( sal_Int32 nStartPara, sal_Int32 nCount ) const { if ( static_cast<sal_uLong>(nStartPara) + nCount > |