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

Lukas Röllin lukas.roellin at bluewin.ch
Mon Feb 6 12:47:59 UTC 2017


 sw/source/filter/html/htmlctxt.cxx |  176 +++++++++++++++----------------------
 1 file changed, 73 insertions(+), 103 deletions(-)

New commits:
commit 71160b4cd3ee9f8b127ed687d9e0d0a8067bfd64
Author: Lukas Röllin <lukas.roellin at bluewin.ch>
Date:   Mon Feb 6 11:23:53 2017 +0000

    Translate German comments
    
    Change-Id: Iafca03642f7053cb9c5009163cb80528d88bca47
    Reviewed-on: https://gerrit.libreoffice.org/33960
    Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
    Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>

diff --git a/sw/source/filter/html/htmlctxt.cxx b/sw/source/filter/html/htmlctxt.cxx
index 11ae0fe..f86cafdc 100644
--- a/sw/source/filter/html/htmlctxt.cxx
+++ b/sw/source/filter/html/htmlctxt.cxx
@@ -40,22 +40,17 @@ using namespace ::com::sun::star;
 
 class HTMLAttrContext_SaveDoc
 {
-    SwHTMLNumRuleInfo aNumRuleInfo; // In Umgebung gueltige Numerierung
-    SwPosition  *pPos;              // hierhin beim verlassen den
-                                    // Kontexts zurueckgesprungen
-    HTMLAttrTable *pAttrTab;       // In Umgebung gueltige Attribute,
-                                    // wenn Attributierung nicht
-                                    // beibehalten werden soll.
-
-    size_t nContextStMin;           // In Umgebung gueltige Stack-
-                                    // Untergrenze, wenn der Stack
-                                    // geschuetzt werden soll.
-    size_t nContextStAttrMin;       // In Umgebung gueltige Stack-
-                                    // Untergrenze, wenn die Attribute
-                                    // nicht beibehalten werden sollen.
-
-    bool bStripTrailingPara : 1;    // letzen Absatz entfernen?
-    bool bKeepNumRules : 1;         // Numerierung beibehalten?
+    SwHTMLNumRuleInfo aNumRuleInfo; // Numbering for this environment
+    SwPosition  *pPos;              // Jump back to here when leaving context
+    HTMLAttrTable *pAttrTab;        // Valid attributes for the envionment,
+                                    // if attributes shouldn't be preserved
+
+    size_t nContextStMin;           // Stack lower bound for the environment
+                                    // if stack needs to be protected
+    size_t nContextStAttrMin;       // Stack lower bound for the environment
+                                    // if the attribues shouldn't be preserved
+    bool bStripTrailingPara : 1;
+    bool bKeepNumRules : 1;
     bool bFixHeaderDist : 1;
     bool bFixFooterDist : 1;
 
@@ -70,11 +65,11 @@ public:
 
     ~HTMLAttrContext_SaveDoc() { delete pPos; delete pAttrTab; }
 
-    // Die Position gehoert uns, muss also angelegt und zerstoert werden
+    // The position is ours, so we need to create and delete it
     void SetPos( const SwPosition& rPos ) { pPos = new SwPosition(rPos); }
     const SwPosition *GetPos() const { return pPos; }
 
-    // Der Index gehoert uns nicht. Kein Anlgen und Zerstoeren.
+    // The index isn't ours. So no creation or deletion
     void SetNumInfo( const SwHTMLNumRuleInfo& rInf ) { aNumRuleInfo.Set(rInf); }
     const SwHTMLNumRuleInfo& GetNumInfo() const { return aNumRuleInfo; }
 
@@ -140,8 +135,7 @@ void SwHTMLParser::SplitAttrTab( const SwPosition& rNewPos )
 
     bool bMoveBack = false;
 
-    // alle noch offenen Attribute beenden und hinter der Tabelle
-    // neu aufspannen
+    // close all open attributes and re-open them after the table
     HTMLAttr** pHTMLAttributes = reinterpret_cast<HTMLAttr**>(&m_aAttrTab);
     for (auto nCnt = sizeof(HTMLAttrTable) / sizeof(HTMLAttr*); nCnt--; ++pHTMLAttributes)
     {
@@ -155,8 +149,7 @@ void SwHTMLParser::SplitAttrTab( const SwPosition& rNewPos )
             if( !nOldEndCnt && RES_PARATR_BEGIN <= nWhich &&
                 pAttr->GetSttParaIdx() < pOldEndPara->GetIndex() )
             {
-                // Das Attribut muss eine Content-Position weiter vorne
-                // beendet werden
+                // The attribute needs to be closed one content position beforehand
                 if( !bMoveBack )
                 {
                     bMoveBack = m_pPam->Move( fnMoveBackward );
@@ -174,11 +167,9 @@ void SwHTMLParser::SplitAttrTab( const SwPosition& rNewPos )
                 (pAttr->GetSttPara() == *pOldEndPara &&
                  pAttr->GetSttCnt() != nOldEndCnt) )
             {
-                // Das Attribut muss gesetzt werden. Da wir
-                // das Original noch brauchen, weil Zeiger auf das Attribut
-                // noch in den Kontexten existieren, muessen wir es clonen.
-                // Die Next-Liste geht dabei verloren, aber die
-                // Previous-Liste bleibt erhalten
+                // The attribute needs to be set. Because we still need the original, since
+                // pointers to the attribute still exists in the contexts, we need to clone it.
+                // The next-list gets lost but the previous-list is preserved
                 HTMLAttr *pSetAttr = pAttr->Clone( *pOldEndPara, nOldEndCnt );
 
                 if( pNext )
@@ -193,9 +184,8 @@ void SwHTMLParser::SplitAttrTab( const SwPosition& rNewPos )
             }
             else if( pPrev )
             {
-                // Wenn das Attribut nicht gesetzt vor der Tabelle
-                // gesetzt werden muss, muessen der Previous-Attribute
-                // trotzdem gesetzt werden.
+                // The previous attributes still need to be set, even if the current attribute
+                // doesn't need to be set before the table
                 if( pNext )
                     pNext->InsertPrev( pPrev );
                 else
@@ -207,7 +197,7 @@ void SwHTMLParser::SplitAttrTab( const SwPosition& rNewPos )
                 }
             }
 
-            // den Start des Attributs neu setzen
+            // Set the start of the attribute
             pAttr->nSttPara = rNewSttPara;
             pAttr->nEndPara = rNewSttPara;
             pAttr->nSttContent = nNewSttCnt;
@@ -235,20 +225,18 @@ void SwHTMLParser::SaveDocContext( HTMLAttrContext *pCntxt,
 
     if( pNewPos )
     {
-        // Wenn der PaM an eine andere Position gesetzt wird, muss
-        // die Numerierung gerettet werden..
+        // If the PaM needs to be set to a different position, we need to preserve numbering
         if( !pSave->GetKeepNumRules() )
         {
-            // Die Numerierung soll nicht beibehalten werden. Also muss
-            // der aktuelle Zustand gerettet und die Numerierung
-            // anschliessend ausgeschaltet werden.
+            // Numbering shall not be preserved. So we need to preserve the current state
+            // and turn off numbering afterwards
             pSave->SetNumInfo( GetNumInfo() );
             GetNumInfo().Clear();
         }
 
         if( HtmlContextFlags::KeepAttrs & nFlags )
         {
-            // Attribute an aktueller Position beenden und an neuer neu anfangen
+            // Close attribute on current position and start on new one
             SplitAttrTab( *pNewPos );
         }
         else
@@ -261,8 +249,8 @@ void SwHTMLParser::SaveDocContext( HTMLAttrContext *pCntxt,
         *m_pPam->GetPoint() = *pNewPos;
     }
 
-    // Mit dem Setzen von nContextStMin koennen automatisch auch
-    // keine gerade offenen Listen (DL/OL/UL) mehr beendet werden.
+    // Settings nContextStMin automatically means, that no
+    // currently open lists (DL/OL/UL) can be closed
     if( HtmlContextFlags::ProtectStack & nFlags  )
     {
         pSave->SetContextStMin( m_nContextStMin );
@@ -294,8 +282,7 @@ void SwHTMLParser::RestoreDocContext( HTMLAttrContext *pCntxt )
         HTMLAttrTable *pSaveAttrTab = pSave->GetAttrTab();
         if( !pSaveAttrTab )
         {
-            // Attribute an aktueller Position beenden und an alter neu
-            // anfangen.
+            // Close attribute on current position and start on the old one
             SplitAttrTab( *pSave->GetPos() );
         }
         else
@@ -305,7 +292,7 @@ void SwHTMLParser::RestoreDocContext( HTMLAttrContext *pCntxt )
 
         *m_pPam->GetPoint() = *pSave->GetPos();
 
-        // Die bisherigen Attribute koennen wir schonmal setzen.
+        // We can already set the attributes so far
         SetAttr();
     }
 
@@ -318,7 +305,7 @@ void SwHTMLParser::RestoreDocContext( HTMLAttrContext *pCntxt )
 
     if( !pSave->GetKeepNumRules() )
     {
-        // Die bisherige gemerkte Numerierung wieder setzen
+        // Set the preserved numbering back
         GetNumInfo().Set( pSave->GetNumInfo() );
     }
 
@@ -329,8 +316,7 @@ void SwHTMLParser::EndContext( HTMLAttrContext *pContext )
 {
     if( pContext->GetPopStack() )
     {
-        // Alle noch offenen Kontexte beenden. Der eigene
-        // Kontext muss bereits geloscht sein!
+        // Close all still open contexts. Our own context needs to be deleted already!
         while( m_aContexts.size() > m_nContextStMin )
         {
             HTMLAttrContext *pCntxt = PopContext();
@@ -344,26 +330,25 @@ void SwHTMLParser::EndContext( HTMLAttrContext *pContext )
         }
     }
 
-    // Alle noch offenen Attribute beenden
+    // Close all still open attributes
     if( pContext->HasAttrs() )
         EndContextAttrs( pContext );
 
-    // Falls ein Bereich geoeffnet wurde, den verlassen. Da Bereiche
-    // auch innerhalb von absolut positionierten Objekten angelegt werden,
-    // muss das passieren, bever ein alter Dokument-Kontext restauriert wird.
+    // If a section has been opened, end it. Since sections can be part of absolute-positioned
+    // objects, this needs to be done before restoring document context
     if( pContext->GetSpansSection() )
         EndSection();
 
-    // Rahmen und sonstige Sonderbereiche verlassen.
+    // Leave borders and other special sections
     if( pContext->HasSaveDocContext() )
         RestoreDocContext( pContext );
 
-    // Ggf. noch einen Ansatz-Umbruch einfuegen
+    // Add a paragraph break if needed
     if( AM_NONE != pContext->GetAppendMode() &&
         m_pPam->GetPoint()->nContent.GetIndex() )
         AppendTextNode( pContext->GetAppendMode() );
 
-    // PRE-/LISTING- und XMP-Umgebungen wieder starten
+    // Restart PRE, LISTING and XMP environments
     if( pContext->IsFinishPREListingXMP() )
         FinishPREListingXMP();
 
@@ -382,11 +367,10 @@ void SwHTMLParser::ClearContext( HTMLAttrContext *pContext )
     HTMLAttrs &rAttrs = pContext->GetAttrs();
     for( auto pAttr : rAttrs )
     {
-        // einfaches Loeschen reicht hier nicht, weil das
-        // Attribut auch aus seiner Liste ausgetragen werden
-        // muss. Theoretisch koennt man natuerlich auch die Liste
-        // und die Attribute getrennt loeschen, aber wenn man
-        // dann was falsch gemacht hat, sieht es uebel aus.
+        // Simple deletion doesn't to the job, since the attribute
+        // needs to be deregistered with its list.
+        // In theory, you could delete the list and its attributes separately
+        // but if you get that wrong, quite a lot is messed up
         DeleteAttr( pAttr );
     }
 
@@ -396,7 +380,7 @@ void SwHTMLParser::ClearContext( HTMLAttrContext *pContext )
     OSL_ENSURE( !pContext->HasSaveDocContext(),
             "Rahmen kann nicht mehr verlassen werden" );
 
-    // PRE-/LISTING- und XMP-Umgebungen wieder starten
+    // Restart PRE/LISTING/XMP environments
     if( pContext->IsFinishPREListingXMP() )
         FinishPREListingXMP();
 
@@ -416,11 +400,11 @@ bool SwHTMLParser::DoPositioning( SfxItemSet &rItemSet,
 {
     bool bRet = false;
 
-    // Unter folgenden Umstaenden wird jetzt ein Rahmen aufgemacht:
-    // - das Tag wird absolut positioniert und left/top sind beide
-    //   gegeben und enthalten auch keine %-Angabe, oder
-    // - das Tag soll fliessen, und
-    // - es wurde eine Breite angegeben (in beiden Faellen noetig)
+    // A border is opened on the following conditions
+    // - the tag is absolute-positoned AND left/top are both known AND don't contain a % property
+    // OR
+    // - the tag should be floating AND
+    // - there's a given width
     if( SwCSS1Parser::MayBePositioned( rPropInfo ) )
     {
         SfxItemSet aFrameItemSet( m_xDoc->GetAttrPool(),
@@ -428,17 +412,13 @@ bool SwHTMLParser::DoPositioning( SfxItemSet &rItemSet,
         if( !IsNewDoc() )
             Reader::ResetFrameFormatAttrs(aFrameItemSet );
 
-        // Ausrichtung setzen
         SetAnchorAndAdjustment( text::VertOrientation::NONE, text::HoriOrientation::NONE, rItemSet, rPropInfo,
                                 aFrameItemSet );
 
-        // Groesse setzen
         SetVarSize( rItemSet, rPropInfo, aFrameItemSet );
 
-        // Abstaende setzen
         SetSpace( Size(0,0), rItemSet, rPropInfo, aFrameItemSet );
 
-        // Sonstige CSS1-Attribute Setzen
         SetFrameFormatAttrs( rItemSet, rPropInfo,
                         HtmlFrameFormatFlags::Box|HtmlFrameFormatFlags::Padding|HtmlFrameFormatFlags::Background|HtmlFrameFormatFlags::Direction,
                         aFrameItemSet );
@@ -461,7 +441,7 @@ bool SwHTMLParser::CreateContainer( const OUString& rClass,
     if( rClass.equalsIgnoreAsciiCase( "sd-abs-pos" ) &&
         SwCSS1Parser::MayBePositioned( rPropInfo ) )
     {
-        // Container-Klasse
+        // Container class
         SfxItemSet *pFrameItemSet = pContext->GetFrameItemSet( m_xDoc.get() );
         if( !IsNewDoc() )
             Reader::ResetFrameFormatAttrs( *pFrameItemSet );
@@ -486,8 +466,7 @@ void SwHTMLParser::InsertAttrs( SfxItemSet &rItemSet,
                                 HTMLAttrContext *pContext,
                                 bool bCharLvl )
 {
-    // Ein DropCap-Attribut basteln, wenn auf Zeichen-Ebene vor dem
-    // ersten Zeichen ein float: left vorkommt
+    // Put together a DropCap attribute, if a "float:left" is before the first character
     if( bCharLvl && !m_pPam->GetPoint()->nContent.GetIndex() &&
         SVX_ADJUST_LEFT == rPropInfo.m_eFloat )
     {
@@ -496,8 +475,7 @@ void SwHTMLParser::InsertAttrs( SfxItemSet &rItemSet,
 
         m_pCSS1Parser->FillDropCap( aDrop, rItemSet );
 
-        // Nur wenn das Initial auch ueber mehrere Zeilen geht, wird das
-        // DropCap-Attribut gesetzt. Sonst setzten wir die Attribute hart.
+        // We only set the DropCap attribute if the initial spans multiple lines
         if( aDrop.GetLines() > 1 )
         {
             NewAttr( &m_aAttrTab.pDropCap, aDrop );
@@ -527,15 +505,12 @@ void SwHTMLParser::InsertAttrs( SfxItemSet &rItemSet,
         {
         case RES_LR_SPACE:
             {
-                // Absatz-Einzuege muessen addiert werden und werden immer
-                // nur absatzweise gesetzt (fuer den ersten Absatz hier,
-                // fuer alle folgenden in SetTextCollAttrs)
-
+                // Paragraph indents need to be added and are generated for each paragraphs
+                // (here for the first paragraph only, all the following in SetTextCollAttrs)
                 const SvxLRSpaceItem *pLRItem =
                     static_cast<const SvxLRSpaceItem *>(pItem);
 
-                // die bisherigen Absatz-Abstaende holen (ohne die vom
-                // obersten Kontext, denn den veraendern wir ja gerade) ...
+                // Get old paragraph indents without the top context (that's the one we're editing)
                 sal_uInt16 nOldLeft = 0, nOldRight = 0;
                 short nOldIndent = 0;
                 bool bIgnoreTop = m_aContexts.size() > m_nContextStMin &&
@@ -543,17 +518,15 @@ void SwHTMLParser::InsertAttrs( SfxItemSet &rItemSet,
                 GetMarginsFromContext( nOldLeft, nOldRight, nOldIndent,
                                        bIgnoreTop  );
 
-                // und noch die aktuell gueltigen
+                // ... and the currently valid ones
                 sal_uInt16 nLeft = nOldLeft, nRight = nOldRight;
                 short nIndent = nOldIndent;
                 pContext->GetMargins( nLeft, nRight, nIndent );
 
-                // ... und die neuen Abstaende zu den alten addieren
-                // Hier werden nicht die aus dem Item genommen, sondern die
-                // extra gemerkten, weil die auch negativ sein koennen. Die
-                // Abfrage ueber das Item funktioniert aber trotzdem, denn
-                // fuer negative Werte wird das Item (mit Wert 0) auch
-                // eingefuegt.
+                // ... and add the new indents to the old ones
+                // Here, we don't get the ones from the item but the separately remembered ones,
+                // since they could be negative. Accessing those via the item still works, since
+                // the item (with value 0) will be added
                 if( rPropInfo.m_bLeftMargin )
                 {
                     OSL_ENSURE( rPropInfo.m_nLeftMargin < 0 ||
@@ -579,10 +552,10 @@ void SwHTMLParser::InsertAttrs( SfxItemSet &rItemSet,
                 if( rPropInfo.m_bTextIndent )
                     nIndent = pLRItem->GetTextFirstLineOfst();
 
-                // und die Werte fuer nachfolgende Absaetze merken
+                // Remember the value for the following paragraphs
                 pContext->SetMargins( nLeft, nRight, nIndent );
 
-                // das Attribut noch am aktuellen Absatz setzen
+                // Set the attribute on the current paragraph
                 SvxLRSpaceItem aLRItem( *pLRItem );
                 aLRItem.SetTextFirstLineOfst( nIndent );
                 aLRItem.SetTextLeft( nLeft );
@@ -605,7 +578,7 @@ void SwHTMLParser::InsertAttrs( SfxItemSet &rItemSet,
 
                 NewAttr( &m_aAttrTab.pULSpace, aULSpace );
 
-                // ... und noch die Kontext-Information speichern
+                // save context information
                 HTMLAttrs &rAttrs = pContext->GetAttrs();
                 rAttrs.push_back( m_aAttrTab.pULSpace );
 
@@ -617,17 +590,17 @@ void SwHTMLParser::InsertAttrs( SfxItemSet &rItemSet,
             }
             break;
         case RES_CHRATR_FONTSIZE:
-            // es werden keine Attribute mit %-Angaben gesetzt
+            // don't set attributes with a % property
             if( static_cast<const SvxFontHeightItem *>(pItem)->GetProp() == 100 )
                 ppAttr = &m_aAttrTab.pFontHeight;
             break;
         case RES_CHRATR_CJK_FONTSIZE:
-            // es werden keine Attribute mit %-Angaben gesetzt
+            // don't set attributes with a % property
             if( static_cast<const SvxFontHeightItem *>(pItem)->GetProp() == 100 )
                 ppAttr = &m_aAttrTab.pFontHeightCJK;
             break;
         case RES_CHRATR_CTL_FONTSIZE:
-            // es werden keine Attribute mit %-Angaben gesetzt
+            // don't set attributes with a % property
             if( static_cast<const SvxFontHeightItem *>(pItem)->GetProp() == 100 )
                 ppAttr = &m_aAttrTab.pFontHeightCTL;
             break;
@@ -635,14 +608,14 @@ void SwHTMLParser::InsertAttrs( SfxItemSet &rItemSet,
         case RES_BACKGROUND:
             if( bCharLvl )
             {
-                // das Frame-Attr ggf. in ein Char-Attr umwandeln
+                // Convert the Frame attribute to a Char attribute (if needed)
                 SvxBrushItem aBrushItem( *static_cast<const SvxBrushItem *>(pItem) );
                 aBrushItem.SetWhich( RES_CHRATR_BACKGROUND );
 
-                // Das Attribut setzen ...
+                // Set the attribute
                 NewAttr( &m_aAttrTab.pCharBrush, aBrushItem );
 
-                // ... und noch die Kontext-Information speichern
+                // and save context information
                 HTMLAttrs &rAttrs = pContext->GetAttrs();
                 rAttrs.push_back( m_aAttrTab.pCharBrush );
             }
@@ -671,22 +644,20 @@ void SwHTMLParser::InsertAttrs( SfxItemSet &rItemSet,
             break;
 
         default:
-            // den zu dem Item gehoehrenden Tabellen-Eintrag ermitteln ...
             ppAttr = GetAttrTabEntry( pItem->Which() );
             break;
         }
 
         if( ppAttr )
         {
-            // Das Attribut setzen ...
+            // Set the attribute
             NewAttr( ppAttr, *pItem );
 
-            // ... und noch die Kontext-Information speichern
+            // and save context information
             HTMLAttrs &rAttrs = pContext->GetAttrs();
             rAttrs.push_back( *ppAttr );
         }
 
-        // auf zum naechsten Item
         pItem = aIter.NextItem();
     }
 
@@ -704,20 +675,20 @@ void SwHTMLParser::InsertAttr( HTMLAttr **ppAttr, const SfxPoolItem & rItem,
             return;
     }
 
-    // das Attribut setzen
+    // Set the attribute
     NewAttr( ppAttr, rItem );
 
-    // und im Kontext merken
+    // save context information
     HTMLAttrs &rAttrs = pCntxt->GetAttrs();
     rAttrs.push_back( *ppAttr );
 }
 
 void SwHTMLParser::SplitPREListingXMP( HTMLAttrContext *pCntxt )
 {
-    // PRE/Listing/XMP soll beim beenden des Kontexts beendet werden.
+    // PRE/Listing/XMP need to be finished when finishing context
     pCntxt->SetFinishPREListingXMP( true );
 
-    // Und die jetzt gueltigen Flags sollen wieder gesetzt werden.
+    // And set all now valid flags
     if( IsReadPRE() )
         pCntxt->SetRestartPRE( true );
     if( IsReadXMP() )
@@ -725,7 +696,6 @@ void SwHTMLParser::SplitPREListingXMP( HTMLAttrContext *pCntxt )
     if( IsReadListing() )
         pCntxt->SetRestartListing( true );
 
-    // PRE/Listing/XMP wird auuserdem sofort beendet
     FinishPREListingXMP();
 }
 


More information about the Libreoffice-commits mailing list