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

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Sun Sep 30 19:57:59 UTC 2018


 l10ntools/source/po.cxx |   23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

New commits:
commit 1bf49e98f8019bf62906651804725e4da5b9d514
Author:     Andras Timar <andras.timar at collabora.com>
AuthorDate: Sun Sep 30 16:42:26 2018 +0200
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Sun Sep 30 21:57:37 2018 +0200

    pocheck: PO entries can have multiple source code reference lines since LO 6.0
    
    Change-Id: Icbe0dd5e63eb5b10d162f34347ab86dde547dc62
    Reviewed-on: https://gerrit.libreoffice.org/61164
    Tested-by: Jenkins
    Reviewed-by: Andras Timar <andras.timar at collabora.com>

diff --git a/l10ntools/source/po.cxx b/l10ntools/source/po.cxx
index ea52d8d8a66f..e87fe66f25f1 100644
--- a/l10ntools/source/po.cxx
+++ b/l10ntools/source/po.cxx
@@ -30,7 +30,7 @@ class GenPoEntry
 {
 private:
     OStringBuffer m_sExtractCom;
-    OString    m_sReference;
+    std::vector<OString>    m_sReferences;
     OString    m_sMsgCtxt;
     OString    m_sMsgId;
     OString    m_sMsgStr;
@@ -41,7 +41,7 @@ private:
 public:
     GenPoEntry();
 
-    const OString& getReference() const    { return m_sReference; }
+    const std::vector<OString>& getReference() const    { return m_sReferences; }
     const OString& getMsgCtxt() const      { return m_sMsgCtxt; }
     const OString& getMsgId() const        { return m_sMsgId; }
     const OString& getMsgStr() const       { return m_sMsgStr; }
@@ -54,7 +54,7 @@ public:
                         }
     void        setReference(const OString& rReference)
                         {
-                            m_sReference = rReference;
+                            m_sReferences.push_back(rReference);
                         }
     void        setMsgCtxt(const OString& rMsgCtxt)
                         {
@@ -115,7 +115,7 @@ namespace
 
 GenPoEntry::GenPoEntry()
     : m_sExtractCom( OString() )
-    , m_sReference( OString() )
+    , m_sReferences( std::vector<OString>() )
     , m_sMsgCtxt( OString() )
     , m_sMsgId( OString() )
     , m_sMsgStr( OString() )
@@ -133,8 +133,11 @@ void GenPoEntry::writeToFile(std::ofstream& rOFStream) const
         rOFStream
             << "#. "
             << m_sExtractCom.toString().replaceAll("\n","\n#. ") << std::endl;
-    if ( !m_sReference.isEmpty() )
-        rOFStream << "#: " << m_sReference << std::endl;
+    if ( !m_sReferences.empty() )
+    {
+        for(std::vector<OString>::const_iterator it =  m_sReferences.begin(); it != m_sReferences.end(); ++it)
+            rOFStream << "#: " << *it << std::endl;
+    }
     if ( m_bFuzzy )
         rOFStream << "#, fuzzy" << std::endl;
     if ( m_bCFormat )
@@ -173,7 +176,7 @@ void GenPoEntry::readFromFile(std::ifstream& rIFStream)
         }
         else if (sLine.startsWith("#: "))
         {
-            m_sReference = sLine.copy(3);
+            m_sReferences.push_back(sLine.copy(3));
         }
         else if (sLine.startsWith("#, fuzzy"))
         {
@@ -252,7 +255,7 @@ PoEntry::PoEntry(
     m_pGenPo->setMsgId(rText);
     m_pGenPo->setExtractCom(
         ( !rHelpText.isEmpty() ?  rHelpText + "\n" : OString()) +
-        genKeyId( m_pGenPo->getReference() + rGroupId + rLocalId + rResType + rText ) );
+        genKeyId( m_pGenPo->getReference().front() + rGroupId + rLocalId + rResType + rText ) );
     m_bIsInitialized = true;
 }
 
@@ -301,7 +304,7 @@ PoEntry& PoEntry::operator=(PoEntry&& rPo)
 OString const & PoEntry::getSourceFile() const
 {
     assert( m_bIsInitialized );
-    return m_pGenPo->getReference();
+    return m_pGenPo->getReference().front();
 }
 
 OString PoEntry::getGroupId() const
@@ -492,7 +495,7 @@ namespace
 // Check the validity of read entry
 bool lcl_CheckInputEntry(const GenPoEntry& rEntry)
 {
-    return !rEntry.getReference().isEmpty() &&
+    return !rEntry.getReference().empty() &&
            !rEntry.getMsgCtxt().isEmpty() &&
            !rEntry.getMsgId().isEmpty();
 }


More information about the Libreoffice-commits mailing list