[Libreoffice-commits] core.git: 3 commits - sw/source

Michael Stahl mstahl at redhat.com
Tue Feb 21 16:02:08 UTC 2017


 sw/source/core/txtnode/ndtxt.cxx |  186 +++++++++++++++++----------------------
 sw/source/filter/ww8/ww8scan.cxx |    6 -
 sw/source/filter/ww8/ww8scan.hxx |    4 
 3 files changed, 88 insertions(+), 108 deletions(-)

New commits:
commit e970911e296cd81acf9ecaf666c5265dd46a5ddf
Author: Michael Stahl <mstahl at redhat.com>
Date:   Tue Feb 21 16:49:33 2017 +0100

    sw: translate rest of german comments in ndtxt.cxx
    
    Change-Id: Ifacfea14cfb2f66e8e3d47d409421d89210920f1

diff --git a/sw/source/core/txtnode/ndtxt.cxx b/sw/source/core/txtnode/ndtxt.cxx
index 010bb68..bca3c90 100644
--- a/sw/source/core/txtnode/ndtxt.cxx
+++ b/sw/source/core/txtnode/ndtxt.cxx
@@ -1577,15 +1577,14 @@ void lcl_CopyHint(
     }
 }
 
-//  Beschreibung    kopiert Attribute an der Position nStart in pDest.
-//  BP 7.6.93:      Es werden mit Absicht nur die Attribute _mit_ EndIdx
-//                  kopiert! CopyAttr wird vornehmlich dann gerufen,
-//                  wenn Attribute fuer einen Node mit leerem String
-//                  gesetzt werden sollen.
+/// copy attributes at position nTextStartIdx to node pDest
+//  BP 7.6.93:      Intentionally copy only attributes _with_ EndIdx!
+//                  CopyAttr is usually called when attributes are set on a
+//                  node with no text.
 void SwTextNode::CopyAttr( SwTextNode *pDest, const sal_Int32 nTextStartIdx,
                           const sal_Int32 nOldPos )
 {
-    if ( HasHints() )    // keine Attribute, keine Kekse
+    if ( HasHints() )
     {
         SwDoc* const pOtherDoc = (pDest->GetDoc() != GetDoc()) ?
                 pDest->GetDoc() : nullptr;
@@ -1595,7 +1594,7 @@ void SwTextNode::CopyAttr( SwTextNode *pDest, const sal_Int32 nTextStartIdx,
             SwTextAttr *const pHt = m_pSwpHints->Get(i);
             sal_Int32 const nAttrStartIdx = pHt->GetStart();
             if ( nTextStartIdx < nAttrStartIdx )
-                break; // ueber das Textende, da nLen == 0
+                break; // beyond end of text, because nLen == 0
 
             const sal_Int32 *const pEndIdx = pHt->GetEnd();
             if ( pEndIdx && !pHt->HasDummyChar() )
@@ -1631,7 +1630,7 @@ void SwTextNode::CopyAttr( SwTextNode *pDest, const sal_Int32 nTextStartIdx,
 
     if( this != pDest )
     {
-        // Frames benachrichtigen, sonst verschwinden die Footnote-Nummern
+        // notify layout frames, to prevent disappearance of footnote numbers
         SwUpdateAttr aHint(
             nOldPos,
             nOldPos,
@@ -1641,8 +1640,7 @@ void SwTextNode::CopyAttr( SwTextNode *pDest, const sal_Int32 nTextStartIdx,
     }
 }
 
-// kopiert Zeichen und Attibute in pDest, wird angehaengt
-// introduction of new optional parameter to control, if all attributes have to be copied.
+/// copy text and attributes to node pDest
 void SwTextNode::CopyText( SwTextNode *const pDest,
                       const SwIndex &rStart,
                       const sal_Int32 nLen,
@@ -1652,7 +1650,6 @@ void SwTextNode::CopyText( SwTextNode *const pDest,
     CopyText( pDest, aIdx, rStart, nLen, bForceCopyOfAllAttrs );
 }
 
-// introduction of new optional parameter to control, if all attributes have to be copied.
 void SwTextNode::CopyText( SwTextNode *const pDest,
                       const SwIndex &rDestStart,
                       const SwIndex &rStart,
@@ -1662,7 +1659,7 @@ void SwTextNode::CopyText( SwTextNode *const pDest,
     CHECK_SWPHINTS_IF_FRM(this);
     CHECK_SWPHINTS(pDest);
     sal_Int32 nTextStartIdx = rStart.GetIndex();
-    sal_Int32 nDestStart = rDestStart.GetIndex();      // alte Pos merken
+    sal_Int32 nDestStart = rDestStart.GetIndex();      // remember old Pos
 
     if (pDest->GetDoc()->IsClipBoard() && this->GetNum())
     {
@@ -1674,15 +1671,13 @@ void SwTextNode::CopyText( SwTextNode *const pDest,
 
     if( !nLen )
     {
-        // wurde keine Laenge angegeben, dann Kopiere die Attribute
-        // an der Position rStart.
+        // if no length is given, copy attributes at position rStart
         CopyAttr( pDest, nTextStartIdx, nDestStart );
 
-        // harte Absatz umspannende Attribute kopieren
+        // copy hard attributes on whole paragraph
         if( HasSwAttrSet() )
         {
-            // alle, oder nur die CharAttribute ?
-            // #i96213#
+            // i#96213 all or just the Char attributes?
             if ( !bForceCopyOfAllAttrs &&
                  ( nDestStart ||
                    pDest->HasSwAttrSet() ||
@@ -1708,26 +1703,24 @@ void SwTextNode::CopyText( SwTextNode *const pDest,
         return;
     }
 
-    // 1. Text kopieren
+    // 1. copy text
     const sal_Int32 oldLen = pDest->m_Text.getLength();
-    //JP 15.02.96: Bug 25537 - Attributbehandlung am Ende fehlt! Darum
-    //              ueber die InsertMethode den Text einfuegen und nicht
-    //              selbst direkt
+    // JP 15.02.96: missing attribute handling at the end!
+    //              hence call InsertText and don't modify m_Text directly
     pDest->InsertText( m_Text.copy(nTextStartIdx, nLen), rDestStart,
                    SwInsertFlags::EMPTYEXPAND );
 
-    // um reale Groesse Updaten !
+    // update with actual new size
     nLen = pDest->m_Text.getLength() - oldLen;
     if ( !nLen ) // string not longer?
         return;
 
     SwDoc* const pOtherDoc = (pDest->GetDoc() != GetDoc()) ? pDest->GetDoc() : nullptr;
 
-    // harte Absatz umspannende Attribute kopieren
+    // copy hard attributes on whole paragraph
     if( HasSwAttrSet() )
     {
-        // alle, oder nur die CharAttribute ?
-        // #i96213#
+        // i#96213 all or just the Char attributes?
         if ( !bForceCopyOfAllAttrs &&
              ( nDestStart ||
                pDest->HasSwAttrSet() ||
@@ -1754,26 +1747,24 @@ void SwTextNode::CopyText( SwTextNode *const pDest,
     bool const bUndoNodes = !pOtherDoc
                             && GetDoc()->GetIDocumentUndoRedo().IsUndoNodes(GetNodes());
 
-    // Ende erst jetzt holen, weil beim Kopieren in sich selbst der
-    // Start-Index und alle Attribute vorher aktualisiert werden.
+    // Fetch end only now, because copying into self updates the start index
+    // and all attributes
     nTextStartIdx = rStart.GetIndex();
     const sal_Int32 nEnd = nTextStartIdx + nLen;
 
-    // 2. Attribute kopieren
-    // durch das Attribute-Array, bis der Anfang des Geltungsbereiches
-    // des Attributs hinter dem zu kopierenden Bereich liegt
+    // 2. copy attributes
+    // Iterate over attribute array until the start of the attribute
+    // is behind the copied range
     const size_t nSize = m_pSwpHints ? m_pSwpHints->Count() : 0;
 
-    // wird in sich selbst kopiert, dann kann beim Einfuegen ein
-    // Attribut geloescht werden. Darum erst ins Tmp-Array kopieren und
-    // dann erst ins eigene uebertragen.
+    // If copying into self, inserting can delete attributes!
+    // Hence first copy into temp-array, and then move that into hints array.
     SwpHts aArr;
 
-    // Del-Array fuer alle RefMarks ohne Ausdehnung
+    // Del-Array for all RefMarks without extent
     SwpHts aRefMrkArr;
 
     sal_Int32 nDeletedDummyChars(0);
-    //Achtung: kann ungueltig sein!!
     for (size_t n = 0; n < nSize; ++n)
     {
         const sal_Int32 nAttrStartIdx = m_pSwpHints->Get(n)->GetStart();
@@ -1784,12 +1775,12 @@ void SwTextNode::CopyText( SwTextNode *const pDest,
         const sal_Int32 * const pEndIdx = pHt->GetEnd();
         const sal_uInt16 nWhich = pHt->Which();
 
-        // JP 26.04.94: REFMARK's werden nie kopiert. Hat das Refmark aber
-        //              keinen Bereich umspannt, so steht im Text ein 255
-        //              dieses muss entfernt werden. Trick: erst kopieren,
-        //              erkennen und sammeln, nach dem kopieren Loeschen.
-        //              Nimmt sein Zeichen mit ins Grab !!
-        // JP 14.08.95: Duerfen RefMarks gemovt werden?
+        // JP 26.04.94: RefMarks are never copied. If the refmark doesn't have
+        //              an extent, there is a dummy char in the text, which
+        //              must be removed. So we first copy the attribute,
+        //              but remember it, and when we're done delete it,
+        //              which also deletes the dummy character!
+        // JP 14.08.95: May RefMarks be moved?
         const bool bCopyRefMark = RES_TXTATR_REFMARK == nWhich
                                   && ( bUndoNodes
                                        || ( !pOtherDoc
@@ -1889,8 +1880,7 @@ void SwTextNode::CopyText( SwTextNode *const pDest,
         }
     }
 
-    // nur falls im Array Attribute stehen (kann nur beim Kopieren
-    // sich selbst passieren!!)
+    // this can only happen when copying into self
     for (SwTextAttr* i : aArr)
     {
         InsertHint( i, SetAttrMode::NOTXTATRCHR );
@@ -1951,10 +1941,6 @@ OUString SwTextNode::InsertText( const OUString & rStr, const SwIndex & rIdx,
         SetIgnoreDontExpand( bOldExpFlg );
     }
 
-    // analog zu Insert(char) in txtedt.cxx:
-    // 1) bei bHintExp leere Hints an rIdx.GetIndex suchen und aufspannen
-    // 2) bei bHintExp == false mitgezogene Feldattribute zuruecksetzen
-
     if ( HasHints() )
     {
         bool const bHadHints(!m_pSwpHints->CanBeDeleted());
@@ -1973,7 +1959,7 @@ OUString SwTextNode::InsertText( const OUString & rStr, const SwIndex & rIdx,
                     (!(nMode & SwInsertFlags::FORCEHINTEXPAND)
                      && pHt->DontExpand()) )
                 {
-                    // bei leeren Attributen auch Start veraendern
+                    // on empty attributes also adjust Start
                     if( rIdx == pHt->GetStart() )
                         pHt->GetStart() = pHt->GetStart() - nLen;
                     *pEndIdx = *pEndIdx - nLen;
@@ -2011,7 +1997,7 @@ OUString SwTextNode::InsertText( const OUString & rStr, const SwIndex & rIdx,
                  rIdx == nLen && pHt->GetStart() == rIdx.GetIndex() &&
                  !pHt->IsDontExpandStartAttr() )
             {
-                // Kein Feld, am Absatzanfang, HintExpand
+                // no field, at paragraph start, HintExpand
                 m_pSwpHints->DeleteAtPos(i);
                 pHt->GetStart() = pHt->GetStart() - nLen;
                 // no effect on format ignore flags here (para start)
@@ -2059,14 +2045,13 @@ void SwTextNode::CutImpl( SwTextNode * const pDest, const SwIndex & rDestStart,
 
     if( !nLen )
     {
-        // wurde keine Laenge angegeben, dann Kopiere die Attribute
-        // an der Position rStart.
+        // if no length is given, copy attributes at position rStart
         CopyAttr( pDest, rStart.GetIndex(), rDestStart.GetIndex() );
         return;
     }
 
     sal_Int32 nTextStartIdx = rStart.GetIndex();
-    sal_Int32 nDestStart = rDestStart.GetIndex();      // alte Pos merken
+    sal_Int32 nDestStart = rDestStart.GetIndex();      // remember old Pos
     const sal_Int32 nInitSize = pDest->m_Text.getLength();
 
     pDest->m_Text = pDest->m_Text.replaceAt(nDestStart, 0,
@@ -2078,12 +2063,12 @@ void SwTextNode::CutImpl( SwTextNode * const pDest, const SwIndex & rDestStart,
         abort();
     }
     nLen = pDest->m_Text.getLength() - nInitSize; // update w/ current size!
-    if (!nLen)                 // String nicht gewachsen ??
+    if (!nLen)                 // String didn't grow?
         return;
 
     if (bUpdate)
     {
-        // Update aller Indizies
+        // Update all SwIndex
         pDest->Update( rDestStart, nLen, false, true);
     }
 
@@ -2093,10 +2078,10 @@ void SwTextNode::CutImpl( SwTextNode * const pDest, const SwIndex & rDestStart,
     bool const bUndoNodes =
         GetDoc()->GetIDocumentUndoRedo().IsUndoNodes(GetNodes());
 
-    // harte Absatz umspannende Attribute kopieren
+    // copy hard attributes on whole paragraph
     if (HasSwAttrSet())
     {
-        // alle, oder nur die CharAttribute ?
+        // all or just the Char attributes?
         if( nInitSize || pDest->HasSwAttrSet() ||
             nLen != pDest->GetText().getLength())
         {
@@ -2116,9 +2101,9 @@ void SwTextNode::CutImpl( SwTextNode * const pDest, const SwIndex & rDestStart,
         }
     }
 
-    // 2. Attribute verschieben
-    // durch das Attribute-Array, bis der Anfang des Geltungsbereiches
-    // des Attributs hinter dem zu verschiebenden Bereich liegt
+    // 2. move attributes
+    // Iterate over attribute array until the start of the attribute
+    // is behind the moved range
     bool bMergePortionsNeeded(false);
     size_t nAttrCnt = 0;
     while (m_pSwpHints && (nAttrCnt < m_pSwpHints->Count()))
@@ -2134,12 +2119,11 @@ void SwTextNode::CutImpl( SwTextNode * const pDest, const SwIndex & rDestStart,
         // if the hint has a dummy character, then it must not be split!
         if(nAttrStartIdx < nTextStartIdx)
         {
-            // Anfang liegt vor dem Bereich
+            // start is before the range
             if (!pHt->HasDummyChar() && ( RES_TXTATR_REFMARK != nWhich
                 || bUndoNodes ) && pEndIdx && *pEndIdx > nTextStartIdx)
             {
-                // Attribut mit einem Bereich
-                // und das Ende des Attribut liegt im Bereich
+                // attribute with extent and end of attribute is in the range
                 pNewHt = MakeTextAttr( *pDest->GetDoc(), pHt->GetAttr(),
                                 nDestStart,
                                 nDestStart + (
@@ -2150,7 +2134,7 @@ void SwTextNode::CutImpl( SwTextNode * const pDest, const SwIndex & rDestStart,
         }
         else
         {
-            // der Anfang liegt vollstaendig im Bereich
+            // start is inside the range
             if (!pEndIdx || *pEndIdx < nEnd ||
                 (!bUndoNodes && RES_TXTATR_REFMARK == nWhich)
                 || pHt->HasDummyChar() )
@@ -2160,9 +2144,9 @@ void SwTextNode::CutImpl( SwTextNode * const pDest, const SwIndex & rDestStart,
                 {
                     GetDoc()->GetDocShell()->Broadcast( SfxHint(SfxHintId::SwSplitNodeOperation));
                 }
-                // Attribut verschieben
+                // move attribute
                 m_pSwpHints->Delete( pHt );
-                // die Start/End Indicies neu setzen
+                // reset start/end indexes
                 if (pHt->IsFormatIgnoreStart() || pHt->IsFormatIgnoreEnd())
                 {
                     bMergePortionsNeeded = true;
@@ -2183,9 +2167,9 @@ void SwTextNode::CutImpl( SwTextNode * const pDest, const SwIndex & rDestStart,
                 {
                     GetDoc()->GetDocShell()->Broadcast( SfxHint(SfxHintId::SwSplitNodeOperation));
                 }
-                continue;           // while-Schleife weiter, ohne ++ !
+                continue;           // iterate while loop, no ++ !
             }
-                // das Ende liegt dahinter
+                // the end is behind the range
             else if (RES_TXTATR_REFMARK != nWhich || bUndoNodes)
             {
                 pNewHt = MakeTextAttr( *GetDoc(), pHt->GetAttr(),
@@ -2208,10 +2192,10 @@ void SwTextNode::CutImpl( SwTextNode * const pDest, const SwIndex & rDestStart,
         }
         ++nAttrCnt;
     }
-    // sollten jetzt noch leere Attribute rumstehen, dann haben diese
-    // eine hoehere Praezedenz. Also herausholen und das Array updaten.
-    // Die dabei entstehenden leeren Hints werden von den gesicherten
-    // "uebergeplaettet".   (Bug: 6977)
+    // If there are still empty attributes around, they have a higher priority
+    // than any attributes that become empty due to the move.
+    // So temporarily remove them and Update the array, then re-insert the
+    // removed ones so they overwrite the others.
     if (m_pSwpHints && nAttrCnt < m_pSwpHints->Count())
     {
         SwpHts aArr;
@@ -2253,7 +2237,7 @@ void SwTextNode::CutImpl( SwTextNode * const pDest, const SwIndex & rDestStart,
 
     TryDeleteSwpHints();
 
-    // Frames benachrichtigen;
+    // notify layout frames
     SwInsText aInsHint( nDestStart, nLen );
     pDest->ModifyNotification( nullptr, &aInsHint );
     SwDelText aDelHint( nTextStartIdx, nLen );
@@ -2271,10 +2255,8 @@ void SwTextNode::EraseText(const SwIndex &rIdx, const sal_Int32 nCount,
     const sal_Int32 nEndIdx = nStartIdx + nCnt;
     m_Text = m_Text.replaceAt(nStartIdx, nCnt, "");
 
-    /* GCAttr(); alle leeren weggwerfen ist zu brutal.
-     * Es duerfen nur die wegggeworfen werden,
-     * die im Bereich liegen und nicht am Ende des Bereiches liegen
-     */
+    // GCAttr(); don't remove all empty ones, just the ones that are in the
+    // range but not at the end of the range.
 
     for ( size_t i = 0; m_pSwpHints && i < m_pSwpHints->Count(); ++i )
     {
@@ -2369,14 +2351,13 @@ void SwTextNode::GCAttr()
     bool   bChanged = false;
     sal_Int32 nMin = m_Text.getLength();
     sal_Int32 nMax = 0;
-    const bool bAll = nMin != 0; // Bei leeren Absaetzen werden nur die
-                           // INet-Formate entfernt.
+    const bool bAll = nMin != 0; // on empty paragraphs only remove INetFormats
 
     for ( size_t i = 0; m_pSwpHints && i < m_pSwpHints->Count(); ++i )
     {
         SwTextAttr * const pHt = m_pSwpHints->Get(i);
 
-        // wenn Ende und Start gleich sind --> loeschen
+        // if end and start are equal, delete it
         const sal_Int32 * const pEndIdx = pHt->GetEnd();
         if (pEndIdx && !pHt->HasDummyChar() && (*pEndIdx == pHt->GetStart())
             && ( bAll || pHt->Which() == RES_TXTATR_INETFMT ) )
@@ -2396,7 +2377,7 @@ void SwTextNode::GCAttr()
 
     if(bChanged)
     {
-        //TextFrame's reagieren auf aHint, andere auf aNew
+        // textframes react to aHint, others to aNew
         SwUpdateAttr aHint(
             nMin,
             nMax,
@@ -2508,7 +2489,7 @@ bool SwTextNode::HasMarkedLabel() const
 SwTextNode* SwTextNode::MakeNewTextNode( const SwNodeIndex& rPos, bool bNext,
                                        bool bChgFollow )
 {
-    /* hartes PageBreak/PageDesc/ColumnBreak aus AUTO-Set ignorieren */
+    // ignore hard PageBreak/PageDesc/ColumnBreak from Auto-Set
     SwAttrSet* pNewAttrSet = nullptr;
     // #i75353#
     bool bClearHardSetNumRuleWhenFormatCollChanges( false );
@@ -2517,10 +2498,10 @@ SwTextNode* SwTextNode::MakeNewTextNode( const SwNodeIndex& rPos, bool bNext,
         pNewAttrSet = new SwAttrSet( *GetpSwAttrSet() );
         const SfxItemSet* pTmpSet = GetpSwAttrSet();
 
-        if( bNext )     // der naechste erbt keine Breaks!
+        if (bNext)     // successor doesn't inherit breaks!
             pTmpSet = pNewAttrSet;
 
-        // PageBreaks/PageDesc/ColBreak rausschmeissen.
+        // !bNext: remove PageBreaks/PageDesc/ColBreak from this
         bool bRemoveFromCache = false;
         std::vector<sal_uInt16> aClearWhichIds;
         if ( bNext )
@@ -2598,20 +2579,19 @@ SwTextNode* SwTextNode::MakeNewTextNode( const SwNodeIndex& rPos, bool bNext,
             SetCountedInList(true);
     }
 
-    // jetzt kann es sein, das durch die Nummerierung dem neuen Node eine
-    // Vorlage aus dem Pool zugewiesen wurde. Dann darf diese nicht
-    // nochmal uebergeplaettet werden !!
+    // In case the numbering caused a style form the pool to be assigned to
+    // the new node, don't overwrite that here!
     if( pColl != pNode->GetTextColl() ||
         ( bChgFollow && pColl != GetTextColl() ))
-        return pNode;       // mehr duerfte nicht gemacht werden oder ????
+        return pNode;       // that ought to be enough?
 
-    pNode->ChgTextCollUpdateNum( nullptr, pColl ); // fuer Nummerierung/Gliederung
+    pNode->ChgTextCollUpdateNum( nullptr, pColl ); // for numbering/outline
     if( bNext || !bChgFollow )
         return pNode;
 
     SwTextFormatColl *pNextColl = &pColl->GetNextTextFormatColl();
-    // #i101870#
-    // perform action on different paragraph styles before applying the new paragraph style
+    // i#101870 perform action on different paragraph styles before applying
+    // the new paragraph style
     if (pNextColl != pColl)
     {
         // #i75353#
@@ -2633,7 +2613,7 @@ SwTextNode* SwTextNode::MakeNewTextNode( const SwNodeIndex& rPos, bool bNext,
 
 SwContentNode* SwTextNode::AppendNode( const SwPosition & rPos )
 {
-    // Position hinter dem eingefuegt wird
+    // position behind which it will be inserted
     SwNodeIndex aIdx( rPos.nNode, 1 );
     SwTextNode* pNew = MakeNewTextNode( aIdx );
 
@@ -3066,7 +3046,7 @@ bool SwTextNode::GetExpandText( SwTextNode& rDestNd, const SwIndex* pDestIdx,
         aDestIdx = *pDestIdx;
     const sal_Int32 nDestStt = aDestIdx.GetIndex();
 
-    // Text einfuegen
+    // first, start with the text
     OUStringBuffer buf(GetText());
     if( bReplaceTabsWithSpaces )
         buf.replace('\t', ' ');
@@ -3088,7 +3068,7 @@ bool SwTextNode::GetExpandText( SwTextNode& rDestNd, const SwIndex* pDestIdx,
     rDestNd.InsertText(buf.makeStringAndClear(), aDestIdx);
     nLen = aDestIdx.GetIndex() - nDestStt;
 
-    // alle FontAttribute mit CHARSET Symbol in dem Bereich setzen
+    // set all char attributes with Symbol font
     if ( HasHints() )
     {
         sal_Int32 nInsPos = nDestStt - nIdx;
@@ -3098,7 +3078,7 @@ bool SwTextNode::GetExpandText( SwTextNode& rDestNd, const SwIndex* pDestIdx,
             const sal_Int32 nAttrStartIdx = pHt->GetStart();
             const sal_uInt16 nWhich = pHt->Which();
             if (nIdx + nLen <= nAttrStartIdx)
-                break;      // ueber das Textende
+                break;      // behind end of text
 
             const sal_Int32 *pEndIdx = pHt->End();
             if( pEndIdx && *pEndIdx > nIdx &&
@@ -3128,7 +3108,7 @@ bool SwTextNode::GetExpandText( SwTextNode& rDestNd, const SwIndex* pDestIdx,
                             static_txtattr_cast<SwTextField const*>(pHt)->GetFormatField().GetField()->ExpandField(true));
                         if (!aExpand.isEmpty())
                         {
-                            ++aDestIdx;     // dahinter einfuegen;
+                            ++aDestIdx;     // insert behind
                             OUString const ins(
                                 rDestNd.InsertText( aExpand, aDestIdx));
                             SAL_INFO_IF(ins.getLength() != aExpand.getLength(),
@@ -3235,7 +3215,7 @@ OUString SwTextNode::GetRedlineText() const
     sal_uInt16 nRedlPos = pDoc->getIDocumentRedlineAccess().GetRedlinePos( *this, nsRedlineType_t::REDLINE_DELETE );
     if( USHRT_MAX != nRedlPos )
     {
-        // es existiert fuer den Node irgendein Redline-Delete-Object
+        // some redline-delete object exists for the node
         const sal_uLong nNdIdx = GetIndex();
         for( ; nRedlPos < pDoc->getIDocumentRedlineAccess().GetRedlineTable().size() ; ++nRedlPos )
         {
@@ -3246,11 +3226,11 @@ OUString SwTextNode::GetRedlineText() const
                 if( pRStt->nNode < nNdIdx )
                 {
                     if( pREnd->nNode > nNdIdx )
-                        // Absatz ist komplett geloescht
+                        // paragraph is fully deleted
                         return OUString();
                     else if( pREnd->nNode == nNdIdx )
                     {
-                        // von 0 bis nContent ist alles geloescht
+                        // deleted from 0 to nContent
                         aRedlArr.push_back( 0 );
                         aRedlArr.push_back( pREnd->nContent.GetIndex() );
                     }
@@ -3264,11 +3244,11 @@ OUString SwTextNode::GetRedlineText() const
                     else
                     {
                         aRedlArr.push_back(GetText().getLength());
-                        break;      // mehr kann nicht kommen
+                        break;  // that was all
                     }
                 }
                 else
-                    break;      // mehr kann nicht kommen
+                    break;      // that was all
             }
         }
     }
@@ -3342,8 +3322,8 @@ void SwTextNode::ReplaceText( const SwIndex& rStart, const sal_Int32 nDelLen,
 
     if (nLen && sInserted.getLength())
     {
-        // dann das 1. Zeichen ersetzen den Rest loschen und einfuegen
-        // Dadurch wird die Attributierung des 1. Zeichen expandiert!
+        // Replace the 1st char, then delete the rest and insert.
+        // This way the attributes of the 1st char are expanded!
         m_Text = m_Text.replaceAt(nStartPos, 1, sInserted.copy(0, 1));
 
         ++const_cast<SwIndex&>(rStart);
@@ -3632,7 +3612,7 @@ SwFormatColl* SwTextNode::ChgFormatColl( SwFormatColl *pNewColl )
         }
     }
 
-    // nur wenn im normalen Nodes-Array
+    // only for real nodes-array
     if( GetNodes().IsDocNodes() )
     {
         ChgTextCollUpdateNum( pOldColl, static_cast<SwTextFormatColl *>(pNewColl) );
commit 27a8a8e61a39d1eafc36d656a1c54c804c7aec71
Author: Michael Stahl <mstahl at redhat.com>
Date:   Mon Feb 20 21:20:08 2017 +0100

    sw: this member is a WW8_CP
    
    Change-Id: I639ea24900a7774369636554547e63e9c84c5ed3

diff --git a/sw/source/filter/ww8/ww8scan.hxx b/sw/source/filter/ww8/ww8scan.hxx
index 8ad343a..d841ee9 100644
--- a/sw/source/filter/ww8/ww8scan.hxx
+++ b/sw/source/filter/ww8/ww8scan.hxx
@@ -914,7 +914,7 @@ public:
 
 private:
     wwSprmParser maSprmParser;
-    long m_nCpO;                      // Origin Cp -- the basis for nNewCp
+    WW8_CP m_nCpO;                  //< Origin Cp -- the basis for nNewCp
 
     WW8_CP m_nLineEnd;                // points *after* the <CR>
     sal_uInt16 m_nPLCF;                   // this many PLCFs are managed
commit a620cfd83eaca1ef550811f99fbbc3d7fe3dbd70
Author: Michael Stahl <mstahl at redhat.com>
Date:   Mon Feb 20 21:13:29 2017 +0100

    sw: clean up LONG_MAX/WW8_CP_MAX confusion
    
    Change-Id: I5e9d595b851db231863e3e02866149a7af01883b

diff --git a/sw/source/filter/ww8/ww8scan.cxx b/sw/source/filter/ww8/ww8scan.cxx
index 0f98f30..821252a 100644
--- a/sw/source/filter/ww8/ww8scan.cxx
+++ b/sw/source/filter/ww8/ww8scan.cxx
@@ -4773,10 +4773,10 @@ WW8PLCFMan::~WW8PLCFMan()
 // 0. which attr class,
 // 1. if it's a attr start,
 // 2. CP, where is next attr change
-sal_uInt16 WW8PLCFMan::WhereIdx(bool* pbStart, long* pPos) const
+sal_uInt16 WW8PLCFMan::WhereIdx(bool *const pbStart, WW8_CP *const pPos) const
 {
     OSL_ENSURE(m_nPLCF,"What the hell");
-    long nNext = LONG_MAX;  // search order:
+    WW8_CP nNext = WW8_CP_MAX;  // search order:
     sal_uInt16 nNextIdx = m_nPLCF;// first ending found ( CHP, PAP, ( SEP ) ),
     bool bStart = true;     // now find beginnings ( ( SEP ), PAP, CHP )
     const WW8PLCFxDesc* pD;
@@ -4817,7 +4817,7 @@ sal_uInt16 WW8PLCFMan::WhereIdx(bool* pbStart, long* pPos) const
 // gives the CP pos of the next attr change
 WW8_CP WW8PLCFMan::Where() const
 {
-    long l;
+    WW8_CP l;
     WhereIdx(nullptr, &l);
     return l;
 }
diff --git a/sw/source/filter/ww8/ww8scan.hxx b/sw/source/filter/ww8/ww8scan.hxx
index d5a0ff7..8ad343a 100644
--- a/sw/source/filter/ww8/ww8scan.hxx
+++ b/sw/source/filter/ww8/ww8scan.hxx
@@ -932,7 +932,7 @@ private:
 
     const WW8Fib* m_pWwFib;
 
-    sal_uInt16 WhereIdx(bool* pbStart, long* pPos=nullptr) const;
+    sal_uInt16 WhereIdx(bool* pbStart, WW8_CP * pPos=nullptr) const;
     void AdjustEnds(WW8PLCFxDesc& rDesc);
     void GetNewSprms(WW8PLCFxDesc& rDesc);
     static void GetNewNoSprms(WW8PLCFxDesc& rDesc);


More information about the Libreoffice-commits mailing list