summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@digia.com>2013-08-01 16:44:59 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-08-06 09:30:42 +0200
commit2d264a57e1507059fb7e1babbdd2b6e1a61c8f80 (patch)
treed25834a7405c0221b35ca7a7edbd6567955a0c4f
parent20ce1bdb3dd7b1b8868145bf8aec6a9bb788903b (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>
-rw-r--r--src/linguist/shared/translator.cpp12
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/multiple_locations/main.cpp5
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/multiple_locations/project.ts.result1
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
----------