diff options
author | Oswald Buddenhagen <oswald.buddenhagen@digia.com> | 2013-08-01 16:44:59 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-08-06 09:30:42 +0200 |
commit | 2d264a57e1507059fb7e1babbdd2b6e1a61c8f80 (patch) | |
tree | d25834a7405c0221b35ca7a7edbd6567955a0c4f | |
parent | 20ce1bdb3dd7b1b8868145bf8aec6a9bb788903b (diff) |
de-duplicate extra comments when adding a message multiple times
Change-Id: I1ed80166be3cb53f865c083b0a693148b6000731
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
3 files changed, 15 insertions, 3 deletions
diff --git a/src/linguist/shared/translator.cpp b/src/linguist/shared/translator.cpp index 43d37f4b5..f5f4ab789 100644 --- a/src/linguist/shared/translator.cpp +++ b/src/linguist/shared/translator.cpp @@ -176,9 +176,15 @@ void Translator::extend(const TranslatorMessage &msg, ConversionData &cd) emsg.addReferenceUniq(msg.fileName(), msg.lineNumber()); if (!msg.extraComment().isEmpty()) { QString cmt = emsg.extraComment(); - if (!cmt.isEmpty()) - cmt.append(QLatin1String("\n----------\n")); - cmt.append(msg.extraComment()); + if (!cmt.isEmpty()) { + QStringList cmts = cmt.split(QLatin1String("\n----------\n")); + if (!cmts.contains(msg.extraComment())) { + cmts.append(msg.extraComment()); + cmt = cmts.join(QLatin1String("\n----------\n")); + } + } else { + cmt = msg.extraComment(); + } emsg.setExtraComment(cmt); } } diff --git a/tests/auto/linguist/lupdate/testdata/good/multiple_locations/main.cpp b/tests/auto/linguist/lupdate/testdata/good/multiple_locations/main.cpp index fa01f9d16..b0fd0cbfe 100644 --- a/tests/auto/linguist/lupdate/testdata/good/multiple_locations/main.cpp +++ b/tests/auto/linguist/lupdate/testdata/good/multiple_locations/main.cpp @@ -68,3 +68,8 @@ QObject::tr("another message", "here with a lot of noise in the comment so it is //~ meta too-much-meta QObject::tr("another message", "here with a lot of noise in the comment so it is long enough"); + + + +//: commented +qtTrId("lollipop"); diff --git a/tests/auto/linguist/lupdate/testdata/good/multiple_locations/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/multiple_locations/project.ts.result index b0a171757..b3dde9607 100644 --- a/tests/auto/linguist/lupdate/testdata/good/multiple_locations/project.ts.result +++ b/tests/auto/linguist/lupdate/testdata/good/multiple_locations/project.ts.result @@ -6,6 +6,7 @@ <message id="lollipop"> <location filename="main.cpp" line="51"/> <location filename="main.cpp" line="56"/> + <location filename="main.cpp" line="75"/> <source>this is the source text</source> <extracomment>commented ---------- |