diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-custom-wizards-json.qdocinc b/doc/qtcreator/src/projects/creator-only/creator-projects-custom-wizards-json.qdocinc index 852bfeb2461..d9cd6573c36 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-custom-wizards-json.qdocinc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-custom-wizards-json.qdocinc @@ -793,16 +793,24 @@ \list - \li \c trText specifies the default text to display. + \li \c trText specifies the translatable default text to display. - \li \c trDisabledText specifies the text to display in a disabled field. + \li \c text specifies the non-translatable default text to display. + + \li \c trDisabledText specifies the translatable text to display in a + disabled field. + + \li \c disabledText specifies the non-translatable text to display in + a disabled field. \li \c completion lists existing \c namespaces for the class name line edit and existing \c classes for the base class line edit. This value replaces the history completer that is usually available for such fields. - \li \c trPlaceholder specifies the placeholder text. + \li \c trPlaceholder specifies the translatable placeholder text. + + \li \c placeholder specifies the non-translatable placeholder text. \li \c validator specifies a QRegularExpression to validate the line edit against. @@ -886,10 +894,15 @@ \list - \li \c trText specifies the text to display. + \li \c trText specifies the translatable text to display. - \li \c trDisabledText specifies the text to display when the text edit - is disabled. + \li \c text specifies the non-translatable text to display. + + \li \c trDisabledText specifies the translatable text to display when + the text edit is disabled. + + \li \c disabledText specifies the non-translatable text to display when + the text edit is disabled. \li \c richText is set to \c true for rich text, otherwise \c{false}. diff --git a/src/plugins/projectexplorer/jsonwizard/jsonfieldpage.cpp b/src/plugins/projectexplorer/jsonwizard/jsonfieldpage.cpp index 52f3b2bc59a..49a0ed89571 100644 --- a/src/plugins/projectexplorer/jsonwizard/jsonfieldpage.cpp +++ b/src/plugins/projectexplorer/jsonwizard/jsonfieldpage.cpp @@ -81,6 +81,17 @@ static Key fullSettingsKey(const QString &fieldKey) return "Wizards/" + keyFromString(fieldKey); } +static QString translatedOrUntranslatedText(QVariantMap &map, const QString &key) +{ + if (key.size() >= 1) { + const QString trKey = "tr" + key.at(0).toUpper() + key.mid(1); // "text" -> "trText" + const QString trValue = JsonWizardFactory::localizedString(consumeValue(map, trKey).toString()); + if (!trValue.isEmpty()) + return trValue; + } + + return consumeValue(map, key).toString(); +} // -------------------------------------------------------------------- // Helper: @@ -489,9 +500,9 @@ bool LineEditField::parseData(const QVariant &data, QString *errorMessage) QVariantMap tmp = data.toMap(); m_isPassword = consumeValue(tmp, "isPassword", false).toBool(); - m_defaultText = JsonWizardFactory::localizedString(consumeValue(tmp, "trText").toString()); - m_disabledText = JsonWizardFactory::localizedString(consumeValue(tmp, "trDisabledText").toString()); - m_placeholderText = JsonWizardFactory::localizedString(consumeValue(tmp, "trPlaceholder").toString()); + m_defaultText = translatedOrUntranslatedText(tmp, "text"); + m_disabledText = translatedOrUntranslatedText(tmp, "disabledText"); + m_placeholderText = translatedOrUntranslatedText(tmp, "placeholder"); m_historyId = consumeValue(tmp, "historyId").toString(); m_restoreLastHistoryItem = consumeValue(tmp, "restoreLastHistoryItem", false).toBool(); QString pattern = consumeValue(tmp, "validator").toString(); @@ -686,8 +697,8 @@ bool TextEditField::parseData(const QVariant &data, QString *errorMessage) QVariantMap tmp = data.toMap(); - m_defaultText = JsonWizardFactory::localizedString(consumeValue(tmp, "trText").toString()); - m_disabledText = JsonWizardFactory::localizedString(consumeValue(tmp, "trDisabledText").toString()); + m_defaultText = translatedOrUntranslatedText(tmp, "text"); + m_disabledText = translatedOrUntranslatedText(tmp, "disabledText"); m_acceptRichText = consumeValue(tmp, "richText", true).toBool(); warnAboutUnsupportedKeys(tmp, name(), type());