Exemplo n.º 1
0
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);
}
Exemplo n.º 2
0
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);
        }
    }
}
Exemplo n.º 3
0
static bool operator==(const QUiTranslatableStringValue &tsv1, const QUiTranslatableStringValue &tsv2)
{
    return tsv1.value() == tsv2.value() && tsv1.comment() == tsv2.comment();
}
Exemplo n.º 4
0
static int qHash(const QUiTranslatableStringValue &tsv)
#endif
{
    return qHash(tsv.value()) ^ qHash(tsv.comment());
}