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