MessageItem *ContextItem::findMessage(const QString &sourcetext, const QString &comment) const { for (int i = 0; i < messageCount(); ++i) { MessageItem *mi = messageItem(i); if (mi->text() == sourcetext && mi->comment() == comment) return mi; } return 0; }
static int calcMergeScore(const DataModel *one, const DataModel *two) { int inBoth = 0; for (int i = 0; i < two->contextCount(); ++i) { ContextItem *oc = two->contextItem(i); if (ContextItem *c = one->findContext(oc->context())) { for (int j = 0; j < oc->messageCount(); ++j) { MessageItem *m = oc->messageItem(j); if (c->findMessage(m->text(), m->comment())) ++inBoth; } } } return inBoth * 100 / two->messageCount(); }