diff options
author | Andras Timar <andras.timar@collabora.com> | 2018-09-30 16:42:26 +0200 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2018-09-30 21:57:37 +0200 |
commit | 1bf49e98f8019bf62906651804725e4da5b9d514 (patch) | |
tree | eaa9b62264d71256faa5873d1f9570715f96620b /l10ntools/source | |
parent | 8d4e12a4153868c9d98937d49c4ac6064013a8dd (diff) |
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@collabora.com>
Diffstat (limited to 'l10ntools/source')
-rw-r--r-- | l10ntools/source/po.cxx | 23 |
1 files changed, 13 insertions, 10 deletions
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(); } |