summaryrefslogtreecommitdiff
path: root/l10ntools/source
diff options
context:
space:
mode:
authorAndras Timar <andras.timar@collabora.com>2018-09-30 16:42:26 +0200
committerCaolán McNamara <caolanm@redhat.com>2018-11-21 13:38:50 +0100
commitd223191c97098024a3b4e824c3b0f4f97cc645c8 (patch)
tree6e239fe2b5f61f7357b1821475c78bbe246720bd /l10ntools/source
parentd340c6ab33e8513c2c165b56039f43fe34dd0711 (diff)
pocheck: PO entries can have multiple source code reference lines since LO 6.0
Reviewed-on: https://gerrit.libreoffice.org/61164 Tested-by: Jenkins Reviewed-by: Andras Timar <andras.timar@collabora.com> (cherry picked from commit 1bf49e98f8019bf62906651804725e4da5b9d514) Change-Id: Icbe0dd5e63eb5b10d162f34347ab86dde547dc62 Reviewed-on: https://gerrit.libreoffice.org/63597 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'l10ntools/source')
-rw-r--r--l10ntools/source/po.cxx23
1 files changed, 13 insertions, 10 deletions
diff --git a/l10ntools/source/po.cxx b/l10ntools/source/po.cxx
index f316df1bed31..8b6edd50d65d 100644
--- a/l10ntools/source/po.cxx
+++ b/l10ntools/source/po.cxx
@@ -29,7 +29,7 @@ class GenPoEntry
{
private:
OString m_sExtractCom;
- OString m_sReference;
+ std::vector<OString> m_sReferences;
OString m_sMsgCtxt;
OString m_sMsgId;
OString m_sMsgStr;
@@ -40,7 +40,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; }
@@ -53,7 +53,7 @@ public:
}
void setReference(const OString& rReference)
{
- m_sReference = rReference;
+ m_sReferences.push_back(rReference);
}
void setMsgCtxt(const OString& rMsgCtxt)
{
@@ -114,7 +114,7 @@ namespace
GenPoEntry::GenPoEntry()
: m_sExtractCom( OString() )
- , m_sReference( OString() )
+ , m_sReferences( std::vector<OString>() )
, m_sMsgCtxt( OString() )
, m_sMsgId( OString() )
, m_sMsgStr( OString() )
@@ -132,8 +132,11 @@ void GenPoEntry::writeToFile(std::ofstream& rOFStream) const
rOFStream
<< "#. "
<< m_sExtractCom.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 )
@@ -172,7 +175,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"))
{
@@ -251,7 +254,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;
}
@@ -300,7 +303,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
@@ -491,7 +494,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();
}