From 04509bcf0d35ab483ff1dcf9a8b9608041cd0b61 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint <Friedemann.Kleint@nokia.com> Date: Wed, 31 Mar 2010 16:30:09 +0200 Subject: [PATCH] Custom wizards: Lower case all tags, prepare translations. Prepare translations of wizards shipped by Nokia to be searched in Qt Creator's qm-files. --- .../wizards/helloworld/wizard_sample.xml | 7 ++----- .../wizards/listmodel/wizard_sample.xml | 8 ++++---- .../templates/wizards/qml-runtime/wizard.xml | 4 ++-- .../customwizard/customwizardparameters.cpp | 16 ++++++++++++---- 4 files changed, 20 insertions(+), 15 deletions(-) diff --git a/share/qtcreator/templates/wizards/helloworld/wizard_sample.xml b/share/qtcreator/templates/wizards/helloworld/wizard_sample.xml index 23af3d6802b..d216ea61780 100644 --- a/share/qtcreator/templates/wizards/helloworld/wizard_sample.xml +++ b/share/qtcreator/templates/wizards/helloworld/wizard_sample.xml @@ -39,11 +39,8 @@ leave room for the Qt 4 target page. id="A.HelloWorld" category="B.CustomProjects"> <icon>console.png</icon> <description>Creates a hello-world-project with custom message.</description> - <description xml:lang="de">Erzeugt ein Hello-Welt-Projekt mit einer Nachricht.</description> - <displayName>Hello World</displayName>; - <displayName xml:lang="de">Hallo Welt</displayName>; - <displayCategory>Custom Projects</displayCategory> - <displayCategory xml:lang="de">Benutzerdefinierte Projekte</displayCategory> + <displayname>Hello World</displayname>; + <displaycategory>Custom Projects</displaycategory> <files> <file source="main.cpp"/> <file source="project.pro" target="%ProjectName%.pro"/> diff --git a/share/qtcreator/templates/wizards/listmodel/wizard_sample.xml b/share/qtcreator/templates/wizards/listmodel/wizard_sample.xml index c924b896db0..c81715fc860 100644 --- a/share/qtcreator/templates/wizards/listmodel/wizard_sample.xml +++ b/share/qtcreator/templates/wizards/listmodel/wizard_sample.xml @@ -33,10 +33,10 @@ Custom class wizard example configuration file. --> <wizard version="1" kind="class" id="A.ListModel" category="B.CustomClasses"> <description>Creates a QAbstractListModel implementation.</description> <description xml:lang="de">Erzeugt eine Implementierung von QAbstractListModel.</description> - <displayName>QAbstractListModel implementation</displayName>; - <displayName xml:lang="de">Implementierung von QAbstractListModel</displayName>; - <displayCategory>Custom Classes</displayCategory> - <displayCategory xml:lang="de">Benutzerdefinierte Klassen</displayCategory> + <displayname>QAbstractListModel implementation</displayname>; + <displayname xml:lang="de">Implementierung von QAbstractListModel</displayname>; + <displaycategory>Custom Classes</displaycategory> + <displaycategory xml:lang="de">Benutzerdefinierte Klassen</displaycategory> <files> <file source="listmodel.cpp" target="%ClassName:l%.%CppSourceSuffix%"/> <file source="listmodel.h" target="%ClassName:l%.%CppHeaderSuffix%"/> diff --git a/share/qtcreator/templates/wizards/qml-runtime/wizard.xml b/share/qtcreator/templates/wizards/qml-runtime/wizard.xml index 14db77f70e3..39b1d675b39 100644 --- a/share/qtcreator/templates/wizards/qml-runtime/wizard.xml +++ b/share/qtcreator/templates/wizards/qml-runtime/wizard.xml @@ -38,8 +38,8 @@ leave room for the Qt 4 target page. class="qt4project" firstpage="10" id="QmlRuntimePlugin" category="F.Projects"> <description>Creates a plug-in for the QML runtime.</description> - <displayName>QML Runtime Plug-in</displayName> - <displayCategory>QML Runtime Plug-in</displayCategory> + <displayname>QML Runtime Plug-in</displayname> + <displaycategory>QML Runtime Plug-in</displaycategory> <files> <file source="qmldir" target="%ProjectName%/qmldir"/> <file source="plugin.h" target="%ProjectName%.h"/> diff --git a/src/plugins/projectexplorer/customwizard/customwizardparameters.cpp b/src/plugins/projectexplorer/customwizard/customwizardparameters.cpp index c64c62c8c15..982668ee684 100644 --- a/src/plugins/projectexplorer/customwizard/customwizardparameters.cpp +++ b/src/plugins/projectexplorer/customwizard/customwizardparameters.cpp @@ -34,6 +34,7 @@ #include <cpptools/cpptoolsconstants.h> #include <QtCore/QDebug> +#include <QtCore/QCoreApplication> #include <QtCore/QLocale> #include <QtCore/QFile> #include <QtCore/QFileInfo> @@ -46,14 +47,14 @@ enum { debug = 0 }; static const char customWizardElementC[] = "wizard"; static const char iconElementC[] = "icon"; static const char descriptionElementC[] = "description"; -static const char displayNameElementC[] = "displayName"; +static const char displayNameElementC[] = "displayname"; static const char idAttributeC[] = "id"; static const char kindAttributeC[] = "kind"; static const char klassAttributeC[] = "class"; static const char firstPageAttributeC[] = "firstpage"; static const char langAttributeC[] = "xml:lang"; static const char categoryAttributeC[] = "category"; -static const char displayCategoryElementC[] = "displayCategory"; +static const char displayCategoryElementC[] = "displaycategory"; static const char fieldPageTitleElementC[] = "fieldpagetitle"; static const char fieldsElementC[] = "fields"; static const char fieldElementC[] = "field"; @@ -144,7 +145,10 @@ static inline void assignLanguageElementText(QXmlStreamReader &reader, QString *target) { const QStringRef elementLanguage = reader.attributes().value(langAttributeC); - if (elementLanguage.isEmpty() || elementLanguage == desiredLanguage) { + if (elementLanguage.isEmpty()) { + // Try to find a translation for our built-in Wizards + *target = QCoreApplication::translate("ProjectExplorer::CustomWizard", reader.readElementText().toLatin1().constData()); + } else if (elementLanguage == desiredLanguage) { *target = reader.readElementText(); } else { // Language mismatch: forward to end element. @@ -161,7 +165,11 @@ static inline void assignLanguageElementText(QXmlStreamReader &reader, void (Core::BaseFileWizardParameters::*setter)(const QString &)) { const QStringRef elementLanguage = reader.attributes().value(langAttributeC); - if (elementLanguage.isEmpty() || elementLanguage == desiredLanguage) { + if (elementLanguage.isEmpty()) { + // Try to find a translation for our built-in Wizards + const QString translated = QCoreApplication::translate("ProjectExplorer::CustomWizard", reader.readElementText().toLatin1().constData()); + (bp->*setter)(translated); + } else if (elementLanguage == desiredLanguage) { (bp->*setter)(reader.readElementText()); } else { // Language mismatch: forward to end element. -- GitLab