summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@nokia.com>2009-11-05 22:39:24 +0100
committerOswald Buddenhagen <oswald.buddenhagen@nokia.com>2009-11-06 22:58:00 +0100
commit79864599ec3a1ce5a5ede84ea2d3d7ba437a3257 (patch)
tree3ce6f960c0fc8242cd94afacc2f2f1488f9f1bf1
parent360a51d64c607f5efae7a4f25a9a519424399b69 (diff)
don't construct a new message for look-up purposes only
-rw-r--r--tools/linguist/lupdate/merge.cpp8
-rw-r--r--tools/linguist/shared/translator.cpp8
-rw-r--r--tools/linguist/shared/translator.h2
3 files changed, 5 insertions, 13 deletions
diff --git a/tools/linguist/lupdate/merge.cpp b/tools/linguist/lupdate/merge.cpp
index b5f77cd1a2..cffbfa3918 100644
--- a/tools/linguist/lupdate/merge.cpp
+++ b/tools/linguist/lupdate/merge.cpp
@@ -351,8 +351,9 @@ Translator merge(const Translator &tor, const Translator &virginTor,
if (!mv.isNull())
m.setComment(mv.comment());
} else {
- TranslatorMessage mv = virginTor.find(m.context(), m.sourceText(), m.comment());
- if (mv.isNull()) {
+ TranslatorMessage mv;
+ int mvi = virginTor.messages().indexOf(m);
+ if (mvi < 0) {
if (!(options & HeuristicSimilarText)) {
newType = TranslatorMessage::Obsolete;
if (m.type() != TranslatorMessage::Obsolete)
@@ -402,6 +403,7 @@ Translator merge(const Translator &tor, const Translator &virginTor,
}
}
} else {
+ mv = virginTor.message(mvi);
switch (m.type()) {
case TranslatorMessage::Finished:
default:
@@ -446,7 +448,7 @@ Translator merge(const Translator &tor, const Translator &virginTor,
if (tor.contains(mv.context()))
continue;
} else {
- if (tor.contains(mv.context(), mv.sourceText(), mv.comment()))
+ if (tor.messages().contains(mv))
continue;
if (options & HeuristicSimilarText) {
TranslatorMessage m = tor.find(mv.context(), mv.comment(), mv.allReferences());
diff --git a/tools/linguist/shared/translator.cpp b/tools/linguist/shared/translator.cpp
index cd670cc8c8..3b7ee9aed0 100644
--- a/tools/linguist/shared/translator.cpp
+++ b/tools/linguist/shared/translator.cpp
@@ -319,14 +319,6 @@ bool Translator::contains(const QString &context,
}
TranslatorMessage Translator::find(const QString &context,
- const QString &sourceText, const QString &comment) const
-{
- TranslatorMessage needle(context, sourceText, comment, QString(), QString(), 0);
- int index = m_messages.indexOf(needle);
- return index == -1 ? TranslatorMessage() : m_messages.at(index);
-}
-
-TranslatorMessage Translator::find(const QString &context,
const QString &comment, const TranslatorMessage::References &refs) const
{
if (!refs.isEmpty()) {
diff --git a/tools/linguist/shared/translator.h b/tools/linguist/shared/translator.h
index ef81d2adb8..6db6f3ab8b 100644
--- a/tools/linguist/shared/translator.h
+++ b/tools/linguist/shared/translator.h
@@ -115,8 +115,6 @@ public:
bool contains(const QString &context, const QString &sourceText,
const QString &comment) const;
- TranslatorMessage find(const QString &context,
- const QString &sourceText, const QString &comment) const;
TranslatorMessage find(const QString &context,
const QString &comment, const TranslatorMessage::References &refs) const;