static void retranslateTargets( const QList<TranslatableEntry> &targets, const QUiTranslatableStringValue &tsv, const DataModel *dataModel, const QString &className) { QString sourceText = QString::fromUtf8(tsv.value()); QString text; if (MessageItem *msg = dataModel->findMessage( className, sourceText, QString::fromUtf8(tsv.comment()))) text = msg->translation(); if (text.isEmpty() && !tsv.value().isEmpty()) text = QLatin1Char('#') + sourceText; foreach (const TranslatableEntry &target, targets) retranslateTarget(target, text); }
static void reTranslateWidgetItem(T *item, const QByteArray &class_name) { const QUiItemRolePair *irs = qUiItemRoles; for (unsigned j = 0; irs[j].shadowRole >= 0; j++) { QVariant v = item->data(irs[j].shadowRole); if (v.isValid()) { QUiTranslatableStringValue tsv = qvariant_cast<QUiTranslatableStringValue>(v); const QString text = QApplication::translate(class_name, tsv.value(), tsv.comment(), QCoreApplication::UnicodeUTF8); item->setData(irs[j].realRole, text); } } }
static bool operator==(const QUiTranslatableStringValue &tsv1, const QUiTranslatableStringValue &tsv2) { return tsv1.value() == tsv2.value() && tsv1.comment() == tsv2.comment(); }
static int qHash(const QUiTranslatableStringValue &tsv) #endif { return qHash(tsv.value()) ^ qHash(tsv.comment()); }