summaryrefslogtreecommitdiff
path: root/editeng
diff options
context:
space:
mode:
authorTamás Zolnai <tamas.zolnai@collabora.com>2018-11-16 17:06:02 +0100
committerTamás Zolnai <tamas.zolnai@collabora.com>2018-11-16 18:22:04 +0100
commitcb1d625aee558c9aa3c0bf3ea44b65f37dca48a8 (patch)
treec711b9932b44cb1132311df696f138d8aa601e1a /editeng
parentc4c1636b5132261e64492de38f252b19b77e69b8 (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.cxx144
-rw-r--r--editeng/source/editeng/editeng.cxx5
-rw-r--r--editeng/source/editeng/impedit.hxx9
-rw-r--r--editeng/source/editeng/impedit2.cxx10
-rw-r--r--editeng/source/editeng/impedit3.cxx12
-rw-r--r--editeng/source/outliner/outliner.cxx5
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 >